*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif;color:#e5e7eb;background:radial-gradient(900px 520px at 20% 0%,#00e5ff2e,#00e5ff00 55%),radial-gradient(800px 520px at 80% -10%,#00ff8524,#00ff8500 58%),linear-gradient(transparent 0,transparent 28px,rgba(255,255,255,.06) 29px),linear-gradient(90deg,transparent 0,transparent 28px,rgba(255,255,255,.06) 29px),#0b0f17;background-size:auto,auto,30px 30px,30px 30px,auto}button,input,select{font:inherit}button,a{color:inherit}.container,.panel,.card,.tableWrap,.chart{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1320px;margin:0 auto;padding:18px 16px}.surface{background:#ffffffe6;border:1px solid rgba(229,231,235,.9);box-shadow:0 18px 40px #1118270f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.navgroup{display:flex;align-items:center;gap:12px}.iconbtn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0f172ab3;color:#e5e7ebe0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.iconbtn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #11182714}.iconbtn:active{transform:translateY(0)}.title{font-size:20px;font-weight:700}.tabs{display:flex;gap:10px}.topSep{width:1px;height:28px;background:#ffffff24;border-radius:1px;margin:0 2px}.tab{padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0f172a99;color:#e5e7ebdb;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tab.active{border-color:#00e5ffb3;box-shadow:0 0 0 1px #00e5ff40,0 12px 30px #00e5ff14;color:#e5e7ebf5}.tab:hover{transform:translateY(-1px);box-shadow:0 8px 18px #11182714}.tab:active{transform:translateY(0)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.card{background:linear-gradient(180deg,#111827cc,#0b0f17cc);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #00000059}.card .label{font-size:13px;color:#e5e7ebb3}.kpiHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpiIcon{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0b0f17a6;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #ffffff0a,0 12px 28px #00000059}.kpiIcon svg{display:block}.card .value{margin-top:8px;font-size:28px;font-weight:800}.card .value.valueSale{color:#00e5fff2;text-shadow:0 0 18px rgba(0,229,255,.1)}.card .value.valueAd{color:#00ff85eb;text-shadow:0 0 18px rgba(0,255,133,.1)}.card .value.valueRate{color:#ffcc66f2;text-shadow:0 0 18px rgba(255,204,102,.1)}.table{width:100%;border-collapse:collapse;background:#0f172a8c;border-radius:12px;overflow:hidden;margin-bottom:16px}.tableWrap{max-height:420px;max-height:min(420px,calc(100vh - 420px));overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 60px #00000061;background:#0f172a59}.tableWrap::-webkit-scrollbar{width:10px;height:10px}.tableWrap::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.tableWrap::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00e5ff59,#ffffff2e);border:2px solid rgba(11,15,23,.55);border-radius:999px}.tableWrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00e5ff8c,#ffffff40)}.tableWrap .table{margin-bottom:0;border-radius:0}.table th,.table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:14px;color:#e5e7ebdb}.table th{color:#e5e7ebe6;font-weight:600;background:#0b0f17cc;position:sticky;top:0;z-index:2;border-bottom:1px solid rgba(255,255,255,.12)}.table tr:hover td{background:#00e5ff0f}.table tr.rowClickable{cursor:pointer}.table tr.rowSelected td{background:#00e5ff1f}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#ffffff14;font-weight:700;font-size:12px;color:#e5e7ebdb}.badge.alert{color:#fecaca;background:#ef444424}.badge.ok{color:#bbf7d0;background:#22c55e24}.badge.neutral{color:#e5e7ebc7;background:#ffffff14}.badge.kpiBadge{font-size:13px;padding:6px 12px}.badge.kpiBadgeValue{font-size:14px;letter-spacing:.2px;color:#00e5fff2;background:#00e5ff1a;border:1px solid rgba(0,229,255,.24);box-shadow:0 0 0 1px #00e5ff14,0 10px 26px #00e5ff0f;font-variant-numeric:tabular-nums}.rowbtn{border:1px solid rgba(255,255,255,.12);background:#0b0f17a6;color:#e5e7ebdb;border-radius:12px;padding:8px 10px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.rowbtn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #11182714}.rowbtn:active{transform:translateY(0)}.panel{background:#0f172a59;border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 60px #00000059}.trendPanel{border-color:#a855f742;box-shadow:0 22px 60px #00000059,0 0 0 1px #a855f714,0 26px 70px #a855f714}.trendHead{display:flex;flex-direction:column;gap:8px}.trendTitle{font-size:16px;font-weight:800;letter-spacing:.2px;color:#e5e7ebeb}.trendMeta{display:flex;flex-wrap:wrap;gap:8px}.trendPill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0b0f178c;color:#e5e7ebc7;font-size:12px}.trendPillValue{color:#e5e7ebeb;font-weight:700}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#03060ca8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(1060px,100%);max-height:min(80vh,720px);overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#0f172ae0,#0b0f17e6);box-shadow:0 30px 90px #0009,0 0 0 1px #a855f71a,0 26px 70px #a855f71f}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.1);background:#0b0f1759}.modalBody{padding:14px;overflow:auto;max-height:calc(min(80vh,720px) - 64px)}.modalClose{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0b0f1799;color:#e5e7ebd6;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.modalClose:hover{transform:translateY(-1px);border-color:#a855f773;box-shadow:0 12px 30px #00000059}.modalClose:active{transform:translateY(0)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.right{display:flex;align-items:center;gap:10px}.input{width:120px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0b0f17a6;color:#e5e7eb;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:#e5e7eb73}.input:focus{border-color:#00e5ffb3;box-shadow:0 0 0 3px #00e5ff24}.input.wide{width:100%}.input.search{width:260px}.input.inputDate{width:176px}.select{width:160px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0b0f17a6;color:#e5e7eb;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.select:focus{border-color:#00e5ffb3;box-shadow:0 0 0 3px #00e5ff24}.filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.chips::-webkit-scrollbar{width:0;height:0}.chipbtn{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0b0f1799;cursor:pointer;white-space:nowrap;color:#e5e7ebc7;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease,transform .12s ease}.chipbtn.active{border-color:#00e5ffb3;background:#00e5ff1f;box-shadow:0 0 0 1px #00e5ff2e}.chipbtn:hover{border-color:#00e5ff66}.chipbtn:active{transform:translateY(1px)}.statusdot{width:8px;height:8px;border-radius:999px;background:#16a34a;display:inline-block;margin-right:6px}.muted{color:#e5e7eb9e;font-size:13px}.actions{margin-top:14px;display:flex;gap:10px}.primary{padding:10px 16px;border-radius:12px;border:1px solid rgba(0,229,255,.7);background:linear-gradient(180deg,#00e5ff38,#0f172ae6);color:#fff;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.primary:hover{box-shadow:0 14px 38px #00e5ff14}.primary:active{transform:translateY(1px)}.secondary{padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0b0f1799;color:#e5e7eb;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.switcher{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.12);background:#0b0f178c;border-radius:999px;padding:4px}.switcher .switchbtn{border:0;background:transparent;color:#e5e7ebc7;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,color .12s ease}.switcher .switchbtn.active{background:#00e5ff24;color:#e5e7ebeb;box-shadow:0 0 0 1px #00e5ff38}.switcher .switchbtn:hover{background:#ffffff0f}.navbtn{border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.navbtn.pageNav{border:1px solid rgba(168,85,247,.65);background:linear-gradient(180deg,#a855f733,#0f172aeb);color:#e5e7ebeb;box-shadow:0 0 0 1px #a855f729,0 16px 46px #a855f714}.navbtn.pageNav:hover{border-color:#a855f7cc;box-shadow:0 0 0 1px #a855f738,0 20px 60px #a855f71f}.secondary:hover{box-shadow:0 14px 38px #00000038}.secondary:active{transform:translateY(1px)}.secondary.linklike{text-decoration:none;display:inline-flex;align-items:center;gap:8px}.empty{padding:28px;text-align:center;color:#e5e7eb9e}.chart{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0b0f178c;box-shadow:inset 0 0 0 1px #ffffff0a}.vizRow{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 980px){.vizRow{grid-template-columns:1fr}}.pieLegend{max-height:240px;overflow:auto;padding-right:4px}.pieLegend::-webkit-scrollbar{width:10px;height:10px}.pieLegend::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}.pieLegend::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00e5ff59,#ffffff2e);border:2px solid rgba(11,15,23,.55);border-radius:999px}.legendRow{display:grid;grid-template-columns:26px 12px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px;border-radius:10px}.legendRow.hovered{background:#00e5ff14}.legendRow:hover{background:#00e5ff0f}.rankBadge{width:22px;height:22px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#e5e7ebe0;border:1px solid rgba(255,255,255,.12);background:#0b0f178c;box-shadow:0 0 0 1px #ffffff0a,0 12px 28px #00000040}.rankBadge.rank1{border-color:#facc158c;background:linear-gradient(180deg,#facc1538,#0b0f17b3);color:#fff3bff2}.rankBadge.rank2{border-color:#94a3b88c;background:linear-gradient(180deg,#94a3b833,#0b0f17b3);color:#ecf2fceb}.rankBadge.rank3{border-color:#fb923c8c;background:linear-gradient(180deg,#fb923c33,#0b0f17b3);color:#ffe0c4eb}.legendDot{width:10px;height:10px;border-radius:3px}.legendName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5e7ebdb;font-size:13px}.legendValue{color:#e5e7ebc7;font-variant-numeric:tabular-nums;font-size:13px}
