:root{--v:#6548ee;--bg:#f7f8fb;--bd:#e8eaf0;--t:#171b25;--m:#73798a;--o:#ff9b60;--g:#21a87a;--r:#d84f62}*{box-sizing:border-box}body{margin:0;font:14px Inter,Arial,sans-serif;color:var(--t);background:var(--bg)}aside{position:fixed;width:235px;inset:0 auto 0 0;background:#1d1d27;color:#c9cbd7;padding:26px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:#fff;margin:0 10px 35px;font-weight:700}.brand b{display:grid;place-items:center;background:var(--v);border-radius:10px;width:32px;height:32px;font-size:18px}.brand small,aside small{display:block;color:#9a9fac;font-weight:400;font-size:11px;margin-top:3px}.nav,aside button{border:0;background:transparent;color:#c9cbd7;border-radius:9px;padding:12px;text-align:left;font:inherit;cursor:pointer}.nav.active{background:#303040;color:#fff;font-weight:700}.sidebottom{margin-top:auto;padding:12px;font-size:12px;background:#282837;border-radius:10px}.ready{color:#50d298}aside .sidebottom button{margin-top:12px;background:transparent;padding:0;color:#cfc9ff}main{margin-left:235px}header{height:72px;padding:0 42px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--bd);color:var(--m)}.avatar{background:#eeecff;color:var(--v);font-weight:700;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.page{display:none;padding:35px 42px 55px}.page.active{display:block}.head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:26px}.head p,dialog p{font-size:10px;letter-spacing:.12em;font-weight:700;color:#8d92a1;margin:0 0 8px}.head h1{font-size:29px;letter-spacing:-.04em;margin:0 0 8px}.head span{color:var(--m)}button,select{border:1px solid #dcd9ff;border-radius:8px;background:#fff;color:var(--v);font:600 12px inherit;padding:10px 13px;cursor:pointer}select{color:var(--t);margin-right:8px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi,article{background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 9px 26px #252f4409}.kpi{padding:16px}.kpi label{font-size:12px;color:var(--m)}.kpi b{display:block;font-size:24px;letter-spacing:-.04em;margin:8px 0}.kpi span{color:var(--m);font-size:11px}.kpi .good{color:var(--g)}article{margin-top:18px}.title{display:flex;justify-content:space-between;align-items:center;padding:19px 20px 14px}.title h2{font-size:15px;margin:0 0 4px}.title span{font-size:12px;color:var(--m)}.title em{font-style:normal;color:var(--m);font-size:11px}.title i{display:inline-block;width:17px;height:3px;border-radius:3px;background:var(--v);margin:0 5px 3px 10px}.title i.p{background:var(--o)}.chart{height:240px;padding:0 25px 32px;display:flex;align-items:end;gap:12px;border-bottom:1px solid var(--bd)}.group{height:100%;flex:1;display:flex;justify-content:center;align-items:end;gap:5px;position:relative;border-bottom:0}.bar{width:17px;background:var(--v);border-radius:5px 5px 0 0;min-height:2px}.bar.p{background:var(--o)}.group label{position:absolute;bottom:-22px;color:var(--m);font-size:10px}.scroll{overflow:auto;border-top:1px solid var(--bd)}table{border-collapse:collapse;min-width:950px;width:100%;font-variant-numeric:tabular-nums}th,td{padding:12px 14px;border-bottom:1px solid #f0f1f5;text-align:right;white-space:nowrap;font-size:12px}th{color:#858a99;background:#fbfcff;font-size:11px}th:first-child,td:first-child{position:sticky;left:0;text-align:left;background:#fff;z-index:1;min-width:240px}th:first-child{background:#fbfcff}tr.bold td{font-weight:800;background:#fbfaff}.neg{color:var(--r)}.pos{color:var(--g)}.note{margin-top:18px;padding:14px 16px;border:1px dashed #d5d9e8;border-radius:10px;color:var(--m);font-size:12px}.note b{color:var(--t)}dialog{border:0;border-radius:14px;width:min(520px,calc(100vw - 30px));padding:24px;box-shadow:0 30px 90px #12152d55}dialog::backdrop{background:#18192566}dialog h2{margin:0 0 15px}.drop{border:1.5px dashed #c9c3ff;background:#faf9ff;border-radius:11px;padding:28px;text-align:center;display:grid;gap:10px}.drop b{font-size:14px}.drop span{font-size:12px;color:var(--m);line-height:1.5}.drop button{margin:auto;background:var(--v);color:#fff}.loaded{margin-top:14px;border:1px solid var(--bd);padding:12px;border-radius:9px;color:var(--g)}.loaded small{display:block;color:var(--m);margin:4px 0 0 15px}#close{float:right;border:0;font-size:19px;color:var(--m);padding:2px}@media(max-width:850px){aside{width:66px;padding:22px 8px}.brand span,.nav{font-size:0}.brand{margin:0 9px 28px}.nav{padding:12px;text-align:center}.nav:first-letter{font-size:17px}.sidebottom{display:none}main{margin-left:66px}.page,header{padding-left:22px;padding-right:22px}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.page{padding:24px 14px}.head{display:block}.head>div:last-child{margin-top:15px}.kpis{gap:8px}.kpi{padding:12px}.kpi b{font-size:18px}.title em{display:none}}

.file-button{margin:auto;background:var(--v);color:#fff;border:1px solid var(--v);border-radius:8px;padding:10px 13px;font:600 12px Inter,Arial,sans-serif;cursor:pointer}.drop.dragover{border-color:var(--v);background:#f0eeff}.upload-result{margin-top:14px}.upload-message{padding:12px;border-radius:9px;font-size:12px;line-height:1.55}.upload-message.loading{background:#f3f1ff;color:#5040b6}.upload-message.success{background:#eaf9f3;color:#137150}.upload-message.error{background:#fff0f2;color:#a43549}.imports-list{margin-top:14px;display:grid;gap:8px}.loaded{margin-top:0}.loaded.failed{color:#a43549;background:#fff5f6}.loaded small{line-height:1.45}.loaded b{overflow-wrap:anywhere}
