/* SBBS visual layer — screens only; records and printing keep their behavior. */
@media screen {
:root{--motion-ink:#142b42;--motion-mute:#60768c;--motion-paper:#fff;--motion-line:#dbe7ed;--motion-teal:#0caa9a;--motion-shadow:0 12px 36px #12334d0a;--motion-gold:#e5b652}
body.admin-body{background:#f2f6f8;color:var(--motion-ink);font-family:Inter,'Segoe UI',Arial,sans-serif;background-image:radial-gradient(ellipse at 95% 0,#10b6a811,transparent 40%),radial-gradient(ellipse at 15% 80%,#287ec00a,transparent 40%)}
body.admin-body .app-main{background:transparent;max-width:1510px;padding-top:6px}
.sidebar{background:linear-gradient(165deg,#112c42,#0c1f31 72%,#10333c)!important;border-right:1px solid #ffffff12;box-shadow:12px 0 40px #112b4210}
.sidebar .brand{padding-bottom:22px;border-bottom:1px solid #ffffff14}.sidebar .brand img{filter:drop-shadow(0 0 12px #ffffff22)}.sidebar .brand strong{letter-spacing:-.5px}.sidebar .brand small{color:#94b0c4}
.side-menu a{position:relative;transition:background .25s,transform .25s,color .25s;border-radius:12px}.side-menu a:hover{background:#ffffff0c!important;transform:translateX(4px);color:#fff}.side-menu a.active{background:linear-gradient(100deg,#18c4ab,#53e0c0)!important;color:#0b3036!important;box-shadow:0 8px 23px #13c4b02c}.side-menu a.active i{color:#0b3036!important}.side-menu a.active:before{content:'';position:absolute;left:-12px;top:25%;height:50%;width:3px;background:#58e6cd;border-radius:3px}.side-menu i{font-style:normal!important}.sidebar-user{border-top:1px solid #ffffff12}.theme-toggle{background:#ffffff0b!important;border:1px solid #ffffff1a!important;color:#d5e9ef!important}.logout-link{color:#9bb7c8!important}
.dashboard-hero{min-height:212px;padding:36px!important;border-radius:24px!important;background:linear-gradient(120deg,#102a40 0%,#143b50 58%,#126261 100%)!important;box-shadow:0 18px 44px #10334a18;isolation:isolate;align-items:center;gap:28px}
.dashboard-hero:before{content:'';position:absolute;width:370px;height:370px;right:12%;top:-190px;border:1px solid #7fffe832;border-radius:50%;box-shadow:0 0 0 30px #7fffe80a,0 0 0 60px #7fffe808,0 0 0 90px #7fffe805;z-index:-1;animation:sbbs-orbit 14s ease-in-out infinite alternate}
.dashboard-hero:after{width:300px!important;height:300px!important;border:1px solid #a3fff12c!important;right:-125px!important;top:45px!important;box-shadow:0 0 0 28px #80ffe909,0 0 0 56px #80ffe908;z-index:-1;animation:sbbs-orbit 11s ease-in-out infinite alternate-reverse}
.dashboard-hero h1{font-size:clamp(28px,2.6vw,43px)!important;letter-spacing:-1.5px;line-height:1.15;margin:8px 0 14px!important}.dashboard-hero .eyebrow{color:#6ae9cd!important;letter-spacing:2.5px;font-size:11px}.dashboard-hero p{color:#c3dae3!important;line-height:1.65}.hero-actions{max-width:420px;flex-wrap:wrap;justify-content:flex-end}.hero-actions select{background:#ffffff0c;color:#fff;border:1px solid #ffffff26;min-width:178px}.hero-actions option{color:#143044;background:white}.dashboard-date{background:transparent;border-color:#ffffff25;font-size:13px}.hero-actions .btn.accent{background:#45dfbf!important;color:#103f43!important;box-shadow:0 8px 24px #12c4a529;border:1px solid #7de9d1!important;white-space:normal}
.page-head h1,.pagehead h1{letter-spacing:-1px;font-size:clamp(27px,2.5vw,36px)}.page-head{margin-bottom:25px}.page-head p{line-height:1.6;color:var(--motion-mute)}.eyebrow,.mini-label{letter-spacing:2px;color:#07887d!important;font-size:10px!important;font-weight:800}.card-title h2{font-size:21px;letter-spacing:-.6px}.card-title a{font-size:12px;font-weight:700;color:#0a8d82;background:#ecf8f5;padding:8px 11px;border-radius:8px;text-decoration:none}
.admin-body .card,.admin-body .athlete-card,.admin-body .profile-card,.admin-body .user-admin-card,.admin-body .table-wrap,.admin-body .tablewrap{background:var(--motion-paper);border:1px solid var(--motion-line);box-shadow:var(--motion-shadow);border-radius:19px;transition:box-shadow .3s,border-color .3s,transform .3s}.admin-body .card{padding:25px}.admin-body .card:hover,.admin-body .athlete-card:hover,.admin-body .user-admin-card:hover{border-color:#b9d6dc;box-shadow:0 18px 42px #12334d10}
.premium-stats{gap:14px!important;margin:24px 0!important}.premium-stats .stat{position:relative;overflow:hidden;border:1px solid var(--motion-line)!important;border-radius:17px!important;background:var(--motion-paper)!important;min-height:166px!important;padding:22px!important;box-shadow:var(--motion-shadow);transition:transform .35s,box-shadow .35s,border-color .35s;isolation:isolate}.premium-stats .stat:before{content:'';position:absolute;bottom:0;left:20px;right:20px;height:3px;background:var(--card-accent,#0faa9d);border-radius:5px 5px 0 0}.premium-stats .stat:after{content:'';position:absolute;width:110px;height:110px;border-radius:50%;right:-55px;top:-50px;background:var(--card-accent,#0faa9d);opacity:.06;transition:transform .45s;z-index:-1}.premium-stats .stat:hover{transform:translateY(-7px)!important;border-color:#9ccdcc!important;box-shadow:0 20px 40px #12334d16!important}.premium-stats .stat:hover:after{transform:scale(1.9)}.premium-stats .stat b{font-size:40px!important;letter-spacing:-1.5px;line-height:1.1;margin:16px 0 7px;font-variant-numeric:tabular-nums;color:var(--motion-ink)}.premium-stats .stat>span:not(.stat-icon){font-size:12px;font-weight:700;color:var(--motion-mute)}.premium-stats .stat-icon{width:34px!important;height:34px!important;top:16px!important;right:17px!important;border-radius:11px!important;background:#e7f8f4!important;color:#087f76!important;font-size:17px!important}.premium-stats .stat-hint{font-size:10px!important;color:#879aa8!important;margin-top:13px}.premium-stats .gold{--card-accent:#daa64a}.premium-stats .silver{--card-accent:#869fad}.premium-stats .bronze{--card-accent:#b07852}.premium-stats .gold .stat-icon{background:#fff4d9!important;color:#9b6b17!important}.premium-stats .silver .stat-icon{background:#eef3f6!important;color:#647f90!important}.premium-stats .bronze .stat-icon{background:#fcf0e7!important;color:#9d6540!important}.premium-stats .stat-user{--card-accent:#6989cb}.premium-stats .stat-degree{--card-accent:#457da7}
.sbbs-insights{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(350px,1.15fr);gap:24px;margin:24px 0}.sbbs-insights .card{margin:0}.sbbs-chart-body{display:flex;align-items:center;justify-content:center;gap:26px;padding-top:20px}.sbbs-donut{width:190px;height:190px;position:relative;flex-shrink:0}.sbbs-donut svg{width:100%;height:100%;overflow:visible}.sbbs-donut circle.sbbs-ring{fill:none;stroke-width:13;transform:rotate(-90deg);transform-origin:center;stroke-linecap:butt;animation:sbbs-ring-in 1.4s cubic-bezier(.2,.8,.2,1) both}.sbbs-donut-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.sbbs-donut-label strong{font-size:38px;letter-spacing:-1.5px;color:var(--motion-ink)}.sbbs-donut-label small{color:var(--motion-mute);font-size:11px;margin-top:5px}.sbbs-chart-legend{display:grid;gap:13px;min-width:125px}.sbbs-chart-legend div{display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:center;font-size:12px}.sbbs-chart-legend i{width:8px;height:8px;border-radius:50%;background:var(--swatch)}.sbbs-chart-legend b{font-size:13px;font-variant-numeric:tabular-nums}.sbbs-chart-caption{font-size:11px;line-height:1.6;color:var(--motion-mute);border-top:1px solid var(--motion-line);padding-top:14px;margin-top:18px}
.sbbs-summary-content{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.sbbs-summary-item{padding:22px;background:linear-gradient(130deg,#f5fafb,#eef7f5);border-radius:15px;border:1px solid #e1edeb;position:relative;overflow:hidden}.sbbs-summary-item strong{font-size:37px;letter-spacing:-1.4px;color:#0b8178;display:block;line-height:1.15;margin:8px 0}.sbbs-summary-item span{color:var(--motion-mute);font-size:12px}.sbbs-summary-item small{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--motion-mute)}.sbbs-summary-item:after{content:'';position:absolute;width:75px;height:75px;right:-25px;top:-25px;border:15px solid #0aa18f0a;border-radius:50%}
.dashboard-panels{gap:24px}.branch-bars{display:grid;gap:20px}.branch-label{margin-bottom:9px}.branch-label b{font-size:13px}.branch-label>span{color:#90a5b3}.branch-label strong{color:#0a857c;font-size:15px}.bar-track{height:9px!important;border-radius:8px!important;background:#edf4f5!important;overflow:hidden}.bar-track i{height:100%;border-radius:8px;background:linear-gradient(90deg,#17ae9b,#72dcc7)!important;transform-origin:left;animation:sbbs-bar-in 1.1s cubic-bezier(.2,.8,.2,1) both;position:relative}.branch-row:nth-child(2) i{animation-delay:.08s}.branch-row:nth-child(3) i{animation-delay:.16s}.branch-row:nth-child(4) i{animation-delay:.24s}.ranking-list a{border-radius:12px;padding:12px!important;margin:3px 0;transition:background .25s,transform .25s}.ranking-list a:hover{background:#eefaf6;transform:translateX(5px)}.rank-no{background:#eef7f6!important;color:#078378!important;border-radius:10px!important}.ranking-list a:first-child .rank-no{background:#fff2cf!important;color:#aa781d!important}.ranking-list a strong{color:#17897f}.rank-name small{font-size:11px!important;color:var(--motion-mute)}.recent-row{transition:background .25s,transform .25s;border-radius:12px;padding:15px 10px!important}.recent-row:hover{background:#f0f9f7;transform:translateX(3px)}.medal-dot{background:#faf3df!important;color:#9b7627!important;box-shadow:0 3px 8px #ac833812}.feed-icon{background:#e5f6f1!important;color:#0ca68f!important}.feed-item{border-color:#e7eef2!important}.feed-item time{font-variant-numeric:tabular-nums;font-size:11px;color:#8ba0b1}.modern-feed .feed-item:hover{background:#f6fafb}.dashboard-lower .card{margin-top:4px}
.admin-body .btn,.admin-body button:not(.link-button):not(.mobile-menu-button):not(.sbbs-desktop-menu-toggle):not(.mobile-menu-close){border-radius:11px;transition:transform .2s,box-shadow .2s,background .2s}.admin-body .btn:hover,.admin-body button:not(.link-button):not(.mobile-menu-button):not(.sbbs-desktop-menu-toggle):not(.mobile-menu-close):hover{transform:translateY(-2px);box-shadow:0 6px 18px #16476720}.admin-body .btn:not(.secondary):not(.danger):not(.accent),.admin-body button.btn{background:#0c958a}.admin-body .btn.accent{background:#0ca894}.admin-body .btn.secondary{background:#ecf2f5;color:#365367;border:1px solid #dae6ed}.admin-body input,.admin-body select,.admin-body textarea{transition:border .25s,box-shadow .25s;background:#f9fcfd;border-color:#d5e2e9;border-radius:10px}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:none;border-color:#17af9b;box-shadow:0 0 0 4px #13b8a311;background:#fff}.admin-body :focus-visible{outline:3px solid #24ad9b;outline-offset:3px}.admin-body th{background:#edf5f6;color:#4d687d;font-size:11px;font-weight:800;letter-spacing:.4px;padding:16px 13px}.admin-body td{padding:15px 13px;border-color:#edf2f5;transition:background .2s}.admin-body tbody tr:hover td{background:#f1faf7}.admin-body table{font-size:13px}.admin-body .badge,.admin-body .status-badge{box-shadow:inset 0 0 0 1px #00000006}.athlete-card-head{background:linear-gradient(120deg,#f0f8f8,#fafcfd)!important}.profile-card .avatar{background:linear-gradient(130deg,#0ca293,#22677b);box-shadow:0 10px 26px #0a958f2b;border:5px solid #e4f5f1}.profile-grid>div,.user-meta>div{background:#f2f8f9!important;border:1px solid #e3edf0}.report-action-card{transition:transform .3s,box-shadow .3s}.report-action-card:hover{transform:translateY(-5px)}.notice{border:1px solid #cce9df;background:#edf9f3;line-height:1.7}.error,.alert{border:1px solid #f0d4d4;line-height:1.6}.sbbs-reveal{animation:sbbs-rise .7s cubic-bezier(.2,.75,.2,1) both;animation-delay:var(--sbbs-delay,0ms)}.sbbs-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.12;pointer-events:none;animation:sbbs-ripple .65s ease-out forwards;z-index:1}.sbbs-ripple-host{position:relative;overflow:hidden}
.login-page{background:radial-gradient(ellipse at 25% 20%,#176b73,#0b233a 60%,#091925)!important}.login-shell{box-shadow:0 32px 100px #00000055;border:1px solid #ffffff1a;border-radius:25px!important;overflow:hidden;animation:sbbs-rise .8s both}.login-brand-panel{background:linear-gradient(145deg,#11485d,#0d343b)!important;position:relative;overflow:hidden}.login-brand-panel:after{content:'';position:absolute;border:1px solid #59edcb28;width:420px;height:420px;border-radius:50%;bottom:-250px;left:-70px;box-shadow:0 0 0 30px #59edcb09,0 0 0 60px #59edcb06;animation:sbbs-orbit 10s ease-in-out infinite alternate}.login-brand-panel h1{letter-spacing:-1px}.login-form button{background:linear-gradient(110deg,#07998b,#18b49b)!important;box-shadow:0 8px 20px #0a9f8e22}.login-form input:focus{outline:none;border-color:#15b39e;box-shadow:0 0 0 4px #15b39e15}
:root[data-theme=dark]{--motion-ink:#e3f0f5;--motion-mute:#9fb6c5;--motion-paper:#142c3b;--motion-line:#284655;--motion-shadow:0 15px 40px #00000015}:root[data-theme=dark] body.admin-body{background:#0c202d;background-image:radial-gradient(ellipse at 90% 0,#15bbac10,transparent 50%)}:root[data-theme=dark] .app-main{background:transparent!important}:root[data-theme=dark] .premium-stats .stat{background:var(--motion-paper)!important}:root[data-theme=dark] .premium-stats .stat>span:not(.stat-icon){color:var(--motion-mute)}:root[data-theme=dark] .sbbs-summary-item{background:#102735;border-color:#25434e}:root[data-theme=dark] .sbbs-summary-item strong{color:#6cdec5}:root[data-theme=dark] .sbbs-chart-caption{border-color:var(--motion-line)}:root[data-theme=dark] .card-title a{background:#174739;color:#86ebd1}:root[data-theme=dark] .bar-track{background:#203d4c!important}:root[data-theme=dark] .branch-label strong,:root[data-theme=dark] .ranking-list a strong{color:#70d8c4}:root[data-theme=dark] .ranking-list a:hover,:root[data-theme=dark] .recent-row:hover,:root[data-theme=dark] .modern-feed .feed-item:hover{background:#1a3a47}:root[data-theme=dark] .athlete-card-head{background:#183746!important}:root[data-theme=dark] .profile-grid>div,:root[data-theme=dark] .user-meta>div{background:#112735!important;border-color:#294553}:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .tablewrap{background:var(--motion-paper)}:root[data-theme=dark] .admin-body th{background:#1a394a;color:#a6c5d4}:root[data-theme=dark] .admin-body td{border-color:#244352}:root[data-theme=dark] .admin-body tbody tr:hover td{background:#173d45}:root[data-theme=dark] .admin-body input,:root[data-theme=dark] .admin-body select,:root[data-theme=dark] .admin-body textarea{background:#0d2534;color:#deecf4;border-color:#2e4b5c}:root[data-theme=dark] .admin-body input:focus,:root[data-theme=dark] .admin-body textarea:focus{background:#123343}:root[data-theme=dark] .btn.secondary{background:#254252;color:#cfdee6;border-color:#35576a}:root[data-theme=dark] .import-stat{background:var(--motion-paper)!important;border-color:var(--motion-line)!important}:root[data-theme=dark] .row-ok,:root[data-theme=dark] .row-ok td{background:#17392f}:root[data-theme=dark] .row-error,:root[data-theme=dark] .row-error td{background:#46272c}:root[data-theme=dark] .row-dup,:root[data-theme=dark] .row-dup td{background:#413820}:root[data-theme=dark] .mapping-chip{background:#203f50;color:#cce2eb;border-color:#325362}
@keyframes sbbs-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sbbs-bar-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sbbs-ring-in{from{stroke-dasharray:0 100;opacity:.3}to{opacity:1}}@keyframes sbbs-orbit{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-22px,20px,0) rotate(15deg)}}@keyframes sbbs-ripple{from{transform:scale(.1);opacity:.16}to{transform:scale(2.8);opacity:0}}
@media(max-width:1250px){.hero-actions{max-width:300px}.dashboard-hero{padding:28px!important}.sbbs-chart-body{gap:16px}.sbbs-donut{width:165px;height:165px}.sbbs-insights{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.sbbs-insights{grid-template-columns:1fr}.sbbs-chart-body{justify-content:flex-start;padding:15px}.premium-stats .stat{min-height:150px!important}.dashboard-hero h1{font-size:30px!important}}
@media(max-width:760px){.dashboard-hero{padding:26px 23px!important;min-height:240px;align-items:flex-start!important}.hero-actions{max-width:none;justify-content:flex-start;width:100%}.hero-actions .btn{width:100%;flex-basis:100%}.hero-actions select{min-width:0;max-width:100%}.dashboard-hero h1{font-size:31px!important}.admin-body .card{padding:20px}.sbbs-insights{gap:16px}.sbbs-chart-body{justify-content:center;gap:18px;padding:15px 0 0}.sbbs-donut{width:155px;height:155px}.sbbs-donut-label strong{font-size:33px}.sbbs-summary-item{padding:18px}.sbbs-summary-item strong{font-size:31px}.premium-stats .stat{min-height:145px!important;padding:17px!important}.premium-stats .stat b{font-size:34px!important}.dashboard-panels{gap:16px}.sidebar{box-shadow:20px 0 60px #00000020}.page-head h1{font-size:28px}.sbbs-summary-content{gap:10px}.card-title h2{font-size:19px}}
@media(max-width:420px){.sbbs-chart-body{gap:12px}.sbbs-donut{width:137px;height:137px}.sbbs-chart-legend{min-width:110px;gap:12px}.sbbs-chart-legend div{font-size:11px}.sbbs-summary-item{padding:14px}.sbbs-summary-item strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.sbbs-reveal{opacity:1!important;transform:none!important}.premium-stats .stat:hover,.ranking-list a:hover,.recent-row:hover{transform:none!important}}
}

@media screen{.admin-body .dashboard-hero .hero-actions select{background:#ffffff10;color:#fff;border-color:#ffffff2a}.sbbs-athlete-stats{grid-template-columns:repeat(4,1fr)!important}.sbbs-athlete-stats .stat{min-height:132px!important} @media(max-width:760px){.sbbs-athlete-stats{grid-template-columns:repeat(2,1fr)!important}}}

@media print{.sbbs-insights,.sbbs-ripple{display:none!important}}

@media screen and (hover:hover){.premium-stats .stat:hover{background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#17b6a31c,transparent 140px),var(--motion-paper)!important}.sbbs-ring{transition:stroke-width .2s,filter .2s}.sbbs-ring:hover{stroke-width:17;filter:brightness(1.08)}.sbbs-summary-item:hover{background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#18beaa22,transparent 150px),#f2f9f7}:root[data-theme=dark] .sbbs-summary-item:hover{background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#18beaa22,transparent 150px),#102735}}
@media screen{
.admin-body .dashboard-hero .hero-actions .province-filter select,
:root[data-theme=dark] .admin-body .dashboard-hero .hero-actions .province-filter select{
 background:#fff!important;color:#173b50!important;border:1px solid #72d8c5!important;
 -webkit-text-fill-color:#173b50!important;color-scheme:light;font-weight:600;
}
.admin-body .dashboard-hero .hero-actions .province-filter select option{background:#fff!important;color:#173b50!important}
}
