:root{font-family:"Microsoft YaHei UI","PingFang SC","Segoe UI",sans-serif;color:#183047;background:#f2f5f8;font-synthesis:none;--blue:#2365c7;--ink:#183047;--muted:#677c90;--line:#e1e8ee;--green:#147d72}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7dadf2;outline-offset:3px}[hidden]{display:none!important}a{color:var(--blue)}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:700;letter-spacing:-1.2px;line-height:1.35}h2{font-size:18px;letter-spacing:-.35px}h3{font-size:16px}p{line-height:1.7}svg{flex-shrink:0}fieldset{margin:0;padding:0;border:0;min-width:0}.topbar{height:82px;padding:0 max(24px,calc((100vw - 1240px)/2));background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:.5px}.brand-icon{width:42px;height:42px;color:var(--blue)}.brand small{display:block;font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:400;margin-top:4px}.connection{background:#f3f6f9;border:1px solid var(--line);border-radius:99px;padding:9px 15px;display:flex;gap:8px;align-items:center;color:#526c83;font-size:12px;min-height:38px}.dot{width:7px;height:7px;border-radius:50%;background:#a2b1bd}.connection.is-connected .dot{background:var(--green)}.app-shell{max-width:1288px;margin:auto;padding:33px 24px 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:18px}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:8px;letter-spacing:1px}.school-link{white-space:nowrap;font-size:12px;text-decoration:none}.school-link span{margin-left:6px}.workspace{display:grid;grid-template-columns:322px minmax(0,1fr);gap:24px;align-items:start}.sidebar{display:grid;gap:18px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:8px}.card-heading .muted{font-size:11px}.muted{font-size:12px;color:var(--muted);line-height:1.6}.section-kicker{display:block;font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}.filter-card label,.watch-card label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.filter-card select,.filter-card input{margin-top:6px}.filter-card>fieldset>label{margin:17px 0 3px}.filter-card>fieldset>label:first-child{margin-top:0}input,select{width:100%;border:1px solid #d9e2eb;background:white;color:var(--ink);border-radius:8px;height:43px;padding:0 12px;min-width:0;font-size:13px}input::placeholder{color:#8799a9;font-size:12px}select{appearance:auto}.time-fields{display:grid;grid-template-columns:1fr 20px 1fr;gap:9px;margin-top:18px}.time-fields label{margin:0}.time-fields select{font-family:"Cascadia Code",Consolas,monospace;font-size:18px;letter-spacing:-.5px}.time-arrow{padding-top:33px;text-align:center;color:#8497ab}.time-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;border-radius:7px;padding:9px 10px;background:#eef4fd;color:var(--blue);font-size:11px;margin:12px 0 20px;border-left:3px solid #5890df}.time-strip span:last-child{color:#6482a8}.label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.label-row label{margin:0}.text-button{color:var(--blue);background:none;padding:5px 0;font-size:12px;min-height:30px}.floor-chips{display:flex;flex-wrap:wrap;gap:8px}.floor-chip{position:relative}.floor-chip input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.floor-chip span{display:flex;align-items:center;justify-content:center;min-width:57px;min-height:37px;padding:7px 11px;font-size:12px;border:1px solid var(--line);border-radius:7px;background:white;color:#597086}.floor-chip input:checked+span{background:#eaf2ff;color:var(--blue);border-color:#96b9ee}.floor-chip input:focus-visible+span{outline:3px solid #7dadf2;outline-offset:2px}.floor-chip input:disabled{cursor:not-allowed}.advanced{margin:18px 0 20px;border-top:1px solid var(--line);padding-top:15px}.advanced summary{font-size:12px;font-weight:600;cursor:pointer;margin-bottom:15px;min-height:24px}.advanced summary span{font-weight:400;font-size:10px;color:var(--muted);float:right}.advanced label{margin-top:13px}.help{font-size:11px;color:var(--muted);line-height:1.7;font-weight:400}.primary,.secondary,.danger,.quiet{border-radius:8px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:12px;white-space:nowrap}.primary{background:var(--blue);color:white;box-shadow:0 3px 6px #2365c713}.primary:hover:not(:disabled){background:#1c55ab}.secondary{background:#edf4ff;color:#235ea8;border:1px solid #cbddf5}.secondary:hover:not(:disabled){background:#e2edff}.danger{background:#fff1ee;color:#a4372c;border:1px solid #efc6c1}.quiet{background:transparent;color:var(--muted);font-weight:400}.wide{width:100%}.small{min-height:35px;font-size:12px;padding:7px 14px}.button-row{display:flex;gap:10px;align-items:center}.watch-card{border-top:3px solid #80a9e2;padding-top:21px}.watch-card .card-heading{margin-bottom:12px}.watch-description{font-size:12px;color:#536d86;margin-bottom:17px;line-height:1.9}.watch-card label select{margin-top:7px;font-weight:400}.watch-card .help{margin:12px 0}.watch-note{margin-bottom:0!important;font-size:10px!important}.status-tag{font-size:10px;font-weight:500;padding:5px 9px;border-radius:6px;background:#edf1f5;color:var(--muted);white-space:nowrap}.status-tag.running{background:#eaf2ff;color:var(--blue)}.status-tag.success{background:#e1f3ec;color:var(--green)}.status-tag.attention{background:#fff0d9;color:#8f5d17}.task-info{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.task-info>p:first-child{font-size:12px;color:var(--ink)}.task-metrics{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;background:#f5f8fb;margin:14px 0}.task-metrics div{padding:12px;text-align:center}.task-metrics div+div{border-left:1px solid var(--line)}.task-metrics strong{font-family:"Cascadia Code",Consolas,monospace;font-size:20px;font-weight:500;display:block;margin-bottom:4px}.task-metrics span{font-size:10px;color:var(--muted)}.task-log summary{font-size:11px;color:var(--muted);cursor:pointer;min-height:28px}.task-log ol{padding:0;list-style:none;max-height:185px;overflow:auto;font-size:11px;color:#5a7085;line-height:1.7}.task-log li{padding:8px 0;border-bottom:1px solid var(--line)}.task-log time{color:#8d9bac;font-family:Consolas,monospace;margin-right:7px}.results-panel{min-width:0}.results-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 0 22px;border-bottom:1px solid #dce4ec;margin-bottom:20px}.results-header h2{font-size:23px;margin-bottom:8px}.result-count{font-size:38px;font-weight:400;line-height:1;font-family:"Cascadia Code",Consolas,monospace;letter-spacing:-2px;color:#7795b6}.empty-state{min-height:390px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #d4dfe9;border-radius:14px;padding:32px;background:#f7f9fc}.empty-state h3{font-size:18px;margin:22px 0 12px}.empty-state p{font-size:12px;color:var(--muted);max-width:285px}.room-list{display:grid;gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.room-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.room-title{padding:18px 18px 14px;display:flex;justify-content:space-between;gap:10px}.room-title h3{font-size:13px;line-height:1.5}.room-title p{color:var(--muted);font-size:10px;margin-top:5px}.room-count{white-space:nowrap;font-size:11px;color:var(--green);align-self:start;background:#eaf6f1;padding:4px 7px;border-radius:5px}.seat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;padding:0 18px 16px}.seat{border:1px solid #d4e4e6;color:#2f7173;position:relative;background:#f4faf9;border-radius:5px;font-family:"Cascadia Code",Consolas,monospace;font-size:12px;height:40px;min-width:0;transition:background .12s,border-color .12s}.seat::after{content:"";position:absolute;left:20%;right:20%;bottom:5px;height:2px;border-radius:2px;background:#a4ceca}.seat:hover:not(:disabled){background:#e2f1ec;border-color:#72aaa4}.seat[aria-pressed="true"]{background:var(--blue);color:white;border-color:var(--blue)}.seat[aria-pressed="true"]::after{background:#9cbced}.room-more{display:block;width:100%;border-top:1px solid #edf1f5;padding:10px;background:#fbfcfd;color:var(--muted);font-size:11px;min-height:37px}.room-empty{font-size:12px;color:var(--muted);padding:0 18px 20px}.selection-bar{background:#e7f0fe;border:1px solid #c9dcf6;padding:11px 14px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;font-size:12px;color:#235fae;position:sticky;top:10px;z-index:3}.notice{padding:12px 17px;border:1px solid #f0d0af;background:#fff7ea;color:#88571f;border-radius:9px;font-size:12px;line-height:1.8;margin-bottom:18px;overflow-wrap:anywhere}.notice.info{border-color:#c9dbf3;background:#eaf2fc;color:#24578f}.notice.demo{background:#eaf0f8;color:#5d748e;border-color:#d5e0ed;font-size:11px}.notice.opening{background:#eff5fd;border-color:#d3e1f4;color:#476c99}.result-warnings{font-size:11px;color:#806833;padding:0 0 14px;line-height:1.8}.auth-card{display:grid;grid-template-columns:minmax(210px,1fr) 1.7fr;gap:30px;padding:24px 27px;background:#fff;border:1px solid #dce6f0;border-radius:13px;margin-bottom:23px;align-items:center}.auth-card h2{font-size:19px;margin-bottom:9px}.auth-card p{font-size:11px;color:var(--muted);max-width:340px}.auth-form label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.inline-input{display:flex;gap:10px}.login-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-fields input{margin-top:7px}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}.auth-actions span{font-size:10px;color:var(--muted);line-height:1.6}.auth-form input{font-size:13px}.current-booking{background:#eaf3ee;border:1px solid #c9e1d5;border-radius:9px;padding:14px 18px;margin:0 0 22px;color:#28634f;font-size:12px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.current-booking strong{font-weight:600}.current-booking span{font-size:11px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:32px;border-top:1px solid #dce4ec;padding:19px 0 0;color:#7d8da0;font-size:10px;line-height:1.8}dialog{border:1px solid var(--line);border-radius:17px;padding:30px;max-width:430px;width:calc(100% - 34px);color:var(--ink);box-shadow:0 18px 80px #18304730}dialog::backdrop{background:#172c4480}dialog h2{font-size:23px;margin:9px 0 20px}.dialog-close{position:absolute;right:10px;top:8px;font-size:25px}.booking-detail{background:#f3f7fb;border-radius:9px;padding:16px;line-height:1.9;margin-bottom:17px;font-size:13px}.booking-detail strong{font-size:22px;display:block;margin-bottom:5px}.booking-detail p{color:#5c748b;font-size:12px}dialog .button-row{margin-top:22px;justify-content:flex-end}.stale{opacity:.55}.loading-line{height:3px;background:linear-gradient(90deg,#2365c7,#b7d2f7);margin:0 0 18px;border-radius:5px}
@media(min-width:1400px){.app-shell{padding-top:42px}.page-heading{margin-bottom:32px}.workspace{gap:28px;grid-template-columns:335px minmax(0,1fr)}}
@media(max-width:1050px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:20px}.room-list{grid-template-columns:1fr}.card{padding:21px}.auth-card{gap:20px}.auth-actions{align-items:flex-end}.page-heading h1{font-size:29px}}
@media(max-width:720px){.topbar{height:72px;padding:0 20px}.brand{font-size:17px}.brand-icon{width:37px;height:37px}.brand small{font-size:9px;letter-spacing:.6px}.connection{font-size:10px;padding:8px 11px;min-height:34px}.app-shell{padding:25px 17px 24px}.page-heading{align-items:flex-end;gap:8px;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:.4px;margin-bottom:8px}.page-heading h1{font-size:24px;letter-spacing:-1px}.school-link{font-size:10px;padding-bottom:5px}.workspace{display:flex;flex-direction:column;gap:26px}.sidebar{display:contents}.filter-card{width:100%;order:0;padding:21px}.watch-card{width:100%;order:2}.results-panel{width:100%;order:1}.auth-card{grid-template-columns:1fr;padding:21px;gap:18px}.auth-card h2{font-size:18px}.auth-card p{max-width:none}.auth-actions{flex-direction:column;align-items:stretch;gap:12px}.auth-actions .primary{width:100%}.inline-input{flex-direction:column}.inline-input .primary{width:100%}input,select,.auth-form input{font-size:16px;height:46px}input::placeholder{font-size:12px}.time-fields select{font-size:20px}.time-fields{gap:12px;grid-template-columns:1fr 24px 1fr}.filter-card>fieldset>label{margin-top:17px}.floor-chip span{min-width:calc((100vw - 126px)/4);height:40px;font-size:13px}.advanced{margin-bottom:17px}.advanced label{margin-top:13px}.filter-card .primary{min-height:46px}.room-list{grid-template-columns:1fr}.room-title{padding:18px 18px 15px}.room-title h3{font-size:15px}.room-title p{font-size:11px}.seat-grid{grid-template-columns:repeat(auto-fill,minmax(43px,1fr));gap:9px}.seat{height:44px;font-size:13px}.empty-state{min-height:300px;padding:25px}.empty-state h3{font-size:17px}.results-header{margin-bottom:17px;padding-bottom:17px}.results-header h2{font-size:21px}.result-count{font-size:34px}.selection-bar{top:8px;padding:10px 12px;box-shadow:0 3px 12px #2365c711}.current-booking{padding:12px 15px;gap:6px}.current-booking strong{font-size:11px}.notice{font-size:11px;padding:11px 14px}.status-tag{font-size:11px}.watch-description{font-size:13px}.help,.watch-card label{font-size:12px}.watch-note{font-size:11px!important}.watch-card .primary,.watch-card .secondary,.watch-card .danger{min-height:46px}.task-info>p:first-child{font-size:13px}footer{display:block;font-size:10px;margin-top:27px;text-align:center}footer span{display:block;margin-top:4px}.login-fields{gap:10px}.auth-form label{font-size:12px}.brand span{white-space:nowrap}}
@media(max-width:370px){.topbar{padding:0 15px}.app-shell{padding-left:13px;padding-right:13px}.page-heading h1{font-size:21px}.school-link{font-size:9px}.brand{font-size:15px}.brand small{font-size:8px}.connection{padding:8px}.floor-chip span{min-width:52px}.card{padding:18px}}
.captcha-fields{margin:12px 0;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:minmax(140px,auto) minmax(120px,1fr);gap:10px 16px;align-items:center}.captcha-picture{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.captcha-picture img{display:block;object-fit:contain;max-width:100%;border:1px solid var(--line);background:white;border-radius:4px}.captcha-fields label{margin:0}.captcha-fields input{margin-top:6px}.captcha-fields p{grid-column:1/-1;max-width:none}.captcha-fields>button{justify-self:start}@media(max-width:420px){.captcha-fields{grid-template-columns:1fr}.captcha-picture{flex-wrap:nowrap}}
.secondary-fields{margin:12px 0;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}.secondary-fields label{margin:0}.secondary-fields input{margin-top:6px}.secondary-fields p{max-width:none}.secondary-fields .secondary{justify-self:start}
/* Motion stays inside the existing blue-green operational palette. */
.primary,.secondary,.danger,.quiet,.connection,.floor-chip span,.seat,.room-card{transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.primary:active:not(:disabled),.secondary:active:not(:disabled),.danger:active:not(:disabled),.quiet:active:not(:disabled),.seat:active:not(:disabled){transform:scale(.97)}@media(hover:hover){.primary:hover:not(:disabled),.secondary:hover:not(:disabled),.danger:hover:not(:disabled),.connection:hover:not(:disabled){transform:translateY(-1px)}.seat:hover:not(:disabled){transform:translateY(-1px) scale(1.02);box-shadow:0 4px 10px #147d7214}.room-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #1830470b}}.connection.is-connected .dot{animation:connection-pulse 2.4s ease-in-out infinite}.floor-chip input:checked+span{animation:chip-check .22s ease-out}.room-card{animation:card-enter .34s both}.room-card:nth-child(2){animation-delay:.045s}.room-card:nth-child(3){animation-delay:.09s}.room-card:nth-child(4){animation-delay:.135s}.room-card:nth-child(5){animation-delay:.18s}.room-card:nth-child(n+6){animation-delay:.225s}.motion-ready .topbar{animation:rise-in .32s both}.motion-ready .page-heading{animation:rise-in .38s .04s both}.motion-ready .auth-card{animation:rise-in .42s .1s both}.motion-ready .filter-card{animation:rise-in .42s .16s both}.motion-ready .watch-card{animation:rise-in .42s .22s both}.motion-ready .results-panel{animation:rise-in .42s .2s both}.motion-enter{animation:rise-in .32s ease-out both}.notice-enter{animation:notice-enter .32s ease-out both}.results-refresh{animation:results-refresh .36s ease-out}.seat-picked{animation:seat-picked .26s ease-out}.is-loading{position:relative}.is-loading::before{content:"";display:block;height:3px;border-radius:3px;margin:0 0 16px;background:linear-gradient(90deg,#c8dbf7 0%,#2365c7 45%,#c8dbf7 100%);background-size:200% 100%;animation:loading-sweep 1s linear infinite}.is-loading .room-list,.is-loading .empty-state{opacity:.58}@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes results-refresh{0%{opacity:.68;transform:translateY(4px)}100%{opacity:1;transform:translateY(0)}}@keyframes seat-picked{0%{transform:scale(1)}55%{transform:scale(.9)}100%{transform:scale(1)}}@keyframes chip-check{0%{transform:scale(1)}60%{transform:scale(.94)}100%{transform:scale(1)}}@keyframes connection-pulse{0%,100%{box-shadow:0 0 0 0 #147d7200}50%{box-shadow:0 0 0 4px #147d721c}}@keyframes loading-sweep{to{background-position:-200% 0}}dialog[open]{animation:dialog-enter .26s ease-out both}dialog[open]::backdrop{animation:backdrop-enter .22s ease-out both}@keyframes dialog-enter{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

:root{--panel-radius:12px;--panel-pad:20px;--group-gap:20px;--control-gap:10px}
.app-shell{max-width:1320px;padding:32px 28px 24px}
.workspace{grid-template-columns:244px minmax(0,1fr);gap:28px}
.sidebar{gap:20px;padding:0 4px;align-content:start}
.side-nav{display:grid;gap:6px;padding:4px;background:#edf3f8;border:1px solid var(--line);border-radius:var(--panel-radius)}
.side-nav-group{display:grid;gap:2px}
.side-nav-link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#526c83;text-align:left;font-size:13px;font-weight:600;line-height:1.35;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.side-nav-link:hover,.side-nav-link.is-active{background:#fff;color:var(--blue);border-color:#d4e1ef}
.side-nav-link:hover{transform:translateX(2px)}
.side-nav-link:focus-visible{outline:3px solid #7dadf2;outline-offset:2px}
.side-nav-icon{width:16px;height:16px;flex:0 0 16px;color:#6e88a2}
.side-nav-link:hover .side-nav-icon{color:var(--blue)}
.side-nav-link.is-active .side-nav-icon{color:var(--blue)}
.card,.auth-card,.current-booking,.room-card,.empty-state{border-radius:var(--panel-radius)}
.card{padding:var(--panel-pad)}
.auth-card{padding:20px 22px}
.card-heading{margin-bottom:16px}
.sidebar .card-heading h2{font-size:17px}
.results-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--panel-radius);padding:var(--panel-pad);box-shadow:0 8px 24px #18304708}
#auth-card,#search-form,#watch-card,#results-panel{scroll-margin-top:24px}
.room-list{gap:16px}
.room-card{border-radius:var(--panel-radius)}
.button-row{gap:var(--control-gap)}
@media(max-width:1050px){.workspace{grid-template-columns:230px minmax(0,1fr);gap:22px}.app-shell{padding-left:22px;padding-right:22px}}
@media(max-width:720px){.app-shell{padding:24px 16px 20px}.workspace{gap:20px}.sidebar{gap:16px;padding:0}.side-nav{order:-1;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.side-nav-link{min-height:46px;padding:10px 11px}.side-nav-link:hover{transform:none}.card{padding:20px}.auth-card{padding:20px}.card-heading{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.side-nav-link{transition:none!important}}
@media(max-width:720px){.results-panel{order:3}.watch-card{order:2}}
@media(min-width:721px){
  body{overflow:hidden}
  .app-shell{height:calc(100vh - 82px);padding:24px 28px 18px;display:grid;grid-template-columns:244px minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"banner banner" "heading heading" "message message" "nav main" "footer footer";gap:16px 28px;overflow:hidden}
  #demo-banner{grid-area:banner}
  .page-heading{grid-area:heading}
  #message{grid-area:message}
  .workspace{display:contents}
  .sidebar{display:contents}
  .side-nav{grid-area:nav;align-self:start;position:sticky;top:0}
  #auth-card,#search-form,#watch-card,#results-panel{grid-area:main;align-self:start;min-height:0;max-height:calc(100vh - 250px);overflow:auto;width:100%;margin:0}
  #current-booking{grid-area:main}
  footer{grid-area:footer}
}
@media(max-width:720px){
  body{overflow:auto}
  .app-shell{height:auto;min-height:calc(100vh - 72px);overflow:visible}
  .workspace{display:grid;grid-template-columns:minmax(0,1fr)}
  .sidebar{display:contents}
  .results-panel{max-height:none;overflow:visible}
}
@media(min-width:721px){
  .side-nav{grid-area:nav;grid-column:auto;grid-row:auto}
}
@media(min-width:721px){
  .app-shell{display:block;position:relative;height:calc(100vh - 82px);padding:24px 28px 18px;overflow:hidden}
  .page-heading,#demo-banner,#message,#auth-card,#current-booking,#search-form,#watch-card,#results-panel,footer{position:relative;left:272px;width:calc(100% - 300px);margin-left:0}
  .side-nav{position:fixed;left:28px;top:106px;width:244px;z-index:4}
  #auth-card,#search-form,#watch-card,#results-panel{max-height:calc(100vh - 250px);overflow:auto}
  footer{display:none}
  .filter-card{padding:18px 20px}
  .filter-card>fieldset>label{margin:10px 0 2px}
  .time-fields{margin-top:10px}
  .time-strip{margin:8px 0 10px;padding:7px 9px}
  .floor-chips{gap:6px}
  .floor-chip span{min-height:32px;padding:6px 10px}
  .advanced{margin:10px 0 12px;padding-top:10px}
  .advanced summary{margin-bottom:8px}
  .advanced label{margin-top:8px}
  .advanced .help{display:none}
  .filter-card .primary{min-height:38px;padding:8px 14px}
}
@media(min-width:721px){
  #search-form{height:calc(100vh - 250px);max-height:none;overflow:hidden}
  #search-form fieldset{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-content:start}
  #search-form .card-heading,#search-form .time-fields,#search-form .time-strip,#search-form .label-row,#search-form .floor-chips,#search-form .advanced,#search-form .primary{grid-column:1 / -1}
  #search-form .time-fields{margin-top:12px}
  #search-form .advanced{margin:12px 0}
  #search-form .primary{margin-top:4px}
  #search-form .advanced{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
  #search-form .advanced summary,#search-form .advanced .help{grid-column:1 / -1}
  #search-form .advanced label{margin-top:6px}
}
@media(min-width:721px){
  #search-form fieldset{grid-template-rows:auto auto auto auto auto auto;row-gap:0}
  #search-form fieldset>label[for="date"]{grid-column:1;grid-row:1;align-self:center;margin:0}
  #search-form #date{grid-column:2;grid-row:1;margin:0}
  #search-form .time-fields{grid-column:1 / -1;grid-row:2;margin-top:10px}
  #search-form .time-strip{grid-column:1 / -1;grid-row:3;margin:8px 0}
  #search-form .label-row{grid-column:1;grid-row:4;margin:0 0 6px}
  #search-form .floor-chips{grid-column:1;grid-row:5;align-content:start}
  #search-form .advanced{grid-column:2;grid-row:4 / span 2;margin:0;padding-top:0;border-top:0;align-self:start}
  #search-form .advanced label[for="room-keyword"]{grid-column:1;grid-row:2}
  #search-form .advanced label[for="seat-filter"]{grid-column:2;grid-row:2}
  #search-form .advanced .help{grid-column:1 / -1;grid-row:3}
  #search-form .primary{grid-column:1 / -1;grid-row:6;margin-top:12px}
}
@media(min-width:721px){
  #search-form .card-heading{margin-bottom:9px}
  #search-form .advanced{display:block}
  #search-form .advanced summary{display:block}
  #search-form .advanced label{display:inline-block;vertical-align:top;width:calc(50% - 8px);margin-top:6px}
  #search-form .advanced label+label{margin-left:12px}
  #search-form .advanced .help{display:none}
}

.motion-ready .auth-card,.motion-ready .filter-card,.motion-ready .watch-card,.motion-ready .results-panel{animation:rise-in .2s ease-out both}
.connection.is-connected .dot{animation:none}
.side-nav-link:hover{transform:none}
.side-nav-link:active:not(:disabled){background:#dfeafa}
input:not(:disabled),select:not(:disabled){transition:border-color .16s ease,box-shadow .16s ease}
input:not(:disabled):hover,select:not(:disabled):hover{border-color:#9bb8d7}

.appearance-card{max-width:760px}
.appearance-field{margin:0 0 20px;max-width:440px}
.appearance-field>label,.appearance-field legend{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.appearance-field output{float:right;color:var(--muted);font-weight:400}
.appearance-field input[type="range"]{height:32px;padding:0;accent-color:var(--blue)}
.theme-options{display:flex;gap:8px}
.theme-options label{position:relative}
.theme-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.theme-options span{display:flex;align-items:center;justify-content:center;min-width:90px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px}
.theme-options input:checked+span{border-color:var(--blue);background:#eaf2ff;color:var(--blue)}
.theme-options input:focus-visible+span{outline:3px solid #7dadf2;outline-offset:2px}
@media(min-width:721px){
  #appearance-card{position:relative;left:272px;width:calc(100% - 300px);margin:0;max-width:none;max-height:calc(100vh - 250px);overflow:auto}
  body[data-scaled="true"]{overflow:auto}
  body[data-scaled="true"] .app-shell{height:auto;min-height:calc(100vh - 82px);overflow:visible}
  body[data-scaled="true"] #search-form{height:auto;min-height:calc(100vh - 250px);overflow:visible}
}
@media(max-width:720px){.appearance-card{width:100%;order:0}}
@media(min-width:721px) and (max-width:1050px){
  body[data-scaled="true"] #search-form .label-row{grid-column:1 / -1}
  body[data-scaled="true"] #search-form .floor-chips{grid-column:1 / -1}
  body[data-scaled="true"] #search-form .advanced{grid-column:1 / -1;grid-row:6;margin-top:12px}
  body[data-scaled="true"] #search-form .primary{grid-row:7}
}

:root[data-theme="dark"]{color-scheme:dark;--blue:#8bb9ff;--ink:#e5ebef;--muted:#a8b6c1;--line:#3b4950;--green:#6bd1b2;color:var(--ink);background:#171d20}
:root[data-theme="dark"] .topbar,:root[data-theme="dark"] .card,:root[data-theme="dark"] .auth-card,:root[data-theme="dark"] .results-panel,:root[data-theme="dark"] .room-card,:root[data-theme="dark"] dialog{background:#252d31;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .side-nav,:root[data-theme="dark"] .connection{background:#20282c;border-color:var(--line);color:#c0cdd4}
:root[data-theme="dark"] .side-nav-link{color:#bac8d1}
:root[data-theme="dark"] .side-nav-link:hover,:root[data-theme="dark"] .side-nav-link.is-active{background:#35444c;border-color:#4b606d;color:#b9d5ff}
:root[data-theme="dark"] input:not([type="range"]),:root[data-theme="dark"] select,:root[data-theme="dark"] .theme-options span{background:#182125;color:var(--ink);border-color:#52616a}
:root[data-theme="dark"] input::placeholder{color:#9baab3}
:root[data-theme="dark"] .theme-options input:checked+span,:root[data-theme="dark"] .floor-chip input:checked+span{background:#263d52;border-color:#8bb9ff;color:#c6dfff}
:root[data-theme="dark"] .floor-chip span{background:#202a2e;color:#c4d0d7;border-color:var(--line)}
:root[data-theme="dark"] .primary{background:#3976ca;color:#fff}
:root[data-theme="dark"] .primary:hover:not(:disabled){background:#528ddd}
:root[data-theme="dark"] .secondary,:root[data-theme="dark"] .time-strip,:root[data-theme="dark"] .selection-bar{background:#263d52;border-color:#4c6780;color:#c5ddff}
:root[data-theme="dark"] .time-strip span:last-child{color:#bbd2e9}
:root[data-theme="dark"] .danger{background:#542e2b;border-color:#9a5a53;color:#ffd1c8}
:root[data-theme="dark"] .notice{background:#493a27;border-color:#8b6b3d;color:#f8dda7}
:root[data-theme="dark"] .notice.info,:root[data-theme="dark"] .notice.demo,:root[data-theme="dark"] .notice.opening{background:#263d52;border-color:#4c6780;color:#c5ddff}
:root[data-theme="dark"] .current-booking,:root[data-theme="dark"] .room-count{background:#25443b;border-color:#416f60;color:#a8e4c9}
:root[data-theme="dark"] .empty-state,:root[data-theme="dark"] .task-metrics,:root[data-theme="dark"] .booking-detail,:root[data-theme="dark"] .room-more{background:#1d262a;border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .seat{background:#203b37;border-color:#456c61;color:#b5e7d8}
:root[data-theme="dark"] .seat:hover:not(:disabled){background:#30564b}
:root[data-theme="dark"] .seat[aria-pressed="true"]{background:#3976ca;border-color:#8bb9ff;color:#fff}
:root[data-theme="dark"] .watch-description,:root[data-theme="dark"] .room-title p,:root[data-theme="dark"] .booking-detail p,:root[data-theme="dark"] .task-log ol{color:#b3c2ca}
:root[data-theme="dark"] .status-tag{background:#37454b;color:#d3dfe5}
:root[data-theme="dark"] .status-tag.running{background:#263d52;color:#c5ddff}
:root[data-theme="dark"] .status-tag.success{background:#25443b;color:#a8e4c9}
:root[data-theme="dark"] .status-tag.attention{background:#493a27;color:#f8dda7}
:root[data-theme="dark"] .results-header,:root[data-theme="dark"] .advanced,:root[data-theme="dark"] .task-info,:root[data-theme="dark"] footer{border-color:var(--line)}
