/* The Cinema palette is shared by public pages, sign-in and both workspaces.
   Feature CSS consumes these semantic tokens; media/3D/brand colours stay intact. */
html[data-site-theme]{
 --dt-canvas:#f6f4ed;--dt-surface:#fafaf3;--dt-subtle:#eeeee3;
 --dt-ink:#202c23;--dt-muted:#58664e;--dt-line:#cbd4c0;--dt-control:#7a8970;
 --dt-action:#30533a;--dt-strong:#34523b;--dt-on-strong:#fff;
 --dt-positive:#2e6344;--dt-positive-bg:#e7f1e5;--dt-error:#a12d35;--dt-error-bg:#fbecee;
 --dt-warning:#79521b;--dt-warning-bg:#faf0da;--dt-info:#305779;--dt-info-bg:#e9eff2;
 --dt-accent:#d8ff76;--dt-accent-ink:#162015;
 --eng-canvas:var(--dt-canvas);--eng-surface:var(--dt-surface);--eng-ink:var(--dt-ink);
 --eng-muted:var(--dt-muted);--eng-line:var(--dt-line);--eng-subtle:var(--dt-subtle);
 --eng-action:var(--dt-action);--eng-positive:var(--dt-positive);--eng-error:var(--dt-error);
 --ux-bg:var(--dt-canvas);--ux-background:var(--dt-canvas);--ux-page:var(--dt-canvas);--ux-surface:var(--dt-surface);
 --ux-text:var(--dt-ink);--ux-primary:var(--dt-strong);--ux-on-primary:var(--dt-on-strong);--ux-secondary:var(--dt-muted);
 --ux-link:var(--dt-action);--ux-subtle:var(--dt-subtle);--ux-card-border:var(--dt-line);
 --ux-border:var(--dt-line);--ux-divider:var(--dt-line);--ux-danger:var(--dt-error);
 --ux-success:var(--dt-positive);--ux-warning:var(--dt-warning);--ux-accent:var(--dt-strong);--ux-on-accent:var(--dt-on-strong);
 --ux-hero-accent:var(--dt-positive);--ux-focus:var(--dt-action);--ux-focus-dark:var(--dt-accent);--ux-input-border:var(--dt-control);
 --ux-error-background:var(--dt-error-bg);--ux-image-sage:var(--dt-subtle);--ux-image-lilac:var(--dt-subtle);--ux-image-blue:var(--dt-subtle);--ux-image-clay:var(--dt-subtle);
 --navy:var(--dt-ink);--cyan:var(--dt-action);--green:var(--dt-positive);--muted:var(--dt-muted);
 --line:var(--dt-line);--paper:var(--dt-surface);--bg:var(--dt-canvas);--text:var(--dt-ink);
 --primary:var(--dt-action);--border:var(--dt-line);color-scheme:light;
 background:var(--dt-canvas);color:var(--dt-ink);
}
html[data-site-theme][data-theme=dark]{
 --dt-canvas:#16221a;--dt-surface:#1e2d21;--dt-subtle:#283a29;
 --dt-ink:#eff2e6;--dt-muted:#b2c0a5;--dt-line:#43583d;--dt-control:#91a580;
 --dt-action:#d1ed9e;--dt-strong:#34523b;--dt-on-strong:#fff;
 --dt-positive:#b2e1b7;--dt-positive-bg:#233d2b;--dt-error:#ffb5b9;--dt-error-bg:#45272e;
 --dt-warning:#f1d194;--dt-warning-bg:#3e3422;--dt-info:#b6d7ee;--dt-info-bg:#243846;
 color-scheme:dark;
}
html[data-site-theme] body{background:var(--dt-canvas);color:var(--dt-ink)}
html[data-site-theme] body.ux-workspace{--ux-input-border:var(--dt-control)}
html[data-site-theme] .seg-page{--seg-ink:var(--dt-ink);--seg-muted:var(--dt-muted);--seg-line:var(--dt-line);--seg-accent:var(--dt-action)}
html[data-site-theme] [hidden]{display:none!important}
html[data-site-theme] :is(input,select,textarea){accent-color:var(--dt-action);caret-color:var(--dt-ink)}
html[data-site-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea){border-color:var(--dt-control)}
html[data-site-theme] :is(input,textarea)::placeholder{color:var(--dt-muted);opacity:1}
html[data-site-theme] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--dt-action)}
/* A theme switch must not animate foreground and surface through unreadable
   intermediate colours. Hover movement and media opacity remain available. */
