:root{--bg:#f7f4d5;--paper:#fdfbee;--ink:#0b2a31;--bark:#3e5157;--rose-ink:#a0584d;--moss-ink:#5e7040;--midnight:#105666;--stone:#efebc9;--timber:#e2dcb4}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 Avenir Next,system-ui,sans-serif}a{color:inherit}h1{margin:24px 0 8px;font:700 32px/1.2 Georgia,serif}h2{flex-basis:100%;margin:0;font:600 20px/1.2 Georgia,serif}.wrap{max-width:1100px;margin:0 auto;padding:0 16px 64px}.top{background:var(--midnight);color:var(--paper);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.top nav{align-items:center;gap:16px;display:flex}.top nav a,.top .link{color:var(--paper)}.top nav a{border-radius:8px;padding:5px 9px}.top nav a[aria-current=page]{background:var(--paper);color:var(--midnight);font-weight:700;text-decoration:none}.brand{font:700 18px Georgia,serif;text-decoration:none}.muted{color:var(--bark)}.small{font-size:13px}.card{background:var(--paper);border:1px solid var(--timber);border-radius:12px;margin:16px 0;padding:16px}.err{color:var(--rose-ink);background:#f6dcd7;border-radius:8px;padding:10px 12px}.btn{background:var(--midnight);color:var(--paper);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:10px 20px;font-weight:700}.link{font:inherit;color:var(--midnight);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}input,select{font:inherit;border:1px solid var(--timber);background:#fff;border-radius:8px;min-width:0;padding:8px 10px}.invite{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.login{text-align:center;max-width:420px;margin:15vh auto 0}.scroll{overflow-x:auto}table{border-collapse:collapse;background:var(--paper);width:100%}th,td{text-align:left;border-bottom:1px solid var(--timber);vertical-align:middle;padding:10px}th{color:var(--bark);font-size:13px}tr.off td{opacity:.5}.tag{background:var(--stone);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.tag.active{color:var(--moss-ink);background:#dde6cc}.tag.disabled{color:var(--rose-ink);background:#f6dcd7}.test-login{border-top:1px dashed var(--rose-ink);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;padding-top:16px;display:flex}.test-login p{color:var(--rose-ink);flex-basis:100%;margin:0}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.grid2 .card{margin:0 0 16px}.field{grid-template-columns:110px 1fr;align-items:center;gap:10px;margin:8px 0;display:grid}.card>.btn,.card>form>.btn{margin-top:8px}.plain{margin:12px 0 0;padding:0;list-style:none}.plain li{border-bottom:1px solid var(--stone);flex-wrap:wrap;align-items:baseline;gap:10px;padding:6px 0;display:flex}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tabs a{border:1px solid var(--timber);background:var(--paper);border-radius:999px;padding:6px 14px;text-decoration:none}.tabs a.on{background:var(--midnight);color:var(--paper);border-color:var(--midnight)}code{background:var(--stone);border-radius:4px;padding:1px 5px;font-size:.9em}h2.sec{margin:32px 0 4px}.booking p{margin:0 0 8px}.booking.warn{border-color:var(--rose-ink)}.actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}details summary{cursor:pointer}.mt{margin-top:12px}.tag.pending{background:#fbebc8}.tag.confirmed{color:var(--moss-ink);background:#dde6cc}.tag.rejected,.tag.cancelled,.tag.expired{color:var(--rose-ink);background:#f6dcd7}.monthnav{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.monthnav a{padding:0 6px;font-weight:700;text-decoration:none}.stack{gap:6px;min-width:200px;margin:8px 0;display:grid}.t-rose{color:var(--rose-ink)}.tag.flag{color:var(--rose-ink);background:#f6dcd7;margin-left:4px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0;display:grid}.stat{background:var(--paper);border:1px solid var(--timber);border-radius:12px;gap:2px;padding:14px;display:grid}.stat b{font:700 24px Georgia,serif}.card.warn{border-color:var(--rose-ink)}.card a{text-decoration:none}.cats{flex-wrap:wrap;gap:8px;display:flex}.receipt{gap:2px;display:grid}li.off{opacity:.5}.top nav{flex-wrap:wrap;justify-content:flex-end}.tag.closed{background:var(--midnight);color:var(--paper)}.json{word-break:break-word;max-width:420px;font-family:ui-monospace,monospace;font-size:12px}code{white-space:nowrap}.picker{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}
