@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--bg:#f4f6f4;--panel:#fff;--text:#1d2420;--muted:#758078;--border:#e1e7e2;--accent:#a3e635;--ink:#17200d;--soft:#edf4e6;--danger:#ad3636;--shadow:0 12px 34px #1b2d1b08}[data-theme=dark]{--bg:#111412;--panel:#191e1b;--text:#edf2ed;--muted:#a0aaa3;--border:#2b342e;--accent:#b4ed53;--ink:#17200d;--soft:#252f22;--danger:#ff7777;--shadow:0 12px 34px #0002}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{opacity:.8}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{display:flex;align-items:center;gap:22px;padding:14px clamp(15px,4vw,52px);background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;min-height:72px}.brand{display:flex;align-items:center;gap:10px;font:800 14px Manrope;white-space:nowrap}.brand small{display:block;font:700 9px 'DM Sans';letter-spacing:1.5px;color:var(--muted)}.mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:var(--ink);display:grid;place-items:center;font-size:22px;font-weight:800}.top nav{display:flex;gap:13px;flex:1;flex-wrap:wrap}.top nav a,.top-actions a{font-size:11px;color:var(--muted);font-weight:700}.top-actions{display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap}.icon-btn,.mobile-menu{border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);padding:8px 10px}.mobile-menu{display:none}.wrap{max-width:1400px;margin:auto;padding:32px clamp(15px,4vw,52px) 60px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.hero h1{font:800 clamp(29px,4vw,40px) Manrope;letter-spacing:-1.2px;margin:2px 0 6px}.hero p{margin:0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--muted);margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:11px}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--border);border-radius:11px;padding:10px 15px;background:var(--panel);color:var(--text);font-size:12px;font-weight:800}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.btn.danger{color:var(--danger);background:transparent}.smallbtn{padding:6px 9px;font-size:10px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.stat,.panel{background:var(--panel);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}.stat{padding:18px}.stat span{color:var(--muted);font-size:11px}.stat strong{display:block;font:800 30px Manrope;margin-top:7px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px;align-items:start}.panel{padding:22px;min-width:0}.panel h2{font:750 18px Manrope;margin:0 0 16px;letter-spacing:-.3px}.panel h3{font:700 14px Manrope;margin:20px 0 6px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.listrow{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.listrow:last-child{border-bottom:0}.grow{flex:1;min-width:0}.grow strong{display:block;font-size:12px;overflow-wrap:anywhere}.grow small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.pill{font-size:10px;border-radius:99px;background:var(--soft);padding:5px 8px;white-space:nowrap}.quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick a{padding:13px;border:1px solid var(--border);border-radius:12px;font-size:12px;font-weight:700}.notice{background:var(--soft);padding:14px;border-radius:12px;margin-top:16px;font-size:12px;overflow-wrap:anywhere}.stack{display:flex;flex-direction:column;gap:10px}.stack label,.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;padding:10px 11px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#90c83b;box-shadow:0 0 0 3px #a3e63530}textarea{resize:vertical}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label{display:flex;flex-direction:row;align-items:center;gap:4px}.checks input{width:auto}.alert{padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:12px}.alert.success{background:#e5f6d8;color:#315b20}.alert.danger{background:#ffe4e4;color:#8b2929}.footer{padding:20px;text-align:center;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.auth-body,.booking-body{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,420px);padding:34px;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.auth-card h1,.booking h1{font:800 29px Manrope;letter-spacing:-.8px;margin:20px 0 4px}.auth-card form{margin-top:20px}.booking{width:min(100%,700px)}.booking .brand{margin-bottom:22px}.booking .panel{padding:clamp(20px,5vw,42px)}.booking h1{margin:0 0 6px}.booking .panel>.muted{margin-bottom:22px}.booking .stack{margin-top:22px}.booking .stack label{margin-top:4px}.booking .alert{overflow-wrap:anywhere}.footer{background:var(--bg)}@media(max-width:1050px){.top{gap:10px}.top nav{gap:8px}.top nav a{font-size:10px}}@media(max-width:800px){.top{flex-wrap:wrap;padding:12px 15px}.mobile-menu{display:block;margin-left:auto}.top nav{display:none;order:4;flex-direction:column;width:100%;padding:10px 0}.nav-open .top nav{display:flex}.top nav a{font-size:13px;padding:5px}.top-actions{margin-left:0}.wrap{padding-top:22px}.hero{align-items:flex-start;flex-direction:column}.hero>.btn{width:100%}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.panel{padding:18px}.stats .stat:last-child{grid-column:span 2}}@media(max-width:430px){.formrow{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.listrow{align-items:flex-start;flex-wrap:wrap}.stats .stat:last-child{grid-column:span 1}}
