:root{--bg-deep:#071133;--bg-mid:#101a46;--surface:#18265c;--surface-strong:#203172;--surface-soft:#0c183f;--border:#5f8dff;--border-soft:#3f65c7;--text:#eef5ff;--text-soft:#b8d6ff;--accent:#13dbea;--accent-blue:#315dff;--accent-sky:#7fb8ff;--accent-violet:#7b63ff;--grid:#2b3d78;--rest:#394467;color:var(--text);background:var(--bg-deep);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -20%, #1a3472 0, var(--bg-mid) 44%, var(--bg-deep) 100%);min-width:1280px;margin:0}button,input{font:inherit}.stage{min-height:100vh;padding:18px 22px 28px}.navShell{justify-content:space-between;align-items:center;gap:18px;width:min(1720px,100vw - 44px);margin:0 auto 14px;display:flex}.navTitle{color:var(--text);align-items:center;gap:10px;font-weight:800;display:flex}.navTitleText{letter-spacing:.04em;flex-direction:column;gap:2px;font-size:11px;line-height:1.1;display:flex}.navTitleText span{white-space:nowrap;text-transform:uppercase;display:block}.navShell nav,.regionTabs{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex;box-shadow:0 8px 14px #0000008c}.navShell button,.regionTabs button,.iconButton,.uploadButton{border:1px solid var(--border-soft);background:linear-gradient(145deg, var(--surface), var(--surface-soft));color:var(--text);cursor:pointer;text-transform:uppercase;border-radius:8px;min-height:38px;padding:0 13px;font-size:11px;font-weight:700}.navShell button.active,.regionTabs button.active{border-color:var(--accent-sky);background:linear-gradient(145deg, var(--accent-violet), var(--accent-blue))}.iconButton{place-items:center;width:40px;padding:0;display:inline-grid}.toast{border:1px solid var(--accent);width:min(1720px,100vw - 44px);color:var(--text-soft);background:#0c183ff2;border-radius:8px;margin:0 auto 12px;padding:10px 14px}.dashFrame{border:1px solid var(--border);background:linear-gradient(145deg,#18265cf5,#0c183ff7);border-radius:44px;width:min(1720px,100vw - 44px);margin:0 auto;padding:28px clamp(22px,2vw,34px) 34px;box-shadow:inset 0 0 22px #5f8dff2e,0 18px 28px #00000073}.dashFrame.compact{max-width:1120px}.dashFrame>h1{text-align:center;text-transform:uppercase;letter-spacing:0;margin:0 0 20px;font-size:22px;line-height:1.25}.summaryRow{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;gap:clamp(16px,1.5vw,24px);margin-bottom:22px;display:grid}.summaryRow.smallDonuts{max-width:760px;margin-left:auto;margin-right:auto}.numberCard,.dashPanel,.uploadBox,.dataPanel,.emptyState{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-strong), var(--surface));border-radius:24px;box-shadow:14px 16px 18px #00000080}.numberCard{justify-content:space-between;align-items:center;gap:18px;min-width:0;min-height:126px;padding:18px clamp(16px,1.4vw,24px);display:flex}.numberCard>div{flex:auto;min-width:0}.numberCard h2,.dashPanel h2{color:var(--text);text-align:center;text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.25}.numberCard strong{color:var(--accent-sky);letter-spacing:0;white-space:normal;margin-top:14px;font-size:clamp(26px,2vw,34px);display:block}.numberCard span{color:var(--text-soft);overflow-wrap:anywhere;margin-top:12px;font-size:15px;line-height:1.25;display:block}.grid{gap:clamp(16px,1.35vw,22px);margin-bottom:22px;display:grid}.grid.three{grid-template-columns:minmax(430px,1.22fr) minmax(340px,.95fr) minmax(360px,1fr)}.grid.activityCharts{grid-template-columns:minmax(430px,1.2fr) minmax(350px,.95fr) minmax(430px,1.05fr);align-items:stretch}.agePanel{justify-self:center;width:100%}.grid.subsidyDonuts{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}.grid.subsidyDonuts .dashPanel{min-height:320px}.grid.two{grid-template-columns:repeat(2,minmax(430px,1fr));max-width:1280px;margin-left:auto;margin-right:auto}.grid.lower{grid-template-columns:minmax(330px,.8fr) minmax(380px,.95fr) minmax(620px,2fr);align-items:stretch}.grid.lower .span2{grid-area:1/3}.grid.local{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px;margin-left:auto;margin-right:auto}.dashPanel{flex-direction:column;min-width:0;min-height:310px;padding:16px clamp(14px,1.1vw,20px) 14px;display:flex;overflow:hidden}.dashPanel h2{place-items:center;min-height:40px;margin-bottom:6px;display:grid}.dashPanel>.recharts-responsive-container,.dashPanel>.mksBlock,.dashPanel>.donutStrip{flex:auto;min-height:0}.dashPanel .recharts-bar-rectangle,.dashPanel .recharts-sector{stroke:none}.dashPanel.full,.dashPanel.centerWide{margin-bottom:22px}.dashPanel.centerWide{max-width:1040px;margin-left:auto;margin-right:auto}.dashPanel.span2{grid-column:span 2}.miniDonut{flex:0 0 86px;width:86px;height:86px;position:relative}.dashPanel .miniDonut{width:170px;height:170px;margin:8px auto 0}.bigDonutPanel{min-height:320px}.bigDonutPanel .miniDonut{flex-basis:220px;width:220px;height:220px;margin-top:0}.bigDonutPanel .miniDonut .donutValue{font-size:30px}.miniDonut .donutValue{fill:var(--accent-sky);font-size:15px;font-weight:800;line-height:1}.dashPanel .miniDonut .donutValue{font-size:26px}.darkTooltip{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:8px;gap:5px;padding:9px 10px;font-size:12px;display:grid}.regionTabs{flex-wrap:wrap;justify-content:center;max-width:1440px;margin:0 auto 18px}.regionTabs button{white-space:normal;min-width:138px;max-width:172px;font-size:10px;line-height:1.2}.uploadPage,.authPage{place-items:center;min-height:calc(100vh - 110px);display:grid}.uploadBox{text-align:center;width:min(620px,100vw - 48px);padding:34px}.authBox{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-strong), var(--surface));border-radius:24px;width:min(420px,100vw - 48px);padding:28px;box-shadow:14px 16px 18px #00000080}.authBox h1{text-align:center;text-transform:uppercase;margin:0 0 18px;font-size:20px}.authBox label{color:var(--text-soft);text-transform:uppercase;gap:7px;margin-bottom:12px;font-size:13px;font-weight:700;display:grid}.authBox input,.userTools input{border:1px solid var(--border-soft);background:var(--surface-soft);width:100%;min-height:38px;color:var(--text);border-radius:8px;padding:0 12px}.authBox input:focus,.userTools input:focus{border-color:var(--accent);outline:none}.uploadBox h1{text-transform:uppercase;margin:14px 0 10px}.uploadBox p{color:var(--text-soft);line-height:1.55}.uploadButton{justify-content:center;align-items:center;gap:8px;min-width:210px;margin-top:14px;display:inline-flex}.uploadButton input{display:none}.loadedFile{color:var(--accent-sky);margin-top:16px;display:block}.mksBlock{grid-template-columns:minmax(0,1fr) minmax(126px,150px);align-items:center;gap:10px;width:100%;display:grid}.legend{color:var(--text);gap:9px;min-width:0;font-size:11px;font-weight:700;line-height:1.25;display:grid}.legend span{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:flex}.legend b{flex:auto;min-width:0}.legend em{color:var(--accent-sky);white-space:nowrap;font-style:normal;font-weight:900}.legend i{border:1px solid var(--accent-sky);border-radius:50%;width:12px;height:12px}.donutStrip{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:14px;display:grid}.donutItem{text-align:center}.donutItem>span{min-height:42px;color:var(--text);overflow-wrap:anywhere;font-size:11px;font-weight:800;line-height:1.25;display:block}.donutItem .miniDonut{flex-basis:112px;width:112px;height:112px;margin:0 auto}.donutItem .miniDonut .donutValue{font-size:18px}.sheetPage,.adminPage{width:min(1720px,100vw - 44px);margin:0 auto}.sheetPage .dataPanel{min-height:calc(100vh - 120px)}.dataHeader h1{align-items:center;gap:8px;margin:0 0 12px;display:flex}.dataPanel{min-width:0;padding:18px}.dataHeader{color:var(--text-soft);justify-content:space-between;align-items:center;gap:16px;display:flex}.dataHeader span{align-items:center;gap:8px;display:flex}.sheetTabs{flex-wrap:wrap;gap:8px;margin:8px 0 14px;display:flex}.sheetTabs button{border:1px solid var(--border-soft);background:var(--surface-soft);min-height:34px;color:var(--text);cursor:pointer;text-transform:uppercase;border-radius:8px;padding:0 14px;font-weight:800}.sheetTabs button.active{border-color:var(--accent-sky);background:linear-gradient(145deg, var(--accent-violet), var(--accent-blue))}.sheetTabs button:disabled{cursor:not-allowed;opacity:.48}.logoutButton{border:1px solid var(--border-soft);background:var(--surface-soft);min-height:34px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.userTools{color:var(--text-soft);grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto minmax(120px,auto);align-items:center;gap:10px;margin:8px 0 14px;display:grid}.userTools strong{color:var(--text);text-transform:uppercase;align-items:center;gap:8px;font-size:13px;display:flex}.userTools .uploadButton{min-width:116px;margin-top:0}.userTools span,.formError{color:var(--accent-sky);font-size:13px}.gridScroll{max-height:calc(100vh - 190px);overflow:auto}.sheetScroll{max-height:calc(100vh - 210px)}.sheetGridInner{align-items:flex-start;width:max-content;display:flex}.sheetRowIndexRail{z-index:3;background:var(--surface-soft);border-right:1px solid var(--grid);box-sizing:border-box;flex:0 0 40px;width:40px;min-width:40px;max-width:40px;position:sticky;left:0}.sheetRowIndexHeader{border-bottom:1px solid var(--grid);height:31px;color:var(--text-soft);box-sizing:border-box;z-index:1;background:var(--surface-soft);justify-content:center;align-items:center;padding:4px 2px;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.sheetRowIndexCell{border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;height:32px;color:var(--text-soft);box-sizing:border-box;justify-content:center;align-items:center;padding:0 2px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.sheetRowIndexSpacer{flex-shrink:0}.excelGrid{border-collapse:collapse;table-layout:auto;flex:none;width:max-content}.excelGrid col.dataCol{width:auto}.sheetToolbar{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.sheetToolbar button{border:1px solid var(--grid);background:var(--surface-soft);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.sheetToolbar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-sky)}.sheetToolbar button:disabled{opacity:.45;cursor:default}.sheetHint{color:var(--muted);align-self:center;font-size:12px}.excelGrid th,.excelGrid td{border:1px solid var(--grid);white-space:nowrap;vertical-align:middle;padding:0}.excelGrid td{width:1%;max-width:max-content}.excelGrid td.editableCell{cursor:text}.excelGrid td.selected{outline:2px solid var(--accent);outline-offset:-2px}.excelGrid th{background:var(--surface-soft);color:var(--text);padding:4px 6px}.excelGrid input{field-sizing:content;box-sizing:border-box;width:auto;min-width:4ch;max-width:80ch;color:inherit;font:inherit;background:0 0;border:1px solid #0000;padding:4px 6px;line-height:1.35;display:block}.excelGrid input:focus{border-color:var(--accent);background:var(--surface);border-radius:4px;outline:none}.excelGrid input[readonly]{cursor:default}.excelGrid input.formulaCell{color:var(--accent-sky);background:#13dbea14}.excelGrid .cellValue{text-overflow:ellipsis;min-width:4ch;max-width:80ch;padding:4px 6px;line-height:1.35;display:block;overflow:hidden}.excelGrid td.centeredCell .cellValue,.excelGrid td.centeredCell input.cellEditor,.excelGrid td[style*="text-align: center"] .cellValue,.excelGrid td[style*="text-align: center"] input.cellEditor{text-align:center;margin-inline:auto}.emptyChart{min-height:220px;color:var(--text-soft);text-align:center;place-items:center;padding:16px;display:grid}.excelGrid .cellValue.formulaCell{color:var(--accent-sky);background:#13dbea14}.excelGrid td.formulaCellTd{background:#13dbea0a}.excelGrid input.cellEditor{box-sizing:border-box;width:100%;min-width:6ch;max-width:80ch}.excelGrid td.percentCell .cellValue,.excelGrid td.percentCell input.cellEditor{width:100%;min-width:100%;font-weight:700}.sheetSpacerRow td{background:0 0!important}.excelGrid td.percentCell{background-color:var(--percent-bg,transparent);color:var(--percent-fg,inherit)}.excelGrid td.percentCell input{box-sizing:border-box;border-color:#0000;width:100%;min-width:100%;font-weight:700;color:inherit!important;background:0 0!important}.excelGrid td.percentCell input.formulaCell{color:inherit!important;background:0 0!important}.excelGrid td.percentCell input:focus{border-color:var(--accent);border-radius:0;background:0 0!important}@media print{@page{size:A4 landscape;margin:8mm}.navShell,.sheetToolbar,.sheetTabs,.dataHeader>span,.inlineMessage,.iconButton,.adminNavButton{display:none!important}body{background:#fff}.stage,.sheetPage,.dataPanel,.sheetPrintArea{box-shadow:none!important;background:#fff!important;margin:0!important;padding:0!important}.gridScroll,.sheetScroll{max-height:none!important;overflow:visible!important}.excelGrid{table-layout:auto;width:100%;min-width:0;font-size:8px}.excelGrid th,.excelGrid td{color:#000!important;background:#fff!important;border-color:#ccc!important;padding:0!important}.excelGrid th{padding:2px 4px!important}.excelGrid input{color:#000!important;background:0 0!important;border:none!important;min-height:auto!important;padding:2px 4px!important;font-size:8px!important}.excelGrid td.selected{outline:none!important}.excelGrid td.percentCell{-webkit-print-color-adjust:exact;print-color-adjust:exact}.excelGrid td.percentCell input{color:inherit!important;background:0 0!important}}.statusList{gap:10px;padding:8px 0 0;display:grid}.statusRow{color:var(--text);grid-template-columns:minmax(118px,.9fr) minmax(120px,1.4fr) 72px;align-items:center;gap:10px;font-size:12px;font-weight:700;display:grid}.statusRow span{text-align:right;line-height:1.15}.statusRow strong{color:var(--accent-sky);font-size:12px}.statusTrack{background:var(--rest);border-radius:2px;height:15px;overflow:hidden}.statusTrack i{height:100%;display:block}.localKpiGrid{width:min(1120px,100%);margin-left:auto;margin-right:auto}.equalPanels .dashPanel{min-height:320px}.wideLinePanel{max-width:1380px;margin-left:auto;margin-right:auto}.adminHeader,.adminCreate,.adminUserCard{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-strong), var(--surface));border-radius:24px;box-shadow:14px 16px 18px #00000080}.adminHeader{justify-content:space-between;align-items:center;gap:18px;min-height:90px;padding:20px 24px;display:flex}.adminHeader h1{text-transform:uppercase;align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.adminLoadedFile{margin:10px 0 14px}.inlineMessage{border:1px solid var(--accent);color:var(--text-soft);background:#0c183ff2;border-radius:8px;margin:10px 0 14px;padding:10px 12px}.adminCreate{grid-template-columns:minmax(190px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto auto;align-items:center;gap:12px;margin:16px 0;padding:16px;display:grid}.adminCreate strong,.adminUserTop strong{text-transform:uppercase;align-items:center;gap:8px;display:flex}.adminCreate input,.adminUserCard input{border:1px solid var(--border-soft);background:var(--surface-soft);min-height:38px;color:var(--text);border-radius:8px;padding:0 11px}.adminCreate label,.adminUserTop label,.permissionRow label{color:var(--text-soft);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.adminUsers{gap:16px;display:grid}.adminUserCard{padding:16px}.adminUserTop{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto auto auto auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.smallAction{border:1px solid var(--border-soft);background:var(--surface-soft);min-height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.smallAction.danger{color:#ffdbe6;border-color:#9c4262}.permissionsGrid{grid-template-columns:repeat(4,minmax(230px,1fr));gap:8px;display:grid}.permissionsGrid.disabled{opacity:.74}.permissionRow{border:1px solid var(--grid);background:#0c183f8c;border-radius:8px;grid-template-columns:minmax(90px,1fr) auto auto;align-items:center;gap:8px;min-height:42px;padding:7px 9px;display:grid}.permissionRow strong{font-size:12px}.emptyState{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(620px,100vw - 48px);min-height:260px;margin:80px auto;display:flex}@media (width<=1320px){.grid.three,.grid.activityCharts,.grid.lower,.grid.local{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.lower .span2,.dashPanel.span2{grid-area:auto/1/auto/-1}.mksBlock{grid-template-columns:minmax(0,1fr)}.legend{grid-template-columns:repeat(2,minmax(0,1fr))}.permissionsGrid{grid-template-columns:repeat(2,minmax(230px,1fr))}.adminUserTop,.adminCreate{grid-template-columns:repeat(2,minmax(0,1fr))}}
