*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}:root{--green:#009c3b;--green-dark:#004d1f;--yellow:#ffdf00;--white:#fff;--text:#1a1a1a;--text-muted:#5a5a5a;--error:#c0392b;--success:#1a7a3c;--radius:16px;--shadow:0 8px 32px #00000040}.bg{background:linear-gradient(160deg,#004d1f 0%,#006428 55%,#003d18 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:420px;padding:36px 32px}.login-card{text-align:center}.trophy{margin-bottom:12px;font-size:56px;line-height:1}.login-card h1{color:var(--text);margin:0 0 8px;font-size:1.3rem;font-weight:700}.subtitle{color:var(--text-muted);margin:0 0 24px;font-size:.9rem}.cpf-input{letter-spacing:2px;text-align:center;box-sizing:border-box;border:2px solid #ddd;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-size:1.2rem;transition:border-color .2s}.cpf-input:focus{border-color:var(--green)}.btn-primary{background:var(--green);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:10px;margin-top:16px;padding:14px;font-size:1rem;font-weight:700;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:#007a2e}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:var(--green);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600;text-decoration:underline}.btn-back{color:var(--green);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:.9rem;font-weight:600;display:block}.error{color:var(--error);text-align:center;margin:10px 0 0;font-size:.85rem}.success{color:var(--success);text-align:center;margin:12px 0 0;font-size:.9rem;font-weight:600}.saved-hint{color:var(--text-muted);text-align:center;margin:10px 0 0;font-size:.8rem}.bet-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.greeting{color:var(--text-muted);font-size:.95rem}.greeting strong{color:var(--text)}.game-info{flex-direction:column;align-items:center;gap:4px;margin-bottom:20px;display:flex}.fase{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:.75rem;font-weight:600}.data-hora{color:var(--green-dark);font-size:.9rem;font-weight:700}.closed-banner{text-align:center;color:#7a5c00;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:.85rem;font-weight:600}.teams-row{justify-content:center;align-items:center;gap:12px;margin-bottom:8px;display:flex}.team-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.flag{font-size:40px;line-height:1}.team-name{color:var(--text);text-align:center;font-size:.8rem;font-weight:700}.score-col{align-items:center;gap:8px;display:flex}.score-input{text-align:center;width:64px;height:64px;color:var(--text);-moz-appearance:textfield;border:2px solid #ddd;border-radius:10px;outline:none;font-size:1.8rem;font-weight:700;transition:border-color .2s}.score-input::-webkit-outer-spin-button{-webkit-appearance:none}.score-input::-webkit-inner-spin-button{-webkit-appearance:none}.score-input:focus{border-color:var(--green)}.score-input:disabled{color:var(--text-muted);background:#f5f5f5}.vs{color:var(--text-muted);font-size:1.4rem;font-weight:700}.scoreboard-card{max-width:480px}.scoreboard-card h2{margin:0 0 4px;font-size:1.2rem}.game-label{color:var(--text-muted);margin:0 0 2px;font-size:.85rem}.total-label{color:var(--text-muted);margin:0 0 20px;font-size:.8rem}.empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:.9rem}.score-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.score-list li{align-items:center;gap:10px;display:flex}.score-label{text-align:right;flex-shrink:0;width:52px;font-size:.95rem;font-weight:700}.bar-wrap{background:#eee;border-radius:999px;flex:1;height:20px;overflow:hidden}.bar{background:var(--green);border-radius:999px;min-width:4px;height:100%;transition:width .4s}.qty{color:var(--text-muted);text-align:right;flex-shrink:0;width:28px;font-size:.85rem;font-weight:600}
