:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#153347;background:#e9f0f4;font-size:15px}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}body{display:flex;flex-direction:column}button,input,select{font:inherit}button{border:1px solid #beced8;border-radius:7px;background:white;color:#123346;padding:10px 15px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:hover:enabled{background:#e3f3f7}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #20b5c5;outline-offset:2px}.primary{background:#087f97;color:white;border-color:#087f97}.primary:hover:enabled{background:#086b80}.toolbar{height:66px;flex-shrink:0;background:#102f43;color:white;display:flex;align-items:center;gap:18px;padding:8px 20px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:21px;font-weight:700;letter-spacing:1.4px}.brand img{width:32px;height:42px;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:3px}.system-label{display:flex;align-items:center;gap:10px;margin:0 auto 0 24px;width:min(50%,690px);font-size:12px;text-transform:uppercase;letter-spacing:1px}.system-label select{margin:0;min-width:160px;flex:1;max-width:100%;background:#173e53;border-color:#557484;color:white;font-size:14px;letter-spacing:0;text-transform:none}.toolbar button{background:#173e53;border-color:#557484;color:white;padding:9px 12px;white-space:nowrap}.toolbar button:hover:enabled{background:#26546a}#ui-name{font-size:12px;white-space:nowrap;color:#bce4e8}#stage{flex:1;min-height:0;position:relative}#workspace{border:0;width:100%;height:100%;display:block}#welcome,#loading{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 65% 20%,#f6fbfc,#dce9ef)}#loading{flex-direction:column}#login,#choose{width:440px;padding:32px 40px;background:white;border:1px solid #d7e2e8;border-radius:16px;box-shadow:0 16px 50px #13334815}h1{font-size:27px;margin:12px 0}h2{font-size:22px;margin:0 0 16px}p{line-height:1.5}.intro,.muted{color:#55717e}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#247484;font-weight:700;margin-bottom:4px}.login-logo{height:80px;width:80px;object-fit:contain;display:block;margin:0 auto 20px}label{display:block;font-weight:600;margin:18px 0}input,select{display:block;border:1px solid #b9cbd6;border-radius:6px;background:#fbfdfe;width:100%;padding:11px 12px;margin-top:8px;min-height:42px}.check{font-weight:400;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5}.check input{margin:0;width:17px;min-height:17px;flex-shrink:0}#sign-in,#open-system{width:100%;padding:13px}#login-message,#choose-message,#exit-message,#settings-message{min-height:22px;font-size:13px;color:#a03328}dialog{width:min(580px,90vw);padding:28px;border:1px solid #c5d4dd;border-radius:12px;color:#123346;max-height:90vh;overflow:auto}dialog::backdrop{background:#0623329e}dialog header{display:flex;justify-content:space-between;align-items:center}dialog header button{font-size:22px;padding:0 9px;border:0}dialog header h2{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}#ui-reason,#settings-account,#settings-system{font-size:13px;color:#4f6a78}@media(max-width:1100px){.system-label{margin-left:0}.toolbar{gap:10px;padding:8px 12px}.brand{font-size:17px}#ui-name{display:none}}
/* Shared client branding and constrained workstation layout. */
.toolbar{background:var(--client-primary,#102f43);color:var(--client-foreground,#fff);border-bottom:3px solid var(--client-accent,#087f97);height:74px;gap:14px}.brand{flex:0 1 280px;min-width:220px;max-width:300px;font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:17px;font-weight:400;letter-spacing:0;gap:12px}.brand img{flex-shrink:0}.brand img.client-logo{width:144px;height:46px;background:#fff;border:1px solid #ffffff42;border-radius:11px;padding:6px 10px;object-fit:contain;box-shadow:0 2px 7px #001b301c}.brand:has(.client-logo){flex-basis:310px;max-width:350px;min-width:260px}.brand:has(.client-logo) #brand-name{display:none}#brand-copy{min-width:0;overflow:hidden;flex:1}#brand-name{display:block;font-weight:600;line-height:1.2;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small{font-size:13px;font-weight:400;line-height:1.35;letter-spacing:.1px;margin-top:3px;white-space:normal;overflow-wrap:normal;max-height:36px;overflow:hidden;opacity:.92}.brand:has(.client-logo) small{margin-top:0;font-weight:500}.system-label{flex:1;min-width:0;width:auto;margin-left:8px}.system-label select{width:100%;min-width:0;flex:1}#ui-name{color:inherit}.primary{background:var(--client-accent,#087f97);color:var(--client-accent-foreground,#fff);border-color:var(--client-accent,#087f97)}.primary:hover:enabled{filter:brightness(.9);background:var(--client-accent,#087f97)}#welcome{overflow:auto;padding:20px}#login,#choose{max-width:100%;flex-shrink:0;margin:auto}#app-notice{padding:8px 16px;background:#fff0d9;color:#613700;font-size:13px;flex-shrink:0}#settings{width:min(690px,94vw)}#settings-system{overflow-wrap:anywhere}.brand-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.brand-fields input[type=color]{height:42px;padding:4px}.brand-preview{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid #c5d4dd;border-radius:6px;min-height:72px}.brand-preview img{height:46px;width:160px;object-fit:contain}.brand-preview span{overflow-wrap:anywhere}h3{margin:20px 0 6px}hr{border:0;border-top:1px solid #d7e2e8;margin-top:24px}#branding-source{font-size:12px}
@media(max-width:1100px){.toolbar{gap:9px}.system-label{margin-left:0}}
@media(max-height:720px){#welcome{align-items:flex-start}#login,#choose{padding:20px 30px}.login-logo{height:52px;margin-bottom:10px}#login label{margin:12px 0}#login h1{font-size:24px}}

#brand-settings{border-top:1px solid #d7e2e8;margin-top:22px;padding-top:16px}#brand-settings>summary{font-size:18px;font-weight:700;cursor:pointer;padding:6px 0}#brand-settings label{margin:12px 0}#settings>form{position:sticky;top:-28px;background:white;padding:12px 0;z-index:2}#settings>form header{gap:12px}

#settings-message{color:#17614b}#settings-message[data-error="true"]{color:#a03328}

/* The supplied T8 artwork is displayed intact, including its blue gradient. */
#brand-logo.site-logo{width:98px;height:56px;padding:0;background:transparent;border-radius:10px;object-fit:contain}
#brand-preview-logo{border-radius:11px}.brand-preview span{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-weight:400;letter-spacing:.1px;line-height:1.4}#brand-preview-logo.site-logo{width:160px;height:92px;border-radius:10px;object-fit:contain}

#website{height:100%;display:flex;flex-direction:column;background:#eef3f6}.website-controls{height:46px;display:flex;align-items:center;gap:8px;padding:5px 14px;border-bottom:1px solid #bacbd7;flex-shrink:0}.website-controls button{padding:6px 12px}.website-controls span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#website-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}#website-message{max-width:560px;padding:24px}#website-button[aria-pressed="true"]{background:var(--client-accent,#087f97)}
@media(max-width:1200px){.toolbar{gap:8px;padding:8px 12px}.system-label{margin-left:0;min-width:160px}.toolbar button{padding:9px 8px}#ui-name{display:none}.brand{flex-basis:230px;max-width:270px}.brand:has(.client-logo){flex-basis:270px}.brand:has(.site-logo){flex-basis:250px;min-width:240px}.brand img.client-logo{width:118px}.brand #brand-name{font-size:16px}}

#website-notice{padding:8px 14px;margin:0;background:#fff0d9;color:#613700;font-size:13px}

/* Product logo opens the existing contained website for the selected interface. */
.toolbar #website-button{margin-left:auto;flex:0 0 56px;width:56px;height:54px;padding:3px;border-color:transparent;background:transparent;display:flex;align-items:center;justify-content:center}
.toolbar #website-button.jetbridge-logo{flex-basis:184px;width:184px;background:#f6f8fb;border-radius:5px;height:44px}
#website-logo{display:block;width:48px;height:48px;object-fit:contain;pointer-events:none}
.jetbridge-logo #website-logo{width:174px;height:36px;object-fit:cover;object-position:left center}
.toolbar #website-button:hover:enabled{box-shadow:0 0 0 2px var(--client-accent,#20b5c5);filter:brightness(1.08)}
.toolbar #website-button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--client-accent,#20b5c5)}

#kiosk-lock-settings{padding:14px 16px;background:#edf5f8;border:1px solid #c4d6e0;border-radius:9px;margin-top:18px}
.lock-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.lock-heading h3{margin:0;font-size:17px}
#kiosk-lock-toggle{flex-shrink:0;min-width:68px;font-weight:700}#kiosk-lock-toggle[aria-checked=true]{background:#087f97;color:white;border-color:#087f97}
#kiosk-lock-settings p{margin:8px 0 0;font-size:13px}#kiosk-lock-status{font-weight:600}#kiosk-lock-status[data-warning=true]{color:#9b3e12}.lock-limit{font-size:12px!important}
#kiosk-workbar{margin:10px 0}#kiosk-workbar button{padding:6px 12px;font-size:13px}
.toolbar #settings-button[data-unlocked=true]{background:#fff2d9;border-color:#dfbf85;color:#583a07}

/* Settings and exit stay inside the workstation menu. */
#workstation-menu{margin:0;inset:80px 14px auto auto;width:300px;max-width:calc(100vw - 28px);padding:18px}
#workstation-menu header h2{font-size:18px}.workstation-menu-actions{display:grid;gap:9px;margin-top:16px}.workstation-menu-actions button{text-align:left;min-height:44px}
.toolbar #workstation-menu-button{font-size:23px;line-height:1;padding:10px 14px}
.toolbar #workstation-menu-button[data-unlocked=true]{background:#fff2d9;border-color:#dfbf85;color:#583a07}

/* One quiet header, with airline identity reserved for JetBridge. */
:root{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif}
.toolbar{height:68px;padding:8px 22px;gap:24px;border-bottom:1px solid #dce5eb}
.toolbar[hidden]{display:none!important}
.brand{flex-basis:240px;min-width:200px;gap:12px}
.brand img{height:40px;width:36px}
.brand small{font-size:11px;letter-spacing:.02em}
.system-label{font-size:10px;letter-spacing:.12em;gap:12px;margin:0;max-width:720px}
.system-label select{min-height:38px;padding:8px 12px;border-radius:9px;font-weight:500}
:root[data-interface=jetbridge] .toolbar{background:#fff;color:var(--client-primary,#163b59)}
:root[data-interface=jetbridge] .system-label{color:#667d8d}
:root[data-interface=jetbridge] .system-label select{background:#f1f5f8;border-color:transparent;color:#19394f}
:root[data-interface=jetbridge] .brand{flex-basis:250px;min-width:210px;max-width:310px}
:root[data-interface=jetbridge] .brand img.client-logo{width:130px;height:40px;padding:0;background:#fff;border:0;border-radius:0;box-shadow:none;object-fit:contain}
:root[data-interface=jetbridge] #brand-logo.site-logo{width:74px;height:43px;border-radius:6px;background:transparent}
:root[data-interface=jetbridge] #brand-site{color:#526f83;font-size:12px;line-height:1.4}
:root[data-interface=jetbridge] .toolbar #website-button.jetbridge-logo{margin-left:auto;background:#fff;border:0;border-radius:0;height:45px;width:178px;flex-basis:178px;padding:0}
:root[data-interface=jetbridge] .jetbridge-logo #website-logo{width:178px;height:40px;object-fit:contain}
:root[data-interface=jetbridge] .toolbar #workstation-menu-button{background:#f1f5f8;color:#19394f;border-color:transparent;border-radius:10px}
#workstation-menu{inset:72px 16px auto auto}
@media(max-width:1150px){.toolbar{padding-inline:16px;gap:14px}.system-label{font-size:0;gap:0}:root[data-interface=jetbridge] .brand{min-width:190px;flex-basis:210px}.brand small{font-size:10px}}

/* Account connection controls share the workstation settings style. */
#connection-banner{flex:none;padding:9px 20px;background:#fff3d8;color:#684512;font-size:13px;border-bottom:1px solid #ead6ac;}
#connection-banner[hidden]{display:none;}
.account-settings{margin:18px 0;padding:16px;border:1px solid #d8e2e9;border-radius:12px;background:#f5f8fa;}
.account-settings h3{margin:0 0 10px;font-size:15px;}
.account-settings h3:not(:first-child){margin-top:22px;}
.account-settings details{margin:14px 0;}
.account-settings summary{cursor:pointer;}
.account-settings .check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;}
.account-settings .check input{width:auto;margin-top:4px;flex:none;}
#saved-sign-in-form{padding-top:12px;}

/* Transparent brand artwork, sized without a white logo tile. */
:root[data-interface=jetbridge] .brand img.client-logo{background:transparent;max-width:130px}
:root[data-interface=jetbridge][data-client-brand^=american] #brand-logo:not(.site-logo){width:62px;height:54px;flex-basis:62px}
:root[data-interface=jetbridge][data-client-brand^=american] #brand-name{display:block;font-size:15px;letter-spacing:-.25px}
:root[data-interface=jetbridge][data-client-brand^=american] #brand-copy{flex:1}
:root[data-interface=jetbridge] .toolbar #website-button.jetbridge-logo{background:transparent;width:228px;flex-basis:228px;height:52px;overflow:hidden}
:root[data-interface=jetbridge] .jetbridge-logo #website-logo{width:228px;height:52px;object-fit:cover;object-position:center}
:root[data-interface=jetbridge][data-appearance=night]{color-scheme:dark;--night-bg:color-mix(in srgb,var(--client-primary) 22%,#090e16);--night-panel:color-mix(in srgb,var(--client-primary) 34%,#111923);--night-raised:color-mix(in srgb,var(--client-primary) 45%,#1a2532);--night-line:#324b60;--night-ink:#e6edf5;--night-muted:#a8bacb;background:var(--night-bg);color:var(--night-ink)}
:root[data-interface=jetbridge][data-appearance=night] .toolbar{background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night] #brand-name{color:var(--night-ink)}
:root[data-interface=jetbridge][data-appearance=night] :is(#brand-site,.system-label){color:var(--night-muted)}
:root[data-interface=jetbridge][data-appearance=night] :is(.system-label select,.toolbar #workstation-menu-button){background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night][data-client-brand^=american] #brand-logo{filter:brightness(1.55)}
:root[data-interface=jetbridge][data-appearance=night] :is(dialog,.account-settings,.brand-preview){background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night] :is(dialog input,dialog select,dialog button){background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night] :is(.muted,#settings-account,#settings-system,#ui-reason){color:var(--night-muted)}
:root[data-interface=jetbridge][data-appearance=night] dialog .primary{background:var(--client-accent);color:var(--client-accent-foreground)}
@media(max-width:1100px){:root[data-interface=jetbridge] .toolbar #website-button.jetbridge-logo{width:196px;flex-basis:196px}:root[data-interface=jetbridge] .jetbridge-logo #website-logo{width:196px;height:45px}:root[data-interface=jetbridge][data-client-brand^=american] #brand-name{font-size:13px}}

/* Nested settings panels and sticky headings follow the active Night palette. */
:root[data-interface=jetbridge][data-appearance=night] :is(#settings>form,#kiosk-lock-settings){background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night] #brand-settings{border-color:var(--night-line)}
:root[data-interface=jetbridge][data-appearance=night] #kiosk-lock-toggle[aria-checked=true]{background:#087f97;color:#fff;border-color:#27b4cc}
:root[data-interface=jetbridge][data-appearance=night] :is(#exit-message,#settings-message[data-error=true]){color:#ffb7c5}
:root[data-interface=jetbridge][data-appearance=night] #settings-message{color:#79dfb7}
:root[data-interface=jetbridge][data-appearance=night] #kiosk-lock-status[data-warning=true]{color:#f6d38d}
:root[data-interface=jetbridge][data-appearance=night] #connection-banner{background:#493a21;color:#f6d38d;border-color:#796036}

/* Match the existing dark Beacon/Fire workspace in the shared outer dialogs. */
:root[data-beacon-workspace=true]{--night-panel:#152738;--night-raised:#1a2d40;--night-line:#324b60;--night-ink:#e6edf5;--night-muted:#a8bacb}
:root[data-beacon-workspace=true] :is(dialog,.account-settings,.brand-preview,#settings>form,#kiosk-lock-settings){color-scheme:dark;background:var(--night-panel);color:var(--night-ink);border-color:var(--night-line)}
:root[data-beacon-workspace=true] :is(dialog input,dialog select,dialog button){background:var(--night-raised);color:var(--night-ink);border-color:var(--night-line)}
:root[data-beacon-workspace=true] :is(.muted,#settings-account,#settings-system,#ui-reason){color:var(--night-muted)}
:root[data-beacon-workspace=true] :is(dialog .primary,#kiosk-lock-toggle[aria-checked=true]){background:#087f97;color:white;border-color:#27b4cc}
:root[data-beacon-workspace=true] :is(#exit-message,#settings-message[data-error=true]){color:#ffb7c5}
:root[data-beacon-workspace=true] #settings-message{color:#79dfb7}
:root[data-beacon-workspace=true] #kiosk-lock-status[data-warning=true]{color:#f6d38d}

.sound-choice{display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto;gap:7px;align-items:center;border-bottom:1px solid #52708544;padding:10px 0}.sound-choice strong,.sound-choice small{display:block;overflow-wrap:anywhere}.sound-choice small{font-size:12px;margin-top:4px}.sound-choice button{font-size:12px;padding:8px}.sound-choice>div{min-width:0}#sound-settings-message[data-error=true]{color:#cf7047}@media(max-width:650px){.sound-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.sound-choice>div{grid-column:1/-1}}

#loading{position:absolute;inset:0;z-index:5;padding:24px;text-align:center}#loading p{max-width:520px}

/* Initial read progress stays out of the dashboard and ignores pointer input. */
#read-progress{position:fixed;left:0;right:0;bottom:0;height:4px;z-index:90;pointer-events:none;background:transparent}
#read-progress[hidden]{display:none!important}
#read-progress-bar{display:block;appearance:none;-webkit-appearance:none;width:100%;height:4px;border:0;border-radius:0;overflow:hidden;background:rgba(80,139,155,.18);color:var(--client-accent,#087f97);accent-color:var(--client-accent,#087f97)}
#read-progress-bar::-webkit-progress-bar{background:rgba(80,139,155,.18)}
#read-progress-bar::-webkit-progress-value{background:var(--client-accent,#087f97)}
#read-progress-bar::-moz-progress-bar{background:var(--client-accent,#087f97)}
#read-progress-bar:indeterminate{background:linear-gradient(90deg,transparent,var(--client-accent,#087f97),transparent);background-size:35% 100%;background-repeat:no-repeat;animation:read-progress-pulse 1.6s ease-in-out infinite}
@keyframes read-progress-pulse{from{background-position:-55% 0}to{background-position:155% 0}}
@media(prefers-reduced-motion:reduce){#read-progress-bar:indeterminate{animation:none;background-position:center}}

/* Health details stay in the themed dialog, outside the operator workspace. */
#system-health-dialog{width:min(850px,94vw);max-height:85vh;overflow:auto}#system-health-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.health-summary{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px 16px}.health-summary dt{font-weight:600}.health-summary dd{margin:0;overflow-wrap:anywhere}.health-table-wrap{overflow:auto;max-height:38vh}#health-table{width:100%;border-collapse:collapse;font-size:14px}#health-table th,#health-table td{text-align:left;padding:10px;border-bottom:1px solid currentColor;overflow-wrap:anywhere}#health-table th{font-weight:600}#health-table td:first-child{min-width:150px}
