:root{--bg:#f6f7f9;--fg:#1a1d21;--muted:#5f6670;--card:#fff;--border:#e3e6ea;--accent:#1a73e8}@media (prefers-color-scheme:dark){:root{--bg:#121417;--fg:#e8eaed;--muted:#9aa0a6;--card:#1c1f23;--border:#2c3036;--accent:#8ab4f8}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.nav{border-bottom:1px solid var(--border);background:var(--card);z-index:10;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:8px 16px;display:flex;position:relative}.nav-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.nav-user{color:var(--muted);flex-shrink:0;align-items:center;gap:10px;display:flex}.menu{flex-shrink:0;position:relative}.menu-button{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:inline-flex}.menu-button span{background:var(--fg);border-radius:2px;width:20px;height:2px;display:block}.menu-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000026}.menu-panel a{color:var(--fg);border-radius:6px;padding:10px 12px;font-weight:500;text-decoration:none}.menu-panel a:hover,.menu-panel a.active{background:var(--bg);color:var(--accent)}.tour-logo{flex-shrink:0;display:inline-flex}.tour-logo img{object-fit:contain;width:auto;max-width:96px;height:36px;display:block}.tournament-select{min-width:0;max-width:100%;font:inherit;border:1px solid var(--border);background:var(--card);color:var(--fg);text-overflow:ellipsis;border-radius:6px;flex:0 auto;padding:6px 8px;font-weight:600}.tournament-none{color:var(--muted);font-size:14px}@media (max-width:600px){.nav{padding:6px 8px}.nav-user-name{display:none}.nav-user button{padding:6px 10px}.tour-logo img{max-width:64px;height:30px}.tournament-select{font-size:14px}}button{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--fg);cursor:pointer;border-radius:6px;padding:8px 16px}button:hover{border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:12px;width:calc(100% - 32px);max-width:720px;margin:64px auto;padding:40px}.card h1{margin:0 0 8px}.card p{color:var(--muted)}.google-btn{background:var(--accent);color:#fff;border-color:var(--accent);margin-top:16px}.admin{text-align:left}.admin h2{margin-top:28px;font-size:18px}.admin-buttons{flex-wrap:wrap;gap:8px;display:flex}.admin-keys{color:var(--muted);font-size:13px}.admin-error{font-weight:600;color:#c62828!important}.admin-table-wrap{margin:12px 0;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border:1px solid var(--border);text-align:left;padding:6px 8px}.admin-table tr.dup td{color:#b71c1c;background:#ffebee;font-weight:600}.admin-table tr.current td:first-child{box-shadow:inset 4px 0 0 var(--accent)}@media (max-width:600px){.card{margin:24px auto;padding:20px}}.admin-ok{font-weight:600;color:#2e7d32!important}.admin-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.admin-toolbar h2{margin:0}.admin-toolbar .google-btn{margin-top:0}.admin-select tbody tr{cursor:pointer}.admin-select tbody tr:hover td{background:var(--bg)}.admin-select tbody tr.selected td{background:color-mix(in srgb, var(--accent) 15%, transparent)}.admin-form{border:1px solid var(--border);border-radius:10px;margin:12px 0 24px;padding:16px}.admin-form h3{margin:0 0 4px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0 16px;display:grid}.admin-grid label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.admin-grid label.wide{grid-column:1/-1}.admin-grid input,.admin-grid select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:6px;width:100%;padding:8px}.admin-buttons .google-btn{margin-top:0}.admin-select td{white-space:nowrap}
