:root{font-family:"DM Sans",sans-serif;color:#152238;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#111c31;--ink:#17243a;--muted:#7d8797;--line:#e8ebf0;--purple:#16b9b4}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font:800 13px Manrope,sans-serif;letter-spacing:.16em}.brand-mark{width:35px;height:35px;min-width:35px;border:0;border-radius:10px;display:block;object-fit:cover;overflow:hidden;box-shadow:0 2px 12px #05102555}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.04fr .96fr;background:#fff}.login-copy{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(32px,7vw,104px);color:#fff;background:radial-gradient(ellipse at 88% 15%,#344267,#111c31 60%);overflow:hidden}.login-copy:after{position:absolute;content:"";width:480px;height:480px;border:1px solid #ffffff0e;border-radius:50%;right:-220px;top:25%;box-shadow:0 0 0 50px #ffffff05,0 0 0 100px #ffffff03}.login-copy .brand,.login-message{position:relative;z-index:1}.login-message{max-width:480px;margin:40px 0}.eyebrow{font:700 10px Manrope,sans-serif;letter-spacing:.16em;color:#63dcd2}.login-message .eyebrow{color:#a5f3e8}.login-message h1{font:700 clamp(42px,5.1vw,68px)/1.05 Manrope,sans-serif;letter-spacing:-.055em;margin:20px 0}.login-message p{max-width:400px;color:#aab5c8;font-size:16px;line-height:1.7}.login-note{margin-top:38px;color:#dce2ec;font-size:13px;display:flex;align-items:center;gap:10px}.note-dot{width:8px;height:8px;border-radius:50%;background:#69c99e;box-shadow:0 0 0 5px #69c99e22}.login-footer{font:600 9px Manrope,sans-serif;letter-spacing:.2em;color:#79869b}.login-side{display:grid;place-items:center;padding:36px}.login-card{width:min(100%,390px)}.mobile-brand{display:none;color:var(--ink);margin-bottom:46px}.mobile-brand .brand-mark,.recovery-card .brand-mark{background:var(--navy);border-color:var(--navy)}.login-card h2{font:700 33px Manrope,sans-serif;letter-spacing:-.04em;margin:12px 0 7px}.muted{color:var(--muted)}.login-card>.muted{font-size:14px;margin:0 0 32px}.login-card label{display:block;font-size:12px;font-weight:700;margin:19px 0 8px}.login-card input{display:block;width:100%;height:49px;border:1px solid #dfe3e9;border-radius:9px;padding:0 14px;color:var(--ink);font-size:13px;outline:none}.login-card input:focus{border-color:#17bdb7;box-shadow:0 0 0 3px #17bdb71d}.button{border:0;border-radius:9px;font-size:12px;font-weight:700;transition:transform .15s}.button:hover{transform:translateY(-1px)}.button.primary{height:49px;background:var(--purple);color:#fff;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:14px}.button.full{width:100%;margin-top:26px}.text-button{display:block;background:none;border:0;padding:15px 0;color:var(--purple);font-size:12px;font-weight:700;margin:auto}.login-help{border-top:1px solid var(--line);padding-top:19px;margin-top:16px;color:#8992a0;font-size:11px;text-align:center}.form-message{padding:10px 12px;border-radius:8px;margin-top:13px;font-size:12px;line-height:1.5;background:#eafbf8;color:#0b7778}.form-message.error{background:#fff0ef;color:#b34d44}.recovery-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fa}.recovery-card{padding:42px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px #17243a0d}.recovery-card .brand{margin-bottom:36px}.button-loader,.loader{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:var(--navy);color:#fff;padding:27px 18px 18px;display:flex;flex-direction:column;min-height:100vh}.side-brand{padding:0 9px 45px;font-size:11px;letter-spacing:.13em}.side-brand .brand-mark{width:32px;height:32px}.sidebar-label{padding:0 12px 12px;font:700 9px Manrope,sans-serif;letter-spacing:.18em;color:#78869b}.side-link{height:42px;padding:0 12px;border:0;border-radius:8px;background:none;color:#aab4c5;text-align:left;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}.side-link.active{color:#fff;background:#25344e;box-shadow:inset 2px 0 #51d9cf}.side-icon{width:18px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto}.secure-chip{display:flex;gap:11px;align-items:center;padding:14px 11px;margin-bottom:15px;background:#1a2941;border:1px solid #26364f;border-radius:10px;color:#e4e9f0;font-size:10px;line-height:1.5}.secure-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#293f45;color:#82d4a9;font-weight:700}.secure-chip small{color:#8796aa;font-size:9px}.signout{width:100%;border-top:1px solid #26364f;border-radius:0}.main-area{min-width:0}.topbar{height:71px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,60px)}.breadcrumbs{font-size:11px;color:#8590a0}.breadcrumbs span{padding:0 8px;color:#c2c8d0}.profile{display:flex;align-items:center;gap:12px}.profile-text{text-align:right;font-size:11px;font-weight:700}.profile-text small{display:block;color:#8c95a3;font-weight:400;margin-top:3px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e2f9f6;color:#16b9b4;font:700 10px Manrope,sans-serif}.content{max-width:1220px;margin:auto;padding:39px clamp(24px,4vw,60px) 24px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.welcome-row h1{font:700 32px Manrope,sans-serif;letter-spacing:-.04em;margin:9px 0 5px}.welcome-row p{font-size:12px;margin:0}.venue-picker{display:grid;gap:6px;min-width:220px;font-size:10px;font-weight:700;color:#677287}.venue-picker select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px 20px;min-height:108px}.stat-label{display:block;font-size:10px;color:#7e8897;font-weight:600}.stat-card strong{display:block;margin-top:9px;font:700 27px Manrope,sans-serif;letter-spacing:-.04em}.stat-foot{font-size:9px;color:#a1a9b4}.stat-icon{position:absolute;right:18px;top:19px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e2f9f6;color:#109e9c;font-size:16px}.stat-icon.warm{background:#fff4e8;color:#e69a47}.stat-icon.green{background:#eaf7f0;color:#47a676}.reservations-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.list-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 22px 15px}.list-heading h2{font:700 15px Manrope,sans-serif;margin:0}.list-heading p{font-size:10px;margin:5px 0 0}.button.secondary{height:35px;padding:0 12px;background:#fff;border:1px solid var(--line);color:#586479;font-size:10px}.tabs{height:48px;display:flex;align-items:stretch;gap:19px;padding:0 22px;border-bottom:1px solid var(--line)}.tab{position:relative;background:none;border:0;color:#858e9c;font-size:10px;font-weight:600;white-space:nowrap}.tab span{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:4px;border-radius:9px;background:#f1f2f6;color:#7a8493;font-size:9px}.tab.active{color:#109e9c}.tab.active:after{position:absolute;content:"";height:2px;background:#119d9b;bottom:-1px;left:0;right:0}.reservation-list{min-height:160px}.booking-row{display:grid;grid-template-columns:114px 1fr;gap:18px;padding:20px 22px;border-bottom:1px solid #edf0f3}.booking-date strong{display:block;font-size:11px;text-transform:capitalize}.booking-date span{display:block;margin-top:5px;color:#8a94a2;font-size:10px}.booking-title-row{display:flex;align-items:center;gap:10px}.booking-title-row h3{font:700 13px Manrope,sans-serif;margin:0}.status-pill{border-radius:20px;padding:4px 8px;font-size:9px;font-weight:700}.status-pill.pending{color:#af6b21;background:#fff3e3}.status-pill.confirmed{color:#287850;background:#e9f7ef}.status-pill.declined{color:#aa5149;background:#fff0ee}.status-pill.neutral{color:#697386;background:#f0f2f5}.booking-details{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:7px;color:#727e8e;font-size:10px}.booking-details i{font-style:normal;color:#c0c5cc}.booking-note{font-size:10px;color:#626f80;margin:9px 0 0}.booking-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px;color:#8c95a2;font-size:10px}.contact-link{color:#109e9c;text-decoration:none;font-weight:700}.booking-actions{display:flex;gap:8px;margin-top:13px}.button.accept,.button.decline{height:30px;padding:0 10px;font-size:10px}.button.accept{background:#16b9b4;color:#fff}.button.decline{background:#fff;border:1px solid #e7e9ee;color:#747f90}.empty-state{min-height:205px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;color:#8b95a2}.empty-state h3{font:700 13px Manrope,sans-serif;color:#36445a;margin:11px 0 5px}.empty-state p{font-size:10px;max-width:360px;line-height:1.7;margin:0}.empty-icon{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#e6faf7;color:#119d9b;font-size:17px}.list-error{padding:25px;text-align:center;color:#af5149;font-size:11px}.page-footer{padding:22px 2px;color:#a4acb7;font-size:9px}.page-footer a{color:#a9d8ff;text-decoration:none}.page-footer a:hover{text-decoration:underline}.toast{position:fixed;right:22px;bottom:22px;padding:12px 16px;background:#16243a;color:#fff;border-radius:9px;font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;box-shadow:0 10px 30px #12223a22}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#a9443d}.radar-clock{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 9px 5px 6px;border:1px solid #24719a;border-radius:12px;background:linear-gradient(135deg,#081a2c,#0e2940);color:#bdeeff;box-shadow:0 0 18px #28b5ff18;white-space:nowrap}.radar-scope{position:relative;display:block;flex:0 0 30px;width:30px;height:30px;overflow:hidden;border:1px solid #3dbdff99;border-radius:50%;background:radial-gradient(circle,#1c80a922 0 20%,transparent 21%),repeating-radial-gradient(circle,transparent 0 6px,#47c5ff55 7px 7.5px,transparent 8px 10px),linear-gradient(135deg,#062139,#071522)}.radar-scope:before,.radar-scope:after{content:"";position:absolute;background:#5bd6ff55}.radar-scope:before{left:50%;top:0;bottom:0;width:1px}.radar-scope:after{top:50%;left:0;right:0;height:1px}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 285deg,#4ed6ff05 286deg,#4ed6ffb8 355deg,#4ed6ff25 360deg);animation:radar-spin 1.65s linear infinite;transform-origin:center}.radar-center{position:absolute;z-index:2;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#baf4ff;box-shadow:0 0 7px #4de1ff}.radar-blip{position:absolute;z-index:1;width:3px;height:3px;border-radius:50%;background:#a3f7ff;box-shadow:0 0 6px #55dfff;animation:radar-blink 1.5s ease-in-out infinite}.radar-blip-one{left:19px;top:8px}.radar-blip-two{left:8px;top:20px;animation-delay:.7s}.radar-readout{display:grid;gap:2px}.radar-readout small{font-size:7px;font-weight:900;letter-spacing:.12em;color:#70d9ff}.radar-readout strong{font:800 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#f1fbff;font-variant-numeric:tabular-nums}@keyframes radar-spin{to{transform:rotate(360deg)}}@keyframes radar-blink{0%,100%{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.radar-sweep{animation-duration:4s}.radar-blip{animation-duration:3s}}@media(max-width:880px){.login-screen{grid-template-columns:.9fr 1.1fr}.login-copy{padding:34px}.dashboard{grid-template-columns:205px 1fr}.content{padding-left:25px;padding-right:25px}}@media(max-width:680px){.login-screen{display:flex;min-height:100vh}.login-copy{display:none}.login-side{width:100%;padding:30px 24px}.mobile-brand{display:inline-flex}.login-card{max-width:420px}.dashboard{display:block;padding-bottom:64px}.sidebar{position:fixed;z-index:5;bottom:0;left:0;right:0;min-height:0;height:60px;padding:0 14px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #25334a}.side-brand,.sidebar-label,.secure-chip{display:none}.sidebar .side-link{height:42px}.sidebar-bottom{margin:0}.signout{border:0;width:auto}.topbar{height:59px;padding:0 17px}.breadcrumbs{font-size:10px}.content{padding:25px 15px 10px}.welcome-row{align-items:flex-start;flex-direction:column}.welcome-row h1{font-size:28px}.venue-picker{width:100%}.venue-picker select{width:100%}.stats-grid{gap:8px}.stat-card{padding:13px 12px;min-height:95px}.stat-label{font-size:9px;max-width:80px;line-height:1.4}.stat-card strong{font-size:23px}.stat-foot{font-size:8px}.stat-icon{width:27px;height:27px;right:9px;top:12px}.list-heading{padding:17px 14px 13px;gap:8px}.list-heading h2{font-size:13px}.list-heading p{font-size:9px}.button.secondary{padding:0 9px;font-size:9px;white-space:nowrap}.tabs{overflow:auto;padding:0 13px;gap:17px}.tab{font-size:9px}.booking-row{grid-template-columns:1fr;gap:9px;padding:16px 14px}.booking-date{display:flex;align-items:center;gap:8px}.booking-date span{margin:0}.booking-title-row{flex-wrap:wrap}.booking-details{line-height:1.6}.page-footer{padding:20px 2px}}@media(max-width:380px){.login-side{padding:25px 18px}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:78px}.stat-card strong{display:inline-block;margin-right:10px}.stat-foot{display:inline-block}.stat-icon{top:23px}.profile-text{max-width:135px;overflow:hidden;text-overflow:ellipsis}.tabs{gap:13px}}

.admin-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:-6px 0 24px}.admin-heading h2{font:700 15px Manrope,sans-serif;margin:7px 0 5px}.admin-heading p{font-size:10px;margin:0}.admin-forms{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin-top:18px}.admin-form label{display:block;font-size:10px;font-weight:700;margin-bottom:8px;color:#596679}.inline-fields{display:flex;gap:8px}.inline-fields input,.inline-fields select{height:37px;min-width:0;flex:1;padding:0 10px;border:1px solid var(--line);border-radius:8px;font-size:10px;color:var(--ink);background:#fff}.inline-fields .button{height:37px;padding:0 12px;white-space:nowrap;font-size:10px}.admin-message{padding:10px 12px;border-radius:8px;font-size:10px;margin:15px 0 0}.admin-message.success{background:#eaf7f0;color:#287850}.admin-message.error{background:#fff0ee;color:#aa5149}@media(max-width:980px){.admin-forms{grid-template-columns:1fr}}@media(max-width:680px){.admin-panel{padding:17px 14px}.admin-forms{gap:16px}.inline-fields{flex-wrap:wrap}.inline-fields input,.inline-fields select{flex-basis:100%}.inline-fields .button{width:100%}}
@media(max-width:420px){.radar-clock{gap:5px;min-height:36px;padding:4px 6px 4px 4px}.radar-scope{flex-basis:25px;width:25px;height:25px}.radar-blip-one{left:16px;top:7px}.radar-blip-two{left:7px;top:16px}.radar-readout small{font-size:6px}.radar-readout strong{font-size:8px}}@media(max-width:380px){.profile{gap:6px}.profile-text{max-width:72px}.radar-clock{gap:4px;padding:3px 5px 3px 3px}.radar-scope{flex-basis:22px;width:22px;height:22px}.radar-readout strong{font-size:7px}}.radar-clock-login{position:fixed;top:14px;right:18px;z-index:10}.routing-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:16px}.routing-row{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;font-size:10px}.routing-state.ready{color:#287850}.routing-state.needs-setup{color:#9a6820}

/* Shared Miami Radar turquoise theme and native-feeling mobile controls */
:root{--navy:#0b1726;--ink:#eef7ff;--muted:#9bb0c5;--line:#263a50;--purple:#16b9b4;color:#f4f8ff;background:#070d17}
html,body{min-height:100%;touch-action:pan-x pan-y;overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent}
body,.dashboard,.recovery-screen{background:#070d17;color:#f4f8ff}
.login-screen{background:#070d17}
.login-side{background:#0b1523;color:#f4f8ff}
.login-card h2,.login-card label,.welcome-row h1,.stat-card strong,.list-heading h2,.booking-title-row h3,.empty-state h3,.admin-heading h2{color:#f4f8ff}
.login-card .muted,.login-help,.venue-picker,.admin-form label,.breadcrumbs,.profile-text small{color:#9bb0c5}
.login-card input,.venue-picker select,.inline-fields input,.inline-fields select{background:#081421;color:#f4f8ff;border-color:#2b4359;font-size:16px}
.login-card input:focus,.inline-fields input:focus,.inline-fields select:focus,.venue-picker select:focus{border-color:#29cec3;box-shadow:0 0 0 3px #29cec322}
.login-help,.topbar,.tabs,.booking-row,.reservations-card,.admin-panel,.stat-card,.recovery-card{border-color:#263a50}
.recovery-card,.topbar,.stat-card,.reservations-card,.admin-panel{background:#101a2a;color:#f4f8ff}
.topbar{border-bottom:1px solid #263a50}
.stat-card,.reservations-card,.admin-panel{border:1px solid #263a50}
.button.primary,.button.accept{background:#13aaa7;color:#042225}
.button.secondary,.button.decline{background:#0c1b2b;border-color:#2b4359;color:#d8edf0}
.tab.active,.contact-link,.text-button{color:#27d0c5}
.tab.active:after{background:#27d0c5}
.side-link.active{background:#12333a;box-shadow:inset 2px 0 #38d7ca}
.avatar,.stat-icon,.empty-icon{background:#10343a;color:#75e7db}
.booking-details,.booking-meta,.empty-state,.muted{color:#a0b4c8}
.inline-fields input::placeholder,.login-card input::placeholder{color:#7990a8}
@media(max-width:680px){html{font-size:100%}.login-card input,.inline-fields input,.inline-fields select,.venue-picker select{font-size:16px}.content{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.sidebar{padding-bottom:env(safe-area-inset-bottom)}}

.owner-live-events{margin:0 0 24px;background:#101a2a;border:1px solid #263a50;border-radius:12px;overflow:hidden}.owner-events-heading{border-bottom:1px solid #263a50;padding:18px 20px}.owner-events-heading h2{font:700 16px Manrope,sans-serif;margin:0;color:#f4f8ff}.owner-events-heading p{font-size:11px;margin:6px 0 0;color:#9bb0c5}.owner-events-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.owner-event{min-width:0;border:1px solid #29445a;background:#0b1726;border-radius:10px;padding:12px}.owner-event h3{font:700 13px Manrope,sans-serif;margin:0 0 6px;color:#f4f8ff;line-height:1.35}.owner-event p{margin:4px 0;color:#a0b4c8;font-size:10px;line-height:1.5}.owner-event a{display:inline-block;margin-top:8px;color:#54e0d7;font-size:10px;font-weight:800;text-decoration:none}.owner-event-status{display:inline-flex;border-radius:999px;padding:4px 7px;background:#10343a;color:#75e7db;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.owner-events-count{color:#54e0d7;font-weight:800}@media(max-width:680px){.owner-events-heading{padding:15px 13px}.owner-events-list{grid-template-columns:1fr;padding:10px}.owner-events-heading h2{font-size:14px}.owner-live-events{margin-bottom:18px}}

.owner-office-nav{position:relative}.radar-office-symbol{position:relative;display:inline-block;width:18px;height:18px;min-width:18px;border:1px solid #54e0d7;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 4px,#54e0d755 4.5px 5px,transparent 5.5px 7px);overflow:hidden;box-shadow:0 0 9px #54e0d733}.radar-office-symbol:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 275deg,#54e0d700 276deg,#54e0d7 355deg,#54e044 360deg);animation:radar-spin 1.65s linear infinite}.radar-office-symbol:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:#d8fffb;box-shadow:0 0 6px #54e0d7}.owner-office-nav.active .radar-office-symbol{box-shadow:0 0 12px #54e0d777}.owner-office-header{margin-bottom:16px}.owner-office-header h1{margin-bottom:5px}
