:root{--wine:#590e24;--paper:#f8f4ed;--ink:#2b2525;--line:#d9cbbd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--wine);overflow-wrap:anywhere}h1,h2,h3{line-height:1.18}h1{font:clamp(2.3rem,5vw,3.8rem)/1.05 Georgia,serif;margin:.3em 0}h2{font-size:1.45rem}h3{font-size:1.2rem;margin:0}.dashboard{max-width:1280px;margin:auto;padding:40px 24px}.login{max-width:510px;margin:5vh auto;padding:32px 24px}.brand{font:italic 35px Georgia,serif;text-decoration:none}.eyebrow{letter-spacing:.12em;font-size:.73rem;font-weight:700;color:#775c49}header,.section-heading,.guest-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}header>button{margin-top:10px}.button,button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:white;text-decoration:none;font:600 .92rem/1.4 inherit;min-height:46px;cursor:pointer}button{font-family:inherit;font-size:.94rem;font-weight:600}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:var(--wine)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78631;outline-offset:3px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.card{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fffdf8}.summary h2{font-size:2.8rem;margin:0}.summary h2 span{font-size:1rem;font-weight:400}.muted{color:#625955;font-size:.87rem}.filters{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin:32px 0}.filters>label:first-child{flex:1}label{display:block;font-weight:600}input,select{display:block;width:100%;min-height:48px;border:1px solid #938278;border-radius:6px;background:white;padding:12px;font:inherit;color:var(--ink);margin:6px 0 16px}.filters input,.filters select{margin-bottom:0}#code{max-width:240px;letter-spacing:.25em;font-size:1.3rem}form{margin-top:30px}.guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.guest[hidden]{display:none}.badge{font-size:.7rem;white-space:nowrap;border-radius:30px;background:#eee4d6;padding:5px 9px}.guest[data-checked=yes] .badge{background:#dbebdf;color:#235731}.reference{overflow-wrap:anywhere}section{margin:30px 0}.section-heading{align-items:center}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;min-width:700px;width:100%;font-size:.9rem}th,td{text-align:left;padding:12px;vertical-align:top;border-bottom:1px solid var(--line)}th{background:#ece2d7}td{overflow-wrap:anywhere}.health{display:grid;grid-template-columns:220px 1fr;gap:8px}.health dd{margin:0}.health dt{font-weight:600}.error{color:#9a2330}#message{min-height:1.5em}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:#625955;font-size:.85rem}details{margin:24px 0}summary{cursor:pointer;font-weight:600}@media(max-width:600px){.dashboard{padding:24px 16px}.summary{grid-template-columns:1fr}.summary h2{font-size:2.5rem}.card{padding:20px}.section-heading{display:block}.section-heading a{display:block;margin-bottom:16px}.filters{display:block}.filters label+label{margin-top:16px}.health{grid-template-columns:1fr;gap:2px}.health dd{margin-bottom:10px}header{gap:8px}header .secondary{padding:10px}.actions>.button{flex:1;text-align:center}.guest-heading{gap:8px}}@media print{body{background:white}.actions,.filters,header>button,footer,details{display:none}.card{break-inside:avoid}.dashboard{padding:0}.guest-grid{grid-template-columns:1fr 1fr}}

@media(max-width:600px){nav.actions{display:grid;grid-template-columns:1fr;align-items:stretch}nav.actions>*{width:100%;min-width:0;overflow-wrap:normal;word-break:normal;white-space:normal}header>button{white-space:nowrap;flex-shrink:0}.guest .actions>button{flex:1 1 110px;min-width:110px}.actions>.button{flex:initial}}

.event-totals{padding:18px 0;border-bottom:1px solid var(--line)}.session-focus{font-size:1rem;font-weight:500}.legacy-notice{border-left:4px solid #9a6824;background:#fff8e9}.legacy-note{font-size:.87rem;color:#76521f}.summary h3{font-size:1.07rem;margin-bottom:18px}
