:root{--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-app: #080c16;--bg-card: rgba(17, 24, 43, .75);--bg-card-hover: rgba(26, 36, 62, .85);--bg-input: #0f1423;--border-color: rgba(255, 255, 255, .08);--border-glow: rgba(16, 185, 129, .2);--primary: #10b981;--primary-glow: rgba(16, 185, 129, .4);--primary-dark: #059669;--secondary: #3b82f6;--accent-gold: #f59e0b;--accent-gold-glow: rgba(245, 158, 11, .3);--text-main: #f3f4f6;--text-muted: #9ca3af;--text-dark: #4b5563;--gradient-accent: linear-gradient(135deg, #10b981 0%, #3b82f6 100%);--gradient-gold: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-card: linear-gradient(135deg, rgba(17, 24, 43, .8) 0%, rgba(13, 19, 35, .8) 100%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .2);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .3);--shadow-glow: 0 0 15px var(--primary-glow);--shadow-gold-glow: 0 0 15px var(--accent-gold-glow)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(16,185,129,.08) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(59,130,246,.08) 0%,transparent 40%);background-attachment:fixed}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-dark)}.glass{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive:hover{background:var(--bg-card-hover);border-color:#ffffff26;box-shadow:0 12px 24px -10px #00000080;transform:translateY(-2px)}.app-container{display:flex;flex-direction:column;min-height:100vh}.header{position:sticky;top:0;z-index:100;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background:rgba(8,12,22,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-icon{width:2.2rem;height:2.2rem;color:var(--primary);filter:drop-shadow(0 0 8px var(--primary-glow));animation:spinSlow 20s linear infinite}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-menu{display:flex;gap:1rem}.nav-btn{background:transparent;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.95rem;font-weight:600;padding:.6rem 1.2rem;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.nav-btn:hover,.nav-btn.active{color:var(--text-main);background:rgba(255,255,255,.05)}.nav-btn.active{border-bottom:2px solid var(--primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.user-badge{display:flex;align-items:center;gap:1rem}.points-pill{background:var(--gradient-accent);color:#fff;padding:.4rem .8rem;border-radius:50px;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-glow)}.btn-icon{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-icon:hover{color:#ef4444;border-color:#ef44444d;background:rgba(239,68,68,.05)}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 150px)}.auth-card{width:100%;max-width:420px;padding:2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:1.8rem;font-weight:800;margin-bottom:.5rem}.auth-subtitle{color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-sans);font-size:1rem;outline:none;transition:all .2s ease}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #10b98126}.btn-primary{width:100%;padding:.8rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-glow)}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-muted)}.auth-switch-link{color:var(--primary);text-decoration:none;font-weight:600;cursor:pointer;margin-left:.25rem}.auth-switch-link:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider:not(:empty):before{margin-right:.5em}.auth-divider:not(:empty):after{margin-left:.5em}.social-auth-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.btn-passkey{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem;background:rgba(255,255,255,.05);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-passkey:hover{background:rgba(255,255,255,.1);border-color:var(--text-muted)}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.alert-error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#f87171}.alert-success{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:#34d399}.filters-bar{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem;align-items:center}.filter-btn{background:rgba(255,255,255,.03);border:1px solid var(--border-color);color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:50px;cursor:pointer;transition:all .2s ease}.filter-btn:hover,.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-btn.active{box-shadow:var(--shadow-glow)}.section-title{font-size:1.8rem;font-weight:800;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem}.match-card{padding:1.5rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.match-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--text-dark)}.match-card.finished:before{background:var(--text-muted)}.match-card.scheduled:before{background:var(--gradient-accent)}.match-card.points-earned:before{background:var(--accent-gold)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.match-badge{background:rgba(255,255,255,.05);padding:.25rem .6rem;border-radius:4px}.match-badge.stage{color:var(--primary);border:1px solid rgba(16,185,129,.2);background:rgba(16,185,129,.05)}.match-countdown{color:var(--secondary);font-weight:700}.match-teams{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.team-row{display:flex;justify-content:space-between;align-items:center}.team-info{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.05rem}.team-flag-placeholder{width:28px;height:20px;border-radius:3px;background:var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--text-muted);border:1px solid rgba(255,255,255,.05)}.team-score{font-size:1.5rem;font-weight:800;color:var(--text-main);background:rgba(255,255,255,.04);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.prediction-section{border-top:1px dashed var(--border-color);padding-top:1rem;margin-top:auto}.prediction-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}.prediction-inputs{display:flex;align-items:center;justify-content:space-between;gap:1rem}.prediction-inputs-box{display:flex;align-items:center;gap:.5rem}.pred-input{width:48px;height:38px;text-align:center;font-size:1.1rem;font-weight:800;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:#fff;outline:none}.pred-input:focus{border-color:var(--primary);box-shadow:0 0 5px #10b9814d}.pred-input:disabled{background:rgba(255,255,255,.02);color:var(--text-muted);border-color:transparent}.prediction-actions{display:flex;align-items:center;gap:.5rem}.btn-save-tip{padding:.5rem .75rem;background:var(--primary);border:none;color:#fff;font-family:var(--font-sans);font-weight:700;font-size:.85rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .2s ease}.btn-save-tip:hover{background:var(--primary-dark);box-shadow:var(--shadow-glow)}.playoff-winner-selector{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.playoff-winner-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.playoff-winner-buttons{display:flex;gap:.5rem}.playoff-winner-btn{flex:1;padding:.4rem;background:rgba(255,255,255,.03);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease}.playoff-winner-btn.active{background:var(--secondary);border-color:var(--secondary);color:#fff;box-shadow:0 0 8px #3b82f64d}.playoff-winner-btn:disabled{opacity:.6;cursor:not-allowed}.playoff-winner-btn.active:disabled{background:rgba(59,130,246,.2);border-color:transparent;color:var(--text-main)}.points-earned-tag{background:var(--gradient-gold);color:#fff;padding:.25rem .6rem;border-radius:4px;font-size:.8rem;font-weight:700;box-shadow:var(--shadow-gold-glow)}.points-earned-tag.zero{background:rgba(255,255,255,.05);color:var(--text-muted);box-shadow:none}.leaderboard-card{padding:2rem}.leaderboard-table-container{overflow-x:auto;margin-top:1rem}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left}.leaderboard-table th{padding:1rem;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-color)}.leaderboard-table td{padding:1rem;font-size:1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.leaderboard-row{transition:background .2s ease}.leaderboard-row:hover{background:rgba(255,255,255,.02)}.leaderboard-row.self{background:rgba(16,185,129,.04)}.rank-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:800;font-size:.9rem}.rank-1{background:var(--gradient-gold);color:#fff;box-shadow:var(--shadow-gold-glow)}.rank-2{background:linear-gradient(135deg,#cbd5e1 0%,#94a3b8 100%);color:#0f172a}.rank-3{background:linear-gradient(135deg,#b45309 0%,#78350f 100%);color:#fff}.rank-other{color:var(--text-muted)}.leaderboard-username{font-weight:700;display:flex;align-items:center;gap:.5rem}.user-role-badge{font-size:.65rem;font-weight:800;text-transform:uppercase;background:rgba(255,255,255,.08);padding:.15rem .4rem;border-radius:3px;color:var(--text-muted)}.leaderboard-points{font-weight:800;color:var(--primary);font-size:1.1rem}.admin-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.admin-match-row{display:flex;flex-direction:column;padding:1.5rem;gap:1rem}@media (min-width: 768px){.admin-match-row{flex-direction:row;align-items:center;justify-content:space-between}}.admin-match-info{display:flex;flex-direction:column;gap:.25rem}.admin-match-teams{font-weight:700;font-size:1.1rem}.admin-input-group{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.admin-score-inputs{display:flex;align-items:center;gap:.5rem}.admin-score-input{width:50px;height:38px;text-align:center;font-size:1.1rem;font-weight:800;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:#fff}.admin-score-input:focus{border-color:var(--secondary)}.admin-actions{display:flex;align-items:center;gap:.75rem}.btn-admin-save{padding:.6rem 1rem;background:var(--secondary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease}.btn-admin-save:hover{background:#2563eb;box-shadow:0 0 10px #3b82f666}.team-edit-box{display:flex;gap:.5rem;width:100%;max-width:400px}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:.6rem 1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-main)}.no-data{text-align:center;padding:3rem;color:var(--text-muted);font-weight:500}
