:root{--bg: #f3f2f2;--surface: #eae9e9;--ink: #201e1d;--accent: #17853c;--accent-deep: #0b5424;--accent-tint: #eef7f0;--divider: rgba(32, 30, 29, .4);--hairline: rgba(32, 30, 29, .22);--muted: rgba(32, 30, 29, .55);--faint: rgba(32, 30, 29, .4);--red: #b3261e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Archivo,-apple-system,sans-serif;font-size:15px}.brand{font-weight:800;letter-spacing:.5px}.brand em{font-style:normal;color:var(--accent);font-size:.72em;letter-spacing:2px;margin-left:6px}.kicker{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.loginwrap{min-height:100vh;background:var(--ink);display:flex;align-items:center;justify-content:center;padding:24px}.loginwrap .card{margin-top:14px;width:360px}.card{background:#fff;border:2px solid var(--ink);padding:20px}input,select{width:100%;padding:10px 12px;border:1px solid var(--hairline);border-radius:0;background:var(--surface);font:inherit;color:var(--ink)}input:focus,select:focus{outline:2px solid var(--accent)}button{border:0;border-radius:0;background:var(--accent);color:#fff;font:inherit;font-weight:800;letter-spacing:1px;text-transform:uppercase;font-size:12px;padding:11px 18px;cursor:pointer}button:hover{background:var(--accent-deep)}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--hairline)}.err{color:var(--red);font-size:13px;margin-top:10px}.topbar{display:flex;align-items:baseline;gap:14px;padding:18px 24px 14px;border-bottom:2px solid var(--divider);background:var(--bg)}.topbar .club{color:var(--muted);font-size:13px;letter-spacing:1px;text-transform:uppercase}.topbar .spacer{flex:1}.tabs{display:flex;gap:0;border-bottom:2px solid var(--divider);background:var(--bg)}.tabs button{background:transparent;color:var(--muted);padding:12px 20px;border-bottom:3px solid transparent}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.tabs button:hover{background:var(--surface)}.page{padding:24px;max-width:1080px}.section-title{font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;margin:26px 0 10px;color:var(--muted)}.section-title:first-child{margin-top:0}table{border-collapse:collapse;width:100%;background:#fff}th{text-align:left;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--divider);white-space:nowrap}td{padding:8px 10px;border-bottom:1px solid var(--hairline);font-size:14px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;padding:3px 7px}.badge.ok{color:var(--accent-deep);background:var(--accent-tint)}.badge.warn{color:var(--red);background:#b3261e14}.badge.dim{color:var(--faint)}.matrix{overflow-x:auto;background:#fff;border:1px solid var(--hairline)}.matrix table{width:auto;min-width:100%}.matrix td{text-align:center;min-width:44px}.matrix td.hit{background:var(--accent-tint);color:var(--accent-deep);font-weight:800}.matrix td.zero{color:#201e1d2e}.matrix td:first-child,.matrix th:first-child{text-align:left;white-space:nowrap}.empty{border:1px dashed var(--hairline);background:#fff;padding:26px;color:var(--muted);font-size:14px;max-width:640px}.pin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.pin-cell{background:#fff;padding:12px}.pin-cell .hole{font-weight:800;font-size:16px}.pin-cell .meta{font-size:11px;color:var(--muted);margin-top:4px}.pin-cell.set{background:var(--accent-tint)}.footer-note{margin-top:34px;font-size:12px;color:var(--faint)}
