@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
:root{--navy:#071b35;--navy2:#0d2a4b;--orange:#f28c18;--blue:#11a9df;--bg:#f3f6f8;--text:#172333;--muted:#718096;--line:#e4e9ee}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,Tahoma,sans-serif}.container{width:min(1180px,calc(100% - 28px));margin:auto}
.topbar{background:#06162a;color:#d9e5ef;font-size:12px}.topbar-in{height:34px;display:flex;justify-content:space-between;align-items:center}
.site-header{background:white;box-shadow:0 2px 12px #071b3515;position:sticky;top:0;z-index:10}.header-main{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);min-width:max-content}.brand-mark{background:linear-gradient(135deg,var(--blue),var(--navy));color:white;border-radius:12px;font-weight:800;font-size:22px;padding:10px 8px}.brand b{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
nav{display:flex;gap:4px;align-items:center;flex:1;justify-content:center}nav a{padding:10px 12px;color:#34485d;text-decoration:none;border-radius:9px;font-size:13px}nav a:hover,nav a.active{background:#eef7fb;color:#078cbf}.menu-btn,.search-btn{display:none;background:none;border:0;font-size:25px}
.hero{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:18px}.hero-main{min-height:340px;border-radius:16px;background:linear-gradient(120deg,#092646,#116e94);position:relative;overflow:hidden;background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:auto 0 0;padding:28px;color:#fff;background:linear-gradient(transparent,#06162ae8)}.hero-overlay h1{font-size:27px;margin:10px 0}.hero-overlay p{margin:0;color:#e7f1f7}.tag{background:var(--orange);padding:5px 10px;border-radius:20px;font-size:11px}.hero-side{display:grid;gap:14px}.mini-card{border-radius:16px;padding:22px;background:linear-gradient(135deg,#0c3357,#0e9fcf);color:#fff;display:flex;flex-direction:column;justify-content:end;min-height:160px}.mini-card.alt{background:linear-gradient(135deg,#e96f0a,#f3aa2d)}.mini-card span{font-size:12px}.mini-card h3{margin:7px 0;font-size:18px}
.search-row{display:flex;margin-top:16px}.search-row input{flex:1;border:1px solid var(--line);padding:14px;border-radius:10px 0 0 10px;font-family:inherit}.search-row button,.panel button{border:0;background:var(--navy);color:#fff;padding:11px 20px;border-radius:0 10px 10px 0;font-family:inherit;cursor:pointer}.layout{display:grid;grid-template-columns:1fr 310px;gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #edf1f4;margin-bottom:14px;padding-bottom:10px}.section-head h2{font-size:18px;margin:0}.section-head a{font-size:11px;color:#078cbf}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.news-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.news-card .pic{height:125px;background:linear-gradient(135deg,#d8e8ef,#8bbbd0)}.news-card div:last-child{padding:12px}.news-card h3{font-size:14px;margin:0 0 7px}.news-card p{font-size:11px;color:var(--muted);margin:0}.match{display:grid;grid-template-columns:80px 1fr 100px 1fr 80px;align-items:center;border-bottom:1px solid var(--line);padding:14px 4px;text-align:center}.match:last-child{border:0}.match .date{font-size:11px;color:var(--muted)}.score{font-weight:800;font-size:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:9px 7px;border-bottom:1px solid var(--line);font-size:11px;text-align:center;white-space:nowrap}th{background:#f6f8fa;color:#526273}.league-list{display:grid;gap:8px}.league-list button{width:100%;border-radius:9px!important;background:#f5f8fa;color:#24384b;border:1px solid var(--line)}.video-placeholder{height:170px;border-radius:12px;background:linear-gradient(135deg,#071b35,#159dc8);color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:35px}.video-placeholder span{font-size:12px;margin-top:8px}.quick{display:grid;gap:8px}.quick a{background:#f4f7f9;padding:11px;border-radius:8px;text-decoration:none;color:#30485c;font-size:12px}
footer{background:var(--navy);color:#dce7ef;margin-top:25px}.container{padding-left:0;padding-right:0}footer .container{min-height:80px;display:flex;justify-content:space-between;align-items:center;font-size:12px}
.admin-shell{padding:28px 0}.admin-login{max-width:430px;margin:60px auto;background:#fff;padding:25px;border-radius:16px;box-shadow:0 10px 40px #071b3515}.admin-login h1{margin-top:0}.admin-login input,.admin-grid input,.admin-grid textarea,.admin-grid select{width:100%;padding:11px;margin:6px 0;border:1px solid var(--line);border-radius:8px;font-family:inherit}.admin-login button{width:100%;border-radius:8px!important;margin-top:7px}.hidden{display:none}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.admin-title h1{margin:0}.admin-title p{color:var(--muted);font-size:12px}.danger{background:#b42318!important;border-radius:8px!important}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}.stats b{font-size:26px;display:block;color:#078cbf}.stats span{font-size:11px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-grid .panel button{border-radius:8px!important;width:100%;margin-top:5px}.admin-grid textarea{min-height:90px}.score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.back{text-decoration:none;color:#078cbf;font-size:12px;margin-right:auto}.slide-admin{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px;font-size:11px}.slide-admin img{width:55px;height:35px;object-fit:cover;border-radius:5px}
@media(max-width:850px){nav{display:none;position:absolute;top:116px;right:14px;left:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 10px 30px #0002;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-btn,.search-btn{display:block}.menu-btn{order:-1}.header-main{gap:10px}.brand{flex:1}.hero{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.sidebar{order:2}.news-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.topbar-in{font-size:10px}.brand b{font-size:12px}.brand small{font-size:9px}.brand-mark{font-size:18px}.hero-main{min-height:280px}.hero-overlay h1{font-size:22px}}
@media(max-width:520px){.container{width:calc(100% - 18px)}.hero-side{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.header-main{min-height:70px}.search-row button{padding:10px 14px}.match{grid-template-columns:60px 1fr 70px 1fr 55px;font-size:10px}.panel{padding:12px}}
.file-label{display:block;background:#f5f8fa;border:1px dashed #b9c7d2;border-radius:8px;padding:10px;margin:6px 0;font-size:11px;color:#526273;cursor:pointer}.file-label input{display:block!important;margin-top:7px!important}.upload-preview{width:100px;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin:5px 0}.secondary{background:#eef3f6!important;color:#20374c!important;border-radius:8px!important;margin-top:8px}.recovery{background:#f7fafc;padding:10px;border-radius:8px;margin-top:10px;font-size:11px}.recovery button{border-radius:8px!important}.backup-panel{grid-column:1/-1}.backup-panel hr{border:0;border-top:1px solid var(--line);margin:14px 0}.backup-panel p{font-size:11px;color:var(--muted)}.slide-admin{flex-wrap:wrap}.slide-admin img{width:75px;height:48px}.slide-admin button{width:auto!important;padding:7px 10px!important;margin:0!important}.team-cell{display:flex;align-items:center;justify-content:center;gap:7px}.team-logo{width:28px;height:28px;object-fit:contain;border-radius:50%}.slide-dots{position:absolute;bottom:10px;left:15px;display:flex;gap:5px;z-index:2}.dot{width:8px!important;height:8px;padding:0!important;border:0;background:#ffffff99!important;border-radius:50%!important;cursor:pointer}.dot.on{background:#fff!important}.hero-main{transition:background-image .4s ease}.pic{background-size:cover!important;background-position:center!important}
/* BSN layout refinement: use the full page width and distribute sections */
.container{width:min(1440px,calc(100% - 40px));margin-inline:auto}
.header-main{width:min(1440px,calc(100% - 40px))}
.layout{grid-template-columns:minmax(0,1fr);gap:18px}
.content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.content>#news{grid-column:1/-1}
.content>#table{grid-column:1/-1}
.sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.sidebar .panel{margin:0;min-width:0}
.league-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.league-list button{cursor:pointer;min-height:48px;transition:background .2s,transform .2s}
.league-list button:hover,.league-list button:focus{background:#e6f5fb;color:#087eaa;transform:translateY(-1px);outline:2px solid #11a9df55}
nav a,button,.quick a,.section-head a{cursor:pointer;position:relative;z-index:1}
@media(max-width:900px){.content{grid-template-columns:1fr}.content>#news,.content>#table{grid-column:auto}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.container,.header-main{width:calc(100% - 20px)}.sidebar{grid-template-columns:1fr}.league-list{grid-template-columns:repeat(2,minmax(0,1fr))}.content{display:grid;grid-template-columns:minmax(0,1fr)}}

/* Additional BSN content modules */
.people-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.person-card,.award-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfdfe;display:flex;flex-direction:column;gap:7px}.person-card span,.award-card p,.award-card small{font-size:12px;color:var(--muted);margin:0}.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.award-card h3{margin:4px 0;font-size:15px;color:var(--navy)}.award-card b{color:#078cbf}.team-card .team-pic{display:flex;align-items:center;justify-content:center;font-size:36px}.team-pic img{max-width:100%;max-height:120px;object-fit:contain}.team-card .pic{height:135px;background:#f5f8fa!important}

/* BSN header/menu: two tidy rows on desktop, no horizontal overflow */
*,*::before,*::after{box-sizing:border-box}
.site-header{width:100%;overflow:visible}
.header-main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:10px 14px;padding-block:12px;min-width:0}
.header-main .brand{grid-column:1;grid-row:1;min-width:0;max-width:100%}
.header-main nav#mainNav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;width:100%;min-width:0;justify-content:stretch;align-items:stretch}
.header-main nav#mainNav a{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;min-width:0;min-height:39px;padding:7px 6px;font-size:12px;line-height:1.45;border:1px solid #e7edf2;border-radius:8px}
.header-main nav#mainNav a:hover,.header-main nav#mainNav a.active{border-color:#ccecf7}
.header-main .menu-btn{grid-column:2;grid-row:1;display:none}
.header-main .search-btn{grid-column:2;grid-row:1;display:none}
@media(max-width:900px){
 .header-main{display:flex;flex-wrap:wrap;gap:8px;padding-block:10px}
 .header-main .brand{flex:1 1 auto;min-width:0}
 .header-main .menu-btn,.header-main .search-btn{display:block;flex:0 0 auto}
 .header-main nav#mainNav{display:none;position:static;inset:auto;flex:1 0 100%;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px;margin:0;box-shadow:none;max-height:60vh;overflow:auto;align-items:stretch}
 .header-main nav#mainNav.open{display:grid}
 .header-main nav#mainNav a{font-size:12px;padding:8px 5px}
}
@media(max-width:560px){
 .header-main nav#mainNav{grid-template-columns:repeat(2,minmax(0,1fr));left:auto;right:auto}
 .header-main .brand b{font-size:11px;overflow-wrap:anywhere}
 .header-main .brand small{font-size:9px}
 .brand-mark{flex:0 0 auto}
}

/* Admin content management panels */
.admin-help{font-size:12px;line-height:1.9;color:var(--muted);margin:4px 0 12px}.admin-module-list{display:grid;gap:8px;margin-top:12px}.admin-module-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:10px;min-width:0}.admin-module-row>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.admin-module-row small{font-size:11px;color:var(--muted)}.admin-module-row>span:last-child{display:flex;gap:5px;flex-shrink:0}.admin-module-row button{width:auto!important;margin:0!important;padding:6px 9px!important;font-size:11px!important}@media(max-width:560px){.admin-module-row{align-items:flex-start;flex-direction:column}.admin-module-row>span:last-child{width:100%}.admin-module-row button{flex:1}}

/* Profile photos for people and weekly award entries */
.profile-photo{width:100%;max-width:240px;height:170px;object-fit:cover;border-radius:10px;align-self:center;background:#eef3f7}.admin-person-thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;display:block;margin-bottom:6px}.admin-module-row{align-items:center}

/* BSN news layout: two categories, text on the right and rectangular thumbnail on the left */
#newsGrid.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.news-category{min-width:0;display:flex;flex-direction:column;gap:10px}
.news-category-title{margin:0;padding:10px 12px;border-right:4px solid var(--orange,#f28c28);background:#f3f7fa;border-radius:8px;font-size:15px}
.news-row{display:flex;flex-direction:row;align-items:stretch;min-width:0;min-height:112px}
.news-row .news-copy{order:0;flex:1;min-width:0;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.news-row .news-copy h3{margin:0;line-height:1.7;font-size:14px;color:#102b46}
.news-row .news-copy p{font-size:12px;line-height:1.9;color:#475569;white-space:pre-wrap;overflow-wrap:anywhere}
.news-thumb{order:1;flex:0 0 112px;width:112px;min-height:112px;background:#edf2f6;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:11px;overflow:hidden}
.news-thumb img{width:100%;height:100%;min-height:112px;object-fit:cover;display:block}
.news-time{margin-top:auto;padding-top:6px;color:#718096;font-size:10px;border-top:1px solid #edf1f4;width:100%}
.empty-news{font-size:12px;color:#718096;padding:8px}
@media(max-width:760px){#newsGrid.news-grid{grid-template-columns:minmax(0,1fr)}.news-thumb{flex-basis:100px;width:100px;min-height:100px}.news-thumb img{min-height:100px}.news-row{min-height:100px}}
/* News card polish: wider rectangular photo and finer border */
.news-row.news-card{border:0.5px solid #e6ebef;border-radius:8px}
.news-thumb{flex:0 0 160px;width:160px;min-height:128px}
.news-thumb img{min-height:128px}
@media(max-width:760px){.news-thumb{flex-basis:130px;width:130px;min-height:112px}.news-thumb img{min-height:112px}}

/* International competitions submenu and cards */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown>a{padding:10px 12px;color:#34485d;text-decoration:none;border-radius:9px;font-size:13px;white-space:nowrap}
.nav-dropdown:hover>a{background:#eef7fb;color:#078cbf}
.nav-submenu{display:none;position:absolute;top:100%;right:0;min-width:245px;background:#fff;padding:8px;border-radius:10px;box-shadow:0 8px 24px #071b3525;z-index:30}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:grid}
.nav-submenu a{display:block;padding:10px;color:#34485d;text-decoration:none;border-radius:7px;font-size:13px}
.nav-submenu a:hover{background:#eef7fb;color:#078cbf}
.international-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.international-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#fff,#f0f8fc)}
.international-card h3{margin:0 0 10px;color:var(--navy);font-size:16px}
.international-card>div:nth-child(2){font-size:13px;line-height:1.9;min-height:50px}
.international-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.international-links a{font-size:11px;padding:6px 8px;background:#e6f5fb;color:#087ca8;text-decoration:none;border-radius:7px}
.international-admin-item{padding:12px;border:1px solid var(--line);border-radius:10px;margin:12px 0}
.international-admin-item h3{margin:0 0 8px;font-size:15px}
.international-admin-item textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical}
@media(max-width:900px){.international-grid{grid-template-columns:1fr 1fr}.nav-dropdown{display:block}.nav-submenu{position:static;box-shadow:none;padding-right:12px}.nav-dropdown:hover .nav-submenu{display:grid}}
@media(max-width:600px){.international-grid{grid-template-columns:1fr}}

/* International competitions detail views */
.international-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.international-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #092c4518}.international-card button,.international-tabs button{border:0;border-radius:8px;padding:8px 12px;background:#087ca8;color:#fff;cursor:pointer;font:inherit}.international-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.international-tabs button{background:#e6f5fb;color:#087ca8}.international-tabs button.active{background:#087ca8;color:white}.ic-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.ic-team{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.ic-team .team-logo{width:42px;height:42px;object-fit:contain}.ic-no-logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px}.ic-match{display:grid;grid-template-columns:1.3fr 1fr auto 1fr;align-items:center;gap:12px;padding:14px 8px;border-bottom:1px solid var(--line)}.ic-match-meta{font-size:12px;line-height:1.8;color:#607080}.ic-side{display:flex;align-items:center;gap:8px;min-width:0}.ic-side b{overflow-wrap:anywhere}.ic-side .team-logo{width:38px;height:38px;object-fit:contain}.ic-score{font-weight:800;font-size:18px;white-space:nowrap}.international-admin-item label{display:block;margin:8px 0 4px}.international-admin-item input,.international-admin-item select{width:100%;box-sizing:border-box;margin:5px 0 10px;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}.international-admin-item .file-label input{width:auto}.international-admin-item .upload-preview{max-width:90px;max-height:90px;object-fit:contain}@media(max-width:600px){.ic-match{grid-template-columns:1fr auto 1fr;gap:7px}.ic-match-meta{grid-column:1/-1}.ic-side{flex-direction:column;text-align:center;font-size:12px}.ic-score{font-size:16px}}

/* International results on homepage */
.home-result-type{display:block;margin-top:3px;font-size:9px;line-height:1.35;font-weight:600;color:#08723f;white-space:normal}.international-home-result{border-left:3px solid #087ca8;padding-left:10px}

/* Homepage international results: keep score digits aligned and result type visible. */
.match.international-home-result{grid-template-columns:minmax(78px,1fr) minmax(90px,1.25fr) minmax(88px,auto) minmax(90px,1.25fr) minmax(78px,1fr);gap:10px;align-items:center;}
.international-home-result .international-score-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;line-height:1.2;font-variant-numeric:tabular-nums;}
.home-score-number{display:grid;grid-template-columns:minmax(22px,1fr) 12px minmax(22px,1fr);align-items:center;justify-items:center;gap:4px;white-space:nowrap;width:100%;min-height:28px;font-size:20px;line-height:1.2;box-sizing:border-box}.home-score-number .score-digit{display:block;min-width:22px;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}
.home-score-number i{font-style:normal;color:#607080;font-size:16px;}
.international-home-result .home-result-type{margin:0;padding:2px 5px;border-radius:5px;background:#e7f5ed;color:#176b3a;font-size:9px;line-height:1.35;font-weight:600;text-align:center;white-space:normal;max-width:100%;box-sizing:border-box;}
.international-home-result .home-result-team{overflow-wrap:anywhere;line-height:1.6;text-align:center;}
@media(max-width:600px){.match.international-home-result{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px 4px}.international-home-result .date:first-child{grid-column:1/-1}.international-home-result .home-result-team{font-size:12px}.international-home-result .international-score-cell{grid-column:1/-1;grid-row:2}.international-home-result .home-result-team:nth-of-type(1){grid-row:3}.international-home-result .home-result-team:nth-of-type(2){grid-row:3}.international-home-result .date:last-child{grid-column:1/-1}.home-score-number{font-size:19px;max-width:120px;margin-inline:auto}.international-home-result .home-result-type{font-size:9px;padding:2px 4px}}

/* v7: clearly separated international results administration panel */
#manageInternationalResults{border-top:4px solid #087ca8;align-self:start}
#manageInternationalResults>.admin-help{margin-bottom:12px}
#manageInternationalResults .international-admin-item{background:#f8fbfd}
#icResultsAdminList .admin-module-row{align-items:center}
#icResultsAdminList .admin-module-row small{display:block;line-height:1.7}
@media(max-width:600px){
 .match.international-home-result{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .international-home-result .international-score-cell{grid-column:1/-1;grid-row:2}
 .international-home-result .home-result-type{font-size:9px}
}

/* BSN v9: international fixture/result cards — score centered between the two teams */
.ic-match.ic-result-match,.ic-match.ic-fixture-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:10px;row-gap:5px;}
.ic-match.ic-result-match .ic-match-meta,.ic-match.ic-fixture-match .ic-match-meta{grid-column:1/-1;grid-row:1;}
.ic-match.ic-result-match .ic-side:nth-of-type(2),.ic-match.ic-fixture-match .ic-side:nth-of-type(2){grid-column:1;grid-row:2;}
.ic-match.ic-result-match .ic-score,.ic-match.ic-fixture-match .ic-score{grid-column:2;grid-row:2;justify-self:center;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums;}
.ic-match.ic-result-match .ic-side:nth-of-type(4),.ic-match.ic-fixture-match .ic-side:nth-of-type(4){grid-column:3;grid-row:2;}
.ic-score-line{display:block;white-space:nowrap;font-size:18px;font-weight:800;direction:ltr;}
.ic-score-dash{display:inline-block;margin:0 3px;color:#607080;}
.ic-result-type{display:block;max-width:100%;font-size:9px;line-height:1.25;font-weight:600;text-align:center;white-space:normal;color:#176b3a;background:#e7f5ed;border-radius:5px;padding:1px 4px;box-sizing:border-box;}
.ic-result-match .ic-side{justify-content:center;text-align:center;}
.ic-result-match .ic-side b,.ic-fixture-match .ic-side b{line-height:1.4;overflow-wrap:anywhere;}
.ic-fixture-status{font-size:13px;font-weight:800;}
@media(max-width:600px){.ic-match.ic-result-match,.ic-match.ic-fixture-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:5px;row-gap:5px;padding:12px 4px}.ic-match.ic-result-match .ic-side,.ic-match.ic-fixture-match .ic-side{flex-direction:column;text-align:center;font-size:12px;gap:4px}.ic-match.ic-result-match .ic-side .team-logo,.ic-match.ic-fixture-match .ic-side .team-logo{width:34px;height:34px}.ic-match.ic-result-match .ic-score,.ic-match.ic-fixture-match .ic-score{grid-column:2;grid-row:2}.ic-match.ic-result-match .ic-score-line{font-size:16px}.ic-result-type{font-size:9px;max-width:110px}.ic-match.ic-result-match .ic-match-meta,.ic-match.ic-fixture-match .ic-match-meta{grid-column:1/-1}}

/* League menu aligned with international competitions cards and detail tabs */
.league-cards .league-card{cursor:pointer;transition:transform .15s,box-shadow .15s}
.league-cards .league-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #092c4518}
.league-card button{margin-top:12px;border-radius:8px!important;background:#087ca8!important}
#league-detail .section-head>button{border-radius:8px!important;background:#087ca8!important}
#league-detail .league-tabs button{border-radius:8px;background:#e6f5fb;color:#087ca8}
#league-detail .league-tabs button.active{background:#087ca8;color:#fff}

/* Domestic leagues: compact team rows, scoped fixtures/results and dense standings */
.league-team-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 14px}
.league-team-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:9px;background:#fbfdfe;font-size:11px}
.league-team-chip b{font-size:11px;font-weight:700;overflow-wrap:anywhere}
.league-team-chip .team-logo{width:30px;height:30px;object-fit:contain;flex:0 0 30px}
.league-team-chip .ic-no-logo{width:30px;height:30px;flex:0 0 30px;font-size:19px}
.league-group-block{margin:12px 0 16px;padding:10px;border:1px solid #e6edf2;border-radius:10px;background:#fff}
.league-group-block>h3{font-size:13px;margin:0 0 9px;padding:0 0 7px;border-bottom:1px solid #eaf0f4;color:#087ca8}
.league-data-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}
.league-data-filters label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.league-data-filters select{max-width:180px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:11px;color:var(--navy)}
.league-match{padding:9px 4px;gap:8px}
.league-match .ic-match-meta{font-size:10px;line-height:1.6}
.league-match .ic-match-meta small{display:block;color:#087ca8;font-size:10px}
.league-match .ic-side{gap:5px;font-size:11px}
.league-match .ic-side .team-logo{width:30px;height:30px;flex:0 0 30px}
.league-match .ic-score{font-size:15px}
.league-table-wrap table{min-width:0;width:100%}
.league-standings th,.league-standings td{padding:5px 4px;font-size:10px}
.league-standings .team-logo{width:23px;height:23px;object-fit:contain;vertical-align:middle}
@media(max-width:600px){
 .league-group-block{padding:7px;margin:9px 0 12px}
 .league-team-row{gap:5px}
 .league-team-chip{padding:4px 6px;gap:5px;font-size:10px}
 .league-team-chip b{font-size:10px}
 .league-team-chip .team-logo,.league-team-chip .ic-no-logo{width:25px;height:25px;flex-basis:25px}
 .league-match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
 .league-match .ic-match-meta{grid-column:1/-1}
 .league-match .ic-score{grid-column:1/-1;grid-row:2;font-size:15px}
 .league-match .ic-side{flex-direction:row;text-align:right;font-size:10px;justify-content:center}
 .league-match .ic-side .team-logo{width:25px;height:25px;flex-basis:25px}
 .league-table-wrap table{min-width:560px}
 .league-standings th,.league-standings td{padding:4px 3px;font-size:9px}
}

/* Domestic result entry: keep match/team labels and score controls inside their cards. */
#manageDomesticResult{min-width:0;overflow:hidden}
#manageDomesticResult select,#manageDomesticResult input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit}
#manageDomesticResult #matchSelect{white-space:normal;text-overflow:ellipsis;overflow:hidden}
#manageDomesticResult .score-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;min-width:0}
#manageDomesticResult .score-inputs input{min-width:0;width:100%;padding:9px 7px;font-size:12px}
#manageDomesticResult label{display:block;margin-top:8px;font-size:12px}
.league-result-type{display:block;max-width:100%;margin-top:4px;padding:2px 5px;border-radius:5px;background:#e7f5ed;color:#176b3a;font-size:9px;line-height:1.4;font-weight:600;text-align:center;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
@media(max-width:520px){#manageDomesticResult{padding:10px}#manageDomesticResult .score-inputs{gap:6px}#manageDomesticResult .score-inputs input{font-size:11px;padding:8px 5px}}

/* Domestic results: give the right-side team more room and tighten score spacing. */
.league-match.ic-match{
  grid-template-columns:minmax(78px,.75fr) minmax(0,1fr) minmax(54px,auto) minmax(0,1.35fr);
  column-gap:3px;
  row-gap:4px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}
.league-match .ic-side{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.league-match .ic-side b{
  display:block;
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
  word-break:normal;
  line-height:1.4;
  text-align:center;
}
.league-match .ic-side .team-logo,
.league-match .ic-side .ic-no-logo{
  flex:0 0 25px;
  width:25px;
  height:25px;
  max-width:25px;
}
.league-match .ic-score{
  min-width:0;
  max-width:100%;
  padding-inline:1px;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
  box-sizing:border-box;
}
@media(max-width:600px){
  .league-match.ic-match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:5px;row-gap:3px;padding:10px 5px}
  .league-match .ic-side{min-width:0;justify-content:center;gap:4px}
  .league-match .ic-side b{font-size:10px;line-height:1.4}
  .league-match .ic-score{grid-column:1/-1;grid-row:2;font-size:14px}
  .league-match .ic-match-meta{grid-column:1/-1}
}

/* League cards: use the official league logo instead of the football emoji. */
.league-card h3{display:flex;align-items:center;gap:9px}
.league-card-logo{width:38px;height:38px;flex:0 0 38px;object-fit:contain;border-radius:50%}
/* Domestic result selector: reduce excess label text so team names remain readable. */
#manageDomesticResult #matchSelect{font-size:11px;padding:8px 5px;letter-spacing:0}

#manageDomesticResult .match-select-full-name{display:block;margin:6px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f7fafc;color:#24384b;font-size:13px;line-height:1.8;white-space:normal;overflow-wrap:anywhere;direction:rtl;text-align:right;min-height:24px;box-sizing:border-box}

/* Fixture status in league schedules: quieter and smaller without changing team/score layout. */
.league-fixture-status{
  display:block;
  color:#8a929b;
  font-size:11px;
  font-weight:400;
  line-height:1.35;
  white-space:nowrap;
}



/* v9.1: show complete domestic league team names on desktop without ellipsis. */
.league-match.ic-match .ic-side b{
  font-size:11px;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:normal;
  word-break:normal;
  flex:0 1 auto;
  width:max-content;
  max-width:none;
}
.league-match.ic-match .ic-side{
  overflow:visible;
  min-width:0;
}
@media(min-width:601px){
  .league-match.ic-match{
    grid-template-columns:minmax(65px,.6fr) minmax(0,1.15fr) minmax(42px,auto) minmax(0,1.15fr);
    column-gap:2px;
  }
}


/* BSN v9.3: clear per-group containers in league tabs. */
.league-tabs{align-items:center}
#league-detail-content>.league-group-block{display:block;width:100%;box-sizing:border-box;clear:both}
#league-detail-content .league-group-block+.league-group-block{margin-top:14px}

/* International competition groups */
.ic-group-block{border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0;background:#fff}.ic-group-block>h3{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#eef7fa;color:#087ca8;font-size:15px}.ic-fixture-status{font-size:12px;font-weight:500;color:#7b8790;white-space:nowrap}.ic-group-block .ic-match:last-child{border-bottom:0}

/* BSN v9.4: compact international team names and stable fixture/result card layout. */
.ic-group-block .ic-match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;padding:10px 8px;}
.ic-group-block .ic-match-meta{grid-column:1/-1;font-size:10px;line-height:1.5;}
.ic-group-block .ic-side{gap:6px;min-width:0;font-size:12px;line-height:1.35;}
.ic-group-block .ic-side b{display:block;min-width:0;font-size:12px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;word-break:normal;}
.ic-group-block .ic-side .team-logo{width:30px;height:30px;flex:0 0 30px;}
.ic-group-block .ic-score{grid-column:1/-1;grid-row:2;font-size:15px;gap:3px;}
.ic-group-block .ic-score-line{font-size:15px;}
.ic-group-block .ic-result-type{font-size:9px;line-height:1.25;padding:2px 5px;}
.ic-group-block .ic-fixture-status{font-size:10px;line-height:1.3;white-space:normal;}
@media(min-width:900px){
 .ic-group-block .ic-match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 .ic-group-block .ic-side{font-size:12px;}
 .ic-group-block .ic-side b{font-size:12px;}
}
@media(max-width:600px){
 .ic-group-block{padding:8px;}
 .ic-group-block .ic-match{gap:6px;padding:9px 4px;}
 .ic-group-block .ic-side{flex-direction:row;justify-content:center;gap:4px;font-size:11px;text-align:center;}
 .ic-group-block .ic-side b{font-size:11px;}
 .ic-group-block .ic-side .team-logo{width:25px;height:25px;flex-basis:25px;}
 .ic-group-block .ic-score{font-size:14px;}
 .ic-group-block .ic-score-line{font-size:14px;}
}


/* BSN match-card alignment and concise result labels */
.match .score{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;text-align:center}
.match .home-vs{display:block;font-size:14px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.match .home-result-type{display:block;font-size:10px;line-height:1.35;font-weight:600;white-space:normal;color:#176b3a}
.match .home-match-team{min-width:0;overflow-wrap:anywhere;text-align:center}
.league-fixture-status{display:block;text-align:center;font-size:13px;font-weight:800;letter-spacing:.06em}
.ic-result-type{display:block;margin-top:4px;font-size:10px;line-height:1.35;font-weight:600;text-align:center;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){
 .match{grid-template-columns:54px minmax(0,1fr) 64px minmax(0,1fr) 54px;gap:4px;padding:11px 2px}
 .match .date{font-size:9px;overflow-wrap:anywhere}
 .match .score{font-size:15px}
 .match .home-match-team{font-size:11px}
 .match .home-result-type{font-size:9px}
}

/* Match cards: keep VS/score on the exact center axis between the two teams. */
.match .match-center{display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:stretch;min-width:0;text-align:center;gap:4px;line-height:1.35;}
.match .match-center-line{display:block;width:100%;text-align:center;direction:ltr;font-variant-numeric:tabular-nums;white-space:nowrap;}
.match .home-result-type{display:block;width:max-content;max-width:100%;margin:0 auto;text-align:center;direction:rtl;}
.match .home-match-team{display:block;justify-self:stretch;text-align:center;line-height:1.55;overflow-wrap:anywhere;}

/* BSN final match-card spacing: score and win type stay together in the center between teams. */
.match .match-center{gap:0;line-height:1.12;}
.match .match-center-line{line-height:1.1;}
.match .home-result-type{margin:0;padding:0;font-size:9px;line-height:1.1;}
.ic-match .ic-score{gap:0;line-height:1.12;}
.ic-match .ic-score-line{line-height:1.1;}
.ic-match .ic-result-type,
.ic-match .league-result-type{margin:0;padding:0;font-size:9px;line-height:1.1;}
.league-match .ic-score{overflow:visible;}
@media(max-width:600px){
 .match .score{gap:0;}
 .match .home-result-type{font-size:8px;line-height:1.1;}
 .ic-match .ic-score{gap:0;}
 .ic-match .ic-result-type,
 .ic-match .league-result-type{font-size:8px;line-height:1.1;}
}

/* Video management and public video cards */
#manageVideos .file-label{display:block;margin:10px 0}.bsn-video-card video{display:block;width:100%;max-height:240px;object-fit:contain;background:#071b35}.bsn-video-card{margin-bottom:12px}.bsn-video-card p{line-height:1.8}.public-videos{display:grid;grid-template-columns:1fr;gap:12px}.admin-module-row>span:last-child{display:flex;gap:5px;flex-wrap:wrap}.admin-module-row button{border-radius:7px!important;padding:7px 10px!important}

/* News list and article detail refinement */
.news-title-link{display:flex;align-items:center;text-decoration:none;color:inherit;flex:1;min-width:0}
.news-title-link h3{margin:0;line-height:1.9;color:var(--navy2)}
.news-title-link:hover h3{color:var(--orange)}
.news-image-link{display:block;flex:0 0 220px;overflow:hidden;border-radius:8px}
.news-image-link img{display:block;width:100%;height:125px;object-fit:cover}
.news-row{display:flex;align-items:center;gap:18px;min-height:125px}
.news-detail-panel{padding:clamp(16px,3vw,32px)}
.back-to-news{margin-bottom:18px;background:var(--navy2);color:#fff;border:0;border-radius:8px;padding:10px 16px;cursor:pointer;font:inherit}
.news-detail-image{display:block;width:100%;max-height:520px;object-fit:contain;background:#eef2f5;border-radius:10px;margin:14px 0 22px}
.news-detail-panel h1{font-size:clamp(22px,3vw,34px);line-height:1.8;margin:12px 0}
.news-detail-category{color:var(--orange);font-weight:700}
.news-detail-text{font-size:17px;line-height:2.2;white-space:normal;margin-top:20px;overflow-wrap:anywhere}
.news-source{color:var(--muted);margin-top:24px}
@media(max-width:600px){.news-row{gap:10px;min-height:86px}.news-image-link{flex-basis:112px}.news-image-link img{height:82px}.news-title-link h3{font-size:14px;line-height:1.7}.news-detail-text{font-size:15px}}

/* BSN news compact list: smaller headlines and thumbnails, expanded image on article page */
.news-category{gap:7px}
.news-row.news-card{gap:10px;min-height:76px;align-items:center}
.news-title-link{padding:6px 8px}
.news-title-link h3{font-size:12px;line-height:1.65;font-weight:600}
.news-image-link{flex:0 0 112px;width:112px;height:72px}
.news-image-link img{width:100%;height:72px;min-height:0;object-fit:cover}
.news-detail-image{width:100%;max-height: min(78vh, 760px);height:auto;object-fit:contain;background:#eef2f5;border-radius:10px;margin:16px 0 24px}
@media(max-width:600px){
 .news-row.news-card{gap:8px;min-height:68px}
 .news-title-link h3{font-size:11px;line-height:1.6}
 .news-image-link{flex:0 0 92px;width:92px;height:62px}
 .news-image-link img{height:62px}
 .news-detail-image{max-height:72vh}
}


/* BSN v13: clean compact news list — remove thumbnail gray backing and row dividers */
.news-category{gap:3px}
.news-row.news-card{border:0!important;border-radius:0;box-shadow:none;margin:0;gap:8px;min-height:64px}
.news-thumb{background:transparent!important;border:0!important;box-shadow:none!important}
.news-image-link{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:5px}
.news-title-link{padding:3px 5px}
.news-title-link h3{margin:0}
.news-time{border-top:0!important;padding-top:0}
.news-row.news-card + .news-row.news-card{border-top:0!important}
@media(max-width:600px){.news-category{gap:2px}.news-row.news-card{gap:6px;min-height:58px}.news-title-link{padding:2px 4px}}

/* BSN carousels: one card at a time, entering from left and leaving to right */
.people-list.people-carousel,.awards-grid{display:flex;flex-direction:column;align-items:stretch;gap:8px;overflow:hidden;min-width:0}
.people-carousel .carousel-track,.awards-grid .carousel-track{width:100%;overflow:hidden}
.people-carousel .carousel-item,.awards-grid .carousel-item{width:100%;min-height:150px;box-sizing:border-box}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:2px 0 4px;color:var(--muted);font-size:12px}
.carousel-controls button{border:0;border-radius:50%;width:30px;height:30px;background:var(--navy);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.slide-enter-left{animation:bsnSlideInLeft .48s ease both}
@keyframes bsnSlideInLeft{from{transform:translateX(-36px);opacity:0}to{transform:translateX(0);opacity:1}}
.hero-main.hero-slide-in .hero-overlay{animation:bsnHeroInLeft .65s ease both}
@keyframes bsnHeroInLeft{0%{transform:translateX(-48px);opacity:.25}100%{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.slide-enter-left,.hero-main.hero-slide-in .hero-overlay{animation:none}}

/* Beach-soccer ranking menu and management tabs */
.ranking-cards{margin-bottom:18px}.ranking-cards .international-card{cursor:pointer}.ranking-cards .international-card p{font-size:12px;color:var(--muted)}.ranking-tabs,.ranking-admin-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}.ranking-tabs button,.ranking-admin-tabs button{width:auto!important;padding:9px 12px;border-radius:8px!important;background:#edf5f9;color:#24445b}.ranking-tabs button.active,.ranking-admin-tabs button.active{background:var(--navy);color:#fff}.ranking-tabs+ h3{margin:12px 0}.ranking-cards .international-card h3{font-size:15px;line-height:1.8}.ranking-cards .international-card{min-height:120px}

/* Ranking page: compact vertical tabs on the right, ranking table on the left */
.ranking-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start;direction:rtl}
.ranking-layout .ranking-tabs{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;padding:0;position:sticky;top:12px}
.ranking-layout .ranking-tabs button{width:100%!important;text-align:right;white-space:normal;line-height:1.7}
.ranking-content{min-width:0}
.ranking-content>h3{margin:0 0 12px}
.ranking-table-wrap{width:100%;max-width:100%;overflow:visible}
.ranking-table{width:100%;table-layout:fixed}
.ranking-table .rank-col{width:54px}.ranking-table .logo-col{width:48px}.ranking-table .team-col{width:150px}.ranking-table .points-col{width:72px}.ranking-table .description-col{width:auto;min-width:0}
.ranking-table th,.ranking-table td{padding:8px 7px;overflow-wrap:anywhere;word-break:normal}
.ranking-table .ranking-logo-cell{padding-left:2px;padding-right:2px}
.ranking-table .ranking-logo-cell .team-logo{width:28px;height:28px;object-fit:contain;display:block;margin-inline:auto}
.ranking-table .ranking-team-cell{padding-right:3px;padding-left:6px;font-weight:600}
@media(max-width:760px){.ranking-layout{grid-template-columns:1fr;gap:12px}.ranking-layout .ranking-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-layout .ranking-tabs button{font-size:12px;padding:7px 8px}.ranking-table .rank-col{width:38px}.ranking-table .logo-col{width:38px}.ranking-table .team-col{width:112px}.ranking-table .points-col{width:52px}.ranking-table th,.ranking-table td{padding:6px 3px;font-size:11px}.ranking-table .ranking-logo-cell .team-logo{width:24px;height:24px}.ranking-table .ranking-entry-age{display:block;font-size:9px;line-height:1.4;white-space:normal}}

/* BSN v20: keep the ranking table fully visible and show registration age only below it. */
.ranking-table{min-width:0!important;width:100%;table-layout:fixed}
.ranking-table-wrap{overflow:visible!important;width:100%;max-width:100%}
.ranking-table .rank-col{width:48px}
.ranking-table .logo-col{width:42px}
.ranking-table .team-col{width:clamp(90px,18%,170px)}
.ranking-table .points-col{width:64px}
.ranking-table .description-col{width:auto}
.ranking-table th,.ranking-table td{white-space:normal;overflow-wrap:anywhere;padding:9px 5px}
.ranking-registration-time{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);text-align:left;direction:rtl;color:var(--muted);font-size:12px}
.ranking-registration-time .ranking-entry-age{font-weight:700;color:var(--navy)}
@media(max-width:760px){.ranking-table .rank-col{width:34px}.ranking-table .logo-col{width:34px}.ranking-table .team-col{width:clamp(74px,24%,112px)}.ranking-table .points-col{width:46px}.ranking-table th,.ranking-table td{padding:6px 2px;font-size:10px}.ranking-table .ranking-logo-cell .team-logo{width:22px;height:22px}.ranking-registration-time{font-size:11px}}

/* BSN v21: show only the relative age and favor a horizontal, compact table. */
.ranking-table{width:100%!important;min-width:0!important;table-layout:auto!important}
.ranking-table th,.ranking-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:keep-all;padding:8px 10px}
.ranking-table .rank-col{width:54px}
.ranking-table .logo-col{width:46px}
.ranking-table .team-col{width:20%}
.ranking-table .points-col{width:80px}
.ranking-table .description-col{width:auto}
.ranking-table .ranking-team-cell{max-width:220px}
.ranking-registration-time{margin-top:14px;text-align:left;direction:rtl}
@media(max-width:760px){.ranking-table th,.ranking-table td{padding:6px 4px;font-size:10px}.ranking-table .rank-col{width:32px}.ranking-table .logo-col{width:30px}.ranking-table .team-col{width:24%}.ranking-table .points-col{width:42px}.ranking-table .ranking-team-cell{max-width:115px}.ranking-table .ranking-logo-cell .team-logo{width:22px;height:22px}.ranking-registration-time{font-size:11px}}

/* BSN v22: widen the rankings table by about 5 cm on desktop; soften the age label. */
@media (min-width: 761px){
  .ranking-content{width:calc(100% + 5cm);max-width:none;position:relative;z-index:1}
  .ranking-table-wrap{width:100%;max-width:none;overflow:visible!important}
  .ranking-table{width:100%!important;min-width:0!important}
}
.ranking-registration-time{font-size:10px!important;color:#9299a1!important;font-weight:400!important;padding-top:7px!important;margin-top:10px!important}
.ranking-registration-time .ranking-entry-age{font-size:10px!important;color:#9299a1!important;font-weight:400!important}
@media(max-width:760px){.ranking-registration-time,.ranking-registration-time .ranking-entry-age{font-size:9px!important;color:#9299a1!important}}

/* BSN v23: extend the white ranking-table canvas 10 cm to the physical left. */
@media (min-width: 761px){
  .ranking-content{position:relative;isolation:isolate;background:#fff}
  .ranking-content::before{content:"";position:absolute;top:0;bottom:0;left:-10cm;width:10cm;background:#fff;z-index:-1;pointer-events:none}
}

.brand-mark img{max-width:100%;max-height:100%;vertical-align:middle}.brand-mark:has(img){display:flex;align-items:center;justify-content:center;min-width:58px;min-height:58px}
/* Animated rotating headline in the navy hero banner */
.hero-main.hero-slide-in .hero-overlay{animation:bsnHeroTextSwap .7s ease both}
@keyframes bsnHeroTextSwap{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
.hero-overlay h1,.hero-overlay p{transition:opacity .25s ease}
@media(prefers-reduced-motion:reduce){.hero-main.hero-slide-in .hero-overlay{animation:none}}


/* BSN Instagram profile link: top-left in the white space below the header */
.bsn-instagram-strip{display:flex;justify-content:flex-start;align-items:center;min-height:44px;padding-top:4px;padding-bottom:4px;direction:ltr;background:#fff}
.bsn-instagram-link{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #e9edf2;border-radius:9px;background:#fff;color:#24364b;text-decoration:none;font-size:12px;font-weight:700;line-height:1.3;transition:box-shadow .2s ease,border-color .2s ease}
.bsn-instagram-link:hover{border-color:#d4a4d8;box-shadow:0 3px 12px #172b4514}
.bsn-instagram-icon{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:7px;background:linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 78%,#4f5bd5 100%);color:white;flex:0 0 25px}
.bsn-instagram-icon svg{width:17px;height:17px}
@media(max-width:560px){.bsn-instagram-strip{min-height:39px}.bsn-instagram-link{font-size:11px;padding:4px 8px}}

/* Slightly reduce the homepage slideshow height while preserving its layout */
.hero-main{min-height:300px}
@media(max-width:850px){.hero-main{min-height:250px}}
@media(max-width:520px){.hero-main{min-height:220px}}

/* Compact navigation buttons and slightly shorter homepage slideshow */
.header-main nav#mainNav a{min-height:27px;padding:3px 5px;font-size:11px;line-height:1.2;border-radius:6px}
.header-main nav#mainNav{gap:4px}
.hero-main{min-height:275px}
@media(max-width:850px){.header-main nav#mainNav a{min-height:25px;padding:3px 4px;font-size:10px}.hero-main{min-height:225px}}
@media(max-width:520px){.header-main nav#mainNav a{min-height:24px;padding:3px;font-size:10px}.hero-main{min-height:195px}}

/* BSN Instagram strip: tighter white space and lower-aligned handle beside the icon */
.bsn-instagram-strip{min-height:32px;padding-top:0;padding-bottom:0;line-height:1;background:#fff}
.bsn-instagram-link{padding:3px 8px;gap:7px;line-height:1.2}
.bsn-instagram-link>span[dir="ltr"]{position:relative;top:3px}
.bsn-instagram-icon{width:22px;height:22px;flex-basis:22px}
.bsn-instagram-icon svg{width:15px;height:15px}
@media(max-width:560px){.bsn-instagram-strip{min-height:29px;padding-top:0;padding-bottom:0}.bsn-instagram-link{padding:2px 7px;font-size:10px}.bsn-instagram-link>span[dir="ltr"]{top:3px}.bsn-instagram-icon{width:21px;height:21px;flex-basis:21px}}

/* BSN Instagram strip: reduce white band height and lower the Instagram icon */
.bsn-instagram-strip{min-height:23px;height:23px;padding:0;align-items:flex-start;overflow:visible}
.bsn-instagram-link{padding:1px 7px;gap:7px;transform:translateY(4px)}
.bsn-instagram-link>span[dir="ltr"]{top:3px}
.bsn-instagram-icon{transform:translateY(3px);width:21px;height:21px;flex-basis:21px}
.bsn-instagram-icon svg{width:14px;height:14px}
@media(max-width:560px){.bsn-instagram-strip{min-height:21px;height:21px;padding:0}.bsn-instagram-link{padding:1px 6px;transform:translateY(3px)}.bsn-instagram-icon{transform:translateY(3px);width:20px;height:20px;flex-basis:20px}}


/* Blue card is the advertising slot with rotating images */
.hero-side .mini-card.ad-card{position:relative;isolation:isolate;overflow:hidden;justify-content:center;align-items:center;text-align:center;min-height:160px;padding:18px;background:linear-gradient(135deg,#0c3357,#0e9fcf);background-size:cover;background-position:center;transition:background-image .35s ease}
.ad-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,20,42,.48),rgba(3,20,42,.12));z-index:-1}
.ad-card .ad-blink{position:relative;margin:0;color:#fff;font-size:clamp(17px,1.8vw,23px);font-weight:900;text-shadow:0 2px 8px #00172bb8;animation:bsnAdBlink 1.15s steps(2,start) infinite}
.ad-card.ad-slide-in{animation:bsnAdImageFade .7s ease both}
@keyframes bsnAdBlink{to{visibility:hidden}}
@keyframes bsnAdImageFade{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ad-card .ad-blink{animation:none}.ad-card.ad-slide-in{animation:none}}

/* Small, unobtrusive gray view counter on content cards */
.bsn-view-count{display:block;color:#9299a3;font-size:10px;font-weight:400;text-align:left;margin:5px 8px 2px;direction:rtl}
#manageViewReports table{width:100%;border-collapse:collapse;margin:10px 0 20px}#manageViewReports th,#manageViewReports td{padding:8px;border-bottom:1px solid #e7e9ed;text-align:right;font-size:13px}

/* BSN admin: organized, consistent card layout */
.admin-grid{align-items:stretch;grid-auto-flow:row;gap:14px}
.admin-grid>.panel{box-sizing:border-box;min-width:0;height:100%;align-self:stretch;padding:16px;border-radius:13px;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}
.admin-grid>.panel h2{font-size:16px;line-height:1.8;margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.admin-grid>.panel h3{font-size:14px;line-height:1.8}
.admin-grid>.panel input,.admin-grid>.panel select,.admin-grid>.panel textarea{box-sizing:border-box;max-width:100%;min-width:0}
.admin-grid>.panel .admin-module-list{margin-top:10px}
/* Related tools grouped together in a predictable order */
#manageNews{order:1}
#manageAds{order:2}
#manageSlides{order:3}
#manageVideos{order:4}
#manageHeaderLogo{order:5}
#manageLeagues{order:6}
#manageTeams{order:7}
#manageMatches{order:8}
#manageDomesticResult{order:9}
#manageInternational{order:10}
#manageInternationalResults{order:11}
#manageRankings{order:12}
#manageViewReports{order:13}
#manageLeagueReps{order:14}
#manageReferees{order:15}
#manageWeeklyAwards{order:16}
#manageSettings{order:17}
#manageBackup{order:18}
.admin-grid>.panel button{max-width:100%;white-space:normal;line-height:1.6}
.admin-grid>.panel .file-label{line-height:1.8}
@media(max-width:850px){.admin-grid{grid-template-columns:minmax(0,1fr);gap:12px}.admin-grid>.panel{height:auto;padding:13px}.admin-grid>.panel h2{font-size:15px}}

/* BSN v27 requested admin-card refinements */
#manageNews #newsTitle{font-family:"B Nazanin","BNazanin","B Nazanin Bold",serif;font-size:12px;font-weight:700}
#manageNews #newsText{font-family:"B Nazanin","BNazanin",serif;font-size:11px;font-weight:400;line-height:1.9}
.admin-score-center{display:inline-block;min-width:64px;text-align:center;font-variant-numeric:tabular-nums;direction:ltr}
#manageDomesticResult .admin-module-row>span:first-child{flex:1;text-align:center}
#manageDomesticResult .admin-module-row>span:first-child b{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
#manageDomesticResult .admin-module-row>span:last-child{justify-content:center}
#manageInternationalResults .admin-module-row>span:first-child b{display:block;text-align:center;font-variant-numeric:tabular-nums}
#icResultsAdminList .admin-module-row>span:first-child{flex:1;text-align:center}
#icResultsAdminList .admin-module-row>span:last-child{justify-content:center}
.league-match .ic-score{display:flex;align-items:center;justify-content:center;text-align:center;min-width:64px;font-variant-numeric:tabular-nums}
.league-match .ic-score small{display:block;text-align:center}
@media(max-width:560px){#manageDomesticResult .admin-module-row>span:last-child,#icResultsAdminList .admin-module-row>span:last-child{display:flex;flex-wrap:wrap;width:100%}}

/* News administration: requested Persian typography and image preview */
#manageNews #newsTitle{font-family:"B Nazanin Bold","B Nazanin","BNazanin",serif;font-size:12px;font-weight:700}
#manageNews #newsText{font-family:"B Nazanin","BNazanin",serif;font-size:11px;font-weight:400;line-height:1.9}
#manageNews .media-preview{display:block;max-width:240px;max-height:160px;object-fit:contain;margin:10px 0;border:1px solid var(--line);border-radius:8px}
#manageNews .file-label{display:block;margin:8px 0;padding:10px;border:1px dashed var(--line);border-radius:8px;font-size:12px}
#manageNews .file-label input{display:block;width:100%;margin-top:8px}

/* BSN news admin refinement: compact typography, balanced alignment, visible edit/delete actions */
#manageNews #newsTitle{font-family:"B Nazanin Bold","B Nazanin","BNazanin",serif;font-size:11px;font-weight:700;text-align:right;line-height:1.6}
#manageNews #newsText{font-family:"B Nazanin","BNazanin",serif;font-size:10px;font-weight:400;line-height:1.8;text-align:justify;direction:rtl;min-height:110px}
#manageNews #newsCategory{font-size:11px}
#manageNews .news-form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start;margin-top:10px}
#manageNews .news-form-actions button{border-radius:8px}
#manageNews .news-admin-list-wrap{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}
#manageNews .news-admin-list-wrap h3{font-size:13px;margin:0 0 12px;text-align:right}
#manageNews .news-admin-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #e8edf1;text-align:right;direction:rtl}
#manageNews .news-admin-thumb{flex:0 0 96px;width:96px;height:76px;border-radius:7px;background:#f1f5f8;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#64748b;font-size:10px}
#manageNews .news-admin-thumb img{width:100%;height:100%;object-fit:cover}
#manageNews .news-admin-copy{flex:1;min-width:0}
#manageNews .news-admin-copy>b{display:block;font-family:"B Nazanin Bold","B Nazanin","BNazanin",serif;font-size:11px;line-height:1.6;text-align:right}
#manageNews .news-admin-copy p{font-family:"B Nazanin","BNazanin",serif;font-size:10px;line-height:1.8;text-align:justify;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}
#manageNews .news-admin-copy small{display:block;font-size:10px;color:var(--muted);margin:5px 0}
#manageNews .news-admin-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
#manageNews .news-admin-actions button{font-size:10px;padding:7px 10px;border-radius:6px}
@media(max-width:520px){#manageNews .news-admin-item{gap:8px}#manageNews .news-admin-thumb{flex-basis:78px;width:78px;height:68px}#manageNews .news-admin-actions button{padding:7px 8px}}

/* BSN v27: compact public news typography on homepage and article detail */
.news-row.news-card .news-title-link h3{font-size:10px!important;line-height:1.55!important;font-weight:600}
.news-detail-panel h1{font-size:16px!important;line-height:1.7!important;font-weight:700}
.news-detail-text{font-size:12px!important;line-height:1.9!important;text-align:justify;direction:rtl}
@media(max-width:600px){
 .news-row.news-card .news-title-link h3{font-size:10px!important;line-height:1.5!important}
 .news-detail-panel h1{font-size:14px!important;line-height:1.65!important}
 .news-detail-text{font-size:11px!important;line-height:1.85!important}
}

/* Step 2: domestic teams, fixtures and Persian date picker */
#manageTeams .domestic-admin-row>span:first-child,#manageMatches .domestic-admin-row>span:first-child{flex:1;text-align:center}
#manageTeams .domestic-admin-row>span:first-child b,#manageMatches .domestic-admin-row>span:first-child b{display:block;text-align:center;line-height:1.8}
#manageTeams .domestic-admin-row>span:first-child .admin-person-thumb{margin:0 auto 5px}
#manageTeams .domestic-admin-row>span:last-child,#manageMatches .domestic-admin-row>span:last-child{justify-content:center;flex-wrap:wrap}
.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.form-actions button{width:auto}
.persian-date-field{position:relative;margin:8px 0 12px}.persian-date-field>label{display:block;margin-bottom:5px}.persian-date-controls{display:flex;gap:7px}.persian-date-controls input{flex:1;min-width:0}.persian-date-controls button{width:auto;white-space:nowrap}
.persian-calendar{position:relative;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 25px #092c451c;max-width:340px;z-index:5}.persian-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.persian-calendar-head button{width:34px!important;padding:5px!important}.persian-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.persian-calendar-grid>span{font-size:11px;font-weight:700;color:var(--muted);padding:5px 0}.persian-calendar-grid button{width:100%!important;padding:7px 0!important;margin:0!important;border-radius:7px!important;font-size:12px!important}.persian-calendar-grid button:hover{background:#e5f5fb!important;color:#087ca8!important}
/* Keep the fixture/result score or VS exactly centered between the two teams. */
.league-match.ic-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:10px;row-gap:5px;align-items:center}
.league-match.ic-match .ic-match-meta{grid-column:1/-1;grid-row:1;text-align:center}
.league-match.ic-match .ic-side:first-of-type{grid-column:1;grid-row:2;justify-content:center}
.league-match.ic-match .ic-score{grid-column:2;grid-row:2;min-width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.league-match.ic-match .ic-side:last-of-type{grid-column:3;grid-row:2;justify-content:center}
.league-match.ic-match .ic-score-line,.league-match.ic-match .league-fixture-status{display:block;text-align:center;white-space:nowrap}
@media(max-width:600px){.persian-date-controls{flex-wrap:wrap}.persian-date-controls button{flex:1}.league-match.ic-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:5px}.league-match.ic-match .ic-side{flex-direction:column;text-align:center;gap:4px}.league-match.ic-match .ic-score{grid-column:2;grid-row:2;min-width:54px;font-size:14px}.league-match.ic-match .ic-match-meta{grid-column:1/-1;grid-row:1}}

/* BSN update: clear, consistent digital clock and unified Persian date/time display */
.topbar-in{min-height:42px;height:auto;gap:12px;padding-top:5px;padding-bottom:5px}
#liveInfo{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;text-align:left;direction:rtl;font-size:11px;color:#eaf6ff}
#liveInfo .live-date{white-space:nowrap;color:#d6e7f5}
#liveInfo .live-clock{display:inline-flex;align-items:center;justify-content:center;min-width:94px;padding:4px 10px;border:1px solid #28b9ed66;border-radius:8px;background:linear-gradient(135deg,#0c3558,#087da8);box-shadow:inset 0 0 10px #21b9ee18;color:#fff;font-family:ui-monospace,Consolas,monospace;font-size:14px;font-weight:800;letter-spacing:1px;font-variant-numeric:tabular-nums}
#liveInfo .live-weather{white-space:nowrap;color:#b9e7f8}
.match .match-date{display:inline-block;direction:ltr;unicode-bidi:plaintext;font-variant-numeric:tabular-nums;white-space:nowrap}
.match .match-time{display:inline-block;background:#eef8fc;color:#087ca6;border:1px solid #d5edf7;border-radius:6px;padding:2px 6px;margin-bottom:3px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:600px){.topbar-in{align-items:flex-start;flex-direction:column;gap:4px;padding-top:7px;padding-bottom:7px}#liveInfo{justify-content:flex-start;gap:6px;font-size:10px}#liveInfo .live-clock{min-width:82px;font-size:12px;padding:3px 7px}.match .match-date{white-space:normal}}

/* Final league-management presentation refinements */
#league-detail-content .league-group-block{border:0!important;border-radius:0!important;box-shadow:none!important;padding:7px 0!important;background:transparent!important}
#league-detail-content .league-group-block>h3{border-bottom:0!important;padding-bottom:2px!important;margin-bottom:5px!important}
#league-detail-content .league-match{border:0!important;border-bottom:0!important;box-shadow:none!important;border-radius:0!important;padding:6px 0!important}
#league-detail-content .league-match .ic-side,
#league-detail-content .league-match .ic-side b{font-size:10px!important;line-height:1.25!important}
#league-detail-content .league-match .ic-score{font-size:13px!important}
#league-detail-content .league-match .league-result-type{font-size:8px!important;padding:1px 3px!important}
#league-detail-content .league-match .ic-match-meta{font-size:9px!important;line-height:1.35!important}
#league-detail-content .league-match .ic-match-meta small{display:none!important}

/* v28: group label below venue and tighter team/score columns on league fixtures/results */
#league-detail-content .league-match.ic-match{column-gap:2px!important;}
@media(max-width:600px){#league-detail-content .league-match.ic-match{column-gap:2px!important;}}
#league-detail-content .league-match .league-match-group{display:inline-block;margin-top:1px;font-size:9px;line-height:1.25;color:var(--muted);}
#league-detail-content .league-matches-list .league-match{margin:0!important;}


/* Shared green circular clock picker */
.bsn-time-modal{position:fixed;inset:0;z-index:99999;background:rgba(2,12,26,.62);display:flex;align-items:center;justify-content:center;padding:14px}
.bsn-time-modal.hidden{display:none!important}.bsn-time-dialog{width:min(360px,96vw);background:#fff;border-radius:20px;padding:18px;box-shadow:0 18px 55px #00152d55;color:#102b42}
.bsn-time-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;font-weight:700}.bsn-time-head>div{display:flex;align-items:center;gap:4px;font-size:24px}
.bsn-time-value{background:#e9f6ef!important;color:#18794e!important;border:0!important;border-radius:8px;padding:7px 10px;font-size:24px;font-weight:700;min-width:54px}
.bsn-time-value.active{background:#16834f!important;color:white!important}.bsn-time-dial{position:relative;width:min(280px,78vw);height:min(280px,78vw);max-width:280px;max-height:280px;margin:0 auto 16px;border-radius:50%;background:#edf7f0}
.bsn-time-clock-face{position:absolute;inset:50%;width:4px;height:4px;border-radius:50%;background:#16834f;transform:translate(-50%,-50%)}
.bsn-time-tick{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;min-width:0;padding:0;border:0!important;border-radius:50%;background:transparent!important;color:#24533c!important;font-size:11px;line-height:30px;text-align:center;z-index:1}
.bsn-time-tick.selected{background:#16834f!important;color:#fff!important;font-weight:800}
.bsn-time-tick.minor{width:17px;height:17px;font-size:0;line-height:17px}.bsn-time-tick.minor.selected{width:24px;height:24px}
.bsn-time-actions{display:flex;justify-content:flex-end;gap:8px}.bsn-time-actions button{border-radius:9px}
#icTime,#mTime{cursor:pointer;background-color:#f4fbf6}

/* BSN v34: cleaner international teams and compact fixture/result cards */
#international-detail-content .ic-group-block{border:0;border-radius:0;padding:0;margin:8px 0 12px;background:transparent}
#international-detail-content .ic-team{border:0;border-radius:0;padding:8px 4px;background:transparent}
#international-detail-content .ic-team-grid{gap:4px 8px}
#international-detail-content .ic-group-block>h3{margin:0 0 6px;padding:5px 2px;border-radius:0;background:transparent;border:0;font-size:14px}
#international-detail-content .ic-match{border:0;border-bottom:0;padding:6px 3px;gap:4px 6px}
#international-detail-content .ic-match-meta{font-size:10px;line-height:1.4}
#international-detail-content .ic-side{gap:4px}
#international-detail-content .ic-side b{font-size:11px;line-height:1.25}
#international-detail-content .ic-side .team-logo{width:26px;height:26px;flex-basis:26px}
#international-detail-content .ic-score{font-size:14px}
@media(max-width:600px){
 #international-detail-content .ic-group-block{padding:0;margin:6px 0 10px}
 #international-detail-content .ic-match{gap:4px 3px;padding:6px 1px}
 #international-detail-content .ic-side{gap:3px;font-size:10px}
 #international-detail-content .ic-side b{font-size:10px}
 #international-detail-content .ic-side .team-logo{width:23px;height:23px;flex-basis:23px}
}

/* BSN v35: minimize the gap between international teams and the centered VS/score. */
#international-detail-content .ic-match{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
  column-gap:4px !important;
  row-gap:2px !important;
  align-items:center;
}
#international-detail-content .ic-match-meta{grid-column:1/-1;}
#international-detail-content .ic-side{min-width:0;gap:3px;}
#international-detail-content .ic-side:first-of-type{justify-content:flex-end;}
#international-detail-content .ic-side:last-of-type{justify-content:flex-start;}
#international-detail-content .ic-score{
  grid-column:auto !important;grid-row:auto !important;
  min-width:0;white-space:nowrap;padding:0 2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
#international-detail-content .ic-score-line{white-space:nowrap;}
#international-detail-content .ic-result-type{max-width:88px;text-align:center;white-space:normal;}
@media(max-width:600px){
  #international-detail-content .ic-match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;column-gap:2px !important;padding:6px 0 !important;}
  #international-detail-content .ic-side{flex-direction:row;justify-content:center;gap:2px;font-size:10px;}
  #international-detail-content .ic-side b{font-size:10px;}
  #international-detail-content .ic-score{grid-column:auto !important;grid-row:auto !important;font-size:13px;}
  #international-detail-content .ic-result-type{font-size:8px;max-width:68px;}
}

/* BSN v36: hard-center international VS and result score/win-type between team columns. */
#international-detail-content .ic-match.ic-fixture-match,
#international-detail-content .ic-match.ic-result-match{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(42px,auto) minmax(0,1fr) !important;
  column-gap:2px !important;
  align-items:center !important;
}
#international-detail-content .ic-match .ic-match-meta{
  grid-column:1 / -1 !important;
}
#international-detail-content .ic-match .ic-side{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:2px !important;
}
#international-detail-content .ic-match .ic-side:nth-of-type(2){
  grid-column:1 !important;
  justify-content:flex-end !important;
  text-align:right !important;
}
#international-detail-content .ic-match .ic-score{
  grid-column:2 !important;
  grid-row:auto !important;
  justify-self:center !important;
  align-self:center !important;
  width:100% !important;
  min-width:42px !important;
  max-width:76px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
#international-detail-content .ic-match .ic-score-line{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1.15 !important;
}
#international-detail-content .ic-match .ic-result-type{
  display:block !important;
  width:100% !important;
  max-width:76px !important;
  margin:1px auto 0 !important;
  padding:0 !important;
  text-align:center !important;
  overflow-wrap:anywhere !important;
  line-height:1.1 !important;
}
#international-detail-content .ic-match .ic-side:last-child{
  grid-column:3 !important;
  justify-content:flex-start !important;
  text-align:left !important;
}
@media(max-width:600px){
  #international-detail-content .ic-match.ic-fixture-match,
  #international-detail-content .ic-match.ic-result-match{
    grid-template-columns:minmax(0,1fr) minmax(38px,auto) minmax(0,1fr) !important;
    column-gap:1px !important;
  }
  #international-detail-content .ic-match .ic-score{min-width:38px !important;max-width:64px !important;}
  #international-detail-content .ic-match .ic-result-type{max-width:64px !important;font-size:8px !important;}
}

/* BSN v38: compact administration typography and side-by-side modules */
body.admin-page{font-size:12px;line-height:1.55}
.admin-shell{max-width:1500px!important;padding:10px!important}
.admin-title{padding:10px 14px!important;margin-bottom:10px!important;gap:10px!important}
.admin-title h1{font-size:19px!important;line-height:1.4!important;margin:0 0 3px!important}
.admin-title p,.admin-help{font-size:10.5px!important;line-height:1.55!important;margin:4px 0 8px!important}
.admin-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}
.admin-page .panel{padding:12px!important;margin:0!important;border-radius:11px!important;min-width:0!important;box-shadow:0 3px 12px #092c4510!important}
.admin-page .panel h2{font-size:14px!important;line-height:1.45!important;margin:0 0 7px!important;padding-bottom:5px!important}
.admin-page .panel h3{font-size:12px!important;line-height:1.45!important;margin:8px 0 5px!important}
.admin-page .panel h4{font-size:11px!important;margin:7px 0 4px!important}
.admin-page label{font-size:10.5px!important;margin:4px 0 2px!important}
.admin-page input:not([type=file]),.admin-page select,.admin-page textarea{font-size:11px!important;min-height:32px!important;padding:6px 8px!important;margin:3px 0!important;border-radius:7px!important;min-width:0!important;max-width:100%!important}
.admin-page textarea{min-height:60px!important;line-height:1.5!important}
.admin-page button{font-size:10.5px!important;padding:6px 10px!important;min-height:30px!important;margin:3px 2px 3px 0!important;border-radius:7px!important;line-height:1.4!important}
.admin-page .international-admin-item{padding:9px!important;margin:7px 0!important;border-radius:9px!important}
.admin-page .admin-module-list{font-size:10.5px!important;line-height:1.5!important}
.admin-page .admin-module-list>*{margin:5px 0!important;padding:7px!important}
.admin-page .score-inputs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.admin-page .form-actions,.admin-page .news-form-actions,.admin-page .admin-title-actions{display:flex!important;flex-wrap:wrap!important;gap:4px!important;align-items:center!important}
.admin-page .table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:900px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.admin-page .panel{padding:9px!important}}
@media(max-width:600px){.admin-grid{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.admin-title{align-items:flex-start!important;flex-direction:column!important}.admin-page .panel h2{font-size:13px!important}.admin-page input:not([type=file]),.admin-page select,.admin-page textarea{font-size:12px!important}}
/* Extra-time and penalty score details in result cards */
.home-result-extra,.league-extra-score{display:block;margin-top:3px;font-size:.78em;line-height:1.45;font-weight:500;opacity:.9;white-space:normal}
/* Distinguish extra-time and penalty shoot-out scores from the regulation-time score. */
.extra-time-score{color:#0b8fbd;font-weight:700}
.penalty-score{color:#e58a18;font-weight:700;border-top:1px solid rgba(229,138,24,.35);padding-top:3px}
.home-result-extra.penalty-score,.league-extra-score.penalty-score{opacity:1}

/* BSN v42: clear weekly separators for domestic and international fixtures/results */
.bsn-week-group{display:block;margin:10px 0 16px;min-width:0}
.bsn-week-divider{display:flex;align-items:center;gap:10px;margin:0 0 7px;padding:0 2px;color:#65717d;font-size:12px;font-weight:700;line-height:1.6}
.bsn-week-divider:after{content:"";height:1px;background:#cfd5db;flex:1;min-width:16px}
.bsn-week-divider span{white-space:nowrap}
.bsn-week-group .match:last-child{border-bottom:0}
#league-detail-content .bsn-week-divider,#international-detail-content .bsn-week-divider{border:0;background:transparent}
#league-detail-content .bsn-week-group,#international-detail-content .bsn-week-group{margin:8px 0 14px}

/* BSN v43: refined league and international competition titles */
#league-detail .section-head,
#international-detail .section-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;margin:0 0 12px;border:1px solid #dce6ed;
  border-right:4px solid #087ca8;border-radius:12px;
  background:linear-gradient(135deg,#f8fbfd 0%,#edf5f9 100%);
  box-shadow:0 3px 10px rgba(7,44,69,.05)
}
#league-detail-title,#international-detail-title{
  margin:0;min-width:0;color:#12364d;font-size:clamp(15px,2.6vw,20px);
  font-weight:800;line-height:1.65;overflow-wrap:anywhere
}
#league-detail .section-head>button,#international-detail .section-head>button{
  flex:0 0 auto;margin:0;padding:7px 11px;border-radius:8px!important;
  font-size:11px;font-weight:700;white-space:nowrap
}
.league-cards .league-card{
  border:1px solid #dfe8ee;border-radius:13px;background:linear-gradient(145deg,#fff,#f7fafc);
  padding:13px;box-shadow:0 3px 10px rgba(9,44,69,.045)
}
.league-cards .league-card h3{
  margin:0;min-height:44px;padding:8px 10px;border-radius:9px;
  border-right:3px solid #087ca8;background:#eef5f8;color:#15384e;
  font-size:14px;font-weight:800;line-height:1.6;overflow-wrap:anywhere
}
.league-cards .league-card-logo{width:34px;height:34px;flex-basis:34px;background:#fff;padding:2px;border:1px solid #e3ebf0}
#league-detail .league-tabs,#international-detail .international-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
#league-detail .league-tabs button,#international-detail .international-tabs button{flex:1 1 auto;min-width:fit-content;padding:8px 10px;font-size:11px;font-weight:700}
@media(max-width:600px){
 #league-detail .section-head,#international-detail .section-head{padding:9px 10px;gap:7px}
 #league-detail-title,#international-detail-title{font-size:14px;line-height:1.5}
 #league-detail .section-head>button,#international-detail .section-head>button{padding:6px 8px;font-size:10px}
 .league-cards .league-card{padding:10px}
 .league-cards .league-card h3{font-size:12px;min-height:40px;padding:6px 8px;gap:7px}
 .league-cards .league-card-logo{width:30px;height:30px;flex-basis:30px}
 #league-detail .league-tabs button,#international-detail .international-tabs button{padding:7px 6px;font-size:10px}
}
/* BSN v44: chronological week order and single-line league card titles */
.league-cards .league-card h3{display:flex;flex-wrap:nowrap;align-items:center;gap:9px;min-width:0;white-space:nowrap;overflow:hidden}
.league-cards .league-card-title-text{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.league-cards .league-card-logo{display:block;flex:0 0 34px}
#league-detail .section-head,#international-detail .section-head{flex-wrap:nowrap}
#league-detail-title,#international-detail-title{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
@media(max-width:600px){.league-cards .league-card h3{flex-wrap:nowrap;white-space:nowrap}.league-cards .league-card-title-text{white-space:nowrap;text-overflow:ellipsis}#league-detail-title,#international-detail-title{white-space:nowrap;text-overflow:ellipsis}}


/* BSN v45: compact readable league titles and consistently aligned international competition titles */
#league-detail .section-head,#international-detail .section-head{
  align-items:center;gap:8px;flex-wrap:wrap;
}
#league-detail-title,#international-detail-title{
  flex:1 1 180px;min-width:0;font-size:clamp(12px,2vw,17px)!important;
  line-height:1.45;white-space:normal!important;overflow:visible;text-overflow:clip;
  overflow-wrap:anywhere;
}
.league-cards .league-card h3{
  align-items:center;white-space:normal;overflow:visible;min-height:54px;
  font-size:12px;line-height:1.45;padding:7px 8px;gap:7px;
}
.league-cards .league-card-title-text{
  white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  line-height:1.45;max-height:2.9em;
}
.international-grid:not(.league-cards) .international-card{
  display:flex;flex-direction:column;align-items:stretch;min-width:0;
}
.international-grid:not(.league-cards) .international-card h3{
  display:flex;align-items:center;justify-content:flex-start;gap:7px;
  min-height:48px;margin:0 0 10px;padding:7px 9px;
  background:#eef5f8;border-right:3px solid #087ca8;border-radius:8px;
  font-size:13px;line-height:1.5;overflow-wrap:anywhere;
}
.international-grid:not(.league-cards) .international-card>div:nth-child(2){flex:1;min-height:50px}
.international-grid:not(.league-cards) .international-card>button{align-self:flex-start;margin-top:10px}
@media(max-width:600px){
  #league-detail .section-head,#international-detail .section-head{padding:8px 9px;gap:6px}
  #league-detail-title,#international-detail-title{font-size:12px!important;line-height:1.45}
  .league-cards .league-card h3{font-size:11px;min-height:48px;padding:6px;gap:6px}
  .league-cards .league-card-logo{width:27px;height:27px;flex-basis:27px}
  .international-grid:not(.league-cards) .international-card h3{font-size:12px;min-height:44px;padding:6px 7px}
}

/* News photo gallery */
.news-detail-gallery{margin:28px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.news-detail-gallery h2{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px;margin:0 0 14px;color:var(--navy)}
.news-detail-gallery h2 span{font-size:12px;color:var(--muted);font-weight:500}
.news-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.news-gallery-item{display:block;width:100%;padding:0;border:0!important;border-radius:8px!important;overflow:hidden;background:#edf2f6;cursor:pointer}
.news-gallery-item img{display:block;width:100%;height:150px;object-fit:cover;transition:transform .2s}
.news-gallery-item:hover img{transform:scale(1.035)}
.gallery-openable{cursor:zoom-in}
.bsn-gallery-viewer{position:fixed;inset:0;z-index:99999;background:rgba(3,10,20,.94);display:none;align-items:center;justify-content:center;padding:60px 72px 70px}
.bsn-gallery-viewer.is-open{display:flex}
.bsn-gallery-viewer .gallery-view-image{max-width:100%;max-height:82vh;object-fit:contain;border-radius:5px}
.bsn-gallery-viewer button{position:absolute;border:0!important;background:rgba(255,255,255,.15)!important;color:#fff!important;border-radius:50%!important;cursor:pointer;font-size:32px;line-height:1}
.bsn-gallery-viewer .gallery-close{top:16px;left:18px;width:44px;height:44px}
.bsn-gallery-viewer .gallery-prev,.bsn-gallery-viewer .gallery-next{top:50%;transform:translateY(-50%);width:48px;height:48px}
.bsn-gallery-viewer .gallery-prev{right:14px}.bsn-gallery-viewer .gallery-next{left:14px}
.bsn-gallery-viewer .gallery-counter{position:absolute;bottom:20px;color:#fff;font-size:14px}
.news-gallery-preview{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.news-gallery-preview img{width:76px;height:62px;object-fit:cover;border-radius:5px;border:1px solid var(--line)}
@media(max-width:600px){.news-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.news-gallery-item img{height:120px}.bsn-gallery-viewer{padding:56px 42px}.bsn-gallery-viewer .gallery-prev,.bsn-gallery-viewer .gallery-next{width:36px;height:36px;font-size:25px}.news-detail-gallery h2{font-size:16px}}

/* News gallery display and save feedback */
.news-detail-gallery{margin:24px 0}.news-detail-gallery h3{font-size:18px;margin:0 0 12px}.news-detail-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.news-detail-gallery-item{display:flex;flex-direction:column;gap:5px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff);cursor:pointer;color:inherit}.news-detail-gallery-item img{display:block;width:100%;height:100px;object-fit:cover;border-radius:5px}.news-detail-gallery-item span{font-size:12px}.news-save-status{display:none;margin:10px 0;padding:10px 12px;border-radius:7px;background:#e8f5e9;color:#155724;font-weight:700}.news-save-status.error{background:#ffebee;color:#a31621}.news-save-status.visible{display:block}

.news-gallery-preview-item{display:flex;flex-direction:column;gap:4px;max-width:100px;overflow-wrap:anywhere}.news-gallery-preview-item img{width:76px;height:62px;object-fit:cover;border-radius:5px;border:1px solid var(--line)}


/* BSN live broadcast feature */
.bsn-live-button{position:fixed;z-index:9998;top:18px;right:18px;border:2px solid #baff00;border-radius:999px;background:#baff00;color:#101b28;font-weight:900;font-size:16px;padding:9px 20px;box-shadow:0 0 0 3px #baff0033,0 0 18px #baff00aa;cursor:pointer;animation:bsnLivePulse 1.05s steps(2,start) infinite}
.bsn-live-button[hidden],.bsn-live-modal[hidden]{display:none!important}.bsn-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff253a;margin-inline-end:7px;box-shadow:0 0 8px #ff253a;vertical-align:middle}.bsn-live-modal{position:fixed;inset:0;z-index:10000;background:#06101ddd;display:flex;align-items:center;justify-content:center;padding:16px}.bsn-live-dialog{position:relative;background:#fff;color:#152338;width:min(680px,100%);max-height:85vh;overflow:auto;border-radius:16px;padding:24px;box-shadow:0 20px 70px #0008}.bsn-live-dialog h2{margin:0 0 18px;border-bottom:2px solid #baff00;padding:0 0 12px}.bsn-live-close{position:absolute;top:10px;left:12px;border:0;background:#e9edf1;border-radius:50%;width:34px;height:34px;font-size:25px;cursor:pointer}.bsn-live-match{border:1px solid #dbe2e9;border-right:4px solid #baff00;border-radius:12px;padding:14px;margin:12px 0;background:#f8fafc}.bsn-live-match h3{margin:10px 0;font-size:19px}.bsn-live-match h3 span{color:#6b7786;font-size:12px;margin:0 7px}.bsn-live-match p{margin:7px 0}.bsn-live-match-top{display:flex;justify-content:space-between;align-items:center}.bsn-live-pill{background:#baff00;color:#14202b;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:900}.bsn-live-pill i{display:inline-block;width:7px;height:7px;background:#ff253a;border-radius:50%;margin-inline-end:5px}.bsn-live-meta{color:#5d6b7a;font-size:13px}.bsn-live-watch{display:inline-block;background:#102b49;color:white!important;padding:8px 14px;border-radius:8px;text-decoration:none!important;margin-top:5px}.live-admin-toggle{display:flex;align-items:center;gap:9px;padding:10px;background:#f3f8e4;border-radius:8px}.live-admin-toggle input{width:auto}.live-status-active{color:#4c7800;font-weight:800}@keyframes bsnLivePulse{0%,49%{opacity:1}50%,100%{opacity:.45}}@media(max-width:600px){.bsn-live-button{top:10px;right:10px;padding:7px 14px;font-size:14px}.bsn-live-dialog{padding:20px 14px}.bsn-live-match h3{font-size:16px}}

.broadcast-inline{border:1px solid #d5e2ec;border-right:4px solid #baff00;border-radius:10px;padding:12px;margin:12px 0;background:#f7fafc}.broadcast-inline h4{margin:0 0 10px;color:#163451}.broadcast-inline input:not([type=checkbox]){margin:5px 0}


/* BSN live broadcast link: under Instagram in the left side of the header */
.bsn-instagram-strip{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;height:auto;min-height:0;overflow:visible;padding:2px 0 7px;direction:ltr}
.bsn-live-button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0 0 0 2px;padding:3px 9px;border:0;border-radius:5px;background:transparent;color:#8cff00;font-size:14px;font-weight:900;line-height:1.4;text-shadow:0 0 5px #8cff00aa,0 0 12px #8cff0066;box-shadow:none;cursor:pointer;animation:bsnLiveBlink .95s steps(2,start) infinite}
.bsn-live-button[hidden]{display:none!important}
.bsn-live-button .bsn-live-dot{width:7px;height:7px;margin:0;background:#ff253a;box-shadow:0 0 7px #ff253a}
@keyframes bsnLiveBlink{0%,49%{opacity:1}50%,100%{opacity:.3}}
@media(max-width:560px){.bsn-instagram-strip{padding:1px 0 6px;gap:4px}.bsn-live-button{font-size:13px;padding:2px 7px}}

/* BSN polling UI - compact horizontal metadata and one-card carousel */
.bsn-poll-warning{background:#fff6df;border-right:4px solid #d99b19;padding:7px 10px;border-radius:7px;font-size:12px;color:#674c12;margin:6px 0}
.bsn-polls-panel{padding:12px!important}
.bsn-polls-panel .section-head{margin-bottom:8px}
.bsn-polls-grid{display:block;min-width:0}
.bsn-poll-carousel{max-width:760px;margin:0 auto}
.bsn-poll-card{border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:11px 13px;background:var(--card,#fff);min-width:0}
.bsn-poll-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-direction:row-reverse}
.bsn-poll-card h3{margin:0;font-size:16px}
.bsn-poll-count{font-size:11px;color:#64748b;white-space:nowrap}
.bsn-poll-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 0;padding:7px 9px;background:#f8fafc;border-radius:7px;font-size:12px;color:#475569;direction:rtl}
.bsn-poll-meta span{white-space:nowrap}
.bsn-poll-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;margin:8px 0}
.bsn-poll-options label{display:flex;align-items:center;gap:7px;padding:7px 9px;background:#f7f8fa;border-radius:7px;cursor:pointer;font-size:13px}
.bsn-poll-card button{margin:5px 0;padding:7px 13px}
.bsn-poll-status{font-size:12px;color:#28764b;margin:7px 0}
.bsn-poll-results{display:grid;gap:5px;margin-top:8px}
.bsn-poll-result{display:flex;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid #eee;padding:4px 0}
.bsn-poll-note{font-size:12px;color:#64748b}
.bsn-poll-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px auto 0;max-width:760px}
.bsn-poll-carousel-controls button{border:1px solid #d8dee8;border-radius:7px;background:#f8fafc;color:#334155;padding:5px 10px;font-size:12px;cursor:pointer}
.bsn-poll-carousel-controls span{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsn-poll-empty{font-size:13px;text-align:center;color:#64748b;padding:14px}
#manageBsnPolls label{display:block;margin:10px 0}
#manageBsnPolls textarea{width:100%;min-height:90px}
.bsn-poll-deadline{font-size:12px;color:#64748b;background:#f8fafc;border-radius:7px;padding:6px 8px;margin:0 0 8px}
@media(max-width:650px){.bsn-poll-meta{gap:5px 10px;font-size:11px}.bsn-poll-meta span{white-space:normal}.bsn-poll-options{grid-template-columns:1fr}.bsn-polls-panel{padding:9px!important}}

/* BSN v57 mobile navigation reliability fix */
@media(max-width:900px){
  .header-main nav#mainNav{display:none!important}
  .header-main nav#mainNav.open{display:grid!important;visibility:visible!important;opacity:1!important}
  .header-main nav#mainNav .nav-submenu{position:static;display:none;box-shadow:none;width:100%}
  .header-main nav#mainNav .nav-dropdown:focus-within .nav-submenu,
  .header-main nav#mainNav .nav-dropdown:hover .nav-submenu{display:block}
}
