@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600&display=swap";:root{--bg: #090d11;--panel: #111a26;--panel-2: #1a2636;--line: #2e3a4a;--text: #e8edf2;--muted: #98a8ba;--accent: #d98b3a;--mine: #59b36c;--owner: #77a8ff;--rented: #ef9d4b;--temporary: #e6ce59;--free: #2a3444;font-family:IBM Plex Sans,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.45;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 10% 20%,#102031 0%,transparent 45%),radial-gradient(circle at 90% 10%,#2e2a1f 0%,transparent 35%),repeating-linear-gradient(to right,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 70px),var(--bg)}#root{min-height:100vh}h1,h2,h3{font-family:Oswald,Arial Narrow,sans-serif;letter-spacing:.02em;margin:0}.eyebrow{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}.subtitle{margin:0;color:var(--muted)}.login-page,.dashboard-page{width:min(1380px,95vw);margin:0 auto;padding:2.5rem 0 3rem}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(560px,100%);border:1px solid var(--line);background:linear-gradient(160deg,#121b25,#0e141c);border-radius:20px;padding:2rem;box-shadow:0 20px 50px #0005}.login-card h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:.6rem}.login-form{margin-top:1.4rem;display:grid;gap:.8rem}.login-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.92rem}input{border:1px solid var(--line);border-radius:12px;padding:.78rem .92rem;background:#0b1118;color:var(--text);font:inherit}input:focus{outline:1px solid var(--accent);border-color:var(--accent)}button{border:none;border-radius:12px;padding:.85rem 1.1rem;font-family:Oswald,Arial Narrow,sans-serif;letter-spacing:.04em;font-size:1rem;cursor:pointer;transition:transform .18s ease,filter .18s ease}button:disabled{opacity:.6;cursor:not-allowed}.login-form button{background:linear-gradient(120deg,#c97524,#e09f59);color:#131a22;font-weight:600}.login-form button:hover:not(:disabled),.ghost-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.hint{margin:0;font-size:.85rem;color:var(--muted)}.mode-switch{margin-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.mode-switch--owner-auth{margin-top:.7rem;grid-template-columns:repeat(2,1fr)}.mode-btn{border:1px solid var(--line);background:#0a121a;color:var(--text)}.mode-btn--active{border-color:var(--accent);background:#2a2015}.admin-page-nav{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.55rem}.admin-page-btn{border:1px solid #36506a;background:#0f1925;color:var(--text);border-radius:10px;padding:.55rem .9rem;font-family:IBM Plex Sans,sans-serif;font-size:.9rem}.admin-page-btn--active{border-color:var(--accent);background:#2b2416}.error-text{color:#ff8e8e;margin:0}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#101722,#131f2e)}.hero h1{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-top:.5rem}.hero p{margin:.5rem 0 0;color:var(--muted)}.hero-actions{display:flex;gap:.6rem;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}.hero-actions--guest{justify-content:flex-end}.guest-nav-btn{min-width:170px}.guest-nav-btn--active{border-color:var(--accent);background:#2b2416}.ghost-btn{background:#0b1118;color:var(--text);border:1px solid var(--line)}.owner-panel{margin-top:1rem;display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}.owner-card,.metrics,.panel-card,.legend{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#101824,#10151d)}.owner-card{padding:1rem 1.1rem}.owner-card h2{font-size:1.65rem;margin-bottom:.45rem}.owner-card p{margin:.28rem 0;color:var(--muted)}.metrics{padding:1rem;display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}.metrics--admin{margin-top:1rem;grid-template-columns:repeat(6,1fr)}.metrics--owner{grid-template-columns:repeat(3,1fr)}.metrics div{border:1px solid var(--line);border-radius:14px;background:#121c2a;padding:.85rem;display:grid;gap:.3rem}.metrics span{font-size:.84rem;color:var(--muted)}.metrics strong{font-size:clamp(1.3rem,2.2vw,1.7rem)}.two-col{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel-card{padding:1rem}.panel-card h3{color:var(--accent);font-size:1.45rem;margin-bottom:.6rem}.data-form{display:grid;gap:.7rem}.data-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.88rem}select{border:1px solid var(--line);border-radius:12px;padding:.78rem .92rem;background:#0b1118;color:var(--text);font:inherit}select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.checkbox-label{display:flex!important;align-items:center;gap:.55rem}.checkbox-label input{width:16px;height:16px;padding:0}.list-scroll,.table-scroll{max-height:360px;overflow:auto;padding-right:.25rem}.absence-item{border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem;margin-bottom:.6rem;background:#101a27}.absence-item p{margin:.25rem 0;color:var(--muted)}.owner-booking-item{border-color:#315170}.owner-booking-item--active{border-color:#ffb347;background:linear-gradient(160deg,#302315,#1a2433);box-shadow:0 0 0 1px #ffb34766,0 0 16px #ff8a2b3d}.owner-booking-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.owner-booking-live-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffcf7a;border-radius:999px;background:linear-gradient(180deg,#ff9f3f,#ef6c1d);color:#101820;font-size:.68rem;font-weight:800;letter-spacing:.05em;line-height:1;padding:.22rem .5rem;white-space:nowrap;box-shadow:0 0 10px #ff8f3290}.owner-booking-status--active{color:#ffd98a!important;font-weight:700}.muted-text{color:var(--muted);margin:0}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{border-bottom:1px solid #26384b;padding:.45rem .4rem;text-align:left}.muted-cell{color:var(--muted);text-align:center}.table-actions{width:132px;text-align:center}td.table-actions{white-space:nowrap}td.table-actions .icon-btn+.icon-btn{margin-left:.35rem}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid #36506a;background:#0f1925;color:var(--text);padding:0;display:inline-grid;place-items:center;font-size:1rem;line-height:1}.icon-btn:hover:not(:disabled){border-color:var(--accent);background:#2b2416}.icon-btn--danger{border-color:#6c3b44;background:#2a1418;color:#ffd6dc}.icon-btn--danger:hover:not(:disabled){border-color:#e4768a;background:#3a1a21}thead th{color:var(--accent);position:sticky;top:0;background:#101824}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#02060bcc;display:grid;place-items:center;padding:1rem}.modal-card{width:min(560px,100%);border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#101824,#10151d);padding:1rem;box-shadow:0 24px 60px #0006}.modal-card h3{color:var(--accent);font-size:1.35rem;margin-bottom:.6rem}.modal-actions{margin-top:.3rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.owner-spot-map-row{align-items:end}.owner-spot-list{display:grid;gap:.45rem;max-height:170px;overflow:auto;padding-right:.2rem}.owner-spot-item{border:1px solid var(--line);border-radius:10px;background:#101a27;padding:.45rem .55rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.legend{margin-top:1rem;padding:.75rem 1rem;display:flex;gap:1.1rem;flex-wrap:wrap}.guest-realtime-note{margin-top:.75rem}.guest-booking-section{margin-top:1rem}.guest-booking-toggle{width:100%}.guest-booking-card{margin-top:.75rem}.header-clock{margin-top:.1rem;display:flex;gap:.45rem;align-items:stretch;flex-basis:100%;justify-content:flex-end}.header-clock div{border:1px solid #2f4660;border-radius:8px;background:#0c1724;padding:.32rem .45rem;display:grid;gap:.1rem}.top-clock-label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.header-clock strong{color:var(--accent);font-size:.9rem}.chat-panel{margin-top:.85rem}.chat-messages{margin-top:.65rem;border:1px solid #2d4359;border-radius:12px;background:#0b1521;max-height:250px;overflow:auto;padding:.65rem;display:grid;gap:.45rem}.chat-item{border:1px solid #2f455d;border-radius:10px;background:#101d2d;padding:.5rem .6rem;display:grid;gap:.32rem}.chat-item header{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.chat-item header span,.chat-item header time{color:var(--muted);font-size:.76rem}.chat-item p{margin:0;line-height:1.35}.chat-item--admin{border-color:#7a4d1e;background:#26180f}.chat-item--owner{border-color:#2f5068}.chat-item--guest{border-color:#3c6652;background:#0f221a}.chat-form{margin-top:.6rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.booking-admin-panel{margin-top:1rem}.booking-actions-cell{min-width:260px;white-space:normal}.booking-action-btn{margin:.12rem;min-width:86px}.booking-action-btn--active{border-color:#4b7657;background:#132218}.booking-action-btn--completed{border-color:#3f6f8f;background:#112030}.booking-action-btn--cancelled{border-color:#7a4550;background:#2a1419}.booking-status-pill{display:inline-flex;align-items:center;border:1px solid #3e5268;border-radius:999px;padding:.2rem .62rem;font-size:.76rem;color:var(--text);background:#152130}.booking-status-pill--active{border-color:#4b7657;background:#132218}.booking-status-pill--completed{border-color:#3f6f8f;background:#112030}.booking-status-pill--cancelled{border-color:#7a4550;background:#2a1419}.guest-booking-card .data-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.8rem}.guest-booking-card .data-form label:last-of-type,.guest-booking-card .data-form button{grid-column:1 / -1}.legend span{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted)}.dot{width:.8rem;height:.8rem;border-radius:999px;border:1px solid #ffffff20}.dot--mine{background:var(--mine)}.dot--owner{background:var(--owner)}.dot--rented{background:var(--rented)}.dot--temporary{background:var(--temporary)}.dot--free{background:var(--free)}.guest-map-legend .dot--free{background:#f3f4f6;border-color:#7f90a6}.loading-text{margin:1rem 0 0;color:var(--muted)}.plan-section{margin-top:1rem}.plan-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#101824,#10151d);padding:1rem}.plan-card h3{color:var(--accent);font-size:1.45rem;margin-bottom:.6rem}.plan-upload-controls{margin-top:.75rem;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.plan-floor-controls{margin-top:.7rem;display:grid;gap:.55rem}.plan-floor-field{display:grid;gap:.35rem;color:var(--muted);font-size:.86rem}.plan-floor-add{display:grid;grid-template-columns:1fr auto;gap:.55rem}.plan-calibration-panel{margin-top:.8rem;border:1px solid #2e445a;border-radius:12px;background:#0e1722;padding:.75rem;display:grid;gap:.75rem}.plan-calibration-workbench{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:.75rem;align-items:start}.plan-calibration-controls,.plan-calibration-preview{border:1px solid #2d455b;border-radius:12px;background:#0b141f;padding:.65rem;display:grid;gap:.55rem;min-width:0}.plan-calibration-preview{background:linear-gradient(165deg,#0d1a28,#0a131f)}.plan-calibration-meta{display:flex;flex-wrap:wrap;gap:.55rem}.plan-calibration-meta span{border:1px solid #3a5168;border-radius:999px;padding:.18rem .56rem;color:var(--muted);font-size:.8rem}.plan-calibration-actions{display:flex;flex-wrap:wrap;gap:.55rem}.plan-manual-spot-controls{display:grid;gap:.55rem;border:1px dashed #3c4f63;border-radius:10px;padding:.6rem}.plan-manual-spot-row{display:grid;grid-template-columns:minmax(0,1fr) 166px;gap:.5rem}.plan-manual-spot-row--family{grid-template-columns:minmax(0,1fr) 96px 166px}.plan-mass-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 166px;gap:.5rem}.plan-manual-spot-row input,.plan-manual-spot-row select,.plan-mass-row input{min-width:0}.plan-calibration-panel .ghost-btn,.plan-entrypoint-panel .ghost-btn{padding:.54rem .68rem;font-size:.83rem;border-radius:10px;letter-spacing:.03em}.plan-explicit-list-head,.plan-entrypoint-list-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.plan-explicit-list-head strong,.plan-entrypoint-list-head strong{font-family:Oswald,Arial Narrow,sans-serif;letter-spacing:.02em}.plan-explicit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:.5rem;min-height:190px;max-height:330px;overflow:auto;padding-right:.1rem;scrollbar-gutter:stable}.plan-explicit-item{position:relative;border:1px solid #32495f;border-radius:12px;background:#101b29;padding:.45rem;display:grid;gap:.42rem}.plan-explicit-delete{position:absolute;top:.32rem;right:.32rem;width:1.62rem;height:1.62rem;padding:0;border-radius:999px;border:1px solid #9a5e67;background:#1f1017;color:#ffd8de;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:0;line-height:1;display:grid;place-items:center;z-index:4;box-shadow:0 2px 8px #0006}.plan-explicit-delete:hover:not(:disabled){border-color:#e2949f;color:#fff1f3;background:#311520}.plan-explicit-item--placed{border-color:#3d745c;background:linear-gradient(175deg,#132534,#101b29)}.plan-explicit-item--target{border-color:var(--accent);box-shadow:0 0 0 1px #d98b3a66}.plan-spot-vehicle{position:relative;border:1px solid #486582;border-radius:10px;background:linear-gradient(180deg,#172b41,#122236);min-height:68px;display:grid;align-content:center;justify-items:center;gap:.18rem;padding:.58rem .4rem .42rem}.plan-spot-vehicle:before{content:"";position:absolute;top:.32rem;left:50%;transform:translate(-50%);width:55%;height:.34rem;border-radius:999px;background:#89a4c220;border:1px solid #89a4c238}.plan-spot-vehicle:after{content:"";position:absolute;bottom:.24rem;left:14%;right:14%;height:.22rem;border-radius:999px;background:#0005}.plan-explicit-item--placed .plan-spot-vehicle{border-color:#4a8f72;background:linear-gradient(180deg,#1a3248,#133044)}.plan-explicit-item--target .plan-spot-vehicle{border-color:#d98b3a}.plan-spot-vehicle-label{font-family:Oswald,Arial Narrow,sans-serif;font-size:1.08rem;line-height:1;letter-spacing:.04em;color:#f0f4f8}.plan-spot-vehicle-state{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.plan-explicit-actions{display:flex;justify-content:center;gap:.45rem}.plan-explicit-actions .ghost-btn{padding:.48rem .6rem;font-size:.76rem}.plan-explicit-pick-btn{width:100%;max-width:138px;text-align:center}.plan-manual-spot-list{display:flex;flex-wrap:wrap;gap:.45rem}.plan-entrypoint-panel{margin-top:.75rem;border:1px solid #2d4560;border-radius:12px;background:#0c1725;padding:.75rem;display:grid;gap:.75rem}.plan-entrypoint-workbench{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(280px,.95fr);gap:.75rem;align-items:start}.plan-entrypoint-controls,.plan-entrypoint-preview{border:1px solid #2f4865;border-radius:12px;background:#0d1a2a;padding:.65rem;display:grid;gap:.55rem;min-width:0}.plan-entrypoint-list{display:grid;gap:.5rem;min-height:130px;max-height:280px;overflow:auto;scrollbar-gutter:stable}.plan-entrypoint-item{border:1px solid #324b67;border-radius:10px;background:#101c2b;padding:.55rem;display:grid;gap:.35rem}.plan-entrypoint-item--entry{border-color:#3f7aa4}.plan-entrypoint-item--exit{border-color:#8a6a40}.plan-entrypoint-title-row{display:flex;justify-content:space-between;align-items:center;gap:.45rem}.plan-entrypoint-kind{border:1px solid #3a556f;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.plan-entrypoint-kind--entry{border-color:#4f80a6;color:#9ac6ec}.plan-entrypoint-kind--exit{border-color:#8f754b;color:#e2be84}.plan-entrypoint-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.plan-entrypoint-actions .ghost-btn{padding:.55rem .6rem;font-size:.8rem}.upload-btn{border:1px solid #3f5670;border-radius:10px;background:#132236;color:var(--text);padding:.55rem .9rem;cursor:pointer;font-size:.88rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plan-frame{margin-top:.8rem;position:relative;border:1px solid #33495f;border-radius:14px;overflow:hidden;background:#f5f6f7}.plan-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.plan-overlay--calibration{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.plan-section-zone{position:absolute;border:2px dashed #2f6fa0;background:#2f6fa022;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff3a}.plan-section-zone-label{position:absolute;top:6px;left:6px;font-size:.72rem;font-weight:700;line-height:1;color:#0b2236;background:#fffc;border-radius:6px;padding:.2rem .35rem}.spot-marker{position:absolute;transform:translate(-50%,-50%);min-width:22px;min-height:22px;border-radius:999px;border:1px solid #ffffff;display:grid;place-items:center;font-size:.56rem;font-weight:700;color:#102131;line-height:1;padding:0 4px;box-shadow:0 1px 4px #0005;pointer-events:none}.spot-marker span{display:block;color:inherit;line-height:1;text-shadow:0 1px 2px #ffffff99}.spot-marker--mine{width:28px;height:28px;border-width:2px;background:var(--mine);color:#f7fbff}.spot-marker--owner{background:var(--owner);color:#f7fbff}.spot-marker--rented{background:var(--rented);color:#f7fbff}.spot-marker--temporary{background:var(--temporary);color:#f7fbff}.spot-marker--mine.spot-marker--owner,.spot-marker--mine.spot-marker--rented,.spot-marker--mine.spot-marker--temporary{background:var(--mine)}.spot-marker--free{background:#f3f4f6;border-color:#7f90a6;color:#0f2235}.spot-marker--manual{background:#1a405e;border-color:#9ed3ff;min-width:26px;min-height:26px;color:#eef7ff}.spot-marker--manual span{text-shadow:0 1px 2px #00122599}.spot-marker--occupied{box-shadow:0 0 0 2px #fff,0 0 0 6px #d98b3a44,0 2px 8px #0006}.spot-marker--mine-active{box-shadow:0 0 0 2px #fff,0 0 0 8px #ff6f3e7a,0 0 14px #ff6f3ec4;animation:mine-active-pulse 1.2s ease-in-out infinite}@keyframes mine-active-pulse{0%,to{box-shadow:0 0 0 2px #fff,0 0 0 7px #ff6f3e60,0 0 10px #ff6f3e9a}50%{box-shadow:0 0 0 2px #fff,0 0 0 10px #ff6f3e90,0 0 18px #ff6f3ee2}}.reveal{opacity:0;transform:translateY(12px);animation:reveal-in .54s ease forwards}.delay-1{animation-delay:90ms}.delay-2{animation-delay:.17s}.delay-3{animation-delay:.24s}@keyframes reveal-in{to{opacity:1;transform:translateY(0)}}.spot-quick-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:.65rem 0 .9rem}.chip-btn{border:1px solid #3b4f66;border-radius:999px;background:#0f1c2a;color:var(--text);padding:.35rem .75rem;font-family:IBM Plex Sans,sans-serif;font-size:.84rem}.chip-btn--active{background:#2b2417;border-color:var(--accent)}.row-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.route-summary{margin-top:.7rem;padding:.65rem .75rem;border:1px solid #334a5f;border-radius:12px;background:#0e1722}.route-summary p{margin:.25rem 0}.subheader{margin-top:1rem;font-size:1.05rem}.routing-stats{margin:.8rem 0;display:flex;flex-wrap:wrap;gap:.6rem}.routing-stats span{border:1px solid #2d4357;border-radius:999px;padding:.2rem .6rem;color:var(--muted);font-size:.82rem}.routing-grid{margin-top:.65rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.mini-form{border:1px solid #29435a;border-radius:12px;background:#0d1723;padding:.65rem;display:grid;gap:.5rem}.mini-form strong{font-size:.92rem;color:var(--accent)}.mini-form label{display:grid;gap:.3rem;font-size:.8rem;color:var(--muted)}.route-footer{margin-top:.75rem}.route-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.route-overlay-line{fill:none;stroke:#d98b3a;stroke-width:.6;stroke-linecap:round;stroke-linejoin:round;opacity:.95;filter:drop-shadow(0 0 1px #ffffffb0)}.route-overlay-node{fill:#fff3d4;stroke:#8a5a23;stroke-width:.2}.route-gate{position:absolute;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:999px;border:2px solid #ffffff;box-shadow:0 1px 4px #0006;pointer-events:none}.route-gate--entry{background:#5fcf81}.route-gate--exit{background:#e89a56}.route-gate--manual{width:16px;height:16px;box-shadow:0 0 0 2px #fff,0 2px 8px #0006}@media (max-width: 1080px){.owner-panel,.two-col,.routing-grid{grid-template-columns:1fr}.metrics,.metrics--admin{grid-template-columns:repeat(2,1fr)}.row-fields{grid-template-columns:1fr}}@media (max-width: 680px){.dashboard-page,.login-page{width:min(96vw,960px);padding-top:1.2rem}.hero{flex-direction:column;align-items:stretch}.hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.hero-actions--guest{grid-template-columns:1fr}.guest-nav-btn{min-width:0}.chat-form{grid-template-columns:1fr}.header-clock{width:100%;display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;grid-column:1 / -1}.booking-actions-cell{min-width:0}.metrics,.metrics--admin,.mode-switch,.plan-floor-add,.plan-calibration-workbench,.plan-entrypoint-workbench{grid-template-columns:1fr}.plan-explicit-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px}.plan-calibration-actions{display:grid;grid-template-columns:1fr}.plan-manual-spot-row,.plan-manual-spot-row--family,.plan-mass-row{grid-template-columns:1fr}.plan-explicit-actions{display:flex;justify-content:flex-start}.plan-entrypoint-actions{display:grid;grid-template-columns:1fr}.modal-actions{grid-template-columns:1fr}}@media (max-width: 1060px){.two-col,.owner-panel{grid-template-columns:1fr}.metrics,.metrics--admin{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 780px){.login-page,.dashboard-page{width:min(1280px,92vw);padding-top:1.2rem}.hero{flex-direction:column;align-items:stretch}.owner-panel{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.plan-explicit-list{grid-template-columns:1fr}.metrics--admin{grid-template-columns:1fr 1fr}.guest-booking-card .data-form{grid-template-columns:1fr}}
