
:root{--ink:#153432;--muted:#627674;--surface:#fff;--canvas:#f3f6f3;--brand:#0b5550;--brand2:#107b72;--lime:#d5f06e;--line:#dce5df;--danger:#a43b36;--warning:#9a6710;--shadow:0 12px 32px rgba(25,61,58,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 95% 0,#d8eee8 0,transparent 28%),var(--canvas)}a{color:inherit}.topbar{height:74px;padding:0 max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:800}.brand small{display:block;color:var(--muted);font-weight:600}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--brand);color:#fff}.topbar nav{display:flex;gap:14px;align-items:center}.topbar nav>a:not(.button){text-decoration:none;font-weight:700}.shell{width:min(1200px,calc(100% - 32px));margin:30px auto 80px}.footer{text-align:center;color:var(--muted);padding:30px}.button,button{border:0;cursor:pointer;font:inherit}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border:1px solid #b8cac4;border-radius:12px;background:#fff;text-decoration:none;font-weight:800;color:var(--ink)}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button.danger{color:var(--danger);border-color:#e6bbb8}.button.small{padding:8px 12px;font-size:.9rem}.button.full{width:100%;justify-content:space-between}.inline{display:inline}.link-button{background:none;color:var(--muted);font-weight:700}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading.compact{align-items:center}.page-heading h1{font-size:clamp(2rem,4vw,3.3rem);margin:2px 0 4px;letter-spacing:-.04em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:900;color:var(--brand2)!important}.back{display:inline-block;margin-bottom:14px;color:var(--muted);font-weight:700;text-decoration:none}.heading-actions{display:flex;gap:12px;align-items:end}.date-jump{display:flex;gap:8px;align-items:end}.date-jump label{font-size:.76rem;font-weight:800;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bdcbc6;border-radius:10px;background:#fff;padding:12px;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(16,123,114,.17);border-color:var(--brand2)}.date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.date-card{background:#fff;padding:20px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.date-card.warning-card{border-color:#e5c887}.date-card-head{display:flex;justify-content:space-between;align-items:start}.date-card h2{margin:3px 0 16px}.weekday{color:var(--muted);font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:17px}.metric-grid>div,.summary-strip>div{background:#f4f7f5;border-radius:12px;padding:11px}.metric-grid span,.summary-strip span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.metric-grid strong,.summary-strip strong{font-size:1.5rem}.metric-grid .accent{grid-column:span 2;background:#e0f1ed}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.summary-strip .accent{background:var(--brand);color:#fff}.summary-strip .accent span{color:#d9efeb}.badge{display:inline-flex;padding:5px 9px;background:#e7efeb;border-radius:999px;font-size:.75rem;font-weight:800}.badge.payment{background:#eef0da}.badge.warning{background:#fff0cc;color:var(--warning)}.alert{padding:14px 17px;border-radius:12px;margin:14px 0}.alert.success{background:#dff3e8;color:#1d633d}.alert.error{background:#fae4e2;color:#842f2a}.login-card{max-width:900px;margin:8vh auto;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;background:#fff;border-radius:28px;padding:clamp(28px,5vw,60px);box-shadow:var(--shadow)}.login-card h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1;margin:.15em 0}.stack{display:flex;flex-direction:column;gap:15px;justify-content:center}.stack label,.form-grid label{font-size:.86rem;font-weight:800}.tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 12px}.tab{white-space:nowrap;padding:11px 15px;border-radius:999px;background:#e4ebe7;color:var(--muted);font-weight:800}.tab.active{background:var(--ink);color:#fff}.tab span{opacity:.7}.tab-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.tab-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-heading h2{margin:0}.panel-heading p{margin:5px 0;color:var(--muted)}.booking-list,.ops-list{display:flex;flex-direction:column;gap:10px}.booking-card,.ops-card{border:1px solid var(--line);border-radius:15px;padding:15px}.booking-card.cancelled{opacity:.62;background:#f4f4f4}.booking-main,.booking-title,.booking-meta,.card-actions,.ops-card{display:flex;align-items:center}.booking-main{justify-content:space-between;gap:12px}.booking-title{gap:12px}.booking-title h3,.ops-card h3{margin:0}.booking-title p,.ops-card p{margin:3px 0;color:var(--muted)}.time{font-weight:900;color:var(--brand2)}.guest-pill{background:var(--lime);padding:8px 12px;border-radius:999px;font-weight:900}.booking-meta{gap:8px;flex-wrap:wrap;margin:12px 0}.card-actions{gap:8px}.ops-card{display:grid;grid-template-columns:1.5fr auto 1fr auto;gap:20px}.ops-count{text-align:center}.ops-count strong{display:block;font-size:1.6rem}.ops-count span,.contact{color:var(--muted)}.equipment-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:8px;align-items:center;margin-bottom:16px}.equipment-head{font-weight:900;color:var(--muted);padding:7px}.equipment-total,.size{font-weight:900;padding:10px}.empty{padding:35px;text-align:center;color:var(--muted)}.reservation-form{display:flex;flex-direction:column;gap:16px}.form-section,.audit{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.form-section h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.form-grid label{display:flex;flex-direction:column;gap:7px}.form-grid .span-2{grid-column:span 2}.price-review{display:none;margin-top:16px;padding:14px;border-radius:12px;background:#fff2cf;color:#6e4a08}.price-review.visible{display:block}.check{display:flex!important;flex-direction:row!important;align-items:center;margin-top:8px}.check input{width:auto}.sticky-actions{position:sticky;bottom:12px;display:flex;justify-content:end;padding:12px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.audit{margin-top:18px}.audit article{display:grid;grid-template-columns:1fr 1.4fr 2fr;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.audit span{color:var(--muted)}.audit code{white-space:normal}.danger{color:var(--danger)}
@media(max-width:800px){.shell{width:min(100% - 20px,700px);margin-top:18px}.topbar{height:auto;min-height:68px;padding:10px 14px}.brand small,.topbar nav>a:not(.button){display:none}.page-heading{align-items:stretch;flex-direction:column}.heading-actions,.date-jump{width:100%}.date-jump{flex:1}.date-jump label{flex:1}.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-strip>div:nth-child(4),.summary-strip>div:nth-child(5){grid-column:span 1}.login-card{grid-template-columns:1fr;margin:3vh auto;gap:18px}.ops-card{grid-template-columns:1fr auto}.ops-card .contact{grid-column:1/3}.form-grid{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:span 2}.audit article{grid-template-columns:1fr}.tab-panel{padding:14px}}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip .accent{grid-column:span 2}.heading-actions{flex-direction:column}.heading-actions>.button{width:100%}.equipment-grid{grid-template-columns:.9fr 1fr 1fr .7fr}.equipment-grid input{padding:9px}.card-actions{align-items:stretch}.booking-main{align-items:start}.topbar nav{gap:5px}}
