:root{--ink: #1b2430;--muted: #5d6b7c;--line: #dde3ea;--bg: #f4f6f9;--card: #ffffff;--brand: #1d3a6e;--brand-soft: #e8eef9;--good: #1f7a4d;--good-soft: #e3f4ea;--bad: #b3261e;--radius: 12px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.15rem;margin:0 0 .5rem}p{margin:0 0 .75rem}button,input,select{font:inherit;color:inherit}.shell{min-height:100dvh}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;padding-top:max(.6rem,env(safe-area-inset-top));background:var(--brand);color:#fff}.brand{letter-spacing:.08em}main{max-width:760px;margin:0 auto;padding:1rem 1rem 3rem}.center{min-height:100dvh;display:grid;place-items:center;padding:1rem}input,select{width:100%;min-height:48px;padding:.6rem .8rem;background:#fff;border:1px solid var(--line);border-radius:10px}input:focus,select:focus,button:focus-visible{outline:3px solid #8fb0ec;outline-offset:1px}button{min-height:48px;padding:.6rem 1rem;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;white-space:nowrap}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}button.huge{width:100%;min-height:64px;font-size:1.25rem;border-radius:14px;margin-top:.5rem}button.link{background:none;border:0;min-height:0;padding:.4rem;color:inherit;text-decoration:underline}.topbar button.link{color:#cfdcf5}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.card.inline{display:grid;gap:.6rem;margin-bottom:1rem}label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}.bar{display:flex;gap:.5rem;margin-bottom:.75rem}.bar select,.bar input{flex:1;min-width:0}.error{color:var(--bad);background:#fdecea;padding:.6rem .8rem;border-radius:10px}.ok{color:var(--good);background:var(--good-soft);padding:.6rem .8rem;border-radius:10px}.note{color:var(--muted);font-size:.85rem}.empty{color:var(--muted);text-align:center;padding:2rem 1rem}.count{color:var(--muted);font-weight:400;font-size:1rem}.login,.welcome .card{width:min(420px,100%);display:grid;gap:.9rem}.welcome .card{text-align:center}.welcome form{display:grid;gap:.6rem;text-align:left}.eyebrow{color:var(--muted);margin:0}.bigtick{width:72px;height:72px;margin:0 auto;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center;font-size:2.4rem}.trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.stats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.stats .big{font-size:2.6rem;font-weight:700;line-height:1;color:var(--brand)}.meter{height:8px;background:var(--brand-soft);border-radius:99px;overflow:hidden;margin-top:.6rem}.meter span{display:block;height:100%;background:var(--good);transition:width .2s}.chips{display:flex;gap:.4rem;margin-bottom:.5rem;overflow-x:auto}.chip{min-height:40px;border-radius:999px;padding:.3rem .9rem}.chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.row{width:100%;min-height:60px;display:flex;align-items:center;gap:.85rem;text-align:left;padding:.5rem .9rem;font-size:1.1rem;border-radius:12px;touch-action:manipulation}.row.here{background:var(--good-soft);border-color:var(--good)}.tick{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:700;color:#fff}.row.here .tick{background:var(--good);border-color:var(--good)}.row .name{flex:1;overflow:hidden;text-overflow:ellipsis}.tag{font-size:.75rem;background:#fff3d6;color:#7a5200;border-radius:99px;padding:.1rem .55rem;font-weight:600;margin-left:.4rem}.list.plain .person,.reportrow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem}.person .name{font-weight:600}.sub{color:var(--muted);font-size:.9rem}.barline{display:flex;align-items:center;gap:.6rem;margin-top:.35rem}.barline span{display:block;height:14px;background:var(--brand);border-radius:7px;min-width:2px}.barline b{min-width:2ch}.qrblock{display:grid;gap:.75rem;justify-items:center;text-align:center}.qr{width:min(340px,90%);height:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.small{width:100%;text-align:left}.printonly{display:none}@media print{body{background:#fff}.topbar,.noprint{display:none!important}.printonly{display:block}.qrblock h2{font-size:2.2rem}.qr{width:420px;border:0}}.table-scroll{overflow-x:auto;margin-bottom:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}table.map{border-collapse:collapse;width:100%;font-size:.9rem}table.map th,table.map td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:130px}table.map th select{min-height:40px;margin-top:.25rem}table.map td{color:var(--muted)}.tag.bad{background:#fdecea;color:var(--bad)}.note.warn{background:#fff8e1;border:1px solid #f1d98a;color:#6a4b00;padding:.6rem .8rem;border-radius:10px}.notice{text-align:left}.notice p{margin:0 0 .5rem}.notice summary{cursor:pointer;text-decoration:underline;margin-bottom:.4rem;min-height:32px;display:flex;align-items:center}.memberrow,.eventrow{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.memberactions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.memberactions select{width:auto;min-height:40px}.memberactions button{min-height:40px;padding:.3rem .8rem}.eventside{display:grid;justify-items:end;gap:.1rem}.big.small{font-size:1.6rem;font-weight:700;color:var(--brand);line-height:1}.row .count{color:var(--muted);font-size:.9rem;white-space:nowrap}h1 .link{font-size:.9rem;font-weight:400;margin-left:.5rem}.presentcount{display:flex;align-items:baseline;gap:.35rem}a.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1rem;background:#fff;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;white-space:nowrap}.center-link{text-align:center;color:var(--muted);font-size:.95rem;padding:.4rem}.linkcard{display:grid;gap:.6rem;margin-bottom:1rem;border-color:var(--good);background:var(--good-soft)}.linkcard input{font-size:.85rem}.linkcard p{margin:0}.brandbar{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.brandbar img{max-height:30px;max-width:110px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}.brandbar .brand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.brandmark{display:flex;align-items:center;gap:.75rem}.brandmark img{max-height:40px;max-width:150px;object-fit:contain}.brandmark span{font-weight:700;font-size:1.25rem}.brandmark.large{flex-direction:column;text-align:center;gap:.5rem}.brandmark.large img{max-height:84px;max-width:220px}.brandmark.large span{font-size:1.5rem}.orglogo{display:block;max-height:84px;max-width:220px;object-fit:contain;margin:0 auto .25rem}.powered{text-align:center;color:var(--muted);font-size:.8rem;margin:0;padding:1.5rem 1rem}form .powered{padding:.25rem}.logoslot{min-height:96px;display:grid;place-items:center;background:#fafbfc;border:1px dashed var(--line);border-radius:10px;padding:.5rem}.logoslot img{max-height:120px;max-width:100%;object-fit:contain}.preview{display:flex;align-items:center;gap:.75rem;color:#fff;padding:.7rem 1rem;border-radius:10px}.preview img{max-height:30px;max-width:110px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}.colorrow{display:flex;gap:.5rem}.colorrow input[type=color]{width:64px;padding:2px}label.check{display:flex;align-items:center;gap:.5rem;color:var(--ink)}label.check input{width:auto;min-height:0}.tag.off{background:#fdecea;color:var(--bad)}.faq h2{margin-top:1.75rem}.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:.5rem}.faq summary{cursor:pointer;padding:.85rem 1rem;font-weight:600;min-height:48px;display:flex;align-items:center;list-style-position:inside}.faq details[open] summary{border-bottom:1px solid var(--line);color:var(--brand)}.faq .answer{padding:.25rem 1rem .75rem}.faq .answer p,.faq .answer li{margin:.45rem 0}.faq .answer ol{padding-left:1.3rem;margin:.4rem 0}.helpfoot{margin-top:1.5rem;background:var(--brand-soft)}.helpfoot p{margin:.35rem 0 0}a.toplink{color:#fff;text-decoration:underline;padding:.4rem}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .9rem;margin:0}label.check{display:flex;gap:.5rem;align-items:center;padding:.25rem 0;font-weight:400}:root{--nav-w: 232px}.spacer{flex:1}.menubtn{display:none;background:none;border:0;padding:.35rem;cursor:pointer}.menubtn span{display:block;width:22px;height:2px;margin:5px 0;background:#fff;border-radius:2px}.sidenav{position:fixed;z-index:4;top:0;bottom:0;left:0;width:var(--nav-w);padding:4rem .75rem 1rem;background:#fff;border-right:1px solid var(--line);overflow-y:auto}.sidenav a,.grouphead{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;text-decoration:none;padding:.6rem .75rem;margin:.1rem 0;border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer;min-height:44px}.sidenav a:hover,.grouphead:hover{background:var(--brand-soft)}.sidenav a.active{background:var(--brand);color:#fff}.grouphead{font-weight:600}.grouphead.has-active{color:var(--brand)}.chev{color:var(--muted);font-size:.9rem}.groupitems{margin-left:.5rem;padding-left:.4rem;border-left:2px solid var(--line)}.sidenav a.sub{padding-left:.9rem}.content{margin-left:var(--nav-w)}.backdrop{display:none}@media(max-width:860px){.menubtn{display:block}.sidenav{transform:translate(-100%);transition:transform .2s ease;width:min(300px,82vw);box-shadow:2px 0 14px #0000002e}.menu-open .sidenav{transform:translate(0)}.content{margin-left:0}.menu-open .backdrop{display:block;position:fixed;inset:0;z-index:3;background:#00000059}}@media print{.sidenav,.menubtn{display:none!important}.content{margin-left:0}}
