:root{--bg:#080b0a;--panel:#101513;--panel2:#151c18;--line:#26312a;--text:#f4f8f4;--muted:#8c9b91;--green:#b6ff3b;--green2:#69e52b;--blue:#1b5fff;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#0b0f0d;border-right:1px solid #1d2620;padding:28px 17px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:22px;letter-spacing:-1px;padding:0 9px 35px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:var(--green);color:#10160c;font-weight:950;font-size:19px;box-shadow:0 0 22px #b6ff3b22}.brand-dot{color:var(--green)}.side-label{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#627067;padding:0 13px 11px}.side-link,.league-shortcut{display:flex;align-items:center;gap:13px;width:100%;padding:12px 13px;border:0;border-radius:12px;background:transparent;color:#a5b1a8;text-align:left;margin-bottom:4px}.side-link span{width:19px;text-align:center;font-size:18px}.side-link.active,.side-link:hover,.league-shortcut:hover{background:#18231a;color:var(--green)}.leagues-label{margin-top:28px}.league-shortcut{font-size:12px;padding:10px 12px}.league-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-size:9px;font-weight:900;color:white;background:#4a315e}.league-icon.red{background:#7c2637}.league-icon.blue{background:#174b9a}.league-icon.sky{background:#175e77}.league-icon.orange{background:#8b4b16}.sidebar-bottom{margin-top:auto;border-top:1px solid #202922;padding:19px 5px 0;display:flex;align-items:center;gap:10px}.avatar,.profile-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#1b2b1d;border:1px solid #34503a}.sidebar-bottom b,.sidebar-bottom small{display:block}.sidebar-bottom b{font-size:12px}.sidebar-bottom small{font-size:10px;color:var(--muted);margin-top:4px}.sidebar-bottom .icon-button{margin-left:auto}.main-content{margin-left:246px;max-width:1700px;min-height:100vh;padding:0 38px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1d2620;gap:20px}.breadcrumb{font-size:12px;color:#a8b3ab}.breadcrumb span{color:#526057;margin:0 8px}.top-actions{display:flex;align-items:center;gap:11px}.timezone{font-size:11px;color:#a5b3a8;background:#111814;padding:9px 12px;border-radius:20px}.icon-button{width:35px;height:35px;border:1px solid #29352d;background:#111713;color:#dbe5dc;border-radius:50%;font-size:18px}.profile-button{display:flex;align-items:center;gap:9px;background:#121914;border:1px solid #27342b;border-radius:24px;padding:5px 11px 5px 5px;color:#dbe5dc;font-size:11px}.profile-avatar{width:27px;height:27px;font-weight:900;color:var(--green);border-color:#314a34}.mobile-menu{display:none}.view{display:none}.view.active{display:block}.hero{position:relative;overflow:hidden;min-height:370px;margin-top:25px;padding:44px 42px;border:1px solid #24352a;border-radius:25px;background:radial-gradient(ellipse at 82% 45%,#173f20 0,#0d1a12 32%,#0c110e 66%);display:grid;grid-template-columns:1fr 0.9fr;align-items:center}.hero-copy{position:relative;z-index:2;max-width:570px}.eyebrow{color:var(--green);font-size:10px;font-weight:850;letter-spacing:1.9px;margin-bottom:13px}.live-dot,.mini-live{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #b6ff3b88;margin-right:7px}.hero h1{font-size:clamp(38px,4.5vw,64px);line-height:.99;letter-spacing:-3.4px;margin:0 0 20px;font-weight:900}.hero h1 span{color:var(--green);text-shadow:0 0 28px #b6ff3b22}.hero p,.page-heading p{color:#9ba99f;line-height:1.75;max-width:440px;font-size:13px}.hero-buttons{display:flex;gap:11px;margin-top:24px}.btn{border-radius:11px;padding:12px 16px;font-weight:800;font-size:11px;border:1px solid transparent}.btn-primary{background:var(--green);color:#10170d;box-shadow:0 6px 24px #b6ff3b1c}.btn-primary:hover{background:#cbff72}.btn-primary span{margin-left:14px}.btn-ghost{background:#141b16;border-color:#2a392d;color:#d8e4da}.btn-ghost:hover{border-color:#6f9c58}.hero-proof{font-size:10px;color:#7f9184;margin-top:22px}.hero-proof span{color:var(--green);margin-right:5px}.hero-visual{position:relative;min-height:260px;display:grid;place-items:center}.hero-glow{position:absolute;width:310px;height:230px;background:#3fdd1b23;filter:blur(45px);border-radius:50%}.pitch{position:relative;width:min(100%,350px);height:220px;border:2px solid #a9ff43;border-radius:110px/70px;background:linear-gradient(135deg,#0d391f,#0a2014);box-shadow:0 0 35px #5dff2920;transform:rotate(-8deg);overflow:hidden}.pitch:before,.pitch:after{content:"";position:absolute;top:50%;width:45px;height:82px;border:2px solid #a9ff43;transform:translateY(-50%)}.pitch:before{left:-2px;border-left:0}.pitch:after{right:-2px;border-right:0}.halfway{position:absolute;top:0;bottom:0;left:50%;border-left:2px solid #a9ff43}.pitch-circle{position:absolute;width:92px;height:92px;border:2px solid #a9ff43;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.penalty{position:absolute;top:50%;width:55px;height:90px;border:2px solid #a9ff43;transform:translateY(-50%)}.penalty.left{left:0;border-left:0}.penalty.right{right:0;border-right:0}.pitch-ball{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;filter:drop-shadow(0 0 10px #b6ff3b88)}.floating-card{position:absolute;background:#111a14eF;border:1px solid #344a37;border-radius:12px;padding:11px 14px;box-shadow:0 12px 30px #0005;font-size:9px;letter-spacing:.5px}.floating-top{top:8px;right:4px;color:#b4c4b7}.floating-top b{color:var(--green);margin-left:5px}.floating-bottom{bottom:8px;left:0;display:flex;align-items:center;gap:10px}.floating-bottom small,.floating-bottom b{display:block}.floating-bottom small{color:#718477;font-size:8px;margin-bottom:4px}.floating-bottom b{font-size:11px}.stat-icon{display:grid;place-items:center;background:#233d24;color:var(--green);width:29px;height:29px;border-radius:8px;font-size:18px}.hero-index{position:absolute;bottom:18px;right:25px;color:var(--green);font-weight:900;font-size:11px}.hero-index span{color:#607064}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0 38px}.quick-stats>div{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid #202b23;background:#0e1310;border-radius:14px}.quick-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#1a2b1a;color:var(--green);font-size:18px}.quick-stats b,.quick-stats small{display:block}.quick-stats b{font-size:11px}.quick-stats small{color:#819087;font-size:10px;margin-top:5px}.content-section{margin:0 0 39px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:19px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2,.page-heading h1{font-size:25px;letter-spacing:-1px;margin:0;font-weight:850}.heading-pill{font-size:8px;letter-spacing:1px;color:#d9b66c;border:1px solid #54472b;background:#2a2316;border-radius:5px;padding:5px 7px;vertical-align:middle;margin-left:7px}.text-button{background:none;border:0;color:var(--green);font-size:11px;font-weight:800}.text-button span{margin-left:8px}.date-strip{display:flex;gap:8px;margin-bottom:13px;overflow:auto;padding-bottom:2px}.date-item{min-width:82px;border:1px solid #263229;border-radius:11px;background:#101612;color:#9ca99f;padding:9px 10px;text-align:center}.date-item b,.date-item small{display:block}.date-item b{font-size:11px;color:#e1e9e2}.date-item small{font-size:9px;margin-top:4px}.date-item.selected{background:#b6ff3b;color:#12180d;border-color:#b6ff3b}.date-item.selected b{color:#12180d}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filter-chip{background:#101612;border:1px solid #29352d;color:#a9b7ac;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:750}.filter-chip.selected,.filter-chip:hover{background:#1d2d1d;border-color:#719a53;color:var(--green)}.demo-notice{padding:10px 13px;border:1px solid #4a3d25;background:#211c12;color:#d5b77c;border-radius:9px;font-size:10px;margin:12px 0 15px}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.match-card{background:linear-gradient(145deg,#131a15,#0f1411);border:1px solid #26332a;border-radius:16px;padding:16px;min-width:0;transition:transform .2s,border-color .2s}.match-card:hover{transform:translateY(-2px);border-color:#5a7b45}.match-card-top{display:flex;justify-content:space-between;align-items:center;color:#849489;font-size:9px;margin-bottom:17px}.competition{display:flex;align-items:center;gap:7px}.comp-badge{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#1d3020;color:var(--green);font-size:8px;font-weight:900}.status{font-size:8px;color:#e1bd6e;background:#332a18;padding:5px 7px;border-radius:5px}.teams-row{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:8px}.team{text-align:center;min-width:0}.team-logo{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:radial-gradient(circle at 30% 20%,#344b3b,#19231c);border:1px solid #3b4c3e;font-size:22px;box-shadow:0 5px 14px #0003}.team-name{font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-sub{font-size:8px;color:#7f8e83;margin-top:4px}.score{text-align:center}.score b{font-size:19px;letter-spacing:1px}.score small{display:block;font-size:8px;color:#829187;margin-top:5px}.match-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #273229;margin-top:16px;padding-top:12px;color:#8a998e;font-size:9px}.favorite{background:none;border:0;color:#718073;font-size:19px;padding:0 2px}.favorite.saved{color:var(--green)}.league-section{padding-bottom:10px}.league-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.league-card{display:flex;align-items:center;gap:13px;padding:16px;background:#101612;border:1px solid #263229;border-radius:14px;text-align:left;transition:all .2s;color:var(--text)}.league-card:hover{border-color:#6a914c;transform:translateY(-2px);background:#141d16}.league-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#1b2b1e;color:var(--green);font-size:11px;font-weight:950;flex-shrink:0}.league-card b,.league-card small{display:block}.league-card b{font-size:11px}.league-card small{font-size:9px;color:#85958a;margin-top:5px}.league-arrow{margin-left:auto;color:#647568}.page-heading{padding:45px 0 23px}.page-heading h1{font-size:38px;letter-spacing:-1.8px}.page-heading h1 span{color:var(--green)}.page-heading p{max-width:630px}.league-grid-large{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:40px}.league-grid-large .league-card{padding:21px}.news-placeholder{display:flex;gap:23px;align-items:center;padding:30px;border:1px solid #273329;background:linear-gradient(120deg,#111813,#0d120f);border-radius:20px;max-width:750px}.news-art{display:grid;place-items:center;width:100px;height:100px;border-radius:20px;background:radial-gradient(circle,#35572a,#16221a);font-size:45px}.news-placeholder h2{margin:9px 0;font-size:21px}.news-placeholder p{color:#91a096;line-height:1.7;font-size:12px;max-width:480px}.coming-soon{color:#b6ff3b;border:1px solid #3c542b;background:#192519;border-radius:5px;padding:5px 7px;font-size:8px;letter-spacing:.8px;font-weight:850}.settings-card{border:1px solid #26332a;background:#101612;border-radius:17px;max-width:850px;margin-bottom:45px;padding:0 20px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid #273229}.setting-row:last-child{border-bottom:0}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:12px}.setting-row small{font-size:10px;color:#819087;margin-top:5px}.setting-value{font-size:10px;color:var(--green)}.btn-small{padding:9px 11px}.footer{border-top:1px solid #202a23;padding:24px 0 27px;display:flex;align-items:center;justify-content:space-between;color:#6f7f73;font-size:9px;gap:12px}.footer-brand{padding:0;font-size:16px}.footer-brand .brand-mark{width:26px;height:26px;font-size:15px;border-radius:8px}.search-modal{position:fixed;inset:0;background:#000b;backdrop-filter:blur(10px);z-index:50;display:none;place-items:start center;padding:15vh 18px}.search-modal.open{display:grid}.search-box{position:relative;width:min(100%,560px);padding:30px;border:1px solid #354637;background:#101612;border-radius:20px;box-shadow:0 25px 80px #0009}.modal-close{position:absolute;right:18px;top:14px;background:none;border:0;color:#b4c1b6;font-size:25px}.search-box h2{margin:0 0 17px;font-size:25px}.search-box input{width:100%;background:#080d09;border:1px solid #344337;border-radius:11px;padding:14px;color:white;outline:none}.search-box input:focus{border-color:var(--green)}.search-results{padding-top:12px;display:grid;gap:7px}.search-result{padding:10px;border-radius:9px;background:#19221b;color:#c9d6cc;font-size:11px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#d3ff9a;color:#10180b;border-radius:10px;padding:12px 17px;font-size:11px;font-weight:800;transition:.25s;z-index:60}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}
@media(max-width:1150px){.sidebar{width:215px}.main-content{margin-left:215px;padding:0 25px}.hero{padding:34px 28px}.hero h1{font-size:47px}.league-grid,.league-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .25s;width:260px;box-shadow:20px 0 50px #0008}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:0 17px 75px}.topbar{height:64px}.mobile-menu{display:block;background:#121914;border:1px solid #29352d;border-radius:9px;color:var(--green);padding:8px 10px}.breadcrumb{display:none}.top-actions{margin-left:auto;gap:6px}.timezone{display:none}.profile-text{display:none}.hero{grid-template-columns:1fr;padding:29px 23px 34px;min-height:unset}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero-visual{min-height:225px;margin-top:18px}.pitch{width:min(85%,330px);height:190px}.floating-top{right:0}.floating-bottom{left:0}.hero-index{bottom:12px}.quick-stats{grid-template-columns:1fr;gap:8px;margin-bottom:30px}.quick-stats>div{padding:11px 13px}.match-grid{grid-template-columns:1fr}.league-grid,.league-grid-large{grid-template-columns:1fr 1fr}.section-heading h2{font-size:22px}.page-heading{padding-top:33px}.page-heading h1{font-size:33px}.footer{flex-wrap:wrap}.footer>span:last-child{width:100%}.news-placeholder{padding:20px;align-items:flex-start;flex-direction:column}.news-art{width:70px;height:70px;font-size:32px}.setting-row{align-items:flex-start;flex-direction:column}.setting-row .btn{align-self:flex-start}}
@media(max-width:420px){.main-content{padding-left:12px;padding-right:12px}.hero{padding:25px 18px}.hero h1{font-size:39px}.hero-buttons{flex-wrap:wrap}.league-grid,.league-grid-large{grid-template-columns:1fr}.top-actions .icon-button{width:31px;height:31px}.hero-visual{min-height:200px}.pitch{height:160px}.floating-card{padding:8px 10px}}

/* Football-Data.org live schedule additions */
#apiNotice[hidden]{display:none}#apiNotice{margin:12px 0 16px}#apiNotice[data-kind="success"]{border-color:#355535;background:#142115;color:#c7f3a0}#apiNotice[data-kind="warning"]{border-color:#69542c;background:#272012;color:#e6c785}#apiNotice[data-kind="error"]{border-color:#6a3434;background:#281515;color:#ffb0a8}#apiNotice[data-kind="info"]{border-color:#344c5b;background:#111e26;color:#b7dcec}.team-logo img{width:32px;height:32px;object-fit:contain}.status.is-live{color:#b6ff3b;background:#1d331d}.schedule-empty{grid-column:1/-1;padding:26px 18px;border:1px dashed #344438;border-radius:13px;color:#9daa9f;text-align:center;background:#0f1511;font-size:12px}#allDateStrip{margin-top:6px}


/* Futlivio appearance: saved dark/light themes */
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f7f2;--panel:#ffffff;--panel2:#edf3eb;--line:#dbe5d8;
  --text:#17241a;--muted:#647367;--green:#5e9f1b;--green2:#4d8d19;
  --blue:#1b5fff;--radius:20px;
}
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="light"] body{background:var(--bg);color:var(--text)}
:root[data-theme="light"] .sidebar{background:#edf3eb;border-right-color:#d9e3d6}
:root[data-theme="light"] .side-label{color:#7b897d}
:root[data-theme="light"] .side-link,:root[data-theme="light"] .league-shortcut{color:#536458}
:root[data-theme="light"] .side-link.active,:root[data-theme="light"] .side-link:hover,:root[data-theme="light"] .league-shortcut:hover{background:#e0edd9;color:#427e16}
:root[data-theme="light"] .sidebar-bottom{border-top-color:#d8e2d5}
:root[data-theme="light"] .avatar,:root[data-theme="light"] .profile-avatar{background:#e3eedf;border-color:#cbdcc4;color:#4d861b}
:root[data-theme="light"] .brand{color:#1a291d}
:root[data-theme="light"] .topbar{border-bottom-color:#dce5d9}
:root[data-theme="light"] .breadcrumb{color:#657368}
:root[data-theme="light"] .timezone{background:#e8efe5;color:#536456}
:root[data-theme="light"] .icon-button{background:#fff;border-color:#d6e0d3;color:#334534}
:root[data-theme="light"] .profile-button{background:#fff;border-color:#d6e0d3;color:#334534}
:root[data-theme="light"] .hero{border-color:#d9e8d2;background:radial-gradient(ellipse at 82% 45%,#dff2d6 0,#eef6e9 40%,#f8faf6 74%)}
:root[data-theme="light"] .hero h1{color:#18271a}
:root[data-theme="light"] .hero h1 span{color:#5c9d1b;text-shadow:none}
:root[data-theme="light"] .hero p,:root[data-theme="light"] .page-heading p{color:#657568}
:root[data-theme="light"] .hero-proof{color:#738274}
:root[data-theme="light"] .pitch{background:linear-gradient(135deg,#d9f1cf,#edf8e8);border-color:#69a72c;box-shadow:0 0 35px #64a83d18}
:root[data-theme="light"] .pitch:before,:root[data-theme="light"] .pitch:after,:root[data-theme="light"] .halfway,:root[data-theme="light"] .pitch-circle,:root[data-theme="light"] .penalty{border-color:#69a72c}
:root[data-theme="light"] .floating-card{background:#ffffffed;border-color:#d3e2cb;color:#314331;box-shadow:0 8px 25px #25421b12}
:root[data-theme="light"] .floating-card small{color:#718170}
:root[data-theme="light"] .quick-stats>div{background:#fff;border-color:#dce5d9}
:root[data-theme="light"] .quick-stats b{color:#213025}
:root[data-theme="light"] .quick-stats small{color:#748176}
:root[data-theme="light"] .eyebrow{color:#548e1c}
:root[data-theme="light"] .section-heading h2,:root[data-theme="light"] .page-heading h1{color:#19271c}
:root[data-theme="light"] .text-button{color:#4f8d19}
:root[data-theme="light"] .date-item{background:#fff;border-color:#d9e3d6;color:#4e6052}
:root[data-theme="light"] .date-item small{color:#829083}
:root[data-theme="light"] .date-item.selected{background:#b6ff3b;border-color:#92d82d;color:#17220f}
:root[data-theme="light"] .filter-chip{background:#fff;border-color:#d7e1d4;color:#58695b}
:root[data-theme="light"] .filter-chip.selected,:root[data-theme="light"] .filter-chip:hover{background:#e4f2dc;border-color:#83b65b;color:#447c1c}
:root[data-theme="light"] .match-card{background:linear-gradient(145deg,#fff,#f7faf5);border-color:#dce5d9;box-shadow:0 5px 18px #263d2010}
:root[data-theme="light"] .match-card-top{color:#657568}
:root[data-theme="light"] .comp-badge{background:#e6f1e0;color:#568c20}
:root[data-theme="light"] .status{background:#fff2d8;color:#8b671e}
:root[data-theme="light"] .status.is-live{background:#e1f4d4;color:#39791a}
:root[data-theme="light"] .team-logo{background:radial-gradient(circle at 30% 20%,#fff,#e7eee4);border-color:#dbe5d7;box-shadow:0 5px 14px #0000000d}
:root[data-theme="light"] .team-name{color:#1d2b20}
:root[data-theme="light"] .team-sub,:root[data-theme="light"] .score small{color:#7b897d}
:root[data-theme="light"] .match-card-bottom{border-top-color:#e0e8dd;color:#6e7c70}
:root[data-theme="light"] .favorite{color:#849282}
:root[data-theme="light"] .favorite.saved{color:#568f1d}
:root[data-theme="light"] .league-card{background:#fff;border-color:#dce5d9;color:#1f2d22}
:root[data-theme="light"] .league-card:hover{background:#f4f9f0;border-color:#9fc78b}
:root[data-theme="light"] .league-logo{background:#e8f1e4;color:#568d20}
:root[data-theme="light"] .league-card small{color:#788679}
:root[data-theme="light"] .demo-notice{background:#fff7e8;border-color:#ead9b8;color:#856b3b}
:root[data-theme="light"] #apiNotice[data-kind="success"]{background:#edf8e8;border-color:#cfe5c2;color:#416d26}
:root[data-theme="light"] #apiNotice[data-kind="warning"]{background:#fff7e7;border-color:#ead7ad;color:#80632f}
:root[data-theme="light"] #apiNotice[data-kind="error"]{background:#fff0ed;border-color:#ebc8c3;color:#a14c42}
:root[data-theme="light"] #apiNotice[data-kind="info"]{background:#edf5fb;border-color:#d1e3f0;color:#496a82}
:root[data-theme="light"] .schedule-empty{background:#fff;border-color:#d1dfce;color:#68796c}
:root[data-theme="light"] .settings-card{background:#fff;border-color:#dce5d9}
:root[data-theme="light"] .setting-row{border-bottom-color:#e2e9df}
:root[data-theme="light"] .setting-row b{color:#223126}
:root[data-theme="light"] .setting-row small{color:#788679}
:root[data-theme="light"] .setting-value{color:#568d20}
:root[data-theme="light"] .footer{border-top-color:#dce5d9;color:#718074}
:root[data-theme="light"] .search-box{background:#fff;border-color:#dbe5d8;box-shadow:0 25px 80px #1b2c1b25}
:root[data-theme="light"] .search-box h2{color:#1c2b20}
:root[data-theme="light"] .search-box input{background:#f5f8f3;border-color:#d4dfd1;color:#1c2a20}
:root[data-theme="light"] .search-result{background:#f0f5ed;color:#334a37}
:root[data-theme="light"] .modal-close{color:#526456}
:root[data-theme="light"] .toast{background:#d9f2c6;color:#274019}

/* English football news centre */
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin:4px 0 14px;border:1px solid #29372d;border-radius:15px;background:linear-gradient(110deg,#121b15,#0e1410)}
.news-toolbar-copy{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#dce8dd;font-size:10px;font-weight:850;letter-spacing:1.2px}
.news-toolbar-copy small{width:100%;padding-left:16px;color:#87978b;font-size:10px;font-weight:500;letter-spacing:0}
.news-live-dot,.news-kicker-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 10px #b6ff3b75}
.news-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}
.news-notice{margin:10px 0 16px;padding:11px 14px;border:1px solid #314233;border-radius:10px;background:#101812;color:#aebcaf;font-size:11px}
.news-feature[hidden]{display:none}
.news-feature-card{display:grid;grid-template-columns:minmax(190px,.72fr) 1.5fr;overflow:hidden;margin-bottom:15px;border:1px solid #304332;border-radius:19px;background:linear-gradient(115deg,#17251a,#101712);min-height:230px}
.news-feature-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#47792b,#1b3a20 48%,#142319 78%);color:#d3ff9a}
.news-feature-art:before,.news-feature-art:after{content:"";position:absolute;border:1px solid #c5ff8b55;border-radius:50%;width:230px;height:230px}
.news-feature-art:after{width:160px;height:160px}
.news-feature-art span{font-size:105px;font-weight:950;line-height:1;text-shadow:0 10px 40px #0005;z-index:1}
.news-feature-art i{position:absolute;bottom:16px;left:18px;font-size:9px;line-height:1.5;letter-spacing:2px;font-style:normal;font-weight:850}
.news-feature-content{padding:25px 27px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.news-card-kicker{display:flex;align-items:center;gap:8px;color:var(--green);font-size:9px;font-weight:900;letter-spacing:1.4px}
.news-feature-content h2{font-size:clamp(20px,2.5vw,30px);line-height:1.15;letter-spacing:-.8px;margin:13px 0 9px;color:#f3f8f3}
.news-feature-content p{margin:0;color:#9eaea1;font-size:12px;line-height:1.7}
.news-category-tag{display:inline-flex;align-items:center;border-radius:20px;padding:5px 8px;background:#233322;color:#c9efac;font-size:8px;letter-spacing:.3px;font-weight:800}
.news-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px;color:#87998b;font-size:9px}
.news-card-meta a{margin-left:auto;color:var(--green);font-weight:850}
.news-card-meta a:hover{text-decoration:underline}
.news-card-meta time,.news-card-topline time{color:#89998d;font-size:9px}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.news-card{display:flex;flex-direction:column;min-height:205px;padding:18px 19px;border:1px solid #29372d;border-radius:15px;background:linear-gradient(145deg,#131a15,#0f1411);transition:transform .2s,border-color .2s}
.news-card:hover{transform:translateY(-2px);border-color:#5d7d4d}
.news-card-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.news-card h3{margin:0 0 9px;color:#eff5ef;font-size:15px;line-height:1.35;letter-spacing:-.2px}
.news-card p{margin:0;color:#9aa99e;font-size:11px;line-height:1.65}
.news-card .news-card-meta{margin-top:auto;padding-top:16px}
.news-empty{grid-column:1/-1;padding:26px 18px;border:1px dashed #344438;border-radius:13px;color:#9daa9f;text-align:center;background:#0f1511;font-size:12px}
.news-attribution{padding:19px 0 34px;color:#748378;font-size:9px;line-height:1.6}
.news-attribution a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
#newsRefresh:disabled{opacity:.55;cursor:wait}
:root[data-theme="light"] .news-toolbar{background:linear-gradient(110deg,#fff,#f0f6ec);border-color:#dce6d8}
:root[data-theme="light"] .news-toolbar-copy{color:#314333}
:root[data-theme="light"] .news-toolbar-copy small{color:#748375}
:root[data-theme="light"] .news-notice{background:#fff;border-color:#dce5d8;color:#617263}
:root[data-theme="light"] .news-feature-card{background:linear-gradient(115deg,#fff,#f1f7ec);border-color:#d9e6d3}
:root[data-theme="light"] .news-feature-art{background:radial-gradient(circle at 50% 45%,#d3edc3,#edf6e8 52%,#e1efdb 78%);color:#548c21}
:root[data-theme="light"] .news-feature-art:before,:root[data-theme="light"] .news-feature-art:after{border-color:#80b95d66}
:root[data-theme="light"] .news-feature-content h2{color:#1c2a20}
:root[data-theme="light"] .news-feature-content p{color:#667668}
:root[data-theme="light"] .news-category-tag{background:#e8f3e1;color:#4c7d28}
:root[data-theme="light"] .news-card{background:linear-gradient(145deg,#fff,#f8fbf6);border-color:#dce5d9;box-shadow:0 4px 14px #20351d0b}
:root[data-theme="light"] .news-card h3{color:#1f2d22}
:root[data-theme="light"] .news-card p{color:#68786c}
:root[data-theme="light"] .news-card-meta,:root[data-theme="light"] .news-card-meta time,:root[data-theme="light"] .news-card-topline time{color:#778679}
:root[data-theme="light"] .news-empty{background:#fff;border-color:#d2dfce;color:#67796b}
:root[data-theme="light"] .news-attribution{color:#788679}
@media(max-width:800px){.news-feature-card{grid-template-columns:1fr}.news-feature-art{min-height:145px}.news-feature-content{padding:20px}.news-grid{grid-template-columns:1fr}.news-toolbar{align-items:flex-start;flex-direction:column}}
:root[data-theme="light"] .btn-ghost{background:#fff;border-color:#d5e0d1;color:#435646}
:root[data-theme="light"] .btn-ghost:hover{background:#f2f8ee;border-color:#9dbd8b}
:root[data-theme="light"] .mobile-menu{background:#fff;border-color:#d6e0d3;color:#568d20}
:root[data-theme="light"] .heading-pill{background:#edf4e8;border-color:#d5e6ca;color:#548a21}
:root[data-theme="light"] .hero-index{color:#4c841b}
:root[data-theme="light"] .hero-index span{color:#718271}
:root[data-theme="light"] .floating-card .stat-icon{background:#e8f2e2;color:#528a1d}
:root[data-theme="light"] .quick-icon{background:#e8f2e2;color:#528a1d}
:root[data-theme="light"] .match-card .score b{color:#1b2a1f}
:root[data-theme="light"] .league-arrow{color:#718271}
:root[data-theme="light"] .search-box input::placeholder{color:#839184}
:root[data-theme="light"] .news-card-meta a{color:#548d1d}
:root[data-theme="light"] .news-feature-content .news-card-meta a{color:#548d1d}


/* News placeholder — no external news API configured yet */
.news-coming-soon{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:280px;padding:34px;border:1px solid #304332;border-radius:19px;background:radial-gradient(circle at 85% 15%,#1d3b20 0,#111a14 48%,#0f1511 100%)}
.news-coming-soon-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #49633c;border-radius:16px;background:#1b2b1c;color:var(--green);font-size:27px}
.news-coming-soon h2{margin:0;color:#f1f7f1;font-size:clamp(22px,3vw,32px);letter-spacing:-1px}
.news-coming-soon p{max-width:680px;margin:0;color:#a1b0a4;font-size:13px;line-height:1.75}
.news-coming-soon>span{color:#829286;font-size:11px}
.news-coming-soon .btn{margin-top:5px}
:root[data-theme="light"] .news-coming-soon{background:radial-gradient(circle at 85% 15%,#e8f4df 0,#fff 54%,#f5f9f2 100%);border-color:#d7e4d1;box-shadow:0 8px 24px #20351d0a}
:root[data-theme="light"] .news-coming-soon-icon{background:#e8f3e1;border-color:#d2e4c7;color:#548d1d}
:root[data-theme="light"] .news-coming-soon h2{color:#1d2b20}
:root[data-theme="light"] .news-coming-soon p{color:#617263}
:root[data-theme="light"] .news-coming-soon>span{color:#758477}


/* ============================================================
   FUTLIVIO PHOTO DASHBOARD — desktop-first, responsive layout
   ============================================================ */
:root{--surface:#101713;--surface-raised:#151f18;--surface-soft:#1a251d;--border:rgba(150,180,154,.16);--rail-width:292px;--green-soft:#d3f6a0}
.main-content{max-width:none;padding:0 28px 0 30px}
.home-dashboard{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);gap:22px;align-items:start}
.home-primary{min-width:0}
.home-rail{position:sticky;top:16px;align-self:start;display:grid;gap:14px;padding-top:24px;min-width:0}
.photo-hero{min-height:330px;margin-top:24px;padding:34px 35px;display:flex;align-items:center;background:#112016 url("https://images.unsplash.com/photo-1777715329470-49ee046dd186?auto=format&fit=crop&w=1800&q=88") center 45%/cover no-repeat;border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 45px rgba(0,0,0,.14)}
.photo-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,7,.91) 0%,rgba(4,17,8,.76) 42%,rgba(5,20,9,.18) 100%),linear-gradient(0deg,rgba(2,12,5,.28),transparent 60%);z-index:1}
.photo-hero .hero-copy{max-width:600px;z-index:2}
.photo-hero h1{font-size:clamp(36px,4vw,58px);max-width:600px}
.photo-hero .hero-visual{position:absolute;inset:0;min-height:0;z-index:2;pointer-events:none;display:block}
.photo-hero .floating-card{background:rgba(9,20,12,.76);backdrop-filter:blur(12px);border-color:rgba(225,255,225,.2)}
.photo-hero .floating-top{top:20px;right:20px}
.photo-hero .floating-bottom{left:auto;right:20px;bottom:20px;max-width:280px}
.photo-hero .hero-index{z-index:3;color:#fff}
.hero-photo-credit{position:absolute;z-index:3;right:18px;bottom:8px;color:rgba(255,255,255,.56);font-size:7px;letter-spacing:1.3px}
.quick-stats{margin:14px 0 27px;gap:9px}
.quick-stats>div{background:var(--surface);border-color:var(--border);min-width:0}
.photo-gallery-section,.follow-clubs-section{margin:0 0 27px}
.gallery-note{font-size:8px;font-weight:850;letter-spacing:1.2px;color:var(--muted)}
.photo-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:11px}
.photo-tile{position:relative;height:145px;overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#17251a;isolation:isolate}
.photo-tile-large{height:145px}
.photo-tile img,.rail-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.photo-tile:hover img,.rail-photo-card:hover img{transform:scale(1.055)}
.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,5,.86),rgba(4,13,6,.05) 70%)}
.photo-caption{position:absolute;left:14px;right:12px;bottom:13px;display:grid;gap:4px;color:#fff}
.photo-caption small{font-size:7px;letter-spacing:1.5px;font-weight:900;color:#d2ff9a}
.photo-caption b{font-size:12px;line-height:1.25}
.compact-heading{margin-bottom:12px}
.club-follow-strip{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 9px;scrollbar-width:thin}
.club-follow-item{flex:0 0 91px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 8px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);transition:transform .2s,border-color .2s}
.club-follow-item:hover,.club-follow-item.is-followed{transform:translateY(-2px);border-color:var(--green)}
.club-follow-logo{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);border:1px solid var(--border);overflow:hidden}
.club-follow-logo img{width:31px;height:31px;object-fit:contain}
.club-follow-item b{max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.club-follow-item small{font-size:7px;letter-spacing:.7px;color:var(--muted);font-weight:850}
.club-follow-item.is-followed small{color:var(--green)}
.club-follow-empty{padding:15px;color:var(--muted);font-size:10px}

/* Match schedule grouped by state */
.match-grid{display:flex;flex-direction:column;gap:18px}
.match-status-section{min-width:0}
.match-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 9px;padding:0 2px}
.match-section-heading-main{display:flex;align-items:center;gap:9px}
.match-section-heading-main>div{display:grid;gap:3px}
.match-section-heading-main b{font-size:11px;letter-spacing:1.1px}
.match-section-heading-main small{font-size:9px;color:var(--muted)}
.match-section-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--surface-soft);color:var(--green);font-size:12px;font-weight:900}
.section-live .match-section-icon{color:#ff5d64;background:rgba(255,93,100,.12)}
.match-count-pill{font-size:7px;font-weight:900;letter-spacing:1px;padding:5px 7px;border-radius:6px;background:var(--surface-soft);color:var(--muted)}
.match-list{display:grid;gap:8px}
.match-card{padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:0 5px 18px rgba(0,0,0,.035)}
.match-card:hover{transform:translateY(-1px);border-color:rgba(169,225,105,.55)}
.match-card-top{margin-bottom:10px;font-size:8px}
.comp-badge{width:21px;height:21px}
.status{font-weight:900;letter-spacing:.5px}
.status.is-live{background:rgba(255,77,84,.13);color:#ff7075}
.status.is-upcoming{background:rgba(72,157,220,.13);color:#72b9ea}
.status.is-finished{background:rgba(105,176,78,.14);color:#88c96e}
.status.is-other{background:rgba(201,164,92,.14);color:#d9b66c}
.teams-row{grid-template-columns:minmax(0,1fr) 102px minmax(0,1fr);gap:10px}
.team-logo{width:40px;height:40px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--border);box-shadow:none}
.team-logo img{width:29px;height:29px;object-fit:contain}
.team-name{font-size:10px}
.team-sub{font-size:7px;letter-spacing:.7px}
.score b{font-size:19px}
.score small{font-size:8px;letter-spacing:.45px;color:var(--muted)}
.score-live b{color:#ff757a}
.match-card-bottom{margin-top:10px;padding-top:9px;font-size:8px}
.schedule-empty{padding:24px 16px;border:1px dashed var(--border);border-radius:13px;text-align:center;color:var(--muted);background:var(--surface)}

/* Right-side matchday panels */
.rail-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:15px 14px;min-width:0;box-shadow:0 6px 22px rgba(0,0,0,.035)}
.rail-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.rail-card-heading>div{display:grid;gap:4px}
.rail-card-heading small{font-size:7px;letter-spacing:1.4px;font-weight:900;color:var(--muted)}
.rail-card-heading h3{font-size:15px;margin:0;letter-spacing:-.4px}
.rail-pulse{font-size:8px;font-weight:900;color:#ff666c;display:flex;align-items:center;gap:6px}
.rail-pulse i{width:7px;height:7px;border-radius:50%;background:#ff646b;box-shadow:0 0 0 4px rgba(255,100,107,.12)}
.rail-link{border:0;background:transparent;color:var(--green);font-size:8px;font-weight:850}
.rail-live-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:13px;color:var(--muted);font-size:8px}
.rail-live-tag,.rail-upcoming-tag{font-size:7px;letter-spacing:.7px;font-weight:950;padding:5px 7px;border-radius:6px;background:rgba(255,80,90,.13);color:#ff7278}
.rail-upcoming-tag{background:rgba(73,158,220,.13);color:#70b9ed}
.rail-live-teams{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:5px}
.rail-team{text-align:center;min-width:0;display:grid;justify-items:center;gap:7px}
.rail-team>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);border:1px solid var(--border)}
.rail-team img{width:28px;height:28px;object-fit:contain}
.rail-team b{font-size:8px;line-height:1.25;max-width:100%;overflow-wrap:anywhere}
.rail-live-score{text-align:center;min-width:0}
.rail-live-score strong{display:block;font-size:20px;letter-spacing:.5px;white-space:nowrap}
.rail-live-score small{display:block;margin-top:5px;color:var(--muted);font-size:7px;line-height:1.35}
.rail-live-footer{border-top:1px solid var(--border);padding-top:9px;margin-top:12px;color:var(--muted);font-size:8px;text-align:center}
.rail-no-live,.rail-no-upcoming,.rail-loading{display:grid;justify-items:center;gap:8px;padding:17px 8px;text-align:center;color:var(--muted);font-size:9px}
.rail-no-live>span{font-size:24px}
.rail-no-live b{color:var(--text);font-size:11px}
.rail-no-live small{font-size:8px;line-height:1.5;max-width:190px}
.rail-fixture{width:100%;display:grid;grid-template-columns:47px 1fr 12px;align-items:center;gap:9px;padding:9px 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);text-align:left}
.rail-fixture:first-child{border-top:0}
.rail-fixture-time{font-size:10px;font-weight:900;color:var(--green)}
.rail-fixture-time small{display:block;margin-top:3px;color:var(--muted);font-size:7px}
.rail-fixture-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}
.rail-fixture-teams b{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-fixture-teams b:last-child{text-align:right}
.rail-fixture-teams small{font-size:7px;color:var(--muted)}
.rail-fixture-arrow{color:var(--muted);font-size:18px}
.rail-fixture:hover .rail-fixture-arrow{color:var(--green)}
.rail-photo-card{height:160px;position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#17251a}
.rail-photo-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:15px;background:linear-gradient(0deg,rgba(2,10,5,.83),rgba(2,10,5,.02) 82%);color:#fff}
.rail-photo-overlay small{font-size:7px;letter-spacing:1.5px;font-weight:900;color:#d7ff9d}
.rail-photo-overlay b{font-size:16px;line-height:1.15;max-width:210px}
.rail-competition-list{display:grid;gap:3px}
.rail-competition{display:grid;grid-template-columns:27px 1fr auto;gap:9px;align-items:center;padding:8px 2px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);text-align:left}
.rail-competition:first-child{border-top:0}
.rail-competition-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--surface-soft);color:var(--green);font-size:7px;font-weight:950}
.rail-competition b{font-size:8px}
.rail-competition small{color:var(--muted);font-size:8px}
.rail-competition:hover b{color:var(--green)}

/* A balanced light theme for all new dashboard surfaces */
:root[data-theme="light"]{--bg:#f2f5f0;--panel:#fff;--panel2:#f7faf5;--line:#dce5d9;--text:#1d2a20;--muted:#718073;--surface:#fff;--surface-raised:#f7faf5;--surface-soft:#edf3e9;--border:rgba(51,85,47,.15)}
:root[data-theme="light"] body{background:#f2f5f0;color:#1d2a20}
:root[data-theme="light"] .sidebar{background:#fff;border-color:#dfe7dc;box-shadow:4px 0 18px rgba(35,60,31,.04)}
:root[data-theme="light"] .side-link,:root[data-theme="light"] .league-shortcut{color:#647365}
:root[data-theme="light"] .side-link.active,:root[data-theme="light"] .side-link:hover,:root[data-theme="light"] .league-shortcut:hover{background:#edf6e8;color:#4f8b20}
:root[data-theme="light"] .side-label{color:#839083}
:root[data-theme="light"] .sidebar-bottom{border-color:#e1e9df}
:root[data-theme="light"] .topbar{border-color:#dfe7dc}
:root[data-theme="light"] .breadcrumb{color:#6e7e70}
:root[data-theme="light"] .timezone{background:#fff;border:1px solid #dfe7dc;color:#627364}
:root[data-theme="light"] .icon-button,:root[data-theme="light"] .profile-button{background:#fff;border-color:#d8e2d5;color:#435445}
:root[data-theme="light"] .profile-avatar{background:#edf6e8;color:#4f8c1e}
:root[data-theme="light"] .quick-stats>div{background:#fff;border-color:#dfe7dc;box-shadow:0 4px 15px rgba(31,56,30,.035)}
:root[data-theme="light"] .quick-icon{background:#edf6e8;color:#548e20}
:root[data-theme="light"] .match-card,:root[data-theme="light"] .rail-card,:root[data-theme="light"] .club-follow-item{background:#fff;border-color:#dfe7dc;box-shadow:0 4px 15px rgba(31,56,30,.035)}
:root[data-theme="light"] .match-card-top,:root[data-theme="light"] .match-card-bottom,:root[data-theme="light"] .match-section-heading-main small,:root[data-theme="light"] .team-sub,:root[data-theme="light"] .score small{color:#718073}
:root[data-theme="light"] .team-logo,:root[data-theme="light"] .club-follow-logo,:root[data-theme="light"] .rail-team>span{background:#f1f6ee;border-color:#dfe8db}
:root[data-theme="light"] .team-name,:root[data-theme="light"] .match-card .score b,:root[data-theme="light"] .rail-card-heading h3,:root[data-theme="light"] .rail-team b,:root[data-theme="light"] .rail-fixture,:root[data-theme="light"] .rail-competition{color:#1d2a20}
:root[data-theme="light"] .match-card-bottom{border-color:#e3ebe0}
:root[data-theme="light"] .filter-chip,:root[data-theme="light"] .date-item{background:#fff;border-color:#dce5d9;color:#647365}
:root[data-theme="light"] .filter-chip.selected,:root[data-theme="light"] .filter-chip:hover{background:#edf6e8;border-color:#a7cd8c;color:#508b20}
:root[data-theme="light"] .date-item b{color:#314634}
:root[data-theme="light"] .date-item.selected{background:#b6ef72;border-color:#a7df62}
:root[data-theme="light"] .date-item.selected b{color:#203319}
:root[data-theme="light"] .match-section-icon,:root[data-theme="light"] .match-count-pill,:root[data-theme="light"] .rail-competition-mark{background:#edf4e9;color:#548c23}
:root[data-theme="light"] .rail-live-footer,:root[data-theme="light"] .rail-fixture,:root[data-theme="light"] .rail-competition{border-color:#e3ebe0}
:root[data-theme="light"] .league-card{background:#fff;border-color:#dce5d9;color:#1f2d22}
:root[data-theme="light"] .league-card:hover{background:#f4f9f0;border-color:#9fc78b}
:root[data-theme="light"] .footer{border-color:#dce5d9;color:#718074}
:root[data-theme="light"] .settings-card{background:#fff;border-color:#dce5d9}
:root[data-theme="light"] .setting-row{border-color:#e2e9df}
:root[data-theme="light"] .setting-row b{color:#223126}
:root[data-theme="light"] .setting-row small{color:#788679}
:root[data-theme="light"] .search-box{background:#fff;border-color:#dbe5d8}
:root[data-theme="light"] .search-box h2{color:#1c2b20}
:root[data-theme="light"] .search-box input{background:#f5f8f3;border-color:#d4dfd1;color:#1c2a20}
:root[data-theme="light"] .search-result{background:#f0f5ed;color:#334a37}

@media(max-width:1250px){:root{--rail-width:270px}.main-content{padding-left:23px;padding-right:23px}.hero h1{font-size:clamp(34px,3.8vw,50px)}}
@media(max-width:1050px){.home-dashboard{grid-template-columns:minmax(0,1fr) 250px;gap:14px}.home-rail{gap:10px}.photo-gallery{grid-template-columns:1fr 1fr}.photo-tile-large{grid-column:1/-1;height:155px}.photo-tile{height:130px}}
@media(max-width:850px){.home-dashboard{grid-template-columns:1fr}.home-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0;margin:0 0 28px}.rail-photo-card{height:100%;min-height:160px}.rail-competitions-card{grid-column:1/-1}.main-content{padding:0 20px}.hero{min-height:300px}}
@media(max-width:620px){.home-rail{grid-template-columns:1fr}.rail-competitions-card{grid-column:auto}.main-content{padding:0 13px}.topbar{height:64px}.profile-text,.breadcrumb{display:none}.top-actions{gap:6px}.photo-hero{padding:26px 22px;min-height:340px;background-position:58% center}.photo-hero:before{background:linear-gradient(90deg,rgba(3,14,7,.92),rgba(4,17,8,.67) 68%,rgba(5,20,9,.28))}.photo-hero h1{font-size:39px;letter-spacing:-2px}.photo-hero .floating-top{top:12px;right:12px}.photo-hero .floating-bottom{right:12px;bottom:12px;left:12px;max-width:none}.hero-photo-credit{right:12px;bottom:4px;font-size:6px}.quick-stats{grid-template-columns:1fr;gap:8px;margin-bottom:23px}.quick-stats>div{padding:11px 13px}.photo-gallery{grid-template-columns:1fr 1fr;gap:8px}.photo-tile-large{grid-column:1/-1}.photo-tile{height:124px}.photo-caption{left:10px;bottom:10px}.photo-caption b{font-size:10px}.section-heading h2,.page-heading h1{font-size:22px}.gallery-note{display:none}.match-card{padding:10px}.teams-row{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:4px}.team-logo{width:35px;height:35px}.team-logo img{width:25px;height:25px}.team-name{font-size:9px}.score b{font-size:16px}.match-section-heading-main small{font-size:8px}.match-count-pill{font-size:6px}.footer{flex-wrap:wrap;gap:10px}.footer-brand{padding-bottom:0}}


/* ============================================================
   FUTLIVIO MATCHDAY POLISH v6
   Hero carousel, calendar range, timezone-aware dates, readable status labels.
   ============================================================ */
.photo-hero{isolation:isolate;background:#101b13!important}
.photo-hero:before{z-index:1}
.hero-image-layer{position:absolute;inset:0;z-index:0;border-radius:inherit;background:#142319 url("https://images.unsplash.com/photo-1777715329470-49ee046dd186?auto=format&fit=crop&w=1900&q=88") center 46%/cover no-repeat;transform:scale(1.001)}
.hero-image-layer.hero-slide-enter{animation:heroPhotoReveal .55s ease both}
@keyframes heroPhotoReveal{from{opacity:.48;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.photo-hero:before{background:linear-gradient(90deg,rgba(3,14,7,.90) 0%,rgba(4,17,8,.70) 43%,rgba(5,20,9,.13) 100%),linear-gradient(0deg,rgba(2,12,5,.34),transparent 62%)}
.photo-hero .hero-copy,.photo-hero .hero-visual{z-index:2}
.photo-hero .hero-photo-credit{pointer-events:none}
.hero-carousel-controls{position:absolute;z-index:5;right:76px;bottom:12px;display:flex;align-items:center;gap:8px;padding:5px 7px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(5,13,7,.65);backdrop-filter:blur(10px)}
.hero-carousel-controls>button{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:19px;line-height:1}
.hero-carousel-controls>button:hover{background:var(--green);color:#17210f}
.hero-dots{display:flex;align-items:center;gap:5px}
.hero-dot{width:6px;height:6px;padding:0;border:0;border-radius:20px;background:rgba(255,255,255,.45);transition:width .2s,background .2s}
.hero-dot.active{width:17px;background:var(--green)}
.photo-hero .hero-index{z-index:5;bottom:17px;right:18px}

/* Calendar sits beside the seven-day quick picker. */
.date-controls{display:flex;align-items:stretch;gap:9px;margin-bottom:13px;min-width:0}
.date-controls .date-strip{flex:1 1 auto;min-width:0;margin-bottom:0;overflow-x:auto;scrollbar-width:thin}
.calendar-picker{position:relative;flex:0 0 auto;min-width:112px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.calendar-picker>span{font-size:15px;color:var(--green)}
.calendar-picker:hover{border-color:var(--green);background:var(--surface-soft)}
.calendar-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.calendar-picker:focus-within{outline:2px solid var(--green);outline-offset:2px}

/* More visible Live / Upcoming / Finished section labels in both themes. */
.match-section-heading{padding:11px 13px;margin:12px 0 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised)}
.match-section-heading-main{gap:11px}
.match-section-heading-main b{font-size:14px;line-height:1.1;font-weight:950;letter-spacing:.65px;color:var(--text)}
.match-section-heading-main small{font-size:10px;line-height:1.3;font-weight:650;color:var(--muted)}
.match-section-icon{width:32px;height:32px;font-size:14px}
.match-count-pill{font-size:9px;font-weight:950;letter-spacing:.55px;padding:7px 9px;border:1px solid var(--border);color:var(--text)}
.match-card{border-color:var(--border)}
.match-card-top{font-size:10px;font-weight:750}
.match-card .status{font-size:9px;font-weight:950;letter-spacing:.4px;padding:6px 9px}
.team-name{font-size:11px;font-weight:850}
.team-sub{font-size:8px;font-weight:750}
.score b{font-size:21px;font-weight:950}
.score small{font-size:9px;font-weight:800;letter-spacing:.2px}
.match-card-bottom{font-size:9px;font-weight:650}
.section-live .match-section-heading{border-color:rgba(255,83,91,.32);background:linear-gradient(100deg,rgba(255,83,91,.13),var(--surface-raised) 62%)}
.section-upcoming .match-section-heading{border-color:rgba(61,151,219,.32);background:linear-gradient(100deg,rgba(61,151,219,.13),var(--surface-raised) 62%)}
.section-finished .match-section-heading{border-color:rgba(104,181,76,.32);background:linear-gradient(100deg,rgba(104,181,76,.13),var(--surface-raised) 62%)}
.section-live .match-section-heading-main b{color:#ff7379}
.section-upcoming .match-section-heading-main b{color:#79c5f5}
.section-finished .match-section-heading-main b{color:#8bcf70}
.status.is-live{color:#ff7278;background:rgba(255,83,91,.17);border:1px solid rgba(255,83,91,.25)}
.status.is-upcoming{color:#78c4f4;background:rgba(61,151,219,.16);border:1px solid rgba(61,151,219,.25)}
.status.is-finished{color:#8dce75;background:rgba(104,181,76,.16);border:1px solid rgba(104,181,76,.24)}

/* Dark and light text contrast refinements. */
:root[data-theme="dark"] .match-section-heading-main small{color:#b4c2b7}
:root[data-theme="dark"] .match-count-pill{color:#dce8de;background:#1a251d}
:root[data-theme="light"] .match-section-heading{background:#fff;border-color:#d6e1d2}
:root[data-theme="light"] .match-section-heading-main b{color:#18291c}
:root[data-theme="light"] .match-section-heading-main small{color:#4f6253}
:root[data-theme="light"] .match-count-pill{color:#243728;background:#f1f6ee;border-color:#d4e0cf}
:root[data-theme="light"] .section-live .match-section-heading{background:linear-gradient(100deg,#fff0f0,#fff 65%);border-color:#efc6c8}
:root[data-theme="light"] .section-upcoming .match-section-heading{background:linear-gradient(100deg,#edf7ff,#fff 65%);border-color:#c8e0f1}
:root[data-theme="light"] .section-finished .match-section-heading{background:linear-gradient(100deg,#eff8eb,#fff 65%);border-color:#d0e4c7}
:root[data-theme="light"] .section-live .match-section-heading-main b{color:#b52c35}
:root[data-theme="light"] .section-upcoming .match-section-heading-main b{color:#145f93}
:root[data-theme="light"] .section-finished .match-section-heading-main b{color:#3f7628}
:root[data-theme="light"] .status.is-live{color:#a91f2b;background:#fff0f1;border-color:#f1c6c9}
:root[data-theme="light"] .status.is-upcoming{color:#145d8d;background:#edf7ff;border-color:#c5e0f2}
:root[data-theme="light"] .status.is-finished{color:#376e25;background:#eff8eb;border-color:#d2e6c9}
:root[data-theme="light"] .match-card-top,:root[data-theme="light"] .match-card-bottom{color:#4f6253}
:root[data-theme="light"] .team-sub,:root[data-theme="light"] .score small{color:#536858}
:root[data-theme="light"] .team-name,:root[data-theme="light"] .score b{color:#17271b}

/* Sidebar Live option is intentionally an empty placeholder for a future feature. */
.side-link-live{position:relative}
.live-nav-indicator{color:#ff5962!important;font-size:10px!important;text-shadow:0 0 8px #ff596255}
.live-nav-soon{margin-left:auto;padding:3px 5px;border-radius:5px;background:rgba(255,89,98,.12);color:#ff747a;font-size:7px;font-weight:950;letter-spacing:.65px}
:root[data-theme="light"] .live-nav-soon{background:#fff0f1;color:#b72e37}

/* Mobile: compact date row, full-width imagery, readable match cards. */
@media(max-width:620px){
  .photo-hero{min-height:410px;padding:28px 20px 78px;background-position:center center}
  .hero-image-layer{background-position:center center;background-size:cover}
  .photo-hero:before{background:linear-gradient(90deg,rgba(3,14,7,.88),rgba(4,17,8,.60) 70%,rgba(5,20,9,.26)),linear-gradient(0deg,rgba(2,12,5,.55),transparent 65%)}
  .photo-hero .hero-copy{max-width:100%;align-self:flex-start;padding-top:14px}
  .photo-hero h1{font-size:clamp(34px,9vw,43px);line-height:1.02;letter-spacing:-1.8px}
  .photo-hero p{max-width:310px;font-size:12px;line-height:1.65}
  .photo-hero .hero-buttons{gap:8px;flex-wrap:wrap;margin-top:17px}
  .photo-hero .hero-proof{font-size:9px;margin-top:14px}
  .photo-hero .floating-top{top:10px;right:10px}
  .photo-hero .floating-bottom{left:10px;right:10px;bottom:39px;max-width:none;padding:9px 11px}
  .photo-hero .floating-bottom b{font-size:10px;line-height:1.3}
  .photo-hero .hero-carousel-controls{left:12px;right:auto;bottom:10px;gap:6px}
  .photo-hero .hero-index{right:13px;bottom:17px;font-size:9px}
  .date-controls{gap:6px}
  .date-controls .date-strip{gap:5px;overflow:hidden}
  .date-item{display:none;min-width:0;flex:1 1 0;padding:8px 3px;border-radius:9px}
  .date-item:nth-child(-n+3){display:block}
  .date-item b{font-size:10px;font-weight:850}
  .date-item small{font-size:8px}
  .calendar-picker{min-width:43px;width:43px;padding:0;font-size:0;border-radius:9px}
  .calendar-picker>span{font-size:17px}
  .calendar-picker .calendar-text{display:none}
  .match-section-heading{padding:10px 10px;margin:11px 0 8px}
  .match-section-heading-main b{font-size:13px}
  .match-section-heading-main small{font-size:9px}
  .match-section-icon{width:29px;height:29px}
  .match-count-pill{font-size:8px;padding:6px 7px}
  .match-card{padding:11px 9px}
  .match-card-top{font-size:9px;margin-bottom:11px}
  .teams-row{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:4px}
  .team-logo{width:37px;height:37px}
  .team-logo img{width:27px;height:27px}
  .team-name{font-size:10px;white-space:normal;line-height:1.25;min-height:25px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}
  .team-sub{font-size:7px}
  .score b{font-size:18px}
  .score small{font-size:8px;line-height:1.3}
  .match-card-bottom{font-size:8px}
  .photo-gallery{grid-template-columns:1fr 1fr;gap:8px}
  .photo-tile,.photo-tile-large{height:auto;aspect-ratio:16/10;min-height:0}
  .photo-tile img{width:100%;height:100%;object-fit:cover;object-position:center}
  .photo-tile-large{grid-column:1/-1;aspect-ratio:16/8}
  .home-rail{grid-template-columns:1fr}
  .rail-card{padding:14px}
  .rail-photo-card{height:auto;aspect-ratio:16/9;min-height:0}
}
@media(max-width:380px){
  .main-content{padding-left:10px;padding-right:10px}
  .photo-hero{min-height:430px;padding-left:16px;padding-right:16px}
  .photo-hero h1{font-size:34px}
  .date-item b{font-size:9px}
  .teams-row{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr)}
  .team-name{font-size:9px}
  .match-section-heading-main small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.hero-image-layer.hero-slide-enter{animation:none}.hero-carousel-controls,.date-item,.match-card{transition:none}}


/* ============================================================
   FUTLIVIO v7 FIXES — reliable photo carousel, calendar fetch,
   stronger typography and explicit selected-date feedback.
   ============================================================ */
.hero-image-layer{background:#132018!important;overflow:hidden;pointer-events:none}
.hero-slide-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:1;transform:scale(1);transition:opacity .35s ease,transform 1.2s ease}
.hero-slide-image.is-changing{opacity:.86;transform:scale(1.018)}
.photo-hero:before{z-index:1;background:linear-gradient(90deg,rgba(2,10,5,.91) 0%,rgba(3,14,7,.76) 42%,rgba(4,16,8,.18) 100%),linear-gradient(0deg,rgba(1,8,4,.46),transparent 64%)}
.hero-copy,.hero-visual{position:relative;z-index:2}
.hero-carousel-controls,.hero-index{z-index:6}
.hero-dot{cursor:pointer}

.selected-date-summary{margin:-4px 0 12px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-raised);color:var(--text);font-size:11px;font-weight:800;line-height:1.35}
.calendar-picker{min-height:44px;min-width:122px;font-size:11px;font-weight:900;border-width:1.5px}
.calendar-picker input{z-index:2}
.date-item{font-weight:800}
.date-item b{font-size:12px;font-weight:900}
.date-item small{font-size:10px;font-weight:750}
.match-section-heading{min-height:58px;border-width:1.5px}
.match-section-heading-main b{font-size:15px;font-weight:950;letter-spacing:.75px}
.match-section-heading-main small{font-size:11px;font-weight:750}
.match-count-pill{font-size:10px;font-weight:950}
.match-card-top,.competition{font-size:10px;font-weight:850}
.match-card .status{font-size:10px;font-weight:950;letter-spacing:.45px}
.team-name{font-size:12px;font-weight:900}
.team-sub{font-size:9px;font-weight:800}
.score b{font-size:22px;font-weight:950}
.score small{font-size:10px;font-weight:850}
.match-card-bottom{font-size:10px;font-weight:750}
.filter-chip{font-size:11px;font-weight:850}
.side-link,.league-shortcut{font-weight:800}

:root[data-theme="light"] .selected-date-summary{background:#fff;color:#17291b;border-color:#cbdac6}
:root[data-theme="light"] .calendar-picker{background:#fff;color:#17291b;border-color:#b9cdb2}
:root[data-theme="light"] .date-item{color:#243629}
:root[data-theme="light"] .date-item b{color:#243629;font-weight:900}
:root[data-theme="light"] .date-item small{color:#405643;font-weight:800}
:root[data-theme="light"] .filter-chip{color:#26392a;font-weight:850}
:root[data-theme="light"] .match-card-top,:root[data-theme="light"] .match-card-bottom{color:#344b39;font-weight:800}
:root[data-theme="light"] .team-sub,:root[data-theme="light"] .score small{color:#354d3b;font-weight:800}
:root[data-theme="light"] .match-section-heading-main small{color:#344c39;font-weight:800}
:root[data-theme="light"] .topbar .breadcrumb,:root[data-theme="light"] .timezone{color:#26392a;font-weight:750}
:root[data-theme="light"] .side-link,:root[data-theme="light"] .league-shortcut{color:#26392a;font-weight:850}
:root[data-theme="light"] .hero-proof{color:#ecf5ec;font-weight:750}
:root[data-theme="light"] .photo-hero p{color:#f0f5f0;font-weight:700}

@media(max-width:620px){
  .selected-date-summary{font-size:10px;padding:8px 9px;margin-bottom:10px}
  .calendar-picker{min-width:46px;width:46px;min-height:42px}
  .date-item b{font-size:10px;font-weight:900}
  .date-item small{font-size:9px;font-weight:800}
  .match-section-heading-main b{font-size:14px;font-weight:950}
  .match-section-heading-main small{font-size:9px;font-weight:800}
  .match-count-pill{font-size:9px;font-weight:950}
  .team-name{font-size:10px;font-weight:900}
  .score b{font-size:19px;font-weight:950}
}


/* ============================================================
   FUTLIVIO v8 — reliable calendar, LIVE badges, stronger light mode,
   and clearer club crests. Existing layout/spacing is preserved.
   ============================================================ */

/* The custom calendar replaces the unreliable transparent native date input. */
.calendar-overlay[hidden]{display:none!important}
.calendar-overlay{
  position:fixed;inset:0;z-index:2000;display:grid;place-items:center;
  padding:18px;background:rgba(4,12,7,.62);backdrop-filter:blur(5px);
}
.calendar-dialog{
  width:min(390px,100%);padding:18px;border-radius:20px;
  background:var(--panel);color:var(--text);border:1px solid var(--border);
  box-shadow:0 24px 90px rgba(0,0,0,.32);
}
.calendar-dialog-header{display:grid;grid-template-columns:42px 1fr 42px 34px;align-items:center;gap:8px;margin-bottom:16px}
.calendar-dialog-header h2{margin:0;text-align:center;font-size:17px;font-weight:950;letter-spacing:-.35px}
.calendar-nav,.calendar-close{
  display:grid;place-items:center;width:40px;height:40px;border-radius:11px;
  border:1px solid var(--border);background:var(--surface-soft);color:var(--text);
  font-size:23px;font-weight:900;cursor:pointer
}
.calendar-close{width:34px;height:34px;font-size:20px}
.calendar-nav:hover,.calendar-close:hover{border-color:var(--green);color:var(--green)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekdays{margin-bottom:7px}
.calendar-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:900;padding:6px 0}
.calendar-day{
  min-width:0;aspect-ratio:1/1;border-radius:10px;border:1px solid transparent;
  background:transparent;color:var(--text);font-size:13px;font-weight:850;cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease
}
.calendar-day:hover{background:var(--surface-soft);border-color:var(--green);transform:translateY(-1px)}
.calendar-day.is-outside{color:var(--muted);opacity:.56}
.calendar-day.is-today{border-color:var(--green);color:var(--green)}
.calendar-day.is-selected{background:var(--green);border-color:var(--green);color:#15200f;box-shadow:0 4px 14px rgba(135,207,56,.22)}
.calendar-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}
.calendar-dialog-footer>span{min-width:0;color:var(--muted);font-size:10px;font-weight:800;line-height:1.4}
.calendar-dialog-footer>div{display:flex;gap:7px}
.calendar-today,.calendar-cancel{padding:9px 12px;border-radius:9px;font-size:10px;font-weight:900;cursor:pointer}
.calendar-today{background:var(--green);border:1px solid var(--green);color:#15200f}
.calendar-cancel{background:var(--surface-soft);border:1px solid var(--border);color:var(--text)}
body.calendar-open{overflow:hidden}

/* LIVE is always shown with a clear red signal and never says IN PLAY. */
.status.is-live{display:inline-flex;align-items:center;gap:6px;color:#fff;background:#cf2834;border:1px solid #c71f2d;font-weight:950;letter-spacing:.45px}
.status-live-dot{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#ff3345;box-shadow:0 0 0 3px rgba(255,51,69,.16),0 0 9px rgba(255,51,69,.62);vertical-align:middle;animation:futlivioLivePulse 1.5s ease-in-out infinite}
.status.is-live .status-live-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 8px rgba(255,255,255,.75)}
.score-live-label{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#d52c38!important;font-weight:950!important}
.section-live .match-section-icon{color:#e22d3a}
.match-card-live{border-left:3px solid #e23b47}
.rail-live-tag{display:inline-flex;align-items:center;gap:5px}
@keyframes futlivioLivePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.52;transform:scale(.82)}}

/* Team crests are larger, on a clean neutral badge, and never cropped. */
.team-logo{
  width:54px;height:54px;border-radius:14px;background:#fff!important;
  border:1px solid #cbd8cc!important;box-shadow:0 3px 11px rgba(20,45,24,.10)!important;
  overflow:hidden;display:grid;place-items:center
}
.team-logo img{display:block;width:42px!important;height:42px!important;max-width:90%;max-height:90%;object-fit:contain;object-position:center}
.club-follow-logo{background:#fff!important;border-color:#cad8cb!important}
.club-follow-logo img{width:37px!important;height:37px!important;object-fit:contain}
.rail-team>span{background:#fff!important;border-color:#cad8cb!important}
.rail-team img{width:34px!important;height:34px!important;object-fit:contain}

/* Cleaner, higher-contrast light appearance. */
:root[data-theme="light"]{
  --bg:#edf2ed;--panel:#fff;--panel2:#f8fbf8;--text:#15231a;
  --muted:#4b5f50;--surface:#fff;--surface-raised:#fff;
  --surface-soft:#f0f5ef;--border:#ccd9cd;--line:#ccd9cd
}
:root[data-theme="light"] body{background:#edf2ed!important;color:#15231a!important}
:root[data-theme="light"] .main-content{color:#15231a}
:root[data-theme="light"] .side-link,:root[data-theme="light"] .league-shortcut{color:#293d2e!important;font-weight:850}
:root[data-theme="light"] .side-label{color:#536957!important;font-weight:900}
:root[data-theme="light"] .topbar{border-color:#d1ddd2}
:root[data-theme="light"] .timezone{color:#263d2c!important;font-weight:850}
:root[data-theme="light"] .quick-stats>div,:root[data-theme="light"] .rail-card,
:root[data-theme="light"] .match-card,:root[data-theme="light"] .club-follow-item,
:root[data-theme="light"] .league-card{
  background:#fff!important;border-color:#cbd8cc!important;
  box-shadow:0 4px 14px rgba(26,48,29,.075)!important
}
:root[data-theme="light"] .match-card-top,:root[data-theme="light"] .match-card-bottom,
:root[data-theme="light"] .competition,:root[data-theme="light"] .team-sub,
:root[data-theme="light"] .score small,:root[data-theme="light"] .rail-fixture-teams small{
  color:#405447!important;font-weight:800
}
:root[data-theme="light"] .team-name,:root[data-theme="light"] .score b,
:root[data-theme="light"] .quick-stats b,:root[data-theme="light"] .rail-card-heading h3,
:root[data-theme="light"] .rail-team b,:root[data-theme="light"] .rail-fixture-teams b,
:root[data-theme="light"] .rail-competition b{
  color:#14251a!important;font-weight:950
}
:root[data-theme="light"] .quick-stats small,:root[data-theme="light"] .rail-card small,
:root[data-theme="light"] .club-follow-item small,:root[data-theme="light"] .league-card small{
  color:#4d6252!important;font-weight:750
}
:root[data-theme="light"] .date-item,:root[data-theme="light"] .filter-chip{
  background:#fff!important;color:#243b2a!important;border-color:#cbd8cc!important;font-weight:900
}
:root[data-theme="light"] .date-item b,:root[data-theme="light"] .filter-chip{
  color:#1c3022!important;font-weight:950
}
:root[data-theme="light"] .date-item small{color:#425a47!important;font-weight:850}
:root[data-theme="light"] .date-item.selected,:root[data-theme="light"] .filter-chip.selected{
  background:#b8f36d!important;border-color:#83c83e!important;color:#15240f!important
}
:root[data-theme="light"] .match-section-heading{background:#fff!important;border-width:1.5px}
:root[data-theme="light"] .match-section-heading-main b{font-weight:950!important}
:root[data-theme="light"] .match-section-heading-main small{color:#3e5544!important;font-weight:850!important}
:root[data-theme="light"] .status.is-live{color:#fff!important;background:#c92332!important;border-color:#b91e2b!important}
:root[data-theme="light"] .status.is-upcoming{color:#14547e!important;background:#e5f3fc!important;border-color:#b8d8eb!important}
:root[data-theme="light"] .status.is-finished{color:#285e20!important;background:#e8f5e2!important;border-color:#c9e1be!important}
:root[data-theme="light"] .score-live-label{color:#bd1f2c!important}
:root[data-theme="light"] .rail-fixture,:root[data-theme="light"] .rail-competition{color:#182a1d!important}
:root[data-theme="light"] .calendar-picker{background:#fff!important;color:#172b1d!important;border:1.5px solid #b8cbb8!important;font-weight:950}
:root[data-theme="light"] .calendar-picker:hover{background:#f1f8ed!important;border-color:#79b94a!important}
:root[data-theme="light"] .selected-date-summary{background:#fff!important;color:#1c3022!important;border-color:#cbd8cc!important;font-weight:900}
:root[data-theme="light"] .schedule-empty{background:#fff!important;color:#435948!important;border-color:#bfcfbe!important}
:root[data-theme="light"] .calendar-dialog{background:#fff;color:#15251b;border-color:#cbd8cc}
:root[data-theme="light"] .calendar-nav,:root[data-theme="light"] .calendar-close,
:root[data-theme="light"] .calendar-cancel{background:#f4f8f2;color:#19301f;border-color:#cbd8cc}
:root[data-theme="light"] .calendar-day{color:#1c3022}
:root[data-theme="light"] .calendar-day.is-outside{color:#66796a}
:root[data-theme="light"] .calendar-day.is-today{color:#37751e;border-color:#67a940}
:root[data-theme="light"] .calendar-day.is-selected{background:#aef05b;color:#14220e;border-color:#8bd13b}

/* Mobile calendar and crests stay touch-friendly without widening the page. */
@media(max-width:620px){
  .calendar-dialog{width:min(360px,calc(100vw - 24px));padding:14px;border-radius:17px}
  .calendar-dialog-header h2{font-size:15px}
  .calendar-day{font-size:12px;border-radius:9px}
  .calendar-weekdays span{font-size:9px}
  .calendar-dialog-footer>span{font-size:9px}
  .team-logo{width:46px;height:46px}
  .team-logo img{width:35px!important;height:35px!important}
  .club-follow-logo img{width:33px!important;height:33px!important}
}
@media(max-width:380px){
  .calendar-dialog{padding:11px}
  .calendar-weekdays,.calendar-days{gap:3px}
  .calendar-day{font-size:11px}
  .team-logo{width:42px;height:42px}
  .team-logo img{width:32px!important;height:32px!important}
}
