:root{--bg:#f6f7f4;--card:#fff;--text:#1d2420;--muted:#5b655f;--line:#d9ddd6;--brand:#2f5d3a;--brand-ink:#fff;--troop:#7a3b12;--troop-ink:#fff;--danger:#a12a1f;--ok:#1f6b35;--warn-bg:#ffd84d;--warn-ink:#3a2c00}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:17px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand)}main{max-width:760px;margin:0 auto;padding:16px}h1{margin:8px 0 16px;font-size:1.5rem}h2{margin:0 0 12px;font-size:1.15rem}.testing-banner{background:var(--warn-bg);color:var(--warn-ink);text-align:center;letter-spacing:.04em;padding:6px 12px;font-weight:700}.header{background:var(--brand);color:var(--brand-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.header.troop{background:var(--troop);color:var(--troop-ink)}.header a,.header .who{color:inherit}.header .title{font-weight:700;text-decoration:none}.header .mode{text-transform:uppercase;letter-spacing:.06em;border:2px solid;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.header .right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header .btn{color:inherit;background:#ffffff26;border-color:#ffffff80;min-height:40px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 16px;padding:16px}.muted{color:var(--muted)}.form{gap:12px;display:grid}.form.inline{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:inline-flex}.field{gap:4px;font-weight:600;display:grid}.field input,.field select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:48px;padding:12px}.btn{font:inherit;border:1px solid var(--brand);background:var(--brand);min-height:48px;color:var(--brand-ink);cursor:pointer;border-radius:8px;padding:10px 18px;font-weight:600}.btn.secondary{color:var(--brand);background:#fff}.btn.danger{color:var(--danger);border-color:var(--danger);background:#fff}.btn:disabled{opacity:.6}.msg{margin:0;font-weight:600}.msg.error{color:var(--danger)}.msg.ok{color:var(--ok)}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--line);gap:6px;padding:12px 0;display:grid}.list>li:first-child{border-top:0}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tag{color:var(--text);background:#e8ece6;border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:700;display:inline-block}.tag.off{color:var(--danger);background:#f6dcd8}.link{word-break:break-all;font-family:ui-monospace,Menlo,monospace}.nav{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.nav a{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:44px;padding:10px 14px;font-weight:600;text-decoration:none}.checklist li{padding:10px 0}.done{color:var(--ok);font-weight:700}.todo{color:var(--danger);font-weight:700}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:6px}.scroll{overflow-x:auto}.small{font-size:.9rem}.fieldset{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;margin:0 0 16px;padding:12px 16px 16px;display:grid}.fieldset legend{padding:0 6px;font-weight:700}.qty-row{border-top:1px solid var(--line);gap:6px;padding:8px 0;display:grid}.qty-row:first-of-type{border-top:0}.qty-input{align-items:center;gap:12px;display:flex}.qty-input input{font:inherit;border:1px solid var(--line);border-radius:8px;width:110px;min-height:48px;padding:10px}.line-total{color:var(--muted)}.total-row{border-top:2px solid var(--text);padding-top:10px}.grid3{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:560px){.grid3{grid-template-columns:2fr 1fr 1fr}}.choices{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:10px 14px;font-weight:600;display:inline-flex}.choice input{width:20px;height:20px}.field textarea{font:inherit;border:1px solid var(--line);border-radius:8px;width:100%;padding:12px}.pay-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pay-list li{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}.pay-list li.chosen{border:2px solid var(--brand)}.pay-list p{margin:4px 0 0}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.big{font-size:1.3rem}pre.template{white-space:pre-wrap;background:#f1f3ef;border-radius:8px;padding:12px;font:.9rem/1.4 ui-monospace,Menlo,monospace}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.inline-select{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;min-height:48px;padding:8px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.stat{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;padding:12px;display:grid}.stat .n{font-size:1.4rem;font-weight:800}.num{text-align:right;white-space:nowrap}.meter{background:#e8ece6;border-radius:999px;height:16px;overflow:hidden}.meter span{background:var(--brand);height:100%;display:block}.bar{background:var(--brand);border-radius:4px;min-width:2px;height:12px}.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:8px;display:grid}.filters select,.filters input{font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:8px}.filters label{gap:2px;font-size:.85rem;font-weight:600;display:grid}th a{color:inherit;text-decoration:none}tr.flag td{background:#fff4f2}@media print{.header,.testing-banner,.nav,.no-print,.btn{display:none!important}.card{border:0;padding:0}body{background:#fff}}body:has(.troop-area) main{max-width:1280px}td:first-child,td .nowrap{white-space:nowrap}.sticky{z-index:2;position:sticky;top:0}.sponsor-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}@media (max-width:700px){.troop-area>.nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.troop-area>.nav a{flex:none}}
