:root{--bg: #F4F7F9;--surface: #FFFFFF;--primary: #2F6F8F;--primary-soft: #EAF2F6;--accent-teal: #3A9188;--accent-green: #5B9A6B;--text: #22313F;--text-muted: #5B6B78;--border: #E1E8ED;--negative: #C0575B;--negative-soft: #FBEDEC;--sidebar-width: 240px}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100dvh}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,system-ui,sans-serif;font-size:14px;line-height:1.5}.app-shell{display:flex;height:100%;min-height:0}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column}.sidebar-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--primary);padding:0 4px 18px;border-bottom:1px solid var(--border);margin-bottom:14px}.sidebar-title-icon{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}.ozon-grid-wrap{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--border);border-radius:12px;background:var(--surface)}.ozon-grid-wrap table{border-collapse:separate;border-spacing:0;min-width:100%}.ozon-grid-wrap th,.ozon-grid-wrap td{white-space:nowrap}.ozon-grid-wrap th{position:sticky;top:0;z-index:1;max-width:220px;white-space:normal;min-width:120px;background:var(--bg)}.ozon-grid-wrap td.addr,.ozon-grid-wrap th.addr{position:sticky;left:0;z-index:2;background:var(--surface)}.ozon-grid-wrap th.addr{z-index:4;background:var(--bg)}.ozon-grid-wrap thead tr:nth-child(2) th{top:42px}button.header-link{background:none;border:0;padding:0;color:var(--primary);font:inherit;font-weight:600;cursor:pointer;text-align:left}button.header-link:hover{text-decoration:underline}.ozon-grid-wrap th.num{text-align:right}.ozon-grid-wrap.is-fit{overflow-x:hidden}.ozon-grid-wrap.is-fit table{width:100%;min-width:0;table-layout:fixed}.ozon-grid-wrap.is-fit th{max-width:none;min-width:0}.ozon-grid-wrap.is-fit th.addr,.ozon-grid-wrap.is-fit td.addr{white-space:normal;overflow-wrap:break-word}.ozon-grid-wrap.is-fit th.num{width:8.75rem}.ozon-grid-wrap.is-fit td.num{white-space:nowrap}.ozon-grid-wrap.is-fit th.chart,.ozon-grid-wrap.is-fit td.chart{width:2.4rem;text-align:center;padding-left:2px;padding-right:2px}.chart-head{color:var(--text-muted);display:inline-flex;line-height:0}button.chart-pin{background:none;border:0;padding:2px;color:var(--primary);cursor:pointer;line-height:0;border-radius:4px}button.chart-pin:hover{background:var(--primary-soft)}.ozon-grid-wrap tr.is-total td,.ozon-grid-wrap tr.is-total:hover td{font-weight:700;background:var(--primary-soft)}.ozon-metric .header-link{color:var(--primary);font-weight:600}.ozon-grid-wrap th.ozon-metric,.ozon-grid-wrap td.ozon-metric{cursor:pointer}.ozon-grid-wrap td.ozon-metric:hover,.ozon-grid-wrap th.ozon-metric:hover{background:var(--primary-soft)}.ozon-columns{position:relative}.ozon-columns .combo-list{padding:8px;min-width:320px}.ozon-columns .combo-list input{width:100%;margin-bottom:8px}.ozon-column-list{max-height:260px;overflow:auto}button.addr-link{background:none;border:0;padding:0;color:var(--primary);font:inherit;text-align:left;cursor:pointer}button.addr-link:hover{text-decoration:underline}.ozon-window{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;gap:16px;padding:20px 28px 28px;overflow:auto}.ozon-window-bar{display:flex;align-items:flex-start;gap:12px}.ozon-window-bar h2{margin:0}.ozon-window-bar>div{flex:1;min-width:0}.ozon-window .ozon-grid-wrap{max-height:none;flex:1}tr.clickable:hover td{background:var(--primary-soft)}tr.clickable td.header-link{color:var(--primary);font-weight:600}.ozon-column-list label{display:flex;align-items:flex-start;gap:8px;padding:6px 4px;font-size:13px;font-weight:400;color:var(--text);cursor:pointer}.market-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 14px;padding:3px;background:var(--bg);border-radius:8px}.market-switch button{border:0;background:transparent;color:var(--text-muted);border-radius:6px;padding:6px 8px;font-weight:600;box-shadow:none}.market-switch button:hover{background:transparent;color:var(--text)}.market-switch button.is-active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #22313f1f}.ozon-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.ozon-tabs button.is-active{background:var(--primary-soft);border-color:var(--primary)}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;min-height:0;padding-right:2px}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-group{width:100%;display:block;text-align:left;padding:10px 12px;font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1.3;color:#22313f;border-radius:8px;border:1px solid #c5d4dd;background:linear-gradient(#fff,#eef3f6);box-shadow:inset 0 1px #fff,0 2px #c5d4dd,0 4px 8px #22313f1f;cursor:pointer}.sidebar-group:hover{opacity:1;background:linear-gradient(#fff,#e4eef3);border-color:#2f6f8f;color:#2f6f8f;box-shadow:inset 0 1px #fff,0 2px #9bb6c4,0 5px 10px #2f6f8f2e}.sidebar-group:active{box-shadow:inset 0 2px 4px #22313f2e;transform:translateY(1px)}.sidebar-section.is-open .sidebar-group,.sidebar-section.is-open .sidebar-group:hover{opacity:1;color:#2f6f8f;border-color:#9bb6c4;background:linear-gradient(#fff,#e4eef3);box-shadow:inset 0 1px #fff,0 2px #9bb6c4,0 5px 10px #2f6f8f2e}.sidebar-sub{display:flex;flex-direction:column;gap:8px;padding:0 2px 2px 8px}.sidebar-sub .menu-btn{display:block;width:100%;text-align:left;text-decoration:none;cursor:pointer;padding:10px 12px;border-radius:8px;border:1px solid #c5d4dd;background:linear-gradient(#fff,#eef3f6);box-shadow:inset 0 1px #fff,0 2px #c5d4dd,0 4px 8px #22313f1f;color:#22313f;font-weight:700;font-size:13px;line-height:1.3}.sidebar-sub .menu-btn:hover{opacity:1;background:linear-gradient(#fff,#e4eef3);border-color:#2f6f8f;color:#2f6f8f;text-decoration:none;box-shadow:inset 0 1px #fff,0 2px #9bb6c4,0 5px 10px #2f6f8f2e}.sidebar-sub .menu-btn:active{box-shadow:inset 0 2px 4px #22313f2e;transform:translateY(1px)}.sidebar-sub .menu-btn.active,.sidebar-sub .menu-btn.active:hover{opacity:1;background:linear-gradient(#3d86a8,#2f6f8f);border-color:#245a74;color:#fff;font-weight:700;text-decoration:none;box-shadow:inset 0 1px #ffffff40,0 2px #1e4c62,0 5px 10px #22313f38}.sidebar-nav span.disabled{color:#b7c2ca;cursor:default}.sidebar-footer{text-align:center;padding-top:16px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px}.sidebar-footer img{width:100%;max-width:200px}.main-content{margin-left:var(--sidebar-width);flex:1;min-width:0;min-height:0;height:100%;display:flex;justify-content:center;padding:20px 24px 16px;overflow:hidden}.main-column{width:100%;max-width:1180px;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column}.main-content.is-wide{justify-content:stretch;padding-left:16px;padding-right:16px}.main-column.is-wide{max-width:none}.main-content.is-fit{justify-content:flex-start;overflow-x:auto;overflow-y:hidden}.main-column.is-fit,.main-column.is-fit .page.page-columns{width:max-content;max-width:none}.main-column.is-fit table.indicators-fit{width:max-content;min-width:0}h1{font-size:22px;margin:0 0 12px}h2{font-size:16px;margin:28px 0 12px;color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:22px;width:100%;min-width:0}table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.card.flush>table,.card.table-scroll>table,.card>table,.sheet-body table{max-width:none}th{text-align:left;color:var(--text-muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--border)}td{padding:12px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-accepted{background:#e4f1e8;color:var(--accent-green)}.badge-replaced{background:#eef1f3;color:var(--text-muted)}.badge-mapping_required{background:var(--negative-soft);color:var(--negative)}.badge-pending{background:#fff6e0;color:#a67c00}.journal-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.journal-form input,.journal-form select{min-width:110px;max-width:180px}.journal-form input[type=date]{min-width:140px}.journal-hidden-form{display:none}.journal-hint{min-width:0;max-width:none;display:block;font-size:12px;color:var(--text-muted);white-space:nowrap}.journal-hint.is-miss{color:var(--negative)}tr.is-excluded td{color:var(--text-muted)}tr.journal-form-row:hover td{background:var(--surface)}table.journal tr.is-selected td,table.journal tr.is-selected:hover td,table.journal tr.journal-form-row.is-selected td,table.journal tr.journal-form-row.is-selected:hover td{background:#d3e4ef}table.journal tbody tr.journal-pick{cursor:pointer}.journal-measure{position:absolute;left:-9999px;top:0;visibility:hidden;pointer-events:none;width:auto!important;min-width:0!important;margin:0}.journal-measure td.col-address,.journal-measure td.col-name{width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap}.journal-table-wrap{display:flex;justify-content:flex-start;justify-content:safe center;width:100%;min-width:0}table.journal{width:max-content!important;min-width:0!important;margin:0;table-layout:auto}table.journal th,table.journal td{border-right:1px solid var(--text-muted);padding:2px 6px;line-height:1.2;white-space:nowrap;vertical-align:middle}table.journal th:last-child,table.journal td:last-child{border-right:none}.sheet-body table.journal td,.sheet-body table.journal th{white-space:nowrap}table.journal .col-actions{width:1%}table.journal .col-name{width:var(--journal-name-width, auto);min-width:var(--journal-name-width, 6.5rem);max-width:var(--journal-name-width, none)}table.journal .col-address{width:var(--journal-address-width, 12rem);min-width:var(--journal-address-width, 12rem);max-width:var(--journal-address-width, 12rem)}table.journal .journal-form-row td{padding:2px 4px}table.journal td input:not([type=checkbox]),table.journal td select{min-width:0;max-width:none;padding:1px 5px;font-size:12px;height:22px}table.journal td input[type=date]{width:8.1rem}table.journal td.col-sum input{width:4.6rem}table.journal td.col-barcode input{width:7.2rem}table.journal td.col-id input{width:3.8rem}table.journal td.col-employee input{width:4.2rem}table.journal .col-employee{width:4.6rem;white-space:nowrap}table.journal .col-phone{width:8.4rem;white-space:nowrap}table.journal td.col-phone input{width:7.2rem}table.journal td.col-kind select{width:8.6rem}table.journal td.col-note input{width:10rem}table.journal td.actions{white-space:nowrap}table.journal button{font-size:11px;font-weight:600;padding:2px 8px;line-height:1.2;border-radius:4px}table.journal td.actions button{display:inline-block;margin:0;vertical-align:middle}table.journal td.actions button+button{margin-left:6px;display:inline-block}button,.btn{font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:6px;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer}button:hover{opacity:.92}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--primary)}button.danger{background:var(--negative-soft);color:var(--negative);border-color:#f0cfce}select,input[type=text],input[type=password],input[type=file],input[type=date]{font-family:inherit;font-size:13px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.field-row{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.field-row label{font-weight:600;font-size:13px;color:var(--text-muted);min-width:90px}.position-picks{display:flex;flex-wrap:wrap;gap:8px 14px}.position-picks label{min-width:0;font-weight:400;color:var(--text);display:flex;align-items:center;gap:6px}.warning-box{background:var(--negative-soft);border:1px solid #F0CFCE;color:var(--negative);padding:10px 14px;border-radius:6px;font-size:13px;margin-top:12px;white-space:pre-line}.success-box{background:#e4f1e8;border:1px solid #C9E4D0;color:var(--accent-green);padding:10px 14px;border-radius:6px;font-size:13px;margin-top:12px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}a.btn{display:inline-block}a.btn.secondary,label.btn.secondary{background:var(--surface);color:var(--primary)}label.btn{display:inline-flex;align-items:center}a.btn:hover{text-decoration:none;opacity:.92}.muted{color:var(--text-muted)}.small{font-size:12px}.page{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:auto}.page:has(.page-fill){overflow:hidden}.page.is-scroll{display:block;overflow:auto}.page.is-fit{overflow:hidden}.page-header{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-shrink:0}.page-note{flex-shrink:0}.page-fill{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px}.page-fill.is-scroll{overflow:auto}.formula-outline{flex-shrink:0;margin:0 0 12px}.formula-outline p{margin:0 0 4px}.formula-blocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}.formula-blocks h3{margin:0 0 4px;font-size:13px}.formula-blocks ul{margin:0;padding-left:16px;font-size:13px;max-height:9em;overflow:auto}.formula-indicators{min-height:320px}.formula-section{margin:0;font-size:16px}.expense-formula{flex-shrink:0;max-height:42vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.expense-formula.is-fill{flex:0 1 auto;min-height:0;max-height:none;overflow:auto}.expense-formula h2{margin:0 0 6px;font-size:16px}.expense-lines{margin:8px 0 12px;padding-left:18px}.expense-formula table{width:100%}.card.sheet{flex:1;min-height:0;min-width:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.sheet-pane{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.sheet-hscroll{display:none;overflow-x:auto;overflow-y:hidden;height:14px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border)}.sheet-hscroll.is-wide{display:block}.sheet-hscroll-spacer{height:1px}.sheet-body{flex:1;min-height:0;overflow:auto}.sheet-body th,.sheet-body td{white-space:nowrap}.sheet-body td:nth-child(2){white-space:normal}.sheet-body table.structure-grid,.sheet-body table.managers-grid{width:100%;min-width:0;table-layout:fixed}.sheet-body table.structure-grid th,.sheet-body table.structure-grid td,.sheet-body table.managers-grid th,.sheet-body table.managers-grid td{white-space:normal;overflow-wrap:break-word;vertical-align:top}.sheet-body table.structure-grid .field-row{margin-bottom:0}.sheet-body table.structure-grid .field-row select,.sheet-body table.structure-grid .field-row input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.sticky-chrome{flex-shrink:0;z-index:20;background:var(--bg);padding:0 0 10px}.sticky-chrome .filters{margin-bottom:0}.sticky-chrome .tiles{margin:10px 0 0}.sticky-chrome .tile{padding:10px 14px}.sticky-chrome .tile-value{font-size:18px;margin:0 0 4px}table.sticky-head thead th{position:sticky;top:0;z-index:8;background:var(--surface);box-shadow:0 1px 0 var(--border)}table.sticky-head thead tr:nth-child(2) th{top:34px;z-index:7}table.costs-sheet thead tr:nth-child(2) th{top:46px}th.th-stack{vertical-align:bottom;line-height:1.15}.th-date{display:block;font-size:10px;font-weight:700;color:var(--text);margin-bottom:2px}.th-metric{display:block;font-size:11px;font-weight:600;color:var(--text-muted)}.th-sort{display:inline-flex;align-items:center;gap:6px;max-width:100%}.th-sort-btn{flex-shrink:0;width:22px;height:22px;padding:0;border-radius:4px;font-size:11px;line-height:1}.th-sort.is-on .th-sort-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.th-sort-menu{position:fixed;z-index:80;min-width:140px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #22313f29;display:flex;flex-direction:column}.th-sort-menu button{text-align:left;background:none;border:0;box-shadow:none;border-radius:4px;padding:6px 10px;font-weight:500;color:var(--text)}.th-sort-menu button:hover,.th-sort-menu button.is-on{background:var(--primary-soft);color:var(--text);opacity:1}.page-header h1{margin:0 auto 0 0}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 22px;overflow:visible}.ledger-filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.filter{display:flex;flex-direction:column;gap:4px}.filter label{font-weight:600;font-size:12px;color:var(--text-muted)}.filter-combo{position:relative;min-width:280px}.filter-combo input{width:100%}.combo-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:480px;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #22313f1f}button.combo-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-radius:0;color:var(--text);padding:8px 12px;font-weight:400;white-space:nowrap}button.combo-item[data-active="1"],button.combo-item:hover{background:var(--primary-soft);color:var(--text)}.combo-empty{padding:8px 12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#22313f59;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;overflow:auto}.modal.modal-narrow{width:min(440px,100%)}.modal.modal-window{width:100%;max-width:none}.modal{background:var(--surface);border-radius:8px;border:1px solid var(--border);width:min(1100px,100%);padding:0;box-shadow:0 16px 48px #22313f2e}.modal-head{display:flex;align-items:center;gap:12px;padding:16px 22px 8px}.modal-head h2{margin:0 auto 0 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grain{display:flex;gap:4px;flex-shrink:0}.grain button{padding:6px 10px}.grain button.active{background:var(--primary);color:#fff}.table-scroll{overflow-x:auto}.table-scroll th,.table-scroll td{white-space:nowrap}.table-scroll td:nth-child(2){white-space:normal}td.num{text-align:right}tr.clickable{cursor:pointer}.changed-mark{color:var(--accent-teal);font-size:10px}td.actions{white-space:nowrap}td.actions button+button{margin-left:8px}tr.history-row>td{background:var(--bg);padding:4px 12px 10px 232px}tr.history-row:hover>td{background:var(--bg)}tr.history-row table td{padding:8px 12px}.file-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--bg)}.file-thumb-pdf{color:var(--negative);font-weight:700;font-size:12px}td.actions a.btn+button,td.actions button+a.btn{margin-left:8px}.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 16px}.kv span:nth-child(odd){color:var(--text-muted);font-weight:600;font-size:13px}.notice-box{background:#fff6e0;border:1px solid #F2E2B3;color:#7a5b00;padding:10px 14px;border-radius:6px;font-size:13px;margin-top:12px}.notice-box ul,.warning-box ul{margin:6px 0 0;padding-left:20px}.stale{color:#a67c00}tr.group-row>td{background:var(--bg);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:8px 12px}tr.group-row:hover>td{background:var(--bg)}tr.panel-row>td{background:var(--bg);padding:4px 12px 14px 60px}tr.panel-row:hover>td{background:var(--bg)}tr.panel-row table td{padding:8px 12px}button.icon{padding:2px 7px;font-size:12px;line-height:1.2;background:var(--surface);color:var(--text-muted);border-color:var(--border)}button.icon+button.icon{margin-left:2px}td.order{white-space:nowrap;width:1%}.alias-line+.alias-line{margin-top:4px}input[type=checkbox]{width:16px;height:16px;vertical-align:middle}label.check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}details summary{cursor:pointer}input[type=number]{font-family:inherit;font-size:13px;padding:8px 12px;border:1px solid var(--border);border-radius:6px}.neg{color:var(--negative)}.strong{font-weight:700}th.num{text-align:right}tr.total-row>td,tr.total-row>th{background:var(--primary-soft);font-weight:700;border-top:2px solid var(--border)}tr.total-row:hover>td,tr.total-row:hover>th{background:var(--primary-soft)}table.sticky-head thead tr.total-row th{top:34px;z-index:7;box-shadow:0 1px 0 var(--border)}table.compact.journal.ledger-head thead th{padding:0;vertical-align:top}table.ledger-head .col-find{display:flex;align-items:center;gap:2px;min-height:28px;padding:4px;background:#d5e6f2;border-bottom:2px solid var(--primary)}table.ledger-head .col-find input,table.ledger-head .col-find select{flex:1 1 auto;width:100%;min-width:0;height:22px;padding:1px 4px;font-size:12px;line-height:1.2;background:var(--surface);border:1px solid #b7cfe0}table.ledger-head .col-find-clear{flex:0 0 16px;width:16px;height:16px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;line-height:14px}table.ledger-head .col-find-clear:disabled{opacity:.35}table.ledger-head .journal-label,table.ledger-head .journal-sum{display:flex;align-items:center;min-height:1.35em;padding:1px 6px;line-height:1.2}table.ledger-head thead th.num .journal-label,table.ledger-head thead th.num .journal-sum{justify-content:flex-end}table.ledger-head .journal-sum{border-top:2px solid var(--border);background:var(--primary-soft);color:var(--text);font-weight:700}tr.summary-row>td{background:var(--bg);color:var(--text-muted);font-weight:600}.card.loading{opacity:.6;transition:opacity .2s}table.compact td{padding:6px 12px}table.compact.journal th,table.compact.journal td{padding:1px 6px}table.compact.journal .journal-form-row td{padding:1px 4px}table.compact tr.group-row>td{padding:6px 12px}.toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 10px;flex-shrink:0}.sheet-tabs{display:flex;gap:8px}.card.picker{margin-bottom:0;padding:16px 22px;flex-shrink:0;max-height:36vh;overflow:auto}.card.picker.picker-fill{flex:1;min-height:0;max-height:none}.picker-actions{display:flex;gap:8px;margin-bottom:12px}.picker-groups{columns:3 260px;column-gap:24px}.picker-group{break-inside:avoid;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.picker-group-title{font-weight:700}.tile-block{margin:12px 0 0}.tile-block-title{font-size:12px;font-weight:700;color:var(--text-muted);margin:0 0 4px}.tile-block .tiles{margin:8px 0 0}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:16px 0}.tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 18px}.tile.accent{background:var(--primary-soft);border-color:#cfe0e9}.tile-title{font-size:12px;font-weight:600;color:var(--text-muted)}.tile-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin:2px 0 6px}.tile-split{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}td.nowrap{white-space:nowrap}.columns-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch;min-height:0;flex:1}.columns-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:stretch;min-height:0;flex:1}.page-fill:has(.shortage-stack){overflow:auto}.shortage-stack{display:flex;flex-direction:column;gap:16px;flex:0 0 auto;min-height:0}.shortage-stack .card.flush{height:auto;max-height:min(360px,42vh)}.shortage-stack .sheet-pane{min-height:160px}.card.flush{padding:0;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.card.flush.rr-scroll{flex:1;overflow:auto}.card.compact-block{flex:0 0 auto;display:block;max-height:34vh;overflow:auto}.card-head{padding:14px 18px 8px;display:flex;align-items:center;gap:10px;flex-shrink:0}.card-head h2{margin:0 auto 0 0}.card-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.card-head-actions button{padding:4px 10px;font-size:13px}.shortage-stack .card-head h2,.sheet-zoom .card-head h2{margin-right:0}.sheet-export-error{margin:0 18px 8px}.sheet-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#22313f59}.sheet-zoom .card.flush{max-height:none}.sheet-zoom .sheet-pane,.sheet-zoom .sheet-body{flex:1 1 auto;min-height:0;height:auto}.sheet-zoom .sheet-pane{display:flex;flex-direction:column;overflow:hidden}.sheet-zoom .sheet-body{overflow:auto}.scroll-y{flex:1;min-height:0;overflow:auto}.charts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chart{width:100%}@media (max-width: 1100px){.charts-grid{grid-template-columns:1fr}}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px}.login-card button[type=submit]{width:100%}.login-qr{display:flex;justify-content:center;margin:8px 0 16px}.login-qr svg{width:220px;height:auto}.login-card input[type=text],.login-card input[type=password]{width:100%}.password-wrap{display:flex;gap:8px;align-items:center}.password-wrap input{flex:1;min-width:0}.password-toggle{padding:8px 12px;flex-shrink:0}.sidebar-user{padding:12px 8px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.sidebar-user-name{font-weight:600}.sidebar-user button{width:100%}.access-card{flex:1 1 auto;min-height:0;overflow:auto;margin-bottom:12px}.page:has(.access-card) .page-fill{display:none}.perm-markets{max-width:640px}.perm-markets h2{margin:16px 0 8px;font-size:16px}.perm-grid{display:grid;grid-template-columns:1fr;gap:14px}.perm-group{display:flex;flex-direction:column;gap:6px}.perm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:420px}.perm-row select{min-width:120px}table.access-table td.access-sheet{padding-left:28px}table.access-table tr.access-group td{color:var(--text-muted);font-weight:600}table.access-table th.num,table.access-table td.num{width:8rem;text-align:center}tr.is-selected td{background:var(--primary-soft)}@media (max-width: 900px){html,body,#root{height:auto;min-height:100dvh}.app-shell{display:block;height:auto;min-height:100dvh}.sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border)}.sidebar-nav{flex-direction:column;overflow:visible}.main-content{margin-left:0;height:auto;overflow:visible;padding:16px 12px 24px}.main-column{height:auto}.page:has(.page-fill){overflow:visible}.page-fill,.card.sheet,.sheet-pane,.sheet-body{flex:none;min-height:0;height:auto;overflow:visible}.sheet-body{overflow-x:auto}}.sheet-body table.pvz-rates{width:100%;min-width:0;max-width:100%;table-layout:fixed}table.pvz-rates col.col-id{width:7%}table.pvz-rates col.col-addr{width:21%}table.pvz-rates col.col-val{width:6%}table.pvz-rates col.col-date{width:7%}table.pvz-rates col.col-act{width:11%}.sheet-body table.pvz-rates th,.sheet-body table.pvz-rates td{white-space:normal;overflow-wrap:break-word;padding:8px 6px;vertical-align:middle}.sheet-body table.pvz-rates th:first-child,.sheet-body table.pvz-rates td:first-child{white-space:nowrap}.sheet-body table.pvz-rates th{font-size:12px;line-height:1.25;vertical-align:bottom}table.pvz-rates td.num{white-space:nowrap}table.pvz-rates td.actions{white-space:normal}table.pvz-rates td.actions button{display:inline-block;font-size:12px;font-weight:600;line-height:1.2;padding:4px 8px;margin:2px 4px 2px 0}table.pvz-rates td.actions button+button{margin-left:0}table.pvz-rates td input:not([type=checkbox]){font-size:13px;padding:4px 8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}table.pvz-rates tr.history-row>td{padding-left:12px}@media (max-width: 900px){.sheet-body table.pvz-rates{width:max-content;min-width:52rem;max-width:none;table-layout:auto}table.pvz-rates col.col-id,table.pvz-rates col.col-addr,table.pvz-rates col.col-val,table.pvz-rates col.col-date,table.pvz-rates col.col-act{width:auto}}.sheet-body table.payroll-wages{width:100%;min-width:72rem;font-size:12px}.sheet-body table.payroll-wages th{white-space:normal;font-size:11px;font-weight:600;line-height:1.2;vertical-align:bottom}.sheet-body table.payroll-wages td{font-size:12px}table.payroll-wages td{white-space:nowrap}table.payroll-wages td.addr{white-space:normal;min-width:12rem;max-width:18rem}table.payroll-wages td.note{white-space:normal;min-width:8rem;max-width:16rem}table.payroll-wages td.note .comment-edit{display:flex;flex-direction:column;align-items:flex-start;gap:4px}table.payroll-wages td.note .comment-edit button{padding:2px 8px}table.payroll-wages textarea.cell-input{width:14rem;min-height:2.6rem;resize:vertical;font:inherit}table.payroll-wages .shortage-warn{color:#a32020;font-weight:700}button.fix-shortage{background:#f6d5d5;color:#7a3030;border-color:#e3b0b0}button.fix-shortage.is-on,button.freeze-mark.is-on,button.paid-mark.is-on{background:#d9f0d4;color:#1e5c34;border-color:#a9d4a4}button.freeze-mark,button.paid-mark{background:#f6d5d5;color:#7a3030;border-color:#e3b0b0}table.payroll-wages tr.freeze-paid td{background:#eef6ee}table.payroll-wages td.row-actions{white-space:nowrap;width:1%}table.payroll-wages td.row-actions button{font-size:11px;font-weight:600;line-height:1.2;padding:2px 6px;margin:0 3px 0 0}table.payroll-wages .overridden{font-weight:600;color:#0b141c}table.payroll-wages .cell-input{width:100%;min-width:4.2rem;font:inherit;font-size:12px;padding:2px 4px;text-align:right}table.payroll-wages td.num-strong{font-weight:700;color:#0b141c}table.payroll-wages tr.person-cont td{border-top-style:dashed}table.payroll-wages tr.group-start td{border-top:2px solid #c5d0dc}table.payroll-wages .cell-btn-fio,table.payroll-wages .cell-input-fio{text-align:left;min-width:10rem;width:auto}.wage-rule-field{display:flex;align-items:center;gap:8px}.wage-rule-field select{font:inherit;padding:4px 8px}input.formula-operand{width:5.5rem;font:inherit;padding:4px 8px}.formula-line{max-width:70rem;word-break:break-word}.withhold-filters{margin-bottom:8px}.withhold-filters .filter select{min-width:260px;max-width:420px}.withhold-filters .filter input{min-width:220px}.col-withhold{min-width:7.5rem;vertical-align:bottom}table.journal td.col-remainder,table.journal th.col-remainder{font-weight:700;color:#0b141c}.withhold-title{display:inline-block;max-width:9rem;white-space:normal;line-height:1.15;text-align:right}.withhold-col-check{align-items:flex-start;justify-content:flex-end;gap:6px;margin:0;font-weight:600}button.linkish{border:0;background:transparent;color:var(--text-muted);padding:0 0 0 6px;cursor:pointer;font-size:14px;line-height:1}button.linkish:hover{color:var(--text)}button.linkish.drill{color:inherit;padding:0;font:inherit;text-align:left}.trend{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums}.trend-up{color:#1e5c34}.trend-down{color:var(--negative)}.tri{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.tri-up{border-bottom:6px solid #1e5c34}.tri-down{border-top:6px solid var(--negative)}
