:root{--bg: #0f1419;--surface: #1a2129;--surface-2: #232c36;--border: #2e3a46;--text: #e6edf3;--muted: #8b98a5;--primary: #2f81f7;--primary-hover: #4593f8;--green: #3fb950;--blue: #58a6ff;--orange: #d29922;--red: #f85149}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}h1{font-size:1.6rem}code{background:var(--surface-2);padding:2px 8px;border-radius:6px;font-size:1.05em;letter-spacing:2px}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px;overflow-x:auto}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0;text-align:center}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 12px;font-size:.95rem}input:focus,select:focus{outline:none;border-color:var(--primary)}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 16px;font-size:.95rem;cursor:pointer}.btn:hover{border-color:var(--primary)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent}.btn-small{padding:5px 10px;font-size:.85rem}.btn:disabled{opacity:.6;cursor:not-allowed}.alert{background:#f851491f;border:1px solid var(--red);border-radius:8px;padding:10px 14px;font-size:.9rem}.alert-ok{background:#3fb9501f;border-color:var(--green)}.alert-inline{grid-column:1 / -1;margin-top:8px}.muted{color:var(--muted);font-size:.9rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:12px 20px}.logo{font-weight:700;font-size:1.1rem;white-space:nowrap}.logo-sub{color:var(--muted);font-weight:400;font-size:.85rem}.topbar nav{display:flex;gap:16px;flex:1}.topbar nav a{color:var(--muted);padding:6px 0}.topbar nav a.active{color:var(--text);border-bottom:2px solid var(--primary)}.topbar-user{display:flex;align-items:center;gap:10px}.user-name{color:var(--muted);font-size:.9rem}.content{max-width:960px;margin:0 auto;padding:24px 20px 60px}.day-header{font-size:1rem;color:var(--muted);text-transform:capitalize;border-bottom:1px solid var(--border);padding-bottom:6px;margin-top:28px;display:flex;align-items:center;gap:10px}.day-header.day-today{color:var(--text);border-bottom-color:var(--primary)}.badge-today{background:var(--primary);color:#fff;text-transform:none}.match-row.today{border-color:var(--primary)}.match-row{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:8px}.match-row.live{border-color:var(--red)}.match-meta{display:flex;flex-direction:column;gap:2px}.match-stage{font-size:.78rem;color:var(--muted)}.match-time{font-weight:600}.match-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.team.home{text-align:right}.match-result{font-weight:700;font-size:1.05rem;min-width:56px;text-align:center;color:var(--blue)}.match-prediction{display:flex;align-items:center;gap:6px}.match-prediction input{width:52px;text-align:center}.pred-locked{font-size:.85rem;color:var(--muted)}.badge{border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:600}.badge-live{background:var(--red);color:#fff;width:fit-content}.badge-saved{color:var(--green);font-size:1rem}.badge-points{background:var(--surface-2);color:var(--muted)}.badge-points.p5{background:var(--green);color:#fff}.badge-points.p3{background:var(--blue);color:#002}.badge-points.p1{background:var(--orange);color:#210}.league-forms{display:grid;grid-template-columns:1fr 1fr;gap:16px}.league-forms form{display:flex;flex-direction:column;gap:12px}.league-forms h3{margin:0}.league-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.league-card{color:var(--text);display:block}.league-card:hover{border-color:var(--primary)}.league-card h3{margin:0 0 6px}.invite-code{font-size:.85rem;color:var(--muted)}.team-name{display:inline-flex;align-items:center;gap:6px}.flag{height:14px;border-radius:2px;flex-shrink:0}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red);color:#fff}.link-btn{background:none;border:none;padding:0;color:var(--blue);font-size:inherit;cursor:pointer}.link-btn:hover{text-decoration:underline}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header-row h3{margin:0}.table{width:100%;border-collapse:collapse;margin-top:12px}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.92rem}.table th{color:var(--muted);font-weight:600;font-size:.82rem}.admin-create{display:flex;flex-wrap:wrap;gap:10px}.admin-create input,.admin-create select{flex:1 1 160px}.score-inputs input{width:54px;text-align:center;margin:0 4px}@media (max-width: 720px){input,select{font-size:16px}.btn{min-height:44px}.btn-small{min-height:36px}.content{padding:16px 12px 60px}.card{padding:14px}.match-row{grid-template-columns:1fr;gap:10px;padding:12px}.match-meta{flex-direction:row;align-items:center;gap:10px}.match-prediction{justify-content:center}.match-prediction input{width:64px;padding:10px 6px}.league-forms{grid-template-columns:1fr}.topbar-inner{flex-wrap:wrap;gap:8px 16px;padding:10px 14px}.topbar nav{order:3;flex-basis:100%;justify-content:space-around}.topbar-user{margin-left:auto}.user-name{display:none}.table th,.table td{padding:8px 6px;font-size:.85rem;white-space:nowrap}h1{font-size:1.3rem}}