html[data-site-theme] body :is(.ux-button,button,a,input,select,textarea){transition-property:transform,opacity,box-shadow}
html[data-site-theme] .ux-header{background:var(--dt-canvas);color:var(--dt-ink);border-color:var(--dt-line);box-shadow:none}
html[data-site-theme] .ux-header-inner{min-height:84px;gap:18px}
html[data-site-theme] .ux-header :is(.ux-brand,.ux-desktop-nav a,summary,.ux-menu-button){color:var(--dt-ink)}
html[data-site-theme] .ux-header .ux-account-slot a.ux-account{color:var(--dt-ink)!important;background:transparent;border:1px solid var(--dt-line);border-radius:30px}
html[data-site-theme] .ux-account-slot{flex-shrink:0}
html[data-site-theme] .site-theme-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--dt-line);border-radius:30px;margin-left:auto;flex-shrink:0;background:var(--dt-subtle)}
html[data-site-theme] .site-theme-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 10px;border:0;border-radius:24px;cursor:pointer;background:transparent;color:var(--dt-muted);font:inherit;font-size:12px;box-shadow:none}
html[data-site-theme] .site-theme-switch button>span:first-child{font-size:20px;line-height:1}
html[data-site-theme] .site-theme-switch button[aria-pressed=true]{background:var(--dt-accent);color:var(--dt-accent-ink)}
html[data-site-theme] .site-theme-standalone{display:flex;padding:16px 20px;max-width:1416px;margin:auto}
/* Keep the staff header at its original 59px minimum: adding the switch must
   not push the eighth moderation row below a 900px desktop viewport. */
