:root{--accent:#b25640;--accent-soft:#b2564024;--brick-deep:#813427;--canvas:#f9f6f2;--surface:#fffdfd;--sunken:#ded7cf;--ink:#211c1a;--ink-soft:#6c625c;--ink-faint:#a79c95;--hairline:#211c1a24;--success:#2f7e54;--warning:#ba731d;--warning-soft:#ba731d24;--shadow:0 6px 18px #211c1a12;--radius:18px;--radius-sm:12px;--space:16px;--motion:.22s cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--accent:#d4735b;--accent-soft:#d4735b2e;--brick-deep:#e58c73;--canvas:#16130f;--surface:#241f1e;--sunken:#3a3431;--ink:#f6f3f0;--ink-soft:#b6aca6;--ink-faint:#7d736e;--hairline:#f6f3f024;--success:#6abf8c;--warning:#ebaa53;--warning-soft:#ebaa532e;--shadow:0 6px 18px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;line-height:1.5}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{cursor:default;opacity:.45}input,select{font:inherit;color:inherit}.page{gap:var(--space);flex-direction:column;max-width:560px;margin:0 auto;padding:24px 16px 64px;display:flex}.centred{justify-content:center;min-height:100dvh}.card{background:var(--surface);border-radius:var(--radius);padding:var(--space);box-shadow:var(--shadow)}.card.flush{padding:0;overflow:hidden}.card-button{text-align:left;width:100%;transition:transform var(--motion), box-shadow var(--motion);align-items:center;gap:14px;display:flex}.card-button:hover:not(:disabled){box-shadow:0 10px 24px #211c1a1a}.card-button:active:not(:disabled){transform:scale(.982)}.card-title{font-size:1.05rem;font-weight:600}.card-sub{color:var(--ink-soft);font-size:.92rem}.chevron{color:var(--ink-faint);flex:none;margin-left:auto}.badge{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge svg{width:22px;height:22px}h1{letter-spacing:-.02em;margin:0;font-size:1.9rem}h2{margin:0;font-size:1.3rem}.section-header{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:8px;font-size:.78rem;font-weight:600}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.btn{border-radius:var(--radius-sm);transition:transform var(--motion), filter var(--motion);justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);color:#fff;width:100%}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.quiet{background:var(--sunken);color:var(--ink);padding:8px 14px;font-size:.88rem}.btn.link{color:var(--accent);padding:4px 0;font-weight:500}.btn.small{padding:7px 13px;font-size:.86rem}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-soft);font-size:.8rem;font-weight:600}input[type=text],input[type=email],select{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--canvas);width:100%;transition:border-color var(--motion);padding:13px 14px}input:focus,select:focus{border-color:var(--accent);outline:none}.message{border-radius:var(--radius-sm);animation:slide-in var(--motion);align-items:flex-start;gap:10px;padding:12px;font-size:.94rem;display:flex}.message.info{background:var(--accent-soft)}.message.error{background:var(--warning-soft)}.message svg{flex:none;width:18px;height:18px;margin-top:2px}.message.info svg{color:var(--accent)}.message.error svg{color:var(--warning)}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}}.row{padding:14px var(--space);align-items:flex-start;gap:12px;display:flex}.row+.row{border-top:1px solid var(--hairline)}.row-main{flex:1;min-width:0}.row-title{font-weight:500}.row-sub{color:var(--ink-soft);font-size:.85rem}.row-sub.paid{color:var(--success)}.row-sub.unpaid{color:var(--warning)}.price{font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-head h2{font-size:1.1rem}.weekdays,.grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekdays div{text-align:center;color:var(--ink-soft);padding-bottom:6px;font-size:.72rem;font-weight:600}.day{aspect-ratio:1/1.08;border-radius:var(--radius-sm);transition:transform var(--motion), background var(--motion), border-color var(--motion);border:1.5px solid #0000;place-items:center;font-size:.95rem;display:grid}.day.free{background:var(--canvas);border-color:var(--hairline)}.day.free:hover{border-color:var(--accent)}.day.taken{background:var(--sunken);color:var(--ink-faint)}.day.mine{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.day.selected{background:var(--accent);color:#fff;font-weight:700;transform:scale(1.06)}.day.outside{color:var(--ink-faint);opacity:.45}.day.today{border-color:var(--accent);font-weight:700}.legend{color:var(--ink-soft);justify-content:center;gap:16px;margin-top:14px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border:1px solid #0000;border-radius:4px;width:14px;height:14px}.bookbar{background:var(--surface);border-radius:var(--radius);padding:var(--space);animation:rise var(--motion);flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 24px #211c1a1f}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
