:root{--ink:#1c1712;--ink-raised:#2a2219;--line:#443a2c;--paper:#f0e8da;--paper-dim:#b3a48e;--brass:#d9793c;--brass-bright:#f2a65e;--danger:#d16a5a;--radius:3px}*{box-sizing:border-box}body,html{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.display,h1,h2,h3{font-family:Sora,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em;margin:0}a{color:var(--brass-bright);text-decoration:none}.shell{max-width:880px;margin:0 auto;padding:48px 24px 96px}.topbar{display:flex;align-items:baseline;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.topbar .brand{display:flex;align-items:center}.topbar .brand img{height:38px;width:38px;object-fit:cover;border-radius:50%;display:block;filter:drop-shadow(0 0 10px rgba(217,121,60,.4))}.topbar .brand-text{margin-left:12px;font-family:Sora,system-ui,sans-serif;font-weight:700;font-size:1rem;color:var(--paper);line-height:1.15;display:flex;flex-direction:column}.topbar .brand-text small{font-weight:500;font-size:.68rem;letter-spacing:.12em;color:var(--brass-bright)}.topbar nav{display:flex;gap:24px;font-size:.92rem}.topbar nav a{color:var(--paper-dim)}.topbar nav a:hover{color:var(--paper)}.card{background:var(--ink-raised);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.85rem;color:var(--paper-dim)}.field input{background:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;color:var(--paper);font-size:.95rem}.field input:focus{outline:2px solid var(--brass);outline-offset:1px}button.primary{background:var(--brass);color:#1a1508;border:none;border-radius:var(--radius);padding:11px 20px;font-size:.95rem;font-weight:600;cursor:pointer}button.primary:hover{background:var(--brass-bright)}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--paper-dim);border:1px solid var(--line);border-radius:var(--radius);padding:10px 18px;cursor:pointer}.error{color:var(--danger);margin-bottom:12px}.error,.notice{font-size:.88rem}.notice{color:var(--paper-dim)}.strip-row{display:flex;gap:2px;overflow-x:auto;padding-bottom:8px}.strip{min-width:130px;flex:0 0 auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-raised);overflow:hidden}.strip-head{padding:10px 12px;border-bottom:2px solid var(--brass);font-size:.8rem;color:var(--paper-dim)}.strip-head .day{font-weight:600;font-family:Sora,system-ui,sans-serif}.slot-btn,.strip-head .day{color:var(--paper);display:block}.slot-btn{width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 12px;font-size:.88rem;cursor:pointer}.slot-btn:hover{background:rgba(201,162,75,.14);color:var(--brass-bright)}.slot-btn.selected{background:var(--brass);color:#1a1508;font-weight:600}.booking-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.booking-row:last-child{border-bottom:none}.tag{display:inline-block;font-size:.75rem;color:var(--paper-dim);border:1px solid var(--line);border-radius:var(--radius);padding:2px 8px}