
:root{color-scheme:light;--blue:#1769e8;--ink:#182338;--muted:#738198;--line:#e4eaf2;--pale:#eef5ff;--surface:#fff}
*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:var(--ink);font:12px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button,input,select,summary{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.scroll:focus-visible{outline:2px solid var(--blue)}button{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:default;color:#8894a7}button:disabled{opacity:.8}input,select{max-width:100%;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:white}input:disabled,select:disabled{background:#fbfcfe}button{min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:white;color:#44546d}small{font-size:11px;color:var(--muted)}h1,h2,p{margin:0}h1{font-size:28px;line-height:1.2;letter-spacing:-.8px}h2{font-size:13px;line-height:1.4;font-weight:650}.topbar{margin:0 24px;min-height:66px;background:white;border-radius:0 0 10px 10px;box-shadow:0 4px 18px #273c6410;display:flex;align-items:center;gap:28px;padding:0 18px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:180px}.brandmark{display:flex;align-items:end;gap:3px;width:37px;height:30px}.brandmark i{display:block;width:7px;background:var(--blue)}.brandmark i:nth-child(1){height:12px;opacity:.45}.brandmark i:nth-child(2){height:18px;opacity:.6}.brandmark i:nth-child(3){height:24px;opacity:.8}.brandmark i:nth-child(4){height:30px}.brand strong{display:block;font-size:17px;letter-spacing:-.6px}.brand small{display:block;color:#526079}.directions{display:flex;align-self:stretch;align-items:center;gap:7px;min-width:0;overflow:auto}.directions button{white-space:nowrap;border:0;min-height:50px;padding:12px 14px;background:transparent;font-size:12px;color:#53617a;flex-shrink:0;border-radius:5px;position:relative}.directions .active{color:var(--blue);background:#eaf3ff;font-weight:650}.directions .active:after{content:"";height:2px;background:var(--blue);position:absolute;bottom:0;left:10px;right:10px}.directions small{font-size:9px;margin-left:3px;color:#8a96a7}.mode{margin-left:auto;white-space:nowrap;color:#6a7990;font-size:11px;border-left:1px solid var(--line);padding-left:18px}.mode b{display:block;color:#315275;font-size:12px;font-weight:550}main{max-width:1680px;margin:auto;padding:20px 36px 0}.breadcrumb{font-size:11px;color:#8290a3;margin-bottom:11px}.breadcrumb span{margin:0 9px;color:#a1adbe}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.subtitle{font-size:12px;color:#7d8a9d;margin-top:5px}.report-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.report-menu{position:relative;min-width:232px}.report-menu summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;border:1px solid var(--line);border-radius:6px;min-height:43px;padding:11px 14px;background:white;font-weight:600;cursor:pointer}.report-menu summary::-webkit-details-marker{display:none}.report-menu summary:after{content:"⌄";font-size:16px;font-weight:400;color:#7a8aa2}.report-menu[open] summary:after{content:"⌃"}.report-options{position:absolute;z-index:5;left:0;right:0;top:47px;background:white;border:1px solid var(--line);border-radius:7px;padding:6px;box-shadow:0 10px 26px #213f6420}.report-options button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:white;font-size:12px;padding:9px;min-height:34px}.report-options button.current{background:#eaf3ff;color:var(--blue);font-weight:600}.report-options small{font-size:9px}.dates{display:flex;align-items:center;gap:6px;min-height:43px;background:white;border:1px solid var(--line);border-radius:6px;padding:2px 7px}.dates input{border:0;padding:7px 3px;width:123px;min-height:35px;font-size:12px}.dates span{color:#8c98aa}.filter-toggle{border-color:#a6c6f3;background:#f3f8ff;color:var(--blue);min-height:43px;font-weight:600}.apply{color:var(--blue);min-height:43px}.notice{display:flex;gap:12px;align-items:center;margin:13px 0 14px;padding:8px 11px;border:1px solid #dce7f8;background:#f0f6ff;border-radius:5px;color:#607698;font-size:11px}.notice strong{font-weight:600;color:#45658c;white-space:nowrap}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:13px}.kpi,.panel{border:1px solid var(--line);background:white;border-radius:7px;box-shadow:0 1px 3px #293c5e03}.kpi{padding:12px 16px;min-height:107px}.value{font-size:29px;line-height:1.15;letter-spacing:-.7px;font-weight:650;color:#7b8ba1;display:block;margin-bottom:6px}.kpi h2{font-size:12px;font-weight:450;color:#62728b}.kpi small{display:block;font-size:10px;margin-top:7px;color:#8d98a9}.charts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.chart{min-height:184px;padding:12px 14px}.chart h2{margin-bottom:12px}.chart-empty{height:129px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-top:1px solid #f0f3f8;text-align:center;color:#8491a4}.chart-empty strong{font-size:12px;font-weight:450;color:#7d8ba0}.chart-empty small{max-width:220px;font-size:10px;line-height:1.6}.chart-empty .empty-dash{font-size:23px;line-height:1;color:#c1ccda;margin-bottom:3px}.table-tools{display:flex;align-items:center;gap:9px;margin:14px 0 10px}.search{flex:1.8;min-width:180px}.table-tools select{flex:1;min-width:0;font-size:11px}.table-tools button{white-space:nowrap;color:var(--blue);border-color:#b5cff4;background:#f4f9ff;font-size:11px}.advanced{background:white;border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:10px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.advanced[hidden]{display:none}.advanced label{display:grid;gap:5px;font-size:11px;color:#76869d}.advanced label select{min-width:220px}.advanced p{flex-basis:100%;font-size:11px;color:#7c8da5}.selection{font-size:10px;color:#7d8da4;min-height:15px;margin:0 1px 8px}.table-panel{overflow:hidden}.scroll{overflow:auto;min-height:232px}table{width:100%;min-width:1410px;border-collapse:collapse;font-size:10px}th{height:35px;padding:8px 9px;border-right:1px solid #ecf0f6;border-bottom:1px solid var(--line);font-weight:500;color:#617088;white-space:nowrap;text-align:left;background:#fafcff}th:first-child{width:30px;text-align:center}td{border-bottom:1px solid #edf1f7}td.empty-table{height:195px;text-align:center;padding:26px;font-size:12px;color:#8190a5}.empty-table strong{font-size:13px;display:block;font-weight:500;color:#62748d;margin-bottom:6px}.empty-table small{display:block;font-size:11px;margin-top:5px}.table-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:11px;font-size:11px;color:#8290a4}.row-count{display:flex;align-items:center;gap:12px}.row-count label{display:flex;align-items:center;gap:7px}.row-count select{min-height:32px;padding:5px 8px;font-size:11px}.pagination{display:flex;align-items:center;gap:5px}.pagination button{min-height:30px;min-width:30px;padding:4px 9px;font-size:11px}.pagination .page-placeholder{background:#edf4ff;color:#829bc0}.status{margin-top:15px;border-top:1px solid var(--line);padding:11px 0;color:#7c8ca3}.status>summary{cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}.status>summary::-webkit-details-marker{display:none}.status>summary:after{content:"Подробнее ⌄";color:#587aa9;font-size:10px;white-space:nowrap}.status[open]>summary:after{content:"Свернуть ⌃"}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:14px 0}.status-grid span{display:block;font-size:10px}.status-grid strong{display:block;font-size:11px;margin-top:4px;font-weight:500;color:#64758e}.history{padding:9px 11px;border:1px solid var(--line);background:white;border-radius:5px;font-size:11px}.history p{margin-top:4px}.status .limitations{font-size:11px;margin-top:10px;max-width:1100px;line-height:1.7}footer{border-top:1px solid var(--line);padding:13px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#8b98ab;font-size:10px}.freshness{display:flex;align-items:center;gap:6px}.freshness:before{content:"";width:6px;height:6px;border-radius:50%;background:#b5c1d2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1500px){.directions{gap:14px}.directions button{padding:12px 17px}.report-menu{min-width:242px}}
@media(max-width:1250px){.topbar{gap:14px;padding:0 14px}.brand{min-width:155px}.directions{gap:0}.directions button{padding:10px;font-size:11px}.mode{display:none}main{padding:20px 24px 0}.report-heading{align-items:flex-start;flex-wrap:wrap}.report-tools{justify-content:flex-start}.report-heading h1{font-size:25px}.kpi{padding:12px}.kpi h2{font-size:11px}.table-tools{flex-wrap:wrap}.table-tools .search{flex-basis:30%}}
@media(max-width:850px){.topbar{margin:0 12px;flex-wrap:wrap;padding-top:12px;gap:8px}.brand{min-width:auto}.mode{display:block;border:0;margin-left:auto;padding-left:8px}.directions{order:3;flex-basis:100%;margin-top:2px}.directions button{min-height:42px}main{padding:16px 18px 0}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.charts{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tools{width:100%}.notice{align-items:flex-start}.table-tools select{min-width:145px}.table-tools .search{flex-basis:100%}.status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){main{padding:16px 12px 0}.brand strong{font-size:16px}.brand small{font-size:10px}.brandmark{transform:scale(.85);transform-origin:left center;width:31px}.mode{font-size:10px}.mode b{font-size:11px}.breadcrumb{font-size:10px}.report-menu{width:100%;min-width:0}.report-tools{gap:7px}.dates{flex:1;justify-content:space-around;gap:2px}.dates input{width:116px;font-size:11px}.filter-toggle,.apply{min-height:40px;padding:8px 10px}.notice{display:block;line-height:1.6}.notice strong{margin-right:6px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{min-height:98px}.value{font-size:26px}.charts{gap:8px}.chart{padding:11px;min-height:160px}.chart h2{font-size:12px}.chart-empty{height:110px}.table-tools{gap:7px}.table-tools select{min-width:120px}.table-tools button{flex:1}.table-bottom{align-items:flex-start;flex-wrap:wrap}.row-count{flex-wrap:wrap;gap:7px}.status>summary{line-height:1.6}.status>summary small{display:none}.status-grid{gap:12px}footer{align-items:flex-start;flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Refinements agreed after prototype review. */
.topbar{gap:17px}.directions{gap:2px}.directions button{padding:10px 11px;min-height:46px;font-size:11px}.brand{min-width:170px}.report-menu{min-width:113px;width:113px}.report-menu summary{gap:12px;font-size:12px;font-weight:500}.report-options{right:auto;width:242px}.report-tools{gap:7px}.report-heading{flex-wrap:wrap;align-items:flex-start}.report-tools{margin-left:auto}.quick-periods{display:flex;gap:3px;align-items:center;white-space:nowrap;padding:3px;border:1px solid var(--line);border-radius:6px;background:white}.quick-periods button{border:0;min-height:33px;padding:7px 8px;font-size:11px;color:#5d718e}.quick-periods button[aria-pressed="true"]{background:var(--blue);color:white}.chart{min-height:156px;padding:10px 14px}.chart h2{margin-bottom:10px}.chart-empty{height:106px;min-height:106px}.profile{margin-left:auto;position:relative;flex-shrink:0}.profile summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center;font-size:11px;color:#52647d}.profile summary::-webkit-details-marker{display:none}.profile summary:after{content:"⌄";color:#7b8ea8}.profile summary small{display:block;font-size:9px;color:#8796aa}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-content:center;background:#eef4fc;color:#97a9be}.profile-options{position:absolute;right:0;top:43px;width:225px;z-index:6;padding:8px;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 20px #213f641c}.profile-options button{width:100%;text-align:left;border:0;font-size:11px}.profile-options>small{display:block;padding:5px 10px;font-size:10px}
@media(min-width:1500px){.directions{gap:5px}.directions button{padding:10px 13px}.report-menu{min-width:113px}}
@media(max-width:850px){.profile{margin-left:auto}.report-tools{justify-content:flex-start;margin-left:0}.quick-periods{order:3}.chart{min-height:156px}}
@media(max-width:520px){.report-menu{width:108px;min-width:108px}.report-options{width:235px}.quick-periods{width:100%;justify-content:space-between;gap:1px}.quick-periods button{padding:7px 8px;flex:1;min-width:0}.report-tools .dates{min-width:250px}.chart{min-height:136px;padding:10px}.chart-empty{height:88px;min-height:88px}.chart-empty small{font-size:10px}.profile summary{font-size:10px}.profile summary small{font-size:9px}}

/* Working MVP: server data, accessible clickable bars, dense sticky table. */
.table-tools{align-items:flex-start}.table-tools label{font-size:11px}.table-tools select{display:block}.filter-details,.column-picker{position:relative;border:1px solid var(--line);background:white;padding:9px;border-radius:6px;min-width:180px}.filter-details>summary,.column-picker>summary{cursor:pointer}.field-filter-list,#column-list{position:absolute;background:white;border:1px solid var(--line);padding:12px;max-height:440px;overflow:auto;z-index:10;left:0;top:38px;width:360px;box-shadow:0 10px 20px #20365920}.field-filter-list label,#column-list label{display:block;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px}.field-filter-list small{display:block;font-size:9px}#column-list button{min-height:25px;padding:3px 7px}#column-list input{min-height:0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px;color:#789;font-size:11px}.chips a{border:1px solid #c5dbfa;color:#165fbc;border-radius:20px;padding:4px 9px;text-decoration:none;background:#eff6ff}.chart{min-height:156px}.chart-bars{max-height:155px;overflow:auto;margin-top:8px}.chart-bars button{display:flex;position:relative;align-items:center;gap:7px;justify-content:space-between;width:100%;border:0;border-radius:3px;min-height:27px;margin:3px 0;padding:5px 7px;font-size:10px;text-align:left;isolation:isolate}.chart-bars button:before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--bar,0%);background:#e3efff;z-index:-1}.chart-bars button[aria-pressed=true]{outline:1px solid #2474df;color:#1455ac;background:#edf5ff}.table-panel{margin-top:12px}.scroll{max-height:500px;min-height:180px;position:relative}th{position:sticky;top:0;z-index:2;background:#f5f9ff}th button{font-size:10px;white-space:nowrap;padding:2px;border:0;background:transparent;min-height:24px}td{padding:8px 10px;vertical-align:top;max-width:350px;overflow-wrap:anywhere;min-width:135px}td small{display:block;font-size:8px;color:#91a0b4;white-space:nowrap}.field-empty{color:#97a1b0}.field-unknown{color:#a9874a}tr:nth-child(even){background:#fbfcfe}td a{color:#136be5}.status .scroll{max-height:340px}.login{max-width:430px;background:white;margin:70px auto;padding:30px;border:1px solid var(--line);border-radius:10px}.login input{display:block;width:100%}.login p{margin:15px 0}.request-message{position:fixed;bottom:14px;right:16px;z-index:30;background:#f0f6ff;color:#315c97;padding:9px;border-radius:4px;display:none}.request-message:not(:empty){display:block}#report.htmx-request{opacity:.65}.profile-options a{display:block;padding:10px;color:#2670c5}

/* Page owns vertical scrolling; table owns only horizontal overflow. */
.table-panel{overflow:visible;position:relative}.table-panel>.scroll{max-height:none;min-height:0;overflow-x:auto;overflow-y:hidden}.table-panel table{border-collapse:separate;border-spacing:0}.table-panel th{position:static}.table-panel [data-key="id"]{position:sticky;left:0;z-index:3;background:#f5f9ff;box-shadow:2px 0 3px #20365915}.table-panel td[data-key="id"]{background:white}.table-panel tr:nth-child(even) td[data-key="id"]{background:#fbfcfe}.table-sticky-header{position:sticky;top:0;height:0;z-index:20}.header-scroll{overflow:hidden;visibility:hidden;background:#f5f9ff;box-shadow:0 2px 4px #20365920}.header-scroll table{table-layout:fixed;margin:0}.header-scroll [data-key="id"]{z-index:4}.table-bottom{flex-wrap:wrap;gap:12px}.table-bottom label{display:flex;gap:8px;align-items:center}.pagination{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pagination [aria-current="page"]{background:var(--blue);color:white}.pagination button{min-height:32px;padding:6px 9px}
