@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700;9..144,900&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#17130d;--muted:#6f675c;--paper:#f7efe1;--card:#fffaf0;--gold:#c8892f;--red:#b33b2e;--green:#246b54;--line:rgba(23,19,13,.14);--shadow:0 24px 60px rgba(39,30,12,.14)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Manrope,system-ui;background:radial-gradient(circle at 15% 5%,#ffe3aa 0,transparent 28%),radial-gradient(circle at 95% 0,#f7b0a6 0,transparent 22%),var(--paper)}.grain{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px);background-size:17px 17px}header,main{max-width:1180px;margin:auto;padding:28px}nav{display:flex;justify-content:space-between;align-items:center}.mark{font-weight:900;letter-spacing:-.04em;font-size:24px}.pill,button,.primary{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;background:#fff4d8;box-shadow:4px 4px 0 var(--ink);font-weight:800}.hero-grid{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:end;padding:70px 0 36px}h1,h2{font-family:Fraunces,serif;margin:0;line-height:.96;letter-spacing:-.055em}h1{font-size:clamp(46px,8vw,92px);max-width:920px}h2{font-size:42px}.lede{font-size:20px;max-width:680px;color:var(--muted);line-height:1.6}.eyebrow{text-transform:uppercase;color:var(--red);font-weight:900;letter-spacing:.16em;font-size:12px}.score-card{background:var(--ink);color:var(--paper);border-radius:34px;padding:28px;transform:rotate(2deg);box-shadow:var(--shadow)}.score-card strong{font-family:Fraunces,serif;font-size:96px;display:block;color:#ffd36b}.panel{background:rgba(255,250,240,.88);border:1px solid var(--line);border-radius:34px;padding:26px;margin:22px 0;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack{display:grid;gap:12px}label{display:grid;gap:8px;font-weight:800;color:#372c1d}input,select{width:100%;border:1px solid var(--line);border-radius:16px;background:#fffefa;padding:13px 14px;font:inherit}fieldset{grid-column:1/-1;border:1px dashed var(--gold);border-radius:20px;padding:16px;display:flex;gap:16px;flex-wrap:wrap}fieldset label{display:flex;align-items:center;gap:8px}.primary{background:var(--ink);color:var(--paper);cursor:pointer}.results,.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.result-card,.room-card,.booking{background:#fffefa;border:1px solid var(--line);border-radius:24px;padding:18px;position:relative;overflow:hidden}.fit{height:10px;background:#ead7b6;border-radius:20px;overflow:hidden;margin:14px 0}.fit span{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold),var(--green))}.score{font-family:Fraunces,serif;font-size:48px}.tag{display:inline-block;background:#f3dfb7;border-radius:999px;padding:6px 10px;margin:4px;font-size:12px;font-weight:800}.warn{color:var(--red);font-weight:800}.ok{color:var(--green);font-weight:800}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}.bookings{display:grid;gap:12px}.booking{display:grid;grid-template-columns:1fr auto;gap:10px}.delete{box-shadow:none;border-color:var(--line);background:#fff;color:var(--red);padding:8px 12px}.toast{margin-top:12px;padding:12px;border-radius:16px;background:#f3dfb7;font-weight:800}@media(max-width:900px){.hero-grid,.two-col,.form-grid,.results,.room-grid{grid-template-columns:1fr}h1{font-size:50px}.panel{padding:20px}header,main{padding:18px}}
