.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.logo{font-weight:700;font-size:1.25rem;color:var(--text);display:flex;align-items:center;gap:.75rem}.logo-img{height:42px;width:auto;display:block}.logo:hover{text-decoration:none;color:var(--text)}.nav{display:flex;align-items:center;gap:1.5rem}.nav a{color:var(--text-muted);font-weight:500}.nav a:hover{color:var(--color-blue)}.nav a.btn-primary,.nav a.btn-primary:hover{color:#fff}.nav-notifications{position:relative}.nav-badge{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;color:#fff;background:var(--color-red, #dc2626);border-radius:9px}.main{flex:1;padding:2rem 1.5rem;max-width:1200px;margin:0 auto;width:100%}.footer{padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;text-align:center;background:var(--color-blue);color:#fff;font-size:.875rem;border-top:1px solid var(--color-blue)}.theme-toggle-footer{background:#fff3;color:#fff}.theme-toggle-footer:hover{background:#ffffff59;color:#fff}.btn{padding:.5rem 1rem;border-radius:var(--radius);border:none;font-weight:600;font-size:.9rem}.btn-primary{background:var(--color-blue);color:#fff}a.btn-primary,a.btn-primary:hover{color:#fff}.btn-primary:hover{background:var(--accent-dim);color:#fff}.theme-toggle{padding:.4rem .6rem;border:none;border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:1.1rem;line-height:1}.theme-toggle:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.card h2{margin:0 0 .5rem;font-size:1.1rem}.card p{margin:0;color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--color-blue)}.home{text-align:center}.hero{padding:3rem 0}.hero-logo{width:160px;height:auto;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.hero h1{font-size:2.5rem;margin:0 0 1rem;background:linear-gradient(135deg,var(--color-blue),var(--color-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:1.15rem;color:var(--text-muted);max-width:520px;margin:0 auto 2rem;line-height:1.5}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-outline{background:transparent;border:2px solid var(--color-blue);color:var(--color-blue)}.btn-outline:hover{background:var(--color-blue);color:#fff;text-decoration:none}.games{margin-top:3rem}.games h2{margin-bottom:1rem;font-size:1.25rem}.game-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;max-width:560px;margin:0 auto}.game-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;font-weight:600;color:inherit;text-decoration:none;transition:border-color .2s,background .2s}.game-card:hover{border-color:var(--color-blue);background:var(--bg-card);color:inherit;text-decoration:none}.auth-page{max-width:400px;margin:0 auto}.auth-card h1{margin:0 0 1.5rem;font-size:1.5rem}.btn-block{width:100%;margin-top:.5rem}.password-hint{font-size:.8rem;color:var(--text-muted);margin:.35rem 0 0;line-height:1.3}.error{color:var(--danger);font-size:.9rem;margin:0 0 .5rem}.success{color:var(--color-blue);font-size:.9rem;margin:0 0 .5rem}.auth-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.auth-tab{flex:1;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-muted);font-weight:500;font-size:.95rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab:hover{color:var(--text)}.auth-tab.active{color:var(--color-blue);border-bottom-color:var(--color-blue)}.code-input{font-size:1.5rem;letter-spacing:.4em;text-align:center}.auth-back-link{margin-top:.75rem}.auth-footer{margin:1.25rem 0 0;color:var(--text-muted);font-size:.9rem}.auth-subtitle{color:var(--text-muted);margin:-1rem 0 1.5rem;font-size:.95rem}.role-choice-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.role-choice-btn{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;text-align:center;transition:all .2s ease}.role-choice-btn:hover{border-color:var(--color-blue);background:var(--bg-elevated)}.role-icon{font-size:2rem;margin-bottom:.5rem}.role-label{font-size:1.1rem;font-weight:600;color:var(--text)}.role-desc{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.unavailable-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.unavailable-message{font-size:1.1rem;color:var(--text);text-align:center;margin-bottom:1rem;line-height:1.5}.unavailable-details{font-size:.9rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;line-height:1.5}.back-btn{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1rem;display:inline-flex;align-items:center}.back-btn:hover{color:var(--text)}.dashboard h1{margin-bottom:.25rem}.muted{color:var(--text-muted);margin:0 0 1.5rem}.tournament-list{list-style:none;padding:0;margin:0}.tournament-list li{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tournament-list li:last-child{border-bottom:none}.badge{font-size:.75rem;padding:.2rem .5rem;background:var(--bg-elevated);border-radius:6px;color:var(--text-muted)}.stores-page h1{margin-bottom:1rem}.stores-page .error{color:#c40000;margin-bottom:.75rem}.toolbar{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.filter-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);min-width:200px}.sort-by-distance-btn{flex-shrink:0}.sort-hint{margin:-.5rem 0 1rem;font-size:.9rem}.store-distance{color:var(--color-blue);font-weight:600;font-size:.95rem;margin:0 0 .35rem}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.store-card h3{margin:0 0 .5rem}.store-card p{margin:.25rem 0}.store-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit}.store-card-photo-wrap{width:100%;height:140px;background:var(--bg-primary);flex-shrink:0}.store-card-photo{width:100%;height:100%;object-fit:cover}.store-card-photo-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.store-card-body{padding:1rem;flex:1;display:flex;flex-direction:column}.store-card-body h3{margin:0 0 .35rem}.store-card-body p{margin:.2rem 0}.store-detail-page h1{margin:0 0 .5rem}.store-detail-header{margin-bottom:1.5rem}.store-detail-header-inner{display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap}.store-detail-header-photo{width:120px;height:120px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);flex-shrink:0}.store-detail-header-photo-placeholder{width:120px;height:120px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.9rem}.store-detail-header-info{flex:1;min-width:0}.store-detail-header-info h1{margin:0 0 .5rem}.store-detail-location{margin-top:.75rem;color:var(--text-muted)}.store-detail-location p{margin:.2rem 0}.store-detail-section{margin-bottom:1.5rem}.store-detail-section h2{margin:0 0 1rem;font-size:1.15rem}.store-detail-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.store-detail-filters label{display:flex;align-items:center;gap:.35rem}.store-detail-filters label span{font-size:.9rem;color:var(--text-muted)}.store-detail-filters input[type=date]{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text)}.date-filter-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.95rem;cursor:pointer;min-width:140px}.date-filter-select:hover{border-color:var(--color-blue)}.date-filter-select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f633}.store-detail-table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.store-detail-table th,.store-detail-table td{padding:.75rem 1rem;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.store-detail-table th:last-child,.store-detail-table td:last-child{border-right:none}.store-detail-table thead tr{background:var(--color-dark-blue);color:#fff}.store-detail-table thead th{font-weight:600;border-bottom:2px solid rgba(255,255,255,.2);white-space:nowrap}.store-detail-table tbody tr:last-child td{border-bottom:none}.store-detail-table tbody tr:nth-child(2n){background:var(--bg-elevated)}.store-detail-table tbody tr:hover{background:var(--bg-primary)}.store-detail-league-badge{display:inline-block;padding:.2rem .5rem;font-size:.8rem;background:var(--accent);color:#fff;border-radius:6px;text-decoration:none}.store-detail-league-badge:hover{color:#fff;opacity:.9}.store-detail-page .tournament-status-badge,.store-detail-page .league-status-badge{display:inline-block;padding:.25rem .6rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.store-detail-page .tournament-status-in-progress{background:#cce5ff;color:#004085}[data-theme=dark] .store-detail-page .tournament-status-in-progress{background:#1a3a5c;color:#99c9f0}.store-detail-page .tournament-status-registration-open{background:#d4edda;color:#155724}[data-theme=dark] .store-detail-page .tournament-status-registration-open{background:#1e4620;color:#a3cfbb}.store-detail-page .tournament-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.store-detail-page .tournament-status-draft{background:#fff3cd;color:#856404}[data-theme=dark] .store-detail-page .tournament-status-draft{background:#4a3f00;color:#ffe69c}.store-detail-page .tournament-status-cancelled{background:#f8d7da;color:#721c24}[data-theme=dark] .store-detail-page .tournament-status-cancelled{background:#4a1c21;color:#f5c2c7}.store-detail-page .league-status-created{background:#d4edda;color:#155724}[data-theme=dark] .store-detail-page .league-status-created{background:#1e4620;color:#a3cfbb}.store-detail-page .league-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.tournaments-page h1{margin-bottom:.5rem}.game-filter-hint{margin-top:.25rem;margin-bottom:0}.store-search-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.store-name-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);min-width:220px}.store-name-badge{color:var(--text-muted);font-size:.9rem;margin:0 0 .25rem}.create-card{margin-bottom:2rem}.create-card h2{margin-bottom:1rem}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tournament-card{display:block;color:inherit}.tournament-card:hover{border-color:var(--accent);text-decoration:none;color:inherit}.tournament-card h3{margin:0 0 .5rem}.tournament-card p{margin:.25rem 0}.game-badge{background:var(--bg-elevated);padding:.2rem .4rem;border-radius:4px;font-size:.85rem}.tournament-card .status{color:var(--text-muted);font-size:.85rem;margin-top:.5rem}.error-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.error-popup-box{background:var(--bg-elevated);color:var(--text);border-radius:var(--radius);padding:1.5rem;max-width:420px;width:100%;box-shadow:0 8px 32px #0003;border:1px solid var(--border)}.error-popup-title{margin:0 0 .75rem;font-size:1.25rem;color:var(--danger)}.error-popup-message{margin:0 0 1.25rem;font-size:1rem;line-height:1.4;color:var(--text)}.error-popup-box .btn{width:100%}.tournament-detail .detail-header{margin-bottom:1.5rem}.tournament-detail .error{color:var(--danger);font-size:.9rem;margin:0 0 .5rem}.tournament-detail .detail-header h1{margin:0 0 .5rem}.invite-section .qr-wrap{margin-top:1rem}.qr-image{width:200px;height:200px;display:block}.actions-section{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.actions-section h2{width:100%;margin-bottom:.5rem}.round{margin-bottom:1rem}.round h3{margin:0 0 .5rem;font-size:1rem}.match-list{list-style:none;padding:0;margin:0}.match-list li{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.report-result{display:inline-flex;gap:.5rem;margin-left:auto}.report-result select{padding:.35rem .5rem;border-radius:6px;background:var(--bg-primary);color:var(--text);border:1px solid var(--border)}.match-status-waiting{color:var(--text-muted);font-size:.9rem}.match-status-conflict{color:var(--warning, #b45309);font-size:.9rem;font-weight:500}.resolve-conflict{display:inline-flex;gap:.5rem;margin-left:auto}.resolve-conflict select{padding:.35rem .5rem;border-radius:6px;background:var(--bg-primary);color:var(--text);border:1px solid var(--border)}.btn-sm{padding:.35rem .75rem;font-size:.85rem}.standings-list{margin:0;padding-left:1.25rem}.standings-list li{padding:.25rem 0}.join-tournament-page{max-width:420px;margin:0 auto}.join-card h1{font-size:1.25rem;margin:0 0 .5rem;color:var(--text-muted)}.join-card h2{margin:0 0 1rem}.join-card .success{color:var(--accent)}.join-card .btn-lg{margin-top:1rem}.leagues-page h1{margin-bottom:1rem}.leagues-section{margin-bottom:1.5rem}.leagues-section h2{margin:0 0 1rem}.create-league-form .form-group{margin-bottom:.75rem}.create-league-form .form-actions{display:flex;gap:.5rem;margin-top:1rem}.league-list{list-style:none;padding:0;margin:1rem 0 0}.league-list li{padding:.35rem 0;border-bottom:1px solid var(--border)}.league-list li:last-child{border-bottom:none}.league-detail-page .detail-header{margin-bottom:1.5rem}.league-detail-page .detail-header h1{margin:0 0 .25rem}.league-detail-page .section-card{margin-bottom:1.5rem}.league-detail-page .section-card h2{margin:0 0 .75rem}.league-detail-page .pending-list,.league-detail-page .participants-list,.league-detail-page .tournaments-list,.league-detail-page .match-history-list{list-style:none;padding:0;margin:0}.league-detail-page .pending-list li,.league-detail-page .participants-list li,.league-detail-page .tournaments-list li{padding:.5rem 0;border-bottom:1px solid var(--border)}.league-detail-page .match-history-list li{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.league-detail-page .store-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.league-detail-page .player-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.league-detail-page .stat-box{background:var(--bg-elevated);padding:.75rem;border-radius:8px;text-align:center}.league-detail-page .stat-box .value{font-size:1.5rem;font-weight:700}.league-detail-page .stat-box .label{font-size:.85rem;color:var(--text-muted)}.league-detail-page .error{color:#c40000;margin:.5rem 0}.league-detail-page .success{color:var(--color-green, #0a0);margin:.5rem 0}.league-detail-page .muted{color:var(--text-muted);font-size:.95rem}.league-detail-page .btn-sm{padding:.35rem .6rem;font-size:.875rem}.league-detail-page .league-standings-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.95rem}.league-detail-page .league-standings-table th,.league-detail-page .league-standings-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.league-detail-page .league-standings-table th{font-weight:600;color:#fff}.league-detail-page .league-standings-table tr.current-player td{background:var(--primary-light, rgba(37, 99, 235, .12));font-weight:600;border-left:3px solid var(--primary, #2563eb)}.league-detail-page .league-standings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.notifications-page{max-width:600px}.notifications-page h1{margin-bottom:1rem}.notifications-list{list-style:none;padding:0;margin:0}.notifications-list li{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:1rem;margin-bottom:.75rem;background:var(--card-bg, #fff)}.notifications-list li.unread{border-left:4px solid var(--primary, #2563eb)}.notification-body{display:flex;flex-direction:column;gap:.5rem}.notification-body p{margin:0}.notification-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.25rem}.notification-date{font-size:.85rem;margin-top:.25rem}.notifications-error{color:var(--danger, #c00);margin-top:1rem}.notifications-toggle{margin:0 0 .75rem}.notifications-toggle .link{background:none;border:none;color:var(--primary, #2563eb);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.accept-invite-page{max-width:480px;margin:0 auto}.accept-invite-page.card{padding:1.5rem;border-radius:12px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff)}.accept-invite-page h1{margin-top:0;margin-bottom:1rem}.accept-invite-actions{display:flex;gap:.75rem;align-items:center;margin:1rem 0}.accept-invite-page .muted{margin-bottom:1rem}.date-input{min-height:2.25rem;padding:.4rem .6rem;font-size:1rem;font-family:inherit;color:var(--text-primary, #1a1a1a);background:var(--bg-primary, #fff);border:1px solid var(--border, #ccc);border-radius:var(--radius, 6px);min-width:10rem;box-sizing:border-box}.date-input:hover{border-color:var(--border-hover, #999)}.date-input:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px #2563eb33}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;padding:2px}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}@media(prefers-color-scheme:dark){.date-input{color:var(--text-primary);background:var(--bg-primary);border-color:var(--border)}}.profile-page h1{margin-bottom:.25rem}.profile-required-banner{margin-bottom:1rem;border-left:4px solid var(--primary, #2563eb)}.profile-required-banner p{margin:.25rem 0}.profile-required-banner p:first-child{margin-top:0}.auth-notice{font-size:.9rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem;line-height:1.4}.profile-page .card h2{margin-bottom:1rem}.profile-page .card h3{margin:1rem 0 .5rem;font-size:1rem}.profile-page ul{margin:0;padding-left:1.25rem}.profile-page li{padding:.25rem 0}.profile-status{font-weight:600;padding:.2rem .5rem;border-radius:6px;font-size:.9rem}.profile-status-active{background:#d4edda;color:#155724}[data-theme=dark] .profile-status-active{background:#1e4620;color:#a3cfbb}.profile-status-pending{background:#fff3cd;color:#856404}[data-theme=dark] .profile-status-pending{background:#4a3f00;color:#ffe69c}.profile-status-inactive{background:#f8d7da;color:#721c24}[data-theme=dark] .profile-status-inactive{background:#4a1c21;color:#f5c2c7}.profile-card .profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-card form>p.muted{margin-bottom:1.25rem}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover}.profile-avatar-placeholder{background:var(--bg-elevated);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.profile-info{margin:1rem 0}.profile-info p{margin:.35rem 0}.profile-photo-field{margin-top:1rem;margin-bottom:1.25rem}.profile-photo-field label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-muted)}.profile-photo-upload{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.profile-photo-upload input[type=file]{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.profile-photo-upload label.btn{cursor:pointer;margin:0}.profile-avatar-preview{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;margin-top:.75rem}.profile-tournament-list{list-style:none;padding-left:0}.profile-tournament-list li{padding:.5rem 0;border-bottom:1px solid var(--border)}.profile-tournament-list li:last-child{border-bottom:none}.profile-tournaments-wrap{overflow-x:auto;margin-top:.5rem}.profile-tournaments-table{margin:0}.profile-tournaments-table .profile-tournament-name{font-weight:600;color:var(--accent)}.profile-tournaments-table .profile-tournament-name:hover{text-decoration:underline}.profile-tournaments-table td .profile-league-badge{margin-left:.5rem;vertical-align:middle}.profile-league-badge{display:inline-block;padding:.15rem .4rem;font-size:.75rem;background:var(--accent);color:#fff;border-radius:4px}.profile-tournament-action{text-align:right;white-space:nowrap}.tournament-status-badge{display:inline-block;padding:.25rem .6rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.tournament-status-in-progress{background:#cce5ff;color:#004085}[data-theme=dark] .tournament-status-in-progress{background:#1a3a5c;color:#99c9f0}.tournament-status-registration-open{background:#d4edda;color:#155724}[data-theme=dark] .tournament-status-registration-open{background:#1e4620;color:#a3cfbb}.tournament-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.tournament-status-draft{background:#fff3cd;color:#856404}[data-theme=dark] .tournament-status-draft{background:#4a3f00;color:#ffe69c}.tournament-status-cancelled{background:#f8d7da;color:#721c24}[data-theme=dark] .tournament-status-cancelled{background:#4a1c21;color:#f5c2c7}:root{--color-red: #E73B3A;--color-gold: #FFD200;--color-blue: #2F76C4;--color-dark-blue: #2C3A7A;--color-orange: #F79020;--bg-primary: #E8E8EC;--bg-card: #f5f5f8;--bg-elevated: #ffffff;--accent: var(--color-blue);--accent-dim: #2563b0;--text: #1a1a2e;--text-muted: #4a4a5e;--border: #c8c8d4;--danger: var(--color-red);--warning: var(--color-gold);--radius: 12px;--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=dark]{--bg-primary: #1A1A2E;--bg-card: #252540;--bg-elevated: #2d2d48;--accent: #5c9ae8;--accent-dim: #7ab0f0;--text: #e8e8f0;--text-muted: #a0a0b8;--border: #3a3a52;--danger: #e73b3a;--warning: #FFD200}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}button{font-family:var(--font-sans);cursor:pointer}input,select,textarea{font-family:var(--font-sans)}.card table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.card table th,.card table td{padding:.75rem 1rem;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.card table th:last-child,.card table td:last-child{border-right:none}.card table thead tr{background:var(--color-dark-blue);color:#fff}.card table thead th{font-weight:600;border-bottom:2px solid var(--border);white-space:nowrap}.card table tbody tr:last-child td{border-bottom:none}.card table tbody tr:nth-child(2n){background:var(--bg-elevated)}.card table tbody tr:hover{background:var(--bg-primary)}