html[data-site-theme] .topbar{min-height:59px;padding-block:6px;gap:12px}
html[data-site-theme] :is(.ux-drawer,.ux-fallback-nav,.journey-account>nav){background:var(--dt-surface);color:var(--dt-ink);border-color:var(--dt-line)}
html[data-site-theme] :is(.ux-drawer,.ux-fallback-nav,.journey-account) :is(h2,nav a,summary){color:var(--dt-ink)}
html[data-site-theme] .ux-drawer>p{color:var(--dt-muted)}
html[data-site-theme] .ux-drawer nav a:hover{background:var(--dt-subtle)}
html[data-site-theme] .ux-drawer-top button{background:var(--dt-subtle);color:var(--dt-ink);border-color:var(--dt-control)}
html[data-site-theme][data-theme=dark] :is(.ux-header,.ux-footer) .ux-brand img{filter:brightness(0) invert(1)}
html[data-site-theme] body:not(.cinema-page) .ux-page-heading{padding-block:36px 30px;border-bottom:1px solid var(--dt-line);margin-bottom:28px}
html[data-site-theme] body:not(.cinema-page) .ux-page-heading h1{font-weight:500;letter-spacing:-.04em;font-size:clamp(30px,4.3vw,54px);max-width:25ch}
html[data-site-theme] body:not(.cinema-page) :is(.ux-card,.ux-product-card,.auth-card,.profile-card){background:var(--dt-surface);border-color:var(--dt-line);border-radius:12px;box-shadow:none}
html[data-site-theme] .ux-button.ux-primary{background:var(--dt-accent);border-color:var(--dt-accent);color:var(--dt-accent-ink)}
html[data-site-theme] body:not(.cinema-page) :is(.ux-button,.journey-logout){border-radius:24px}
html[data-site-theme] body:not(.cinema-page) .ux-footer{color:var(--dt-muted);border-color:var(--dt-line);background:var(--dt-subtle)}
html[data-site-theme] body:not(.cinema-page) .ux-footer :is(a,p,strong){color:var(--dt-ink)}
html[data-site-theme] .cinema-page{--cinema-bg:var(--dt-canvas);--cinema-card:var(--dt-surface);--cinema-ink:var(--dt-ink);--cinema-soft:var(--dt-muted);--cinema-line:var(--dt-line)}
html[data-site-theme] .cinema-page .motion{--cinema-bg:var(--dt-canvas);--cinema-card:var(--dt-surface);--cinema-ink:var(--dt-ink);--cinema-soft:var(--dt-muted);--cinema-line:var(--dt-line);--phone-soft:var(--dt-muted)}
html[data-site-theme] .cinema-page .phone-model-art>span{color:var(--dt-muted)}
html[data-site-theme] .cinema-page .ux-footer :is(strong,p){color:inherit}
html[data-site-theme] .role-switch a[aria-current=true]{background:var(--dt-strong);color:var(--dt-on-strong)}
html[data-site-theme] .role-switch a[aria-current=true]>span{color:inherit}
html[data-site-theme] a.equipment-button{background:var(--dt-strong);color:var(--dt-on-strong)}
html[data-site-theme] .sidebar :is(.workspace-label,.sidebar-bottom,.sidebar-bottom a){color:#dce8d3}
@media(max-width:1200px){html[data-site-theme] .site-theme-switch .theme-word{display:none}html[data-site-theme] .ux-header-inner{gap:12px}}
@media(max-width:650px){
 html[data-site-theme] .ux-header-inner{padding-inline:12px;gap:8px;flex-wrap:nowrap}
 html[data-site-theme] .ux-header .ux-brand{width:108px;min-width:90px}html[data-site-theme] .ux-brand img{max-width:100%}
 html[data-site-theme] .site-theme-switch{padding:2px;gap:0}html[data-site-theme] .site-theme-switch button{width:30px;min-height:36px;padding:4px}
 html[data-site-theme] .ux-header .ux-account{font-size:12px;padding:8px;min-height:36px}
 html[data-site-theme] .ux-menu-button{width:34px;min-width:34px;flex-shrink:0}
 html[data-site-theme] .ux-header .journey-account>summary{max-width:100px;white-space:normal;font-size:12px;padding:8px}
}
@media(max-width:380px){html[data-site-theme] .ux-header .ux-brand{width:92px;min-width:82px}html[data-site-theme] .ux-header-inner{gap:6px}html[data-site-theme] .ux-header .ux-account-slot{margin-left:0}}
@media(max-width:400px){html[data-site-theme] .ux-header .ux-account-slot a.ux-account{font-size:0;min-width:36px;width:36px;height:36px;min-height:36px;padding:6px;align-items:center;justify-content:center}html[data-site-theme] .ux-header .ux-account-slot a.ux-account:after{content:"↗";font-size:20px}}
@media(prefers-reduced-motion:reduce){html[data-site-theme]{scroll-behavior:auto}}


/* direct-fulfillment.css: colour adapter; the audited source stays byte-for-byte pinned. */
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell{color:var(--dt-action,#16324c)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell .card{border:2px solid var(--dt-line,#a9bfd4);background:var(--dt-surface,#fff)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell .muted{color:var(--dt-muted,#50647a)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell dt{color:var(--dt-muted,#50647a)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell fieldset{border:1px solid var(--dt-line,#a9bfd4)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell textarea{border:1px solid var(--dt-control,#70869c)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell :focus-visible{outline:3px solid var(--dt-action,#1d4ed8)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell .notice{background:var(--dt-info-bg,#eff6ff);border-left:4px solid var(--dt-info,#2563eb)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell .error{background:var(--dt-surface,#fff1f2);border-left:4px solid var(--dt-error,#be123c);color:var(--dt-error,#881337)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell .danger{background:var(--dt-surface,#fff5f5);color:var(--dt-error,#9b1c1c);border:1px solid var(--dt-error,#b42318)}
html[data-site-theme]:where([data-theme-page="direct-fulfillment"]) .fulfillment-shell li{border:1px solid var(--dt-line,#c4d2e1)}
/* direct-reservation.css: colour adapter; the audited source stays byte-for-byte pinned. */
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell{color:var(--dt-action,#16324c)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell .card{border:2px solid var(--dt-line,#b9c9da);background:var(--dt-surface,#fff)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell .muted{color:var(--dt-muted,#50647a)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-facts dt{color:var(--dt-muted,#50647a)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell select,html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell textarea{border:1px solid var(--dt-control,#70869c);background:var(--dt-surface,white);color:var(--dt-action,#16324c)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell fieldset{border:1px solid var(--dt-line,#c5d2df)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell :focus-visible{outline:3px solid var(--dt-action,#1d4ed8)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell .notice{border-left:4px solid var(--dt-info,#2563eb);background:var(--dt-info-bg,#eff6ff);color:var(--dt-action,#163456)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell .error{border-left:4px solid var(--dt-error,#be123c);background:var(--dt-surface,#fff1f2);color:var(--dt-error,#881337)}
html[data-site-theme]:where([data-theme-page="direct-reservation"]) .reservation-shell button.danger{background:var(--dt-surface,#fff5f5);color:var(--dt-error,#9b1c1c);border-color:var(--dt-error,#b42318)}
/* response-fee-payment.css: colour adapter; the audited source stays byte-for-byte pinned. */
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) header{background:var(--dt-surface,#fff);border-bottom:1px solid var(--dt-line,#ccd3df)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) a{color:var(--dt-action,#2454ac)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) .payment-card{border:2px solid var(--dt-line,#bcc9df);background:var(--dt-surface,white)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) .demo-note{border-left:4px solid var(--dt-warning,#c58b16);background:var(--dt-warning-bg,#fff4d8)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) .payment-actions{border-top:1px solid var(--dt-line,#ccd3df)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) button{border:1px solid var(--dt-control,#63738b);background:var(--dt-surface,#fff)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) #payment-open{background:var(--dt-strong,#264fa4);color:var(--dt-on-strong,white);border-color:var(--dt-info,#264fa4)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) #payment-refresh{background:var(--dt-surface,white);color:var(--dt-action,#273b5b);border-color:var(--dt-control,#8c9bb1)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) button:focus-visible,html[data-site-theme]:where([data-theme-page="response-fee-payment"]) a:focus-visible{outline:3px solid var(--dt-action,#e9a626)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) #payment-error{color:var(--dt-error,#9b2020);background:var(--dt-surface,#fff0f0);border:1px solid var(--dt-line,#dcb6b6)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) .skip:focus{background:var(--dt-surface,#fff)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) body>header{background:var(--dt-surface,#fff);border-color:var(--dt-line,#d5d9d1)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) a{color:var(--dt-action,#235a89)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) button{background:var(--dt-strong,#235a89);border-color:var(--dt-info,#235a89);color:var(--dt-on-strong,#fff)}
html[data-site-theme]:where([data-theme-page="response-fee-payment"]) .payment-card{border-color:var(--dt-line,#d5d9d1)}

/* Paper is a separate presentation, never a stored theme preference. Keep text
   readable when the browser omits background graphics from the printout. */
@media print{
 html[data-site-theme],html[data-site-theme][data-theme]{
  --dt-canvas:#fff;--dt-surface:#fff;--dt-subtle:#f3f3ef;--dt-ink:#111;--dt-muted:#333;
  --dt-line:#777;--dt-control:#555;--dt-action:#174523;--dt-strong:#fff;--dt-on-strong:#111;
  --dt-positive:#235a34;--dt-positive-bg:#fff;--dt-error:#82182e;--dt-error-bg:#fff;
  --dt-warning:#63420a;--dt-warning-bg:#fff;--dt-info:#234c70;--dt-info-bg:#fff;
  --dt-accent:#fff;--dt-accent-ink:#111;color-scheme:light;
 }
 html[data-site-theme] body{background:#fff!important;color:#111!important;color-scheme:light!important}
 html[data-site-theme] body :is(h1,h2,h3,h4,p,a,li,dt,dd,span,small,strong,em,label,summary,caption,th,td,blockquote,input,select,textarea){color:#111!important;text-shadow:none!important}
 html[data-site-theme] :is(main,section,article,form,table,th,td,details,blockquote,.ux-footer,.card,.panel,.auth-card,.phone-model-art,.phone-detail-art,.phone-top>span,.app-role-name>span){background:#fff!important;box-shadow:none!important}
 html[data-site-theme] :is(.site-theme-switch,.cinema-theme-switch,.ux-header,.ux-drawer,.ux-bottom-nav,.sidebar,button,video,.motion-film,.motion-topline,.motion-bottom,.motion-reticle){display:none!important}
 html[data-site-theme] .cinema-page .motion{--phone-bg:#fff;--phone-card:#fff;--phone-ink:#111;--phone-soft:#333;--phone-line:#777}
 html[data-site-theme] .motion-hero{height:auto;min-height:0;overflow:visible;background:#fff!important}
 html[data-site-theme] .motion-copy{position:static;inset:auto;max-width:none;padding:20px 0}
}
