:root{color-scheme:light;--m-accent-050:#ece9fe;--m-accent-100:#cfc6fd;--m-accent-200:#b1a2fb;--m-accent-300:#937ef9;--m-accent-400:#7a5ff5;--m-accent-500:#6366f1;--m-accent-600:#4f46c8;--m-accent-700:#3b2e9e;--m-accent-800:#2d2278;--m-accent-900:#1e1652;--m-accent-950:#130e30;--m-neutral-050:#e9e9ea;--m-neutral-100:#cfcfd2;--m-neutral-200:#b5b4ba;--m-neutral-300:#9b99a2;--m-neutral-400:#82808b;--m-neutral-500:#6a6875;--m-neutral-600:#5a5863;--m-neutral-700:#4a4852;--m-neutral-800:#3a3842;--m-neutral-900:#2b2932;--m-neutral-950:#1d1b23;--m-success-050:#e6f7ed;--m-success-300:#4cc38a;--m-success-500:#1a9c5a;--m-success-700:#0e6b3e;--m-info-050:#e8e6fb;--m-info-300:#7b7ae0;--m-info-500:#55c;--m-info-700:#3b3b99;--m-warning-050:#fef8e6;--m-warning-300:#d4b44a;--m-warning-500:#c49a00;--m-warning-700:#8a6c00;--m-danger-050:#fce8e6;--m-danger-300:#d06050;--m-danger-500:#b32d1a;--m-danger-700:#802015;--m-bg:#f4f3f6;--m-surface:#efeef2;--m-surface-raised:#efeef2;--m-surface-card:#f9f8fb;--m-surface-modal:#f9f8fb;--m-surface-control:#fff;--m-surface-button:#efeef2;--m-text:#1d1b23;--m-text-muted:#4a4852;--m-text-subtle:#5a5863;--m-text-placeholder:#82808b;--m-text-accent:#6366f1;--m-text-on-brand:#fff;--m-border:#b5b4ba;--m-border-muted:#cfcfd2;--m-border-accent:#6366f1;--m-surface-accent:#6366f1;--m-text-on-accent:#fff;--m-surface-accent-hover:#4f46c8;--m-brand:#4f46c8;--m-brand-light:#7a5ff5;--m-brand-dark:#2d2278;--m-brand-subtle:#ece9fe;--m-success:#1a9c5a;--m-success-bg:#e6f7ed;--m-error:#b32d1a;--m-error-bg:#fce8e6;--m-warning:#c49a00;--m-warning-bg:#fef8e6;--m-info:#55c;--m-info-bg:#e8e6fb;--m-chart-primary:var(--m-accent-500);--m-chart-comparison:#00959c;--m-chart-confirmed:var(--m-success-500);--m-chart-attention:var(--m-warning-500);--m-chart-exception:var(--m-danger-500);--m-rail-tint:#00106f;--m-sp-1:0.25rem;--m-sp-1-5:0.375rem;--m-sp-2:0.5rem;--m-sp-3:0.75rem;--m-sp-4:1rem;--m-sp-5:1.25rem;--m-sp-6:1.5rem;--m-sp-8:2rem;--m-sp-10:2.5rem;--m-sp-12:3rem;--m-sp-16:4rem;--m-sp-20:5rem;--m-sp-24:6rem;--m-sp-32:8rem;--m-font-sans:"Suisse Intl","Suisse Int'l",system-ui,sans-serif;--m-font-mono:"Suisse Intl Mono","Suisse Int'l Mono",ui-monospace,monospace;--m-text-xs:0.75rem;--m-text-sm:0.875rem;--m-text-base:1rem;--m-text-lg:1.125rem;--m-text-xl:1.25rem;--m-text-2xl:1.5rem;--m-text-3xl:1.875rem;--m-text-4xl:2.25rem;--m-leading-tight:1.25;--m-leading-normal:1.5;--m-leading-relaxed:1.625;--m-weight-normal:400;--m-weight-medium:500;--m-weight-semibold:600;--m-weight-bold:700;--m-radius-sm:0.25rem;--m-radius-md:0.375rem;--m-radius-lg:0.5rem;--m-radius-xl:0.75rem;--m-radius-2xl:1rem;--m-radius-full:9999px;--m-shadow-xs:0 1px 3px rgba(0,0,0,.1);--m-shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--m-shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--m-shadow-lg:0 10px 15px rgba(0,0,0,.07),0 4px 6px rgba(0,0,0,.05);--m-scrim:rgba(0,0,0,.5);--m-disabled-surface:var(--m-neutral-050);--m-disabled-border:var(--m-neutral-100);--m-disabled-knob:var(--m-neutral-300);--m-disabled-ink:var(--m-text-muted);--m-focus-ring:0 0 0 3px oklch(0.6 0.2 270/0.3);--m-transition-fast:100ms ease;--m-transition-base:200ms ease}@supports (color:oklch(0% 0 0)){:root{--m-accent-050:oklch(0.933 0.01 270);--m-accent-100:oklch(0.867 0.048 270);--m-accent-200:oklch(0.8 0.086 270);--m-accent-300:oklch(0.733 0.124 270);--m-accent-400:oklch(0.667 0.162 270);--m-accent-500:oklch(0.6 0.2 270);--m-accent-600:oklch(0.525 0.162 270);--m-accent-700:oklch(0.45 0.124 270);--m-accent-800:oklch(0.375 0.086 270);--m-accent-900:oklch(0.3 0.048 270);--m-accent-950:oklch(0.225 0.01 270);--m-neutral-050:oklch(0.917 0.001 270);--m-neutral-100:oklch(0.833 0.006 270);--m-neutral-200:oklch(0.75 0.011 270);--m-neutral-300:oklch(0.667 0.016 270);--m-neutral-400:oklch(0.583 0.02 270);--m-neutral-500:oklch(0.5 0.025 270);--m-neutral-600:oklch(0.442 0.02 270);--m-neutral-700:oklch(0.383 0.016 270);--m-neutral-800:oklch(0.325 0.011 270);--m-neutral-900:oklch(0.267 0.006 270);--m-neutral-950:oklch(0.208 0.001 270);--m-success-050:oklch(0.925 0.008 150);--m-success-300:oklch(0.7 0.093 150);--m-success-500:oklch(0.55 0.15 150);--m-success-700:oklch(0.417 0.093 150);--m-info-050:oklch(0.925 0.008 250);--m-info-300:oklch(0.7 0.093 250);--m-info-500:oklch(0.6 0.12 250);--m-info-700:oklch(0.45 0.093 250);--m-warning-050:oklch(0.958 0.01 80);--m-warning-300:oklch(0.833 0.118 80);--m-warning-500:oklch(0.75 0.19 80);--m-warning-700:oklch(0.55 0.118 80);--m-danger-050:oklch(0.917 0.009 20);--m-danger-300:oklch(0.667 0.105 20);--m-danger-500:oklch(0.5 0.17 20);--m-danger-700:oklch(0.383 0.105 20);--m-bg:oklch(0.97 0.003 270);--m-surface:oklch(0.955 0.003 270);--m-surface-raised:oklch(0.955 0.003 270);--m-surface-card:oklch(0.985 0.003 270);--m-surface-modal:oklch(0.985 0.003 270);--m-surface-control:oklch(1 0 0);--m-surface-button:oklch(0.955 0.003 270);--m-text:oklch(0.208 0.001 270);--m-text-muted:oklch(0.383 0.016 270);--m-text-subtle:oklch(0.442 0.02 270);--m-text-placeholder:oklch(0.583 0.02 270);--m-text-accent:oklch(0.6 0.2 270);--m-border:oklch(0.75 0.011 270/0.85);--m-border-muted:oklch(0.833 0.006 270/0.85);--m-border-accent:oklch(0.6 0.2 270);--m-surface-accent:oklch(0.6 0.2 270);--m-surface-accent-hover:oklch(0.525 0.162 270);--m-brand:oklch(0.525 0.162 270);--m-brand-light:oklch(0.667 0.162 270);--m-brand-dark:oklch(0.375 0.086 270);--m-brand-subtle:oklch(0.933 0.01 270);--m-success:oklch(0.55 0.15 150);--m-success-bg:oklch(0.925 0.008 150);--m-error:oklch(0.5 0.17 20);--m-error-bg:oklch(0.917 0.009 20);--m-warning:oklch(0.75 0.19 80);--m-warning-bg:oklch(0.958 0.01 80);--m-info:oklch(0.6 0.12 250);--m-info-bg:oklch(0.925 0.008 250);--m-chart-comparison:oklch(0.6 0.12 200);--m-rail-tint:oklch(0.26 0.16 262.41)}}[data-theme=dark]{color-scheme:dark;--m-bg:#1a1820;--m-surface:#1f1d26;--m-surface-raised:#27252f;--m-surface-card:#27252f;--m-surface-modal:#2f2d38;--m-surface-control:#1f1d26;--m-surface-button:#27252f;--m-text:#e9e9ea;--m-text-muted:#9b99a2;--m-text-subtle:#82808b;--m-text-placeholder:#5a5863;--m-text-accent:#7a5ff5;--m-text-on-brand:#fff;--m-border:#3a3842;--m-border-muted:#2b2932;--m-border-accent:#7a5ff5;--m-surface-accent:#6366f1;--m-text-on-accent:#fff;--m-surface-accent-hover:#7a5ff5;--m-brand-subtle:#130e30;--m-success:#4cc38a;--m-success-bg:#0e2a1c;--m-error:#d06050;--m-error-bg:#2d1412;--m-warning:#d4b44a;--m-warning-bg:#2d2610;--m-info:#7b7ae0;--m-info-bg:#161438;--m-chart-comparison:#35b9c0;--m-shadow-xs:0 1px 3px rgba(0,0,0,.25);--m-shadow-sm:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);--m-shadow-md:0 4px 6px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.2);--m-shadow-lg:0 10px 15px rgba(0,0,0,.3),0 4px 6px rgba(0,0,0,.2);--m-scrim:rgba(0,0,0,.6);--m-disabled-surface:var(--m-neutral-900);--m-disabled-border:var(--m-neutral-800);--m-disabled-knob:var(--m-neutral-500);--m-disabled-ink:var(--m-text-muted);--m-focus-ring:0 0 0 3px oklch(0.667 0.162 270/0.4)}@supports (color:oklch(0% 0 0)){[data-theme=dark]{--m-bg:oklch(0.18 0.003 270);--m-surface:oklch(0.195 0.003 270);--m-surface-raised:oklch(0.225 0.003 270);--m-surface-card:oklch(0.225 0.003 270);--m-surface-modal:oklch(0.25 0.003 270);--m-surface-control:oklch(0.195 0.003 270);--m-surface-button:oklch(0.225 0.003 270);--m-text:oklch(0.917 0.001 270);--m-text-muted:oklch(0.667 0.016 270);--m-text-subtle:oklch(0.583 0.02 270);--m-text-placeholder:oklch(0.442 0.02 270);--m-text-accent:oklch(0.667 0.162 270);--m-border:oklch(0.325 0.011 270/0.85);--m-border-muted:oklch(0.267 0.006 270/0.85);--m-border-accent:oklch(0.667 0.162 270);--m-surface-accent:oklch(0.6 0.2 270);--m-surface-accent-hover:oklch(0.667 0.162 270);--m-brand-subtle:oklch(0.225 0.01 270);--m-success:oklch(0.7 0.093 150);--m-success-bg:oklch(0.2 0.02 150);--m-error:oklch(0.667 0.105 20);--m-error-bg:oklch(0.2 0.02 20);--m-warning:oklch(0.833 0.118 80);--m-warning-bg:oklch(0.2 0.02 80);--m-info:oklch(0.7 0.093 250);--m-info-bg:oklch(0.2 0.02 250);--m-chart-comparison:oklch(0.72 0.11 200)}}@property --m-disabled-background{syntax:"*";inherits:false}.m-disabled,:is(button,input,select,textarea):disabled:not([aria-busy=true]),[aria-disabled=true]:not([aria-busy=true]){border-color:var(--m-disabled-border)!important;background-color:var(--m-disabled-background,var(--m-disabled-surface))!important;background-image:none!important;color:var(--m-disabled-ink)!important;box-shadow:none!important;text-decoration:none!important}.m-disabled{opacity:1!important}.m-disabled,.m-disabled *,:disabled:not([aria-busy=true]),[aria-disabled=true]:not([aria-busy=true]),[aria-disabled=true]:not([aria-busy=true]) *,fieldset:disabled *{cursor:not-allowed!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--m-font-sans);background:var(--m-bg);color:var(--m-text);transition:background-color var(--m-transition-base),color var(--m-transition-base)}.auth-shell,body{min-height:100vh;min-height:100dvh}.auth-shell{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:center;padding:max(var(--m-sp-4),env(safe-area-inset-top)) max(var(--m-sp-4),env(safe-area-inset-right)) max(var(--m-sp-4),env(safe-area-inset-bottom)) max(var(--m-sp-4),env(safe-area-inset-left))}.submit-btn{display:block;width:100%;min-height:44px;padding:var(--m-sp-3);font-size:var(--m-text-base);font-weight:var(--m-weight-semibold);font-family:var(--m-font-sans);color:var(--m-text-on-brand);background:var(--m-brand);border:none;border-radius:var(--m-radius-md);cursor:pointer;transition:background var(--m-transition-fast);letter-spacing:.01em}.submit-btn:hover{background:var(--m-brand-dark)}.submit-btn:disabled{background:var(--m-brand-light);cursor:not-allowed}.theme-picker.theme-picker{position:fixed;top:var(--m-sp-4);right:var(--m-sp-4);z-index:2}.resend-area{margin-top:var(--m-sp-4);text-align:center}.resend-area,.resend-btn{font-size:var(--m-text-sm)}.resend-btn{padding:0;font-family:var(--m-font-sans);color:var(--m-text-accent);text-decoration:underline;background:none;border:none;cursor:pointer}.resend-btn:hover{color:var(--m-surface-accent-hover)}.resend-btn:disabled{color:var(--m-text-subtle);text-decoration:none;cursor:not-allowed}.resend-cooldown{margin-left:var(--m-sp-2);color:var(--m-text-subtle);font-size:var(--m-text-sm)}.authorize-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.authorize-error-msg{margin:0;text-align:center;font-size:var(--m-text-sm);color:var(--m-error)}.consent-card{background:var(--m-surface-raised);border:1px solid var(--m-border-muted);border-radius:var(--m-radius-xl);padding:var(--m-sp-6);width:min(520px,100%);display:flex;flex-direction:column;gap:var(--m-sp-5);box-shadow:var(--m-shadow-md)}.consent-app-header{display:flex;align-items:center;gap:var(--m-sp-3)}.consent-app-logo{width:48px;height:48px;border-radius:var(--m-radius-md);object-fit:contain;border:1px solid var(--m-border);background:var(--m-surface)}.consent-app-logo-monogram{width:48px;height:48px;border-radius:var(--m-radius-lg);background:var(--m-accent-500);color:var(--m-text-on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--m-font-sans);font-size:var(--m-text-xl);font-weight:var(--m-weight-semibold);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.consent-app-meta{display:flex;flex-direction:column;gap:var(--m-sp-1)}.consent-app-name{font-size:var(--m-text-lg);font-weight:var(--m-weight-semibold);color:var(--m-text);line-height:1.2}.consent-badge{display:inline-flex;align-items:center;gap:var(--m-sp-1);font-size:var(--m-text-xs);font-weight:var(--m-weight-medium);padding:2px var(--m-sp-2);border-radius:var(--m-radius-full);width:-moz-fit-content;width:fit-content}.consent-badge--verified{background:var(--m-success-500);color:var(--m-text-on-brand)}.consent-badge--unverified{background:var(--m-warning-500);color:var(--m-text-on-brand)}.consent-warning{display:flex;align-items:flex-start;gap:var(--m-sp-2);padding:var(--m-sp-2) var(--m-sp-3);border-radius:var(--m-radius-md);font-size:var(--m-text-sm);line-height:var(--m-leading-normal)}.consent-warning--warning{background:var(--m-warning-bg);color:var(--m-text)}.consent-warning--danger{background:var(--m-error-bg);color:var(--m-text)}.consent-warning-icon{color:var(--m-warning-500);flex-shrink:0;margin-top:1px}.consent-warning--danger .consent-warning-icon{color:var(--m-danger-500)}.consent-warning-body{line-height:1.4}.consent-redirect-host{font-size:var(--m-text-sm);color:var(--m-text-subtle)}.consent-redirect-host strong{color:var(--m-text);font-weight:var(--m-weight-medium)}.consent-scope-section{display:flex;flex-direction:column;gap:var(--m-sp-3)}.consent-section-title{font-size:var(--m-text-sm);font-weight:var(--m-weight-semibold);color:var(--m-text)}.consent-scope-groups{display:flex;flex-direction:column;gap:var(--m-sp-3)}.consent-scope-group{display:flex;flex-direction:column;gap:var(--m-sp-1)}.consent-scope-area-label{font-size:var(--m-text-xs);font-weight:var(--m-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--m-text-subtle)}.consent-scope-list{list-style:none;display:flex;flex-direction:column;gap:var(--m-sp-2);padding-left:0}.consent-scope-item{display:flex;align-items:flex-start;gap:var(--m-sp-2)}.consent-scope-item:before{content:"";display:block;width:5px;min-width:5px;height:5px;border-radius:var(--m-radius-full);background:var(--m-accent-500);flex-shrink:0;margin-top:5px}.consent-scope-item--unavailable:before{background:var(--m-text-placeholder)}.consent-scope-item-content{display:flex;flex-direction:column;gap:2px}.consent-scope-description{font-size:var(--m-text-sm);color:var(--m-text)}.consent-scope-item--unavailable .consent-scope-description{color:var(--m-text-subtle);text-decoration:line-through}.consent-scope-unavailable-hint{font-size:var(--m-text-xs);color:var(--m-error)}.consent-hotel-section{display:flex;flex-direction:column;gap:var(--m-sp-3)}.consent-hotel-single{display:flex;align-items:baseline;gap:var(--m-sp-2);padding:var(--m-sp-3) var(--m-sp-4);background:var(--m-surface);border:1px solid var(--m-border-muted);border-radius:var(--m-radius-md)}.consent-hotel-single-label{font-size:var(--m-text-xs);font-weight:var(--m-weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--m-text-subtle);flex-shrink:0}.consent-hotel-single-name{font-size:var(--m-text-sm);font-weight:var(--m-weight-medium);color:var(--m-text)}.consent-hotel-all{padding-bottom:var(--m-sp-1)}.consent-hotel-search{position:relative}.consent-search-input{width:100%;padding:var(--m-sp-2) var(--m-sp-3);font-family:var(--m-font-sans);font-size:var(--m-text-sm);color:var(--m-text);background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius-md);outline:none;transition:border-color var(--m-transition-fast)}.consent-search-input:focus{border-color:var(--m-brand);box-shadow:0 0 0 2px var(--m-focus-ring)}.consent-search-input::placeholder{color:var(--m-text-placeholder)}.consent-hotel-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--m-sp-1);padding:var(--m-sp-2);border:1px solid var(--m-border);border-radius:var(--m-radius-md);background:var(--m-surface)}.consent-hotel-empty{font-size:var(--m-text-sm);color:var(--m-text-subtle);text-align:center;padding:var(--m-sp-3) 0}.consent-action-error,.consent-validation-error{font-size:var(--m-text-sm);color:var(--m-error)}.consent-action-error{text-align:center}.consent-actions{display:flex;flex-direction:column;gap:var(--m-sp-2)}.consent-deny-btn{display:block;width:100%;min-height:44px;padding:var(--m-sp-3);font-size:var(--m-text-base);font-weight:var(--m-weight-medium);font-family:var(--m-font-sans);color:var(--m-text-subtle);background:transparent;border:1px solid var(--m-border);border-radius:var(--m-radius-md);cursor:pointer;transition:color var(--m-transition-fast),border-color var(--m-transition-fast)}.consent-deny-btn:hover{color:var(--m-text);border-color:var(--m-border-accent)}.consent-deny-btn:disabled{cursor:not-allowed;opacity:.5}.consent-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.consent-deny-btn>svg,.submit-btn>svg{vertical-align:middle;margin-right:var(--m-sp-1)}.submit-btn>svg{color:inherit}@media (max-height:620px),(max-width:480px){.auth-shell{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}