:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#173043;background:#f4f7f6;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding-bottom:88px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.top{position:sticky;top:0;z-index:10;background:#123b52;color:white;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 2px 9px #102b3b2e}.brand{display:flex;align-items:center;gap:10px}.brand strong{display:block;font-size:1.05rem}.brand small{display:block;opacity:.8}.mark{border:2px solid #d7ae60;color:#ffe6ac;border-radius:8px;font-weight:900;font-size:.8rem;line-height:.82;padding:5px;text-align:center}.sync-badge{border-radius:999px;padding:7px 10px;background:#d9e6e6;color:#123b52;font-weight:750;font-size:.76rem;max-width:138px;text-align:center}.sync-badge.pending{background:#fff0c1;color:#674900}.sync-badge.error{background:#f9d7d3;color:#7e2420}.sync-badge.synced{background:#d5f1de;color:#16592a}main{max-width:860px;margin:auto;padding:18px 14px 42px}h1{font-size:1.55rem;margin:4px 0 6px}h2{font-size:1.18rem;margin:0 0 12px}h3{font-size:1rem;margin:0 0 10px}.muted{color:#536d7a}.lede{margin:0 0 20px;color:#526b78}.card{background:white;border:1px solid #d6e2e4;border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 2px 8px #183d4b0d}.card.tint{background:#ecf4f4}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px;font-weight:650;font-size:.9rem}.field input,.field select,.entry input,.entry select{width:100%;min-height:44px;border:1px solid #a7bbc4;border-radius:9px;background:white;color:#193645;padding:9px 10px}.field input:focus,.field select:focus,.entry input:focus,.entry select:focus{outline:3px solid #abdce4;outline-offset:1px}.button{border:0;border-radius:10px;padding:11px 15px;font-weight:750;background:#14657a;color:white;min-height:44px}.button.secondary{background:#e5edef;color:#214452}.button.outline{background:white;color:#14657a;border:1px solid #8db5bf}.button.danger{background:#fff1ef;color:#9f302c}.button.small{padding:7px 10px;min-height:36px;font-size:.85rem}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.chip{display:inline-flex;align-items:center;background:#e6eff0;color:#234a59;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:650}.chip.done{background:#d7f0dd;color:#1b632f}.chip.warn{background:#fff1c7;color:#725300}.team-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.roster{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.roster span{background:#eaf2f2;border-radius:8px;padding:6px 8px;font-size:.88rem}.roster button{background:none;border:0;color:#a02e29;font-weight:bold;padding:0 0 0 6px}.selector{display:flex;gap:8px;overflow-x:auto;padding:3px 0 9px}.selector button{white-space:nowrap;border:1px solid #9cb7be;background:white;border-radius:9px;padding:9px 12px;min-height:42px;color:#244855}.selector button.active{background:#164f64;border-color:#164f64;color:white;font-weight:750}.team-score{border-top:1px solid #d6e2e4;padding-top:13px;margin-top:13px}.entry{display:grid;grid-template-columns:minmax(0,1fr) 105px 75px 75px 75px;align-items:center;gap:7px;padding:10px 0;border-top:1px solid #e4eced}.entry .name{font-weight:700}.entry label{font-size:.7rem;color:#5c7480}.entry .cell{display:grid;gap:3px}.entry select{font-size:.85rem}.entry input{text-align:center;padding:7px 2px}.entry.absent{opacity:.65}.entry.pending{background:#fffaf0}.score-labels{display:grid;grid-template-columns:minmax(0,1fr) 105px 75px 75px 75px;gap:7px;color:#617986;font-size:.75rem;font-weight:700}.summary{border-top:1px solid #e3ebed;padding:11px 0}.summary:first-of-type{border-top:0}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:10;background:white;border-top:1px solid #cfdddf;display:flex;padding:7px max(12px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:8px}.bottom button{flex:1;border:0;border-radius:10px;background:#ecf2f2;color:#345361;min-height:44px;font-weight:750}.bottom button.active{background:#123b52;color:white}#toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);max-width:90%;background:#173b4b;color:white;padding:10px 15px;border-radius:10px;box-shadow:0 4px 16px #102a3a55;display:none;z-index:20}#toast.show{display:block}.helper{font-size:.83rem;color:#57717d}.warning{color:#92521a}.error{color:#a42e29}.success{color:#21693a}.empty{text-align:center;padding:38px 18px;color:#607984}@media(max-width:650px){main{padding:14px 10px 36px}.grid2{grid-template-columns:1fr}.entry,.score-labels{grid-template-columns:minmax(105px,1fr) 91px repeat(3,52px);gap:4px}.entry input,.entry select{padding:6px 2px;font-size:.83rem}.entry .name{font-size:.88rem}.entry label{font-size:.65rem}.score-labels{font-size:.66rem}.card{padding:13px}.brand strong{font-size:.95rem}.sync-badge{font-size:.69rem;padding:7px 8px}}@media(max-width:390px){.entry,.score-labels{grid-template-columns:minmax(88px,1fr) 82px repeat(3,45px)}.entry .name{font-size:.79rem}}
