:root{color-scheme:dark;--bg:#080b0a;--panel:#101614;--panel-2:#151d19;--line:#202a25;--line-2:#29372f;--text:#edf4ef;--muted:#89968f;--green:#8cf0b1;--green-strong:#26cf70;--red:#f27c82;--amber:#edc875;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -20%,#14241b 0,transparent 44%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #17201b;background:#0b100ed9;backdrop-filter:blur(14px);position:sticky;top:0;z-index:3}.brand{display:flex;gap:11px;align-items:center;font-size:15px;letter-spacing:-.3px}.brand-mark{width:31px;height:31px;border-radius:10px;background:var(--green-strong);color:#06110a;font-size:11px;font-weight:900;display:grid;place-items:center;letter-spacing:-.8px}.brand b{font-weight:750}.topbar nav{display:flex;gap:22px;align-items:center;color:#b6c1ba;font-size:12px}.topbar nav a:hover,.link-button:hover{color:var(--green)}.topbar nav form{margin:0}.user-name{color:#75837a;border-left:1px solid var(--line);padding-left:18px}.link-button{background:none;border:0;color:#b6c1ba;cursor:pointer;padding:8px}.shell{width:min(1160px,calc(100% - 48px));margin:46px auto 90px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:0 0 26px}.eyebrow{color:var(--green-strong);font-size:10px;font-weight:800;letter-spacing:1.55px;margin-bottom:10px}.page-heading h1,.auth-card h1{font-size:clamp(28px,4vw,38px);line-height:1.08;letter-spacing:-1.1px;margin:0}.muted{color:var(--muted);font-size:13px;line-height:1.65;margin:10px 0 0}.week-nav{display:flex;align-items:center;gap:8px}.button,.icon-button{border:1px solid var(--line-2);border-radius:11px;background:#131a16;color:var(--text);min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}.button:hover,.icon-button:hover{border-color:#476552;transform:translateY(-1px)}.button.primary{background:var(--green-strong);border-color:var(--green-strong);color:#07130b}.button.primary:hover{background:#55df8b}.button.secondary{background:#121916;color:#dbe6df}.button.subtle{background:transparent;color:#abb7af;min-height:36px}.button.full{width:100%;min-height:49px;margin-top:8px}.icon-button{width:42px;padding:0;font-size:25px;line-height:1}.calendar-panel,.list-panel,.schedule-form-panel{background:linear-gradient(160deg,#101613,#0d1210);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 70px #0004}.week-caption{height:48px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;color:#cbd7cf;font-size:12px;font-weight:700;border-bottom:1px solid var(--line)}.week-caption span{color:var(--muted);font-size:10px;font-weight:500}.calendar-grid{display:grid;grid-template-columns:76px repeat(7,minmax(76px,1fr));min-width:680px;overflow-x:auto}.calendar-panel{overflow-x:auto}.grid-head{height:74px;border-bottom:1px solid var(--line);border-right:1px solid #18221c;background:#121a15;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.grid-head span{font-size:9px;color:#8d9a91;font-weight:750;letter-spacing:.5px}.grid-head b{font-size:18px;line-height:1}.time-head{font-size:9px;color:#68776d;letter-spacing:.8px}.today-head{background:#122319;color:var(--green)}.today-head span{color:var(--green-strong)}.time-label{min-height:88px;border-bottom:1px solid #18221c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#d8e3dc}.time-label b{font-size:11px}.time-label span{font-size:9px;color:#647168}.slot{min-height:88px;padding:9px 5px;border-bottom:1px solid #18221c;border-right:1px solid #18221c;display:flex;align-items:stretch;justify-content:center;flex-direction:column;gap:7px}.slot-time{display:none}.slot form{margin:0}.slot-action{border:1px solid #245237;background:#0c2014;color:var(--green);border-radius:10px;min-height:61px;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:.18s ease}.slot-action:hover{background:#12311e;border-color:#3a8053;transform:translateY(-1px)}.slot-action b,.slot-state b{font-size:13px;font-weight:800}.slot-action span,.slot-state span{font-size:9px;color:#85ac91}.slot-mine{background:#111d16}.slot-mine .slot-state{color:var(--green);border-color:#294e35;background:#122419}.slot-full{background:#251113}.slot-full .slot-state{color:var(--red);border-color:#482326;background:#2a1114}.slot-past{opacity:.6}.slot-state{min-height:61px;border:1px solid #25352b;border-radius:10px;background:#111812;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#819087}.slot-full .slot-state span{color:#d58387}.slot-past .slot-state span{color:#818a84}.empty-slot{align-items:center;color:#25302a}.empty-grid{grid-column:2/-1;padding:35px 15px;text-align:center;color:var(--muted);font-size:13px}.legend{padding:14px 18px;display:flex;gap:20px;flex-wrap:wrap;color:#91a097;font-size:10px}.legend span{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:3px}.dot-available{background:#2ed47a}.dot-mine{background:#83dda1}.dot-full{background:#e76870}.dot-past{background:#637168}.notice{border:1px solid #31583e;background:#102119;color:#b8f5cb;border-radius:12px;padding:13px 16px;margin:0 0 20px;font-size:13px}.auth-card{width:min(440px,100%);margin:7vh auto 0;padding:36px;background:linear-gradient(155deg,#121a15,#0e1310);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 90px #0006}.auth-card h1{font-size:31px}.auth-card form{margin-top:27px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;color:#c9d4cd;font-size:11px;font-weight:650}.field input,.field select{height:46px;border:1px solid #29352e;border-radius:10px;background:#0a100c;color:var(--text);padding:0 13px;outline:none}.field input:focus,.field select:focus{border-color:#4b9d68;box-shadow:0 0 0 3px #2ccc6917}.form-foot{text-align:center;color:#929e96;font-size:12px;margin:22px 0 0}.form-foot a{color:var(--green);font-weight:700}.status-card{text-align:center}.status-icon{width:46px;height:46px;margin:0 auto 25px;border-radius:50%;display:grid;place-items:center;background:#13351e;color:var(--green);font-size:24px}.status-card .button{margin-top:24px}.list-panel{padding:4px 22px}.booking-row{min-height:76px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:13px 2px}.booking-row:last-child{border-bottom:0}.booking-date{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.booking-date b{font-size:13px}.booking-date span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.pill{border-radius:20px;padding:6px 10px;font-size:10px;font-weight:700;background:#17231a;color:var(--green)}.pill-cancelled,.pill-rejected{background:#261719;color:#ef9a9f}.pill-pending{background:#282315;color:var(--amber)}.empty-state{text-align:center;padding:46px 20px}.empty-state h2{font-size:18px;margin:0}.empty-state p{color:var(--muted);font-size:12px;margin:9px 0 20px}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-cards>a{min-height:160px;padding:22px;background:linear-gradient(155deg,#131b16,#0e1310);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:.2s}.admin-cards>a:hover{border-color:#40634a;transform:translateY(-2px)}.admin-cards b{font-size:14px}.admin-cards span:not(.card-number){font-size:11px;color:var(--muted)}.card-number{font-size:32px;color:var(--green);font-weight:800;line-height:1.2}.schedule-form-panel{padding:22px;margin-bottom:16px}.schedule-form-panel h2{margin:0 0 17px;font-size:16px}.schedule-form{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr auto;gap:12px;align-items:end}.schedule-form .field{margin:0}.schedule-form .button{height:46px;white-space:nowrap}.empty-state .button{margin-top:5px}.user-row form{margin:0}.user-row .button{min-height:36px}.user-row{flex-wrap:wrap}.user-row .booking-date{min-width:180px}.user-row .pill{margin-right:auto}.book-form{width:100%}@media(max-width:760px){.topbar{height:62px;padding:0 18px}.topbar nav{gap:12px;font-size:11px}.topbar nav a:nth-child(2){display:none}.user-name{display:none}.shell{width:calc(100% - 32px);margin:31px auto 60px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading h1{font-size:29px}.page-heading>.button{align-self:flex-start}.week-nav{width:100%;justify-content:flex-end}.calendar-grid{grid-template-columns:47px repeat(7,minmax(58px,1fr));min-width:453px}.grid-head{height:62px}.grid-head span{font-size:8px}.grid-head b{font-size:16px}.time-label,.slot{min-height:79px}.slot{padding:6px 4px}.slot-action,.slot-state{min-height:60px;border-radius:8px}.slot-action b,.slot-state b{font-size:12px}.slot-action span,.slot-state span{font-size:8px}.week-caption{padding:0 14px;font-size:11px}.week-caption span{font-size:9px}.legend{gap:11px;padding:12px 13px}.legend span{font-size:9px}.auth-card{margin:4vh auto 0;padding:27px 22px}.auth-card h1{font-size:27px}.admin-cards{grid-template-columns:1fr;gap:10px}.admin-cards>a{min-height:118px;padding:18px;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;align-items:center;gap:4px 12px}.card-number{grid-row:1/3;font-size:29px}.admin-cards b{align-self:end}.admin-cards span:not(.card-number){align-self:start}.schedule-form{grid-template-columns:1fr 1fr}.schedule-form .field:first-of-type{grid-column:1/-1}.schedule-form .button{grid-column:1/-1}.schedule-form-panel{padding:17px}.list-panel{padding:3px 14px}.booking-row{gap:9px;flex-wrap:wrap}.booking-date{min-width:140px}.booking-row .button{padding:0 11px;font-size:10px}.user-row .pill{margin:0}.week-caption{height:44px}}@media(max-width:390px){.topbar nav{gap:8px}.topbar nav a:first-child{display:none}.shell{width:calc(100% - 24px)}.calendar-grid{grid-template-columns:43px repeat(7,minmax(55px,1fr));min-width:428px}.page-heading h1{font-size:26px}.today-button{padding:0 10px}.auth-card{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.mobile-day-strip{display:none}@media(max-width:760px){.mobile-day-strip{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.mobile-day-strip::-webkit-scrollbar{display:none}.mobile-day{flex:1 0 42px;min-width:42px;height:47px;border:1px solid transparent;border-radius:10px;background:#111814;color:#8c9a91;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;cursor:pointer}.mobile-day span{font-size:8px;font-weight:750}.mobile-day b{font-size:14px}.mobile-day.selected{background:#14301e;border-color:#28563a;color:var(--green)}.calendar-panel{overflow-x:hidden}.calendar-grid{min-width:0;grid-template-columns:55px minmax(0,1fr);overflow:visible}.calendar-grid [data-day]{display:none}.calendar-grid [data-day].mobile-day-active{display:flex}.slot-time{display:block;text-align:center;font-size:9px;color:#92a198}.time-label span{display:none}.time-label,.slot{min-height:74px}.empty-grid{grid-column:2/-1}}
