:root{--bg:#121216;--panel:#1b1b21;--accent:#e4002b;--accent-hover:#c40025;--accent-dim:#e4002b24;--text:#f2f2f0;--text-muted:#8b8b93;--border:#2a2a32;--shadow:#00000073 0 12px 28px -8px;--display:"Space Grotesk", system-ui, sans-serif;--sans:"Inter", system-ui, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;font:16px/150% var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;max-width:900px;min-height:100svh;margin:0 auto;padding:0 24px;display:flex}h1,h2,h3{font-family:var(--display);color:var(--text);letter-spacing:-.02em;margin:0;font-weight:700}h1{font-size:1.5rem}h2{margin-bottom:14px;font-size:1.4rem}h3{font-size:1.05rem}p{margin:0}button{font-family:var(--sans);cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--text)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=640px){:root{font-size:15px}#root{padding:0 16px}}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 18px;display:flex}.app-header h1{align-items:center;gap:10px;display:flex}.app-header h1:before{content:"";background:var(--accent);border-radius:2px;flex-shrink:0;width:10px;height:10px}.nav-menu{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.nav-menu a{color:var(--text-muted);border-radius:6px;padding:7px 12px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.nav-menu a:hover{color:var(--text);background:var(--panel);text-decoration:none}.logout-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:4px;padding:7px 12px;font-size:.88rem;font-weight:600}.logout-link-btn:hover{background:var(--accent-dim)}.divider{background:linear-gradient(90deg, var(--accent), transparent 65%);border:none;height:2px;margin:0 0 32px}.login-box{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:18px;padding:70px 20px;display:flex}.login-box button{background:var(--accent);border-color:var(--accent);color:#fff;padding:12px 26px}.login-box button:hover{background:var(--accent-hover)}.admin-container{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:600px;margin:10px auto 50px;padding:26px}.tab-buttons{gap:8px;margin-bottom:22px;display:flex}.tab-buttons button{border:1px solid var(--border);background:0 0;flex:1;padding:9px 8px;font-size:.84rem}.tab-buttons button.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-form{flex-direction:column;gap:12px;display:flex}.admin-form h3{margin-bottom:2px}.admin-form select,.admin-form input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--sans);border-radius:6px;padding:10px 12px;font-size:.92rem}.admin-form select:focus,.admin-form input:focus{border-color:var(--accent);outline:none}.admin-form button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}.admin-form button[type=submit]:hover{background:var(--accent-hover)}.attendance-list{border:1px solid var(--border);border-radius:6px;max-height:250px;padding:4px 12px;overflow-y:auto}.attendance-row{cursor:pointer;border-bottom:1px solid var(--border);font-family:var(--mono);align-items:center;gap:10px;padding:9px 0;font-size:.88rem;display:flex}.attendance-row:last-child{border-bottom:none}.danger-zone{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.stepdown-btn,.revoke-btn{color:var(--accent);border:1px solid var(--accent);background:0 0}.stepdown-btn{width:100%}.stepdown-btn:hover,.revoke-btn:hover{background:var(--accent-dim)}.revoke-btn{padding:5px 12px;font-size:.8rem}.profile-coa,.empty-coa-placeholder{background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 16px;display:flex}.profile-coa{object-fit:contain;padding:12px}.empty-coa-placeholder{text-align:center;color:var(--text-muted);border-style:dashed;padding:8px;font-size:.72rem}.table-coa-icon{object-fit:contain;vertical-align:middle;background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:5px;width:26px;height:26px;padding:3px}.table-canton-cell{align-items:center;gap:8px;display:flex}.profile-container{justify-content:center;padding:20px 0 60px;display:flex}.profile-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:380px;padding:30px 26px}.profile-card h3{margin-bottom:12px;font-size:1.3rem}.small-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;padding:5px 10px;font-size:.76rem}.small-btn:hover{color:var(--text);border-color:var(--accent)}.profile-card form{flex-direction:column;gap:10px;display:flex}.profile-card input[type=text]{background:var(--bg);border:1px solid var(--border);color:var(--text);text-align:center;font-family:var(--sans);border-radius:6px;padding:9px 12px}.form-buttons{justify-content:center;gap:8px;display:flex}.form-buttons button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff}.canton-picker-section{border-top:1px solid var(--border);margin:24px 0 4px;padding-top:22px}.section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:12px;font-size:.76rem}.active-canton-badge{background:var(--bg);border:1px solid var(--border);border-radius:20px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.remove-canton-btn{background:var(--panel);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;padding:0;font-size:.9rem;line-height:1}.remove-canton-btn:hover{color:var(--accent);border-color:var(--accent)}.search-dropdown-container{position:relative}.search-dropdown-container input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--sans);border-radius:6px;padding:10px 12px}.canton-results-list{background:var(--panel);border:1px solid var(--border);text-align:left;z-index:10;max-height:220px;box-shadow:var(--shadow);border-radius:8px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.canton-results-list li{cursor:pointer;border-radius:5px;padding:9px 10px;font-size:.88rem}.canton-results-list li:hover{background:var(--accent-dim);color:var(--accent)}.close-dropdown-option{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-size:.8rem}.score-badge{background:var(--bg);border:1px solid var(--border);font-family:var(--mono);border-radius:8px;margin-top:22px;padding:14px}.score-badge strong{color:var(--accent);font-size:1.1rem}.leaderboard-container{padding:10px 0 60px}.leaderboard-container h2{text-align:left;margin-bottom:18px}.leaderboard-table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;overflow:hidden}.leaderboard-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:12px 14px;font-size:.7rem;font-weight:600}.leaderboard-table tbody td{border-bottom:1px solid var(--border);padding:12px 14px;font-size:.92rem}.leaderboard-table tbody tr:last-child td{border-bottom:none}.leaderboard-table tbody tr:hover td{background:#ffffff05}.rank-col{font-family:var(--mono);color:var(--text-muted);font-weight:600}.score-col{font-family:var(--mono);text-align:right;font-weight:600}.empty-text{color:var(--text-muted)}.current-user-row td{background:var(--accent-dim);position:relative}.current-user-row td:first-child:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start;gap:10px}.nav-menu{width:100%}.admin-container,.profile-card{padding:20px}.leaderboard-table thead th:nth-child(3),.leaderboard-table tbody td:nth-child(3){display:none}}
