:root{color:#0f172a;font-family:Inter,Segoe UI,sans-serif;--font-display: "Big Shoulders Display", "Arial Narrow", "Segoe UI", sans-serif;background:repeating-linear-gradient(180deg,rgba(15,23,42,.035) 0px,rgba(15,23,42,.035) 2px,transparent 2px,transparent 56px),radial-gradient(circle at top right,rgba(251,191,36,.28),transparent 20%),radial-gradient(circle at bottom left,rgba(15,118,110,.18),transparent 24%),linear-gradient(180deg,#f6f4ee,#eff4f8)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;text-align:left}button,input,select,textarea{font:inherit}button{border:none;cursor:pointer}img{display:block}.app-shell{min-height:100vh;padding:24px 28px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.brand-button{background:transparent;color:#0f172a;font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.topbar-actions,.topbar-nav,.hero-actions,.auth-links,.login-actions{display:flex;align-items:center;gap:12px}.language-switcher{display:inline-flex;gap:8px;padding:4px;border-radius:999px;background:#fffc;border:1px solid rgba(148,163,184,.25)}.flag-button{width:42px;height:42px;border-radius:999px;background:transparent;font-size:.85rem;font-weight:700;color:#475569}.flag-button--active{background:#fff;color:#0f172a;box-shadow:0 10px 22px #0f172a14}.text-nav-button,.nav-button,.primary-button,.secondary-button,.text-button,.league-card,.pick-grid button,.team-select__trigger,.team-select__option{border-radius:18px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.text-nav-button{padding:10px 14px;background:transparent;color:#475569}.text-nav-button--active{background:#fffffff2;color:#0f172a;box-shadow:0 12px 24px #0f172a14}.nav-button,.primary-button,.league-card{background:linear-gradient(180deg,#12486b,#0b2748);color:#fff;padding:13px 18px}.secondary-button,.pick-grid button{padding:13px 18px;background:#ffffffeb;color:#0f172a;border:1px solid rgba(148,163,184,.3)}.text-button{padding:0;background:transparent;color:#0f4c81}.nav-button:hover,.primary-button:hover,.secondary-button:hover,.league-card:hover,.pick-grid button:hover,.team-select__trigger:hover,.team-select__option:hover{transform:translateY(-1px);box-shadow:0 16px 28px #0f172a1f}.main-shell{display:flex;flex-direction:column;gap:24px}.home-page,.auth-page,.dashboard-page{width:100%}.hero-home,.auth-card,.panel,.game-card{border-radius:28px;border:1px solid rgba(148,163,184,.24);box-shadow:0 22px 48px #0f172a14}.field-card{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.game-card,.home-match-card{position:relative}.game-card:before,.home-match-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--home-color, #1d4ed8) 50%,var(--away-color, #f59e0b) 50%);border-radius:inherit}.hero-home{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:24px;align-items:stretch}.hero-home__content,.hero-home__visual,.auth-card,.panel,.game-card{background:#ffffffd6}.hero-home__content{padding:36px;background:linear-gradient(145deg,#0b2748f5,#12486beb),#ffffffd6;color:#f8fafc}.eyebrow{margin:0 0 12px;color:#b45309;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero-home__content .eyebrow{color:#fbbf24}.hero-home h1{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:.94;max-width:12ch}.hero-copy,.panel-copy,.tool-card p,.member-list small,.status-bar{color:#334155;line-height:1.55}.hero-home__content .hero-copy{margin:18px 0 0;color:#f1f5f9eb;max-width:54ch}.hero-actions{margin-top:26px}.hero-home__visual{padding:28px;background:linear-gradient(180deg,#0a4a34fa,#0b3627fa),#ffffffd6;color:#fff}.hero-preview-head{display:flex;gap:16px;align-items:start}.hero-preview-head h2,.auth-card h2,.panel-header h3,.faq-panel h2{margin:0}.hero-home__visual .panel-copy{margin:14px 0 18px;color:#e2e8f0eb}.home-match-list{display:grid;gap:12px}.home-match-card{display:grid;gap:10px;padding:16px 18px;border-radius:18px;background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.home-match-card__teams,.home-match-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.home-match-card__teams{font-weight:700}.home-match-card__meta{color:#e2e8f0d1;font-size:.92rem}.home-match-card__odds{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#fbbf24;font-weight:700;font-size:.92rem}.faq-page{width:100%}.faq-panel{max-width:980px}.faq-list{display:grid;gap:16px}.faq-item{padding:20px 22px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0}.faq-item h3,.faq-item p{margin:0}.faq-item p{margin-top:10px;color:#334155;line-height:1.65}.auth-page{min-height:62vh}.auth-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:30px}.auth-card__main{display:grid;gap:18px}.auth-form,.auth-support,.auth-step,.league-tools,.dashboard-main,.matchday-summary,.profile-grid,.standings-table,.member-list,.tool-card,.selected-league-copy,.team-select{display:grid;gap:12px}.auth-form--dense{gap:14px}.auth-step{padding:18px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0}.auth-step h3{margin:0}.auth-token-card{display:grid;gap:8px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff7ed,#fff);border:1px solid rgba(251,146,60,.3)}.auth-token-card code{overflow-wrap:anywhere;padding:12px 14px;border-radius:16px;background:#0f172a;color:#f8fafc}.auth-support{align-content:start}.panel{padding:22px}.panel input,.panel select,.auth-card input,.auth-card select,.team-select__trigger{width:100%;padding:12px 14px;border-radius:16px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.panel input:focus,.panel select:focus,.auth-card input:focus,.auth-card select:focus,.team-select__trigger:focus{outline:2px solid rgba(15,76,129,.18);border-color:#0f4c8170}.team-select{position:relative}.team-select__label{color:#334155;font-size:.95rem}.team-select__trigger{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}.team-select__trigger--open{border-color:#0f4c8170}.team-select__value,.team-select__option{display:flex;align-items:center;gap:12px}.team-select__value img,.team-select__option img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.team-select__placeholder,.panel-hint,.matchday-summary span,.selected-league-copy small,.game-card__footer,.matchday-card small{color:#64748b}.team-select__chevron{font-weight:700;color:#475569}.team-select__menu{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:280px;overflow:auto;padding:8px;border-radius:20px;border:1px solid rgba(148,163,184,.24);background:#fffffffa;box-shadow:0 22px 48px #0f172a24;z-index:20}.team-select__option{width:100%;padding:12px 14px;background:transparent;color:#0f172a;text-align:left}.team-select__option--selected{background:#0f4c8114}.panel-header{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.session-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#eff6ff;color:#1e40af;font-weight:700}.content-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.admin-layout,.info-grid,.league-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-overview-grid,.admin-filter-grid,.admin-section-layout,.admin-detail-columns,.admin-kpi-grid{display:grid;gap:16px}.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview-grid--compact{gap:10px;margin-bottom:20px}.admin-overview-grid--compact .tool-card{padding:12px}.admin-overview-grid--compact .info-value{font-size:1.05rem}.admin-subnav{margin-bottom:18px}.admin-sync-feedback{margin-top:4px}.admin-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.admin-filter-grid--wide{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}.admin-section-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start}.admin-list-card,.admin-detail-card{padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.admin-list-card,.admin-detail-card,.admin-detail-columns>div{display:grid;gap:12px}.admin-list-item{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;text-align:left;border-radius:18px;border:1px solid rgba(226,232,240,.9);background:#ffffffeb;color:#0f172a}.admin-list-item--active{border-color:#0f4c8170;background:#eff6ff}.admin-list-item>div,.admin-list-meta,.admin-detail-head,.admin-kpi-grid>div{display:grid;gap:4px}.admin-list-meta{justify-items:end}.admin-detail-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-kpi-grid strong{color:#0f172a}.admin-danger-button{border-color:#dc262633;color:#991b1b}.league-card{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px;text-align:left}.league-card div{display:grid;gap:4px}.league-card--active,.pick-button--selected{background:linear-gradient(180deg,#d97706,#92400e)!important}.tool-card{padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.tool-card label{display:grid;gap:8px;color:#334155}.matchday-nav{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:12px;align-items:center;margin-bottom:18px}.matchday-arrow{min-height:72px;display:grid;place-items:center;font-size:1.3rem}.game-card{padding:18px;margin-bottom:18px}.game-card__teams,.game-card__footer,.spread-button,.selected-league-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-card__vs{color:#b45309;font-family:var(--font-display);font-size:1.1rem;font-weight:700;text-transform:uppercase}.game-card__markets{margin-top:14px}.pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pick-grid--spread{grid-template-columns:repeat(2,minmax(0,1fr))}.spread-button,.pick-button{width:100%}.pick-button--saving{outline:2px solid rgba(217,119,6,.34)}.pick-button--error{background:linear-gradient(180deg,#dc2626,#991b1b)!important}.pick-button--locked{opacity:.6;cursor:not-allowed}.selected-league-meta{margin-top:14px;justify-content:start}.selected-league-logo{width:56px;height:56px;border-radius:16px;overflow:hidden;background:#f8fafc;border:1px solid #e2e8f0}.selected-league-logo img{width:100%;height:100%;object-fit:cover}.team-badge{display:flex;align-items:center;gap:12px;min-width:0;font-weight:700}.team-badge__logo{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:10px;background:#fff}.member-list{list-style:none;padding:0;margin:0}.member-list li,.standings-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#ffffffd6;border:1px solid rgba(226,232,240,.9)}.standings-row{grid-template-columns:60px 1fr 80px}.standings-row--head{background:#eff6ff;color:#1e40af;font-weight:700}.profile-panel{max-width:920px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-value{color:#0f172a;font-size:1.2rem;font-weight:800}.info-value--small{font-size:1rem;font-weight:600}.profile-save-button{margin-top:20px}.admin-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-bar{margin-top:18px;padding:0 6px;font-size:.95rem}@media (max-width: 1100px){.hero-home,.auth-card,.content-grid,.admin-layout,.admin-overview-grid,.admin-filter-grid,.admin-filter-grid--wide,.admin-section-layout,.admin-detail-columns,.admin-kpi-grid,.info-grid,.league-status-grid,.profile-grid,.hero-preview-head{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{padding:16px}.topbar{flex-direction:column;align-items:start}.topbar-actions,.topbar-nav,.hero-actions,.auth-links{width:100%;flex-wrap:wrap}.nav-button,.primary-button,.secondary-button{width:100%}.hero-home__content,.hero-home__visual,.auth-card,.panel{padding:20px}.matchday-nav,.pick-grid,.pick-grid--spread,.admin-inline-actions{grid-template-columns:1fr}.home-match-card__teams,.home-match-card__meta,.home-match-card__odds,.game-card__teams,.game-card__footer{flex-direction:column;align-items:start}}
