:root{--bg:#051024;--bg2:#061933;--sidebar:#06152d;--panel:#091d3c;--panel2:#102b52;--line:#1a4579;--line2:#265786;--white:#f4f8ff;--soft:#d7e8ff;--muted:#9bb4d5;--dim:#708db4;--cyan:#11d7fc;--blue:#268dff;--green:#23e6a3;--purple:#b085ff;--gold:#ffc75d;--red:#ff7e99;--radius:16px;--shadow:0 18px 40px #0005}
*{box-sizing:border-box}html,body{padding:0;margin:0;min-height:100%;scrollbar-color:#224a7b #08182f}body{font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--white);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.ic{width:20px;height:20px;display:inline-block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;vertical-align:middle;flex:none}.muted{color:var(--muted)}.gold{color:var(--gold)}.cyan{color:var(--cyan)}.green{color:var(--green)}.mono{font-variant-numeric:tabular-nums}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;z-index:30;background:linear-gradient(155deg,#05132a,#071a36 67%,#071530);border-right:1px solid #1b4781;display:flex;flex-direction:column;box-shadow:8px 0 25px #0002;overflow-y:auto}.brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding:31px 15px 20px;gap:5px}.brand img{object-fit:contain;width:96px;height:96px;filter:drop-shadow(0 5px 19px #119afa45)}.brand-name{font-weight:900;letter-spacing:.015em;font-size:26px;line-height:1.12}.brand-name small{display:block;font-size:12px;color:var(--cyan);letter-spacing:.135em;margin-top:5px}.nav-caption{font-size:10px;letter-spacing:.17em;color:#698bab;font-weight:850;padding:24px 24px 10px}.side-nav{display:grid;gap:8px;padding:0 14px}.nav-link{display:flex;align-items:center;gap:14px;min-height:49px;padding:0 15px;border-radius:11px;font-weight:720;font-size:13px;color:#c7d9f7;transition:background .15s,transform .15s;white-space:nowrap}.nav-link .ic{width:22px;height:22px}.nav-link:hover{background:#102d57}.nav-link.active{color:#fff;background:linear-gradient(100deg,#168aff,#0946b6);box-shadow:0 7px 20px #1178ff35}.sidebar-bottom{margin-top:auto;padding:22px 16px 27px}.trophy-promo{border:1px solid #2070c4;border-radius:14px;min-height:190px;background:radial-gradient(ellipse at 50% 10%,#174f9d90,transparent 65%),linear-gradient(145deg,#081c44,#112d6f);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:18px 10px;box-shadow:inset 0 0 15px #118dfc25;overflow:hidden}.promo-medal{width:66px;height:66px;color:var(--gold);display:grid;place-items:center;background:radial-gradient(circle,#8f601c78,transparent 72%);filter:drop-shadow(0 5px 12px #ffbf5b5d)}.promo-medal .ic{width:58px;height:58px;stroke-width:1.5}.trophy-promo strong{font-size:16px;line-height:1.3}.trophy-promo span{font-size:12px;color:#b8d5ff}.trophy-promo b{color:var(--cyan)}.powered{text-align:center;color:#8eabd0;font-size:11px;margin-top:27px}.powered strong{display:block;color:var(--cyan);font-size:15px;letter-spacing:.1em}.main-area{margin-left:255px;min-height:100vh;display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at 90% 0%,#0a24515c,transparent 35%),#061127}.topbar{height:86px;position:sticky;top:0;z-index:20;background:#06152ef2;border-bottom:1px solid #1b3e72;backdrop-filter:blur(16px);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 27px}.topbar-left{display:flex;align-items:center;min-width:0;gap:22px}.topbar-left:before{content:"";width:1px;height:30px;background:#225999}.head-brand{display:flex;flex-direction:column;gap:3px;min-width:0}.head-brand strong{font-size:22px;font-weight:900;letter-spacing:-.025em;white-space:nowrap}.head-brand em{font-style:normal;color:var(--cyan)}.head-brand span{font-size:12px;color:#a5bddf}.topbar-right{display:flex;align-items:center;gap:15px}.public-chip{display:flex;align-items:center;gap:8px;border:1px solid #2c5e99;border-radius:40px;padding:9px 14px;color:#cae4ff;background:#0a2547;font-size:12px;font-weight:720;white-space:nowrap}.public-chip .ic{width:17px;height:17px;color:var(--cyan)}.online-chip{display:flex;align-items:center;gap:8px;font-size:12px;color:#7ff4c0;white-space:nowrap}.online-chip i{height:10px;width:10px;border-radius:50%;background:#14e8a0;box-shadow:0 0 12px #21e8a08c}.refresh-button,.menu-toggle{width:37px;height:37px;display:grid;place-items:center;border:1px solid #285889;border-radius:9px;color:#c8e1ff;background:#10284b}.refresh-button:hover,.menu-toggle:hover{background:#1b497d}.menu-toggle{display:none}.content{padding:27px clamp(15px,2.2vw,36px) 40px;flex:1;width:100%;max-width:1740px;margin:0 auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.page-head h1{margin:0 0 4px;font-size:26px;line-height:1.2;letter-spacing:-.035em;font-weight:900}.page-head p{margin:0;color:var(--muted);font-size:12px}.head-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.subtle-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:8px;background:#0d2b50;border:1px solid #245887;color:#c7dfff;font-size:11px;font-weight:730}.subtle-chip .ic{width:15px;height:15px}.heading-accent{color:var(--cyan)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.kpi{position:relative;overflow:hidden;border:1px solid #2565a8;border-radius:14px;padding:19px 18px;min-height:149px;box-shadow:var(--shadow);background:linear-gradient(145deg,#0c2d63,#0a2147);display:flex;flex-direction:column;justify-content:center}.kpi:after{content:"";position:absolute;right:-8%;bottom:-70%;height:135px;width:200px;border:2px solid currentColor;border-radius:50%;opacity:.13;transform:rotate(-21deg)}.kpi.blue{color:#44b4ff;background:linear-gradient(115deg,#0f3678,#072047)}.kpi.green{color:#2de9aa;background:linear-gradient(115deg,#074b4b,#092c3c);border-color:#129a86}.kpi.purple{color:#bd91ff;background:linear-gradient(115deg,#281a69,#101f52);border-color:#7646ca}.kpi.gold{color:#ffd171;background:linear-gradient(115deg,#4b351b,#18304b);border-color:#98703a}.kpi-line{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.kpi-icon{flex:none;border-radius:12px;width:45px;height:45px;background:#122f65b5;display:grid;place-items:center}.kpi-icon .ic{width:29px;height:29px}.kpi.green .kpi-icon{background:#0d665b}.kpi.purple .kpi-icon{background:#4b2b8d}.kpi.gold .kpi-icon{background:#77561f}.kpi-value{font-size:clamp(18px,2.05vw,29px);line-height:1.13;font-weight:900;letter-spacing:-.04em;color:#fff;margin:8px 0 5px;white-space:nowrap}.kpi-title{font-size:12px;font-weight:780;color:#d0e0f8}.kpi-note{font-size:10px;color:#9dbce3;margin-top:8px;min-height:15px;position:relative;z-index:1}.kpi.gold .kpi-value,.kpi.green .kpi-value{color:#fff}.grid-main{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(300px,.92fr);gap:17px;margin-bottom:18px}.grid-bottom{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr);gap:17px}.panel{border:1px solid #225b9c;background:linear-gradient(160deg,#0b2449,#081a36 95%);border-radius:15px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px;border-bottom:1px solid #24476f;background:linear-gradient(90deg,#0c2d59,#0c2145)}.panel-heading{display:flex;align-items:center;gap:10px;min-width:0}.panel-heading .ic{width:24px;height:24px;color:var(--cyan)}.panel-heading.gold-ico .ic{color:var(--gold)}.panel-heading h2{font-size:17px;margin:0;line-height:1.3;font-weight:860}.panel-body{padding:19px}.panel-actions{display:flex;align-items:center;gap:8px}.btn-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #2f5c90;border-radius:22px;padding:8px 12px;color:#e0eeff;background:#0c2b53;font-size:11px;font-weight:740}.btn-link:hover{background:#124576}.btn-link .ic{width:15px;height:15px}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:450px}th,td{padding:13px 13px;border-bottom:1px solid #1a3c63;text-align:left;font-size:12px}th{color:#c8defa;background:#112f58;font-weight:830}td{color:#d8e7f8}tbody tr:nth-child(even){background:#0a2141}tbody tr:hover{background:#102b4c}tbody tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}.rank-pill{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #35577c;border-radius:8px;color:#d5e5ff;font-weight:870}.rank-pill.rank-1{color:#32220d;background:linear-gradient(#ffdc85,#efa925);border:0}.rank-pill.rank-2{color:#243142;background:linear-gradient(#e5efff,#aabacc);border:0}.rank-pill.rank-3{color:#311b0a;background:linear-gradient(#ffcb8e,#bc7338);border:0}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:30px;font-size:10px;font-weight:850;white-space:nowrap;border:1px solid #345678;background:#20354f;color:#c6d6ea}.status.final{background:#075b48;color:#77f8c1;border-color:#08795a}.status.active{background:#073d76;color:#75ceff;border-color:#1664a5}.status.pending{background:#49391a;color:#ffd17a;border-color:#735820}.status.planned{background:#1b2c4a;color:#a5b8db}.status.incomplete{background:#49301b;color:#ffd4a2;border-color:#846127}.large-status{padding:7px 12px;font-size:11px}.progress-center{display:flex;align-items:center;gap:20px;padding:28px 19px;min-height:233px}.progress-ring{height:150px;width:150px;border:12px solid #103b5d;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(#23e6a3 0 0);position:relative;box-shadow:inset 0 0 20px #030c20}.progress-ring:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:12px solid transparent;border-top-color:#25e6a3;border-right-color:#25e6a3;transform:rotate(-40deg)}.progress-ring .ic{width:46px;height:46px;color:#24e9a4}.progress-ring.pending:before{border-top-color:#1a8ee1;border-right-color:#15477c}.progress-ring.pending .ic{color:var(--cyan)}.progress-text small{display:block;color:#9ab9db;margin-bottom:6px;font-size:11px}.progress-text strong{font-size:21px;display:block;line-height:1.25}.progress-text p{color:var(--muted);font-size:11px;line-height:1.65;margin:10px 0}.section-caption{font-size:11px;color:#88a9d1;line-height:1.65}.chart-area{display:flex;align-items:end;justify-content:space-between;gap:8px;height:200px;border-bottom:1px solid #2a507b;border-left:1px solid #2a507b;padding:18px 11px 0;margin:6px 0 35px;background:repeating-linear-gradient(0deg,transparent,transparent 46px,#28517b3b 47px,#28517b3b 48px)}.chart-bar-group{height:100%;flex:1;display:flex;align-items:end;justify-content:end;flex-direction:column;min-width:0;position:relative}.chart-bar{width:clamp(13px,45%,42px);min-height:3px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#12d9ff,#1265d8);box-shadow:0 0 11px #0b9afc35}.chart-bar.ghost{background:#1b3860;box-shadow:none}.chart-label{position:absolute;bottom:-26px;left:0;right:0;font-size:10px;color:#9ab7d9;text-align:center;font-weight:780}.chart-value{font-size:10px;color:#a8cefa;padding-bottom:3px;white-space:nowrap}.activity-list{padding:8px 19px}.activity{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:9px;align-items:center;padding:13px 0;border-bottom:1px solid #1f3f67}.activity:last-child{border:0}.activity-dot{width:10px;height:10px;background:#0ecbff;border-radius:50%;box-shadow:0 0 9px #1acaff9e;position:relative}.activity-dot:after{content:"";position:absolute;width:1px;height:31px;background:#2b75ba;top:14px;left:5px}.activity:last-child .activity-dot:after{display:none}.activity .descr{font-size:12px;font-weight:700;color:#e8f3ff}.activity small{display:block;color:#86a8d0;font-size:10px;margin-top:3px}.activity .amount{color:var(--gold);font-size:11px;font-weight:840;white-space:nowrap}.empty{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;flex-direction:column;padding:34px 14px;color:#93b1d2;min-height:150px}.empty .ic{width:34px;height:34px;color:#4378b1}.empty strong{color:#c4d8ec}.loading{display:flex;justify-content:center;align-items:center;gap:15px;padding:110px 25px;color:#b7d5f3}.spinner{border:3px solid #18446c;border-top-color:#15dcff;border-radius:50%;height:26px;width:26px;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.warning-strip{border-radius:10px;background:#342b19;border:1px solid #806134;padding:13px 15px;color:#ffe3a1;font-size:11px;line-height:1.6;margin-bottom:16px}.neutral-strip{border-radius:10px;background:#102b4d;border:1px solid #295888;padding:13px 15px;color:#a9d5f7;font-size:11px;line-height:1.6;margin-bottom:16px}.hero{background:linear-gradient(105deg,#12356e,#0c2753 53%,#101f47);border:1px solid #2e64ad;border-radius:15px;padding:20px 23px;margin-bottom:19px;display:flex;justify-content:space-between;align-items:center;gap:14px}.hero h2{font-size:23px;font-weight:900;margin:0 0 4px}.hero p{font-size:12px;color:#aac4e6;margin:0}.hero .ic{width:48px;height:48px;color:var(--gold)}.select-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period-control{display:flex;align-items:center;gap:7px;background:#0a2547;border-radius:9px;padding:5px;border:1px solid #285b8d}.period-control button{width:32px;height:32px;display:grid;place-items:center;background:#10345e;color:#cde6ff;border:0;border-radius:7px}.period-control button:hover{background:#22558e}.period-control button .ic{width:16px;height:16px}.period-caption{font-size:12px;padding:0 6px;font-weight:790;white-space:nowrap}.two-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:0 0 18px}.mini-stat{border:1px solid #235b97;border-radius:12px;background:linear-gradient(130deg,#102f58,#0a1d3a);padding:19px}.mini-stat span{font-size:11px;color:#9cbade}.mini-stat strong{display:block;margin-top:7px;font-size:24px;line-height:1.2;white-space:nowrap}.mini-stat small{display:block;color:#79a4ca;margin-top:6px;font-size:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}.detail-grid.single{grid-template-columns:1fr}.trophy-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.podium-item{border:1px solid #2c5b8d;border-radius:13px;padding:19px 11px;text-align:center;background:linear-gradient(150deg,#122c53,#091a35);min-width:0}.podium-item.first{background:linear-gradient(150deg,#584021,#162a4d);border-color:#9d7036}.podium-item .medal-icon{display:grid;place-items:center;color:#ffca61}.podium-item .medal-icon .ic{height:31px;width:31px}.podium-item strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:14px;margin-top:7px}.podium-item .podium-rank{display:block;color:#86a6d0;font-size:10px;font-weight:760}.podium-item .podium-score{display:block;color:#a7bfd9;font-size:11px;margin-top:4px}.podium-item .podium-prize{font-weight:840;color:#ffcc73;font-size:13px;margin-top:7px}.reward-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{border-radius:12px;padding:15px;background:#102d56;border:1px solid #2a5687}.slot span{font-size:10px;color:#a1bedd}.slot strong{display:block;color:#ffe3a1;font-size:18px;margin-top:6px;white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:10px;padding:15px 30px 19px;border-top:1px solid #1e416e;color:#7399c1;font-size:10px}.toast{position:fixed;z-index:100;right:22px;bottom:22px;padding:13px 18px;background:#0d3456;color:#e9f6ff;border:1px solid #2b79af;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(25px);transition:.22s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#452537;border-color:#a15a75}.segmented{display:inline-flex;gap:3px;border:1px solid #29588e;border-radius:10px;padding:4px;background:#091e3c}.segmented button{padding:8px 13px;background:transparent;color:#a6c8ec;border:0;border-radius:7px;font-size:11px;font-weight:790}.segmented button.active{background:#1474d4;color:#fff}.screen-shade{display:none}
@media(max-width:1350px){.sidebar{width:232px}.main-area{margin-left:232px}.head-brand strong{font-size:19px}.topbar{padding:0 20px}.grid-main{grid-template-columns:1.3fr .93fr}.kpi{padding:17px 12px}.kpi-line{gap:8px}.kpi-value{font-size:24px}}
@media(max-width:1090px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.grid-bottom,.detail-grid{grid-template-columns:1fr}.progress-center{justify-content:center}.topbar-right{gap:8px}.online-chip{display:none}.sidebar{width:221px}.main-area{margin-left:221px}.brand-name{font-size:23px}}
@media(max-width:800px){.sidebar{transform:translateX(-106%);transition:transform .23s;width:255px}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-toggle{display:grid}.topbar-left:before{display:none}.screen-shade.open{display:block;position:fixed;inset:0;background:#020717b8;z-index:25}.topbar{height:74px}.content{padding:21px 16px 35px}.head-brand strong{font-size:18px}}
@media(max-width:580px){.topbar{padding:0 12px;height:67px}.topbar-left{gap:10px}.head-brand strong{font-size:14px;white-space:normal;line-height:1.12;max-width:220px}.head-brand span{font-size:10px}.topbar-right{gap:6px}.public-chip{display:none}.refresh-button{height:33px;width:33px}.content{padding:17px 11px 28px}.page-head{align-items:start;flex-direction:column;gap:11px}.page-head h1{font-size:22px}.kpi-grid{gap:9px}.kpi{padding:14px 11px;min-height:124px}.kpi-icon{height:33px;width:33px;border-radius:9px}.kpi-icon .ic{width:20px;height:20px}.kpi-value{font-size:20px}.kpi-title{font-size:10px}.kpi-note{font-size:9px}.kpi-line{flex-wrap:wrap;gap:8px}.panel-head{padding:14px;min-height:55px}.panel-heading h2{font-size:15px}.panel-heading .ic{width:20px;height:20px}.panel-body{padding:13px}.progress-center{flex-direction:column;text-align:center}.progress-ring{height:127px;width:127px}.hero{padding:15px}.hero h2{font-size:19px}.hero .ic{display:none}.two-metrics{grid-template-columns:1fr 1fr;gap:8px}.mini-stat{padding:13px}.mini-stat strong{font-size:18px}.trophy-podium{gap:6px}.podium-item{padding:13px 5px}.podium-item strong{font-size:11px}.podium-item .podium-prize{font-size:10px}.podium-item .podium-rank{font-size:9px}.podium-item .podium-score{font-size:10px}.reward-slots{gap:7px}.slot{padding:9px}.slot strong{font-size:12px}.footer{align-items:center;text-align:center;flex-direction:column;padding:13px;gap:3px}.period-caption{font-size:10px}.page-head .head-right{width:100%}.chart-area{gap:4px}.chart-label{font-size:9px}.activity{grid-template-columns:15px minmax(0,1fr) auto}.activity .amount{font-size:10px}.activity .descr{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* CSP-safe bar heights: no dynamic inline CSS is needed. */
.bar-h-0{height:0%}
.bar-h-5{height:5%}
.bar-h-10{height:10%}
.bar-h-15{height:15%}
.bar-h-20{height:20%}
.bar-h-25{height:25%}
.bar-h-30{height:30%}
.bar-h-35{height:35%}
.bar-h-40{height:40%}
.bar-h-45{height:45%}
.bar-h-50{height:50%}
.bar-h-55{height:55%}
.bar-h-60{height:60%}
.bar-h-65{height:65%}
.bar-h-70{height:70%}
.bar-h-75{height:75%}
.bar-h-80{height:80%}
.bar-h-85{height:85%}
.bar-h-90{height:90%}
.bar-h-95{height:95%}
.bar-h-100{height:100%}
