:root{--bg:#f7f7f5;--card:#fff;--ink:#111;--muted:#6d6d68;--line:#e8e8e3;--soft:#efefeb;--radius:20px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1120px,100% - 28px);margin:0 auto}.header{justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.logo{width:122px;height:auto;display:block}.nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 16px;display:inline-flex}.btn.secondary{color:var(--ink);border-color:var(--line);background:#fff}.btn.block{width:100%}.hero{grid-template-columns:1.3fr .7fr;align-items:center;gap:36px;padding:64px 0 44px;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}h1{letter-spacing:-.06em;margin:10px 0 18px;font-size:clamp(42px,7vw,84px);line-height:.95}h2{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(28px,4vw,44px)}h3{margin:0 0 10px;font-size:18px}p{line-height:1.6}.lead{color:var(--muted);max-width:720px;font-size:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 10px 30px #00000009}.grid{gap:16px;display:grid}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.stat{letter-spacing:-.04em;font-size:32px;font-weight:800}.muted{color:var(--muted)}.section{padding:26px 0 56px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:700}input,select,textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:14px;padding:13px 14px}textarea{resize:vertical;min-height:110px}.notice{border:1px solid var(--line);background:#f1f1ee;border-radius:16px;padding:14px 16px}.timeline{gap:8px;display:grid}.slot{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.slot.busy{color:#777;background:#ececea}.badge{background:var(--soft);border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.calendar{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar .dow{text-align:center;color:var(--muted);padding:6px;font-size:11px;font-weight:800}.day{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:92px;padding:10px;display:flex}.day .n{font-weight:800}.day .small{color:var(--muted);font-size:11px}.day.partial{background:#f3f3f0}.day.booked{color:#fff;background:#171717}.day.booked .small{color:#d1d1cc}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:13px 14px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.footer{color:var(--muted);padding:40px 0 60px;font-size:13px}@media (max-width:760px){.container{width:min(100% - 20px,1120px)}.header{align-items:flex-start}.logo{width:96px}.nav{gap:6px}.btn{padding:11px 13px}.hero{grid-template-columns:1fr;padding-top:32px}.grid.three,.grid.two,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.card{border-radius:17px;padding:16px}.calendar{gap:4px}.calendar .dow{padding:4px 0;font-size:9px}.day{border-radius:10px;min-height:60px;padding:7px}.day .small{display:none}}.grid.four{grid-template-columns:repeat(4,1fr)}.admin-topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f7f7f5f0;position:sticky;top:0}.admin-topbar-inner{justify-content:space-between;align-items:center;gap:18px;min-height:78px;display:flex}.admin-brand img{width:84px;height:auto;display:block}.admin-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-user{text-align:right;margin-right:4px;font-size:13px;display:grid}.admin-user span{color:var(--muted);text-transform:capitalize;font-size:11px}.admin-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-title-row.compact{align-items:center}.admin-title-row h2,.admin-title-row h3{margin-bottom:4px}.stats-grid .card{min-height:132px}.amount-stat{font-size:clamp(24px,2.4vw,32px)}.admin-calendar-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:start;gap:16px;display:grid}.calendar-toolbar{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.calendar-toolbar h3{margin:2px 0 0;font-size:22px}.icon-btn{width:44px;height:44px;padding:0;font-size:26px}.admin-calendar .admin-day{text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:105px;position:relative}.admin-calendar .admin-day:hover{border-color:#aaa}.admin-day.outside{opacity:.34}.admin-day.selected{outline-offset:-2px;outline:2px solid #111}.admin-day.has-booking{background:#fafafa}.day-meta{color:var(--muted);font-size:10px;line-height:1.2}.day-dots{align-items:center;gap:3px;min-height:7px;display:flex}.dot{background:#777;border-radius:999px;width:6px;height:6px;display:inline-block}.status-confirmed{color:#fff;background:#111!important}.dot.status-confirmed{background:#111!important}.status-payment_pending,.dot.status-payment_pending{color:#111;background:#d8d8d2!important}.status-agreement_pending,.dot.status-agreement_pending{color:#111;background:#bdbdb6!important}.status-held,.dot.status-held{color:#fff;background:#8e8e87!important}.status-enquiry,.dot.status-enquiry{color:#111;background:#ecece8!important}.status-completed,.dot.status-completed{color:#fff;background:#333!important}.status-blocked,.dot.status-blocked{background:#000!important}.day-panel{position:sticky;top:96px}.day-list{gap:9px;margin-top:12px;display:grid}.day-booking{border:1px solid var(--line);border-radius:14px;gap:5px;padding:13px;display:grid}.day-booking-top,.day-money{justify-content:space-between;align-items:center;gap:10px;display:flex}.day-money{border-top:1px solid var(--line);color:var(--muted);padding-top:7px;font-size:12px}.blocked-row{background:#f1f1ee}.status-pill{white-space:nowrap}.month-overview{grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px;display:grid}.mini-month{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;align-content:center;gap:2px;min-height:110px;padding:14px;display:grid}.mini-month strong{font-size:20px}.mini-month span,.mini-month small{color:var(--muted)}.mini-month.active{color:#fff;background:#111}.mini-month.active span,.mini-month.active small{color:#d7d7d2}.login-shell{place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{width:min(440px,100%);padding:28px}.login-logo{width:150px;margin:0 auto 18px;display:block}.login-logo img{width:100%;height:auto}.one-col{grid-template-columns:1fr}.notice.danger{background:#fff1f1;border-color:#efcaca}.form-page{max-width:1120px}.admin-form-grid{align-items:start}.finance-summary{background:#f3f3f0;border-radius:16px;gap:8px;margin:18px 0;padding:16px;display:grid}.finance-summary>div{justify-content:space-between;gap:15px;display:flex}.finance-summary strong{font-size:18px}.finance-summary .balance-line{border-top:1px solid #d7d7d0;padding-top:10px}.narrow-card{width:min(650px,100%)}.small-text{margin-top:2px;font-size:11px}button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:980px){.grid.four{grid-template-columns:repeat(2,1fr)}.admin-calendar-layout{grid-template-columns:1fr}.day-panel{position:static}.month-overview{grid-template-columns:repeat(4,1fr)}}@media (max-width:760px){.admin-topbar-inner{align-items:center;min-height:68px}.admin-brand img{width:62px}.admin-user{display:none}.admin-actions .btn{min-height:40px;padding:9px 11px;font-size:12px}.admin-title-row{flex-direction:column;align-items:stretch}.admin-title-row .nav{justify-content:flex-start}.grid.four{grid-template-columns:repeat(2,1fr);gap:8px}.stats-grid .card{min-height:104px}.stats-grid .stat{font-size:25px}.admin-calendar .admin-day{min-height:70px;padding:6px}.admin-calendar .day-meta{display:none}.month-overview{grid-template-columns:repeat(3,1fr);gap:7px}.mini-month{border-radius:13px;min-height:90px;padding:10px}.mini-month strong{font-size:17px}.admin-form-grid{grid-template-columns:1fr}}@media (max-width:430px){.grid.four{grid-template-columns:1fr 1fr}.stats-grid .card{padding:13px}.stats-grid .muted{font-size:11px}.admin-calendar .admin-day{border-radius:9px;min-height:58px}.day-dots{gap:2px}.dot{width:5px;height:5px}.month-overview{grid-template-columns:repeat(2,1fr)}}
