: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:#6250d6}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}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;border:0;border-radius:10px;display:block;overflow:hidden;color:transparent;font-size:0;background:#07101f url("./merchant-icon-512.png") center/cover no-repeat;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:#917fe8}.login-message .eyebrow{color:#b0a5f6}.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:#8172e3;box-shadow:0 0 0 3px #8172e31d}.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:#f0efff;color:#5444be}.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 #9e91ff}.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:#eeeaff;color:#6250d6;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:#f0eeff;color:#6857d7;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:#5d4bcf}.tab.active:after{position:absolute;content:"";height:2px;background:#6d5bd7;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:#6351cf;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:#6250d6;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:#f1efff;color:#6b59d5;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}@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%}}
