:root{--bg: #eef2f6;--surface: #ffffff;--surface-2: #f6f8fb;--border: #dee2e6;--text: #0b1727;--text-muted: #6c757d;--accent: #5dd89e;--accent-strong: #34c98a;--accent-contrast: #043a24;--accent-soft: #5dd89e26;--sidebar-bg: #061836;--sidebar-text: #a8bec2;--sidebar-active: #5dd89e;--sidebar-active-bg: #0f2547;--sidebar-title: #6a819b;--topbar-bg: #ffffff;--topbar-height: 64px;--sidebar-width: 250px;--danger: #fb2c36;--ok: #00a63e;--warn: #d99e00;--info: #00b8db;--shadow-sm: 0 1px 2px rgba(16, 30, 54, .08);--shadow: 0 2px 12px rgba(16, 30, 54, .08);--shadow-lg: 0 12px 40px rgba(16, 30, 54, .18);--radius: 10px;color-scheme:light}:root.dark{--bg: #16181d;--surface: #1f2028;--surface-2: #2a2b34;--border: #343a40;--text: #eef2f6;--text-muted: #9aa4b2;--accent-contrast: #04140c;--accent-soft: #5dd89e22;--sidebar-bg: #14151b;--sidebar-text: #ced4da;--sidebar-active: #5dd89e;--sidebar-active-bg: #2a2c33;--sidebar-title: #6c757d;--topbar-bg: #1f2028;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}.ti{line-height:1}.app-layout{min-height:100vh}.brand-mark{width:34px;height:34px;border-radius:9px;flex-shrink:0;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;font-weight:800;font-size:15px}.topbar-brand{display:flex;align-items:center;gap:9px;flex-shrink:0;padding-right:6px;color:var(--text)}.topbar-brand .brand-name{font-size:15.5px;font-weight:700;line-height:1.1;white-space:nowrap}.top-nav{display:flex;align-items:center;gap:2px;min-width:0}.top-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 13px;border-radius:9px;color:var(--text-muted);font-size:14px;font-weight:550;transition:background .15s,color .15s}.top-link .ti{font-size:18px}.top-link:hover{background:var(--surface-2);color:var(--text)}.top-link.active{background:var(--accent-soft);color:var(--accent-strong)}.topbar-custom{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);background:var(--topbar-bg);border-bottom:1px solid var(--border);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.menu-toggle{width:40px;height:40px;border:none;background:none;cursor:pointer;border-radius:8px;color:var(--text);font-size:22px;display:grid;place-items:center}.menu-toggle:hover{background:var(--surface-2)}.topbar-search{position:relative;display:none}.topbar-search .ti{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:18px}.topbar-search input{height:40px;width:260px;padding:0 12px 0 36px;font-size:14px;border:1px solid transparent;border-radius:9px;background:var(--surface-2);color:var(--text)}.topbar-search input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.topbar-icon{width:40px;height:40px;border:none;background:none;cursor:pointer;border-radius:8px;color:var(--text);font-size:21px;display:grid;place-items:center}.topbar-icon:hover{background:var(--surface-2)}.topbar-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--border)}.topbar-badge.live{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}.topbar-badge.mock{background:#efb1001f;color:var(--warn);border-color:transparent}.topbar-user-wrap{position:relative}.topbar-user{display:flex;align-items:center;gap:9px;padding:5px 8px 5px 6px;border-radius:10px;cursor:pointer;border:none;background:none;font-family:inherit}.topbar-user:hover{background:var(--surface-2)}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;font-weight:700;text-transform:uppercase;font-size:15px}.topbar-user-meta{display:none;flex-direction:column;line-height:1.2;text-align:left}.topbar-user-meta .name{font-size:13px;font-weight:600;color:var(--text);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-meta .role{font-size:11px;color:var(--text-muted)}.topbar-user .chev{color:var(--text-muted);font-size:16px}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:1100;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;overflow:hidden}.user-menu-head{padding:10px 12px 8px;border-bottom:1px solid var(--border);margin-bottom:6px}.user-menu-head .name{font-weight:600;font-size:14px}.user-menu-head .role{font-size:12px;color:var(--text-muted)}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--text);font-family:inherit;text-align:left}.user-menu-item:hover{background:var(--surface-2)}.user-menu-item.danger{color:var(--danger)}.user-menu-item .ti{font-size:18px}.content-page{padding-top:var(--topbar-height);min-height:100vh;display:flex;flex-direction:column}.content{flex:1;padding:18px 16px;width:100%}.footer{padding:14px 16px;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border);background:var(--surface)}.nav-backdrop{position:fixed;inset:var(--topbar-height) 0 0;background:#060c1866;z-index:990}@media (max-width: 991px){.top-nav{position:fixed;top:var(--topbar-height);left:0;right:0;z-index:1000;display:none;flex-direction:column;align-items:stretch;gap:2px;background:var(--surface);border-bottom:1px solid var(--border);padding:8px;box-shadow:var(--shadow-lg)}.top-nav.open{display:flex}.top-link{padding:11px 14px;font-size:15px}}@media (min-width: 992px){.menu-toggle,.nav-backdrop{display:none}.topbar-search{display:block}.topbar-user-meta{display:flex}.content{padding:20px 22px}}.page{display:flex;flex-direction:column;min-height:calc(100vh - var(--topbar-height) - 52px)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-header h1{font-size:20px;margin:0;font-weight:600}.subtle{color:var(--text-muted);font-size:13px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 16px;font-size:14px;font-weight:500;font-family:inherit;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer;transition:filter .15s,background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn .ti{font-size:18px}.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600;box-shadow:0 2px 8px #5dd89e40}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--border)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.06)}.icon-btn{width:40px;padding:0;font-size:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.confirm-card{max-width:420px}.org-card{max-width:660px;display:flex;flex-direction:column;gap:14px}.hint{color:var(--text-muted);margin:12px 2px 0;font-size:13px}.alert{padding:10px 14px;border-radius:8px;margin-bottom:12px}.alert-error{background:#fb2c361a;color:var(--danger);border:1px solid #fb2c3640}.switch-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-label input{width:16px;height:16px;accent-color:var(--accent)}.col-chooser{position:relative;display:inline-flex}.col-chooser-menu{position:absolute;top:46px;left:0;z-index:60;min-width:210px;max-height:360px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px}.col-chooser-title{font-size:12px;color:var(--text-muted);padding:6px 8px 4px}.col-chooser-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:14px}.col-chooser-item:hover{background:var(--surface-2)}.col-chooser-item input{width:15px;height:15px;accent-color:var(--accent)}.col-chooser-menu .col-chooser-actions{position:sticky;bottom:0;display:flex;gap:8px;justify-content:space-between;padding:8px 4px 2px;margin-top:6px;border-top:1px solid var(--border);background:var(--surface)}.col-chooser-actions .btn{flex:1}.btn-sm{height:32px;padding:0 12px;font-size:13px}.col-chooser .icon-btn{position:relative}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:16px}.stat-card{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.stat-card>div:last-child{min-width:0}.stat-card.danger{border-color:#fb2c3655;background:#fb2c360d}.stat-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:26px;flex-shrink:0}.stat-value{font-size:26px;font-weight:700;line-height:1.15;margin:3px 0}.stat-label{font-size:13px;color:var(--text-muted)}.doc-table{width:100%;border-collapse:collapse;font-size:13px}.doc-table th{text-align:left;color:var(--text-muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--border)}.doc-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle}.doc-table input[type=date]{border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:0 6px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:9px 16px;border:none;background:none;cursor:pointer;color:var(--text-muted);border-bottom:2px solid transparent;font-family:inherit;font-size:14px}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 85% -10%,#5dd89e2e 0%,transparent 60%),radial-gradient(900px 500px at 0% 110%,#0618361a 0%,transparent 55%),var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:34px 30px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:15px}.login-brand{display:flex;align-items:center;gap:11px;justify-content:center}.login-brand .brand-name{color:var(--text);font-size:19px;font-weight:700}.login-title{text-align:center;font-size:22px;margin:8px 0 0;font-weight:600}.login-sub{text-align:center;color:var(--text-muted);margin:0 0 4px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field>span{font-size:13px;color:var(--text-muted);font-weight:500}.input-icon{position:relative}.input-icon>.ti{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:18px}.login-field input{height:44px;padding:0 14px;font-size:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);width:100%}.input-icon input{padding-left:38px}.login-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.password-wrap{position:relative}.password-wrap input{padding-right:44px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--text-muted);width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.password-toggle:hover{color:var(--text)}.login-submit{height:46px;font-size:15px;margin-top:6px}.login-error{background:#fb2c361a;color:var(--danger);border:1px solid #fb2c3640;padding:10px 12px;border-radius:9px;font-size:13px}.inn-warning{display:flex;gap:6px;align-items:center;background:#f59e0b1a;color:#b45309;border:1px solid #f59e0b55;padding:8px 12px;border-radius:9px;font-size:13px;margin-top:2px}:root.dark .inn-warning{color:#fbbf24}.login-hint{text-align:center;color:var(--text-muted);font-size:12px;margin:2px 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#060c188c;display:grid;place-items:center;padding:24px}.modal-card{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh}.modal-card-wide{max-width:640px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-close{border:none;background:transparent;cursor:pointer;font-size:24px;line-height:1;color:var(--text-muted);width:32px;height:32px;border-radius:8px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row>span{font-size:13px;color:var(--text-muted);font-weight:500}.form-row input,.form-row select{height:40px;padding:0 12px;font-size:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);width:100%}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-row input:disabled,.form-row select:disabled{opacity:.5;background:var(--surface-2);cursor:default}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-section{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin:6px 0 2px;padding-bottom:4px;border-bottom:1px solid var(--border)}.form-section:first-child{margin-top:0}.form-check{display:flex;align-items:center;gap:8px;font-size:14px}.form-check input{width:16px;height:16px;accent-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px;margin-top:4px}.bot-modes{display:inline-flex;padding:3px;gap:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.bot-mode{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:none;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-muted);transition:background .15s,color .15s}.bot-mode:hover:not(.on){background:var(--surface);color:var(--text)}.bot-mode.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.bot-mode.on.m-watch{color:var(--info)}.bot-mode.on.m-live{color:var(--danger)}.bot-mode .ti{font-size:17px}.bot-banner{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;margin-bottom:16px;border-radius:10px;font-size:13px;line-height:1.45;background:#d99e001a;border:1px solid #d99e0055;color:var(--text)}.bot-banner>.ti{font-size:19px;color:var(--warn);flex:0 0 auto;margin-top:1px}.bot-split{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.bot-rules-col{flex:1 1 340px;min-width:320px;display:flex;flex-direction:column;gap:10px}.bot-editor-col{flex:1 1 420px;min-width:340px}.rules-bar{justify-content:space-between;margin-bottom:14px}.rules-grid{display:grid;gap:14px;margin-bottom:18px;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}@media (max-width: 1180px){.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.rules-grid{grid-template-columns:minmax(0,1fr)}}.rule-tile{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px 18px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.rule-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}.rule-tile.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rule-tile.off{opacity:.6}.rule-tile-head{display:flex;align-items:center;gap:9px;min-width:0}.rule-num{flex:0 0 auto;width:24px;height:24px;border-radius:8px;background:var(--surface-2);color:var(--text-muted);display:grid;place-items:center;font-size:12px;font-weight:700}.rule-tile-name{flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-move{display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.rule-move button{width:22px;height:15px;border:none;background:none;cursor:pointer;color:var(--text-muted);border-radius:4px;display:grid;place-items:center;padding:0}.rule-move button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.rule-move button:disabled{opacity:.25;cursor:default}.rule-tile-price{display:flex;align-items:baseline;gap:6px;margin:12px 0 10px;flex-wrap:wrap}.rule-tile-price b{font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.rule-tile-price>span{font-size:14px;color:var(--text-muted)}.rule-tile-vat{margin-left:auto;font-size:12.5px}.rule-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.rule-filters{font-size:13.5px;color:var(--text-muted);line-height:1.45;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rule-tile-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.rule-hits{font-size:13.5px;color:var(--text-muted)}.rule-hits b{color:var(--accent-strong);font-size:15px}.rule-tile-btns{display:flex;gap:2px;flex:0 0 auto}.chip-soft{background:var(--surface-2);color:var(--text-muted)}.chip-warn{background:#d99e0022;color:var(--warn)}.chip-danger{background:#fb2c3618;color:var(--danger)}.var-pill{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11.5px;padding:3px 8px;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer}.var-pill:hover{border-color:var(--accent);color:var(--accent-strong)}.rule-editor{padding:22px 24px;border-radius:14px}.rule-editor-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--border)}.rule-editor-btns{display:flex;gap:8px;margin-left:auto}.editor-cols{display:grid;gap:4px 26px;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr))}.editor-block{min-width:0}.editor-block .form-section{margin-top:0}@media (max-width: 1180px){.editor-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.editor-cols{grid-template-columns:minmax(0,1fr)}}.rule-name-input{flex:1 1 260px;min-width:0;height:42px;padding:0 13px;font-family:inherit;font-size:17px;font-weight:600;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.rule-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.switch{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;border:none;background:none;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text-muted);padding:0}.switch-track{width:42px;height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:background .15s,border-color .15s}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-muted);transition:transform .15s,background .15s}.switch.on .switch-track{background:var(--accent-soft);border-color:var(--accent)}.switch.on .switch-knob{transform:translate(18px);background:var(--accent-strong)}.switch.on .switch-text{color:var(--accent-strong)}.tag-field{margin-top:14px;min-width:0}.tag-label{font-size:15px;color:var(--text);font-weight:600;margin-bottom:7px}.tag-label .subtle{font-weight:400}.tag-box{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:40px;padding:5px 8px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.tag-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tag-box input{flex:1;min-width:110px;border:none;outline:none;background:none;color:var(--text);font-family:inherit;font-size:14px;height:26px}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 4px 3px 9px;border-radius:7px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px;font-weight:600}.tag button{border:none;background:none;cursor:pointer;color:inherit;font-size:15px;line-height:1;padding:0 3px;opacity:.7}.tag button:hover{opacity:1}.tag-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-suggest button{font-family:inherit;font-size:14.5px;cursor:pointer;padding:6px 13px;border-radius:9px;border:1px dashed var(--border);background:var(--surface);color:var(--text-muted);transition:border-color .14s,color .14s,background .14s}.tag-suggest button:hover{border-style:solid;border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.tag-hint{font-size:13px;color:var(--text-muted);margin-top:6px;line-height:1.4}.range-field{margin-top:14px}.range-row{display:flex;align-items:center;gap:7px}.range-row input{width:100%;min-width:0;height:40px;padding:0 10px;font-family:inherit;font-size:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.range-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.range-dash{color:var(--text-muted)}.range-unit{color:var(--text-muted);font-size:13px;white-space:nowrap}.price-threshold{display:flex;flex-direction:column;gap:10px}.price-modes{display:flex;flex-wrap:wrap;gap:5px}.price-mode{font-family:inherit;font-size:13.5px;cursor:pointer;padding:7px 13px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.price-mode:hover{border-color:var(--accent);color:var(--text)}.price-mode.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.price-with-current{display:flex;align-items:center;gap:8px}.price-with-current input{flex:1;min-width:0}.price-with-current .btn{flex:0 0 auto;white-space:nowrap}.price-value{display:flex;align-items:center;gap:10px}.price-value input{width:190px;height:46px;padding:0 12px;font-family:inherit;font-size:20px;font-weight:600;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-variant-numeric:tabular-nums}.price-value input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.price-unit{color:var(--text-muted);font-size:14px}.rule-preview{margin-top:18px;padding:12px 14px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent)}.rule-preview.empty{background:#d99e0014;border-color:#d99e0055}.rule-preview-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}.rule-preview .doc-table{background:var(--surface);border-radius:8px}.rule-preview .doc-table td.over{color:var(--danger);font-weight:600}.rule-filters{font-size:13px;color:var(--text-muted);margin-bottom:6px}.rule-hits{font-size:13px}.bot-empty{text-align:center;padding:42px 20px;color:var(--text-muted)}.bot-empty .ti{font-size:40px;opacity:.4;display:block;margin-bottom:10px}.upd-drop{display:flex;gap:16px;align-items:center;border:2px dashed var(--border);border-radius:var(--radius);padding:26px 22px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.upd-drop:hover,.upd-drop.over{border-color:var(--accent);background:var(--accent-soft)}.upd-drop>.ti{font-size:34px;color:var(--accent-strong)}.upd-drop code{font-size:12px}.upd-package{border-color:var(--accent)}.upd-package-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.upd-version{font-size:20px;font-weight:700}.upd-notes{white-space:pre-wrap;margin:12px 0;font-size:14px}.upd-files{margin:10px 0 0;padding:10px 12px 10px 28px;max-height:260px;overflow:auto;background:var(--surface-2);border-radius:8px;font-size:12.5px;font-family:ui-monospace,Consolas,monospace}.lot-table th.num,.lot-table td.num{text-align:right;white-space:nowrap}.lot-table td.mono{font-family:ui-monospace,Consolas,monospace;font-size:13px}.lot-table td.types{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-vat{font-size:12px;color:var(--text-muted);font-weight:400;white-space:nowrap}.lot-table tbody tr:hover{background:var(--surface-2)}.market-search{position:relative;display:flex;align-items:center;flex:1;max-width:460px}.market-search .ti{position:absolute;left:11px;font-size:18px;color:var(--text-muted);pointer-events:none}.market-search input{width:100%;height:38px;padding:0 12px 0 36px;font-size:14.5px;font-family:inherit;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.market-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lot-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;padding:14px 16px;border-radius:10px;background:var(--surface-2)}.lot-facts>div{display:flex;flex-direction:column;gap:2px;min-width:0}.lot-facts>div.wide{grid-column:span 3}.lot-facts span{font-size:12.5px;color:var(--text-muted)}.lot-facts b{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.lot-perkm{font-size:15px;padding:9px 14px;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong)}.lot-perkm b{font-size:17px}.lot-auto{padding:12px 14px;border:1px dashed var(--border);border-radius:10px}.lot-auto.disabled{opacity:.6;background:var(--surface-2)}.market-bar{justify-content:space-between;margin-bottom:12px;gap:12px}.phase-cell{display:flex;flex-direction:column;gap:4px;min-width:190px}.phase-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.phase-sub{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--text-muted)}.phase-sub .ok{color:var(--ok)}.withdrawn,.withdrawn b{text-decoration:line-through;color:var(--text-muted)}.phase-sub b{color:var(--text)}.participation{margin-bottom:16px;padding:16px 18px;border-radius:14px;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.participation-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.participation-head>.btn{margin-left:auto}.participation th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.participation th.sortable:hover{color:var(--text)}.participation th.sortable .ti{font-size:13px;margin-left:4px;opacity:.35}.participation th.sortable.on .ti{opacity:1;color:var(--accent-strong)}.participation-head .chip{font-variant-numeric:tabular-nums}.participation-btns{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.participation tr.row-dblclick{cursor:default}.participation tr.row-dblclick:hover>td{background:var(--surface-2)}.participation .doc-table td{vertical-align:middle}.participation .phase-row .chip,.journal-table .chip{white-space:nowrap}.customer-filter{position:relative}.customer-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000029}.customer-pop-head{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--border)}.customer-pop-head input{flex:1;height:34px;padding:0 10px;font:inherit;font-size:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.customer-pop-head input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.customer-pop-list{max-height:320px;overflow-y:auto;padding:6px}.customer-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:14px}.customer-row:hover{background:var(--surface-2)}.customer-row.idle .customer-name{color:var(--text-muted)}.customer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-text-row{padding:12px 0;border-bottom:1px solid var(--border)}.ui-text-row:last-child{border-bottom:none}.ui-text-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ui-text-label{font-weight:600;font-size:14.5px}.ui-text-head .btn{margin-left:auto}.ui-text-row textarea{width:100%;padding:9px 12px;font:inherit;font-size:14px;line-height:1.5;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);resize:vertical}.ui-text-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ui-text-foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:5px;font-size:12.5px}.ui-text-foot code{font-family:ui-monospace,Consolas,monospace}.ui-text-row input{width:100%;padding:9px 12px;font:inherit;font-size:14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.ui-text-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ui-group{border-top:1px solid var(--border)}.ui-group:first-of-type{border-top:none}.ui-group-head{display:flex;align-items:center;gap:8px}.ui-group-toggle{flex:1;display:flex;align-items:center;gap:10px;font-family:inherit;font-size:15px;font-weight:700;text-align:left;padding:13px 0;border:none;background:none;color:var(--text);cursor:pointer}.ui-group-toggle:hover{color:var(--accent-strong)}.ui-group-toggle .subtle{font-weight:500;font-size:13px}.quick-filter{font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.quick-filter:hover{border-color:var(--accent);color:var(--text)}.quick-filter.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.quick-filter:disabled{opacity:.5;cursor:default}.quick-filter:disabled:hover{border-color:var(--border);color:var(--text-muted)}.quick-filter.on:disabled:hover{border-color:var(--accent);color:var(--accent-strong)}.nowrap{white-space:nowrap}.week-days{display:flex;flex-wrap:wrap;gap:6px}.week-days .quick-filter{min-width:46px;padding:6px 10px;text-align:center}.chip-info{background:#00b8db1f;color:var(--info)}.chip-ok{background:#00a63e1f;color:var(--ok)}.chip-live{background:#fb2c361f;color:var(--danger)}.chip-live .ti,.chip-info .ti,.chip-warn .ti{font-size:14px;margin-right:3px}.lot-table tr.row-live>td{background:#fb2c360a}.lot-table tr.row-clickable{cursor:pointer}.lot-table tr.row-clickable:hover>td{background:var(--accent-soft)}.lot-table tr.row-clickable.row-live:hover>td{background:#fb2c3618}.floor-view{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;font-size:inherit;font-variant-numeric:tabular-nums;padding:4px 9px;border-radius:8px;border:1px dashed var(--border);background:none;color:var(--text)}.floor-view:hover{border-style:solid;border-color:var(--accent);color:var(--accent-strong)}.floor-view .ti{font-size:15px;opacity:.6}.floor-edit{display:inline-flex;align-items:center;gap:5px}.floor-edit input{width:120px;height:34px;padding:0 9px;text-align:right;font-family:inherit;font-size:14px;font-variant-numeric:tabular-nums;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--text)}.floor-edit input:focus{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.timer{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.timer.live{color:var(--danger)}.timer.soon{color:var(--info)}.timer.idle{color:var(--text-muted);font-weight:400}.timer .ti{font-size:15px}.lot-state{display:flex;flex-direction:column;gap:10px;padding:13px 15px;border-radius:10px;background:var(--surface-2)}.lot-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.lot-offers>div{display:flex;flex-direction:column;gap:2px;min-width:0}.lot-offers>div.wide{grid-column:span 2}.lot-offers span{font-size:12.5px;color:var(--text-muted)}.lot-offers b{font-size:15px;font-weight:600}.lot-offers em{font-style:normal;color:var(--text-muted);font-weight:400}.lot-route{display:flex;flex-direction:column;gap:8px}.lot-point{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--border);border-radius:10px}.lot-point>.ti{font-size:20px;flex:0 0 auto;margin-top:1px}.lot-point.load>.ti{color:var(--accent-strong)}.lot-point.unload>.ti{color:var(--info)}.lot-point b{font-weight:600}.lot-point .small{font-size:12px}.lot-prices{display:flex;flex-wrap:wrap;gap:8px}.lot-prices>div{display:flex;flex-direction:column;gap:1px;padding:7px 12px;border:1px solid var(--border);border-radius:9px;min-width:110px}.lot-prices>div.on{border-color:var(--accent);background:var(--accent-soft)}.lot-prices>div.cur{border-color:var(--danger)}.lot-prices span{font-size:12px;color:var(--text-muted)}.lot-prices b{font-size:15px;font-variant-numeric:tabular-nums}.lot-ladder{padding:12px 14px;border:1px dashed var(--border);border-radius:10px}.ladder-prices{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ladder-price{font-variant-numeric:tabular-nums;font-size:13.5px;font-family:inherit;padding:6px 11px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.ladder-price:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.lot-comment{padding:10px 13px;border-radius:9px;background:var(--surface-2);font-size:14px}.lot-comment span{display:block;margin-bottom:3px}.page-bot{font-size:15px}.page-bot .page-header h1{font-size:24px}.page-bot .subtle,.page-bot .hint{font-size:14px}.page-bot .tab{font-size:15.5px;padding:10px 18px}.page-bot .bot-mode{font-size:14px;height:36px;padding:0 15px}.page-bot .bot-banner,.page-bot .stat-label{font-size:14px}.page-bot .stat-value{font-size:28px}.page-bot .doc-table{font-size:14.5px}.page-bot .doc-table th{font-size:13px}.page-bot .doc-table td{padding:10px 8px}.page-bot .chip{font-size:13px;padding:3px 10px}.page-bot .rule-title{font-size:16.5px}.page-bot .rule-expr{font-size:13.5px;padding:6px 9px}.page-bot .var-pill{font-size:13px;padding:4px 9px}.page-bot .tag-label{font-size:15.5px}.page-bot .tag-suggest button{font-size:15px;padding:7px 14px}.page-bot .price-mode{font-size:14px}.page-bot .form-row>span{font-size:14px}.page-bot .form-row input,.page-bot .form-row select,.page-bot .tag-box input,.page-bot .form-check{font-size:15px}.page-bot .form-section{font-size:13px}.page-bot .btn{font-size:14.5px}.page-bot .btn-sm{font-size:13.5px}.page-bot .modal-header h2{font-size:20px}@media (max-width: 700px){.lot-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-facts>div.wide{grid-column:span 2}}@media (max-width: 860px){.cards-sm,.cards-sm tbody,.cards-sm tr,.cards-sm td{display:block;width:100%}.cards-sm thead{display:none}.cards-sm tr{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:4px 2px;background:var(--surface)}.cards-sm tr:last-child{margin-bottom:0}.cards-sm tr.row-live{border-color:#fb2c3655}.cards-sm td{display:flex;align-items:flex-start;gap:12px;padding:7px 12px;border:none;text-align:left!important;min-height:0}.cards-sm td:before{content:attr(data-label);flex:0 0 40%;max-width:150px;color:var(--text-muted);font-size:13px;line-height:1.5}.cards-sm td:not([data-label]){display:none}.cards-sm td:empty{display:none}.cards-sm td.cell-action{display:flex;gap:8px;flex-wrap:wrap;justify-content:stretch;padding:10px 12px 8px;margin-top:2px;border-top:1px solid var(--border)}.cards-sm td.cell-action:before{content:none}.cards-sm td.cell-action .btn{flex:1;justify-content:center}.cards-sm td.types{max-width:none;white-space:normal}.card>div[style*=overflow]{overflow:visible!important}.page-header{flex-direction:column;align-items:stretch;gap:10px}.toolbar{flex-wrap:wrap}.bot-modes{display:flex;flex-wrap:wrap}.bot-mode{flex:1 1 auto;justify-content:center}.market-search{max-width:none;width:100%}.form-row-2{grid-template-columns:minmax(0,1fr)}.customer-pop{width:min(340px,calc(100vw - 32px))}.participation{padding:12px}.participation-btns{width:100%}.modal-overlay{padding:0;align-items:flex-end}.modal-card,.modal-card-wide{max-width:none;width:100%;max-height:92vh;border-radius:14px 14px 0 0;border-bottom:none}}@media (max-width: 620px){.cards-sm tr{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;padding:5px 3px;margin-bottom:8px}.cards-sm td{flex-direction:column;align-items:flex-start;gap:0;padding:5px 9px;font-size:15px;line-height:1.35}.cards-sm td:before{flex:none;max-width:none;font-size:12.5px;line-height:1.4}.cards-sm td[data-label=Маршрут],.cards-sm td[data-label=Состояние],.cards-sm td[data-label="Состояние торгов"],.cards-sm td[data-label=Комментарий],.cards-sm td[data-label=Сообщение],.cards-sm td.cell-action{grid-column:1 / -1}.cards-sm td.types{white-space:normal}.cards-sm td.cell-action{flex-direction:row;gap:8px;padding:8px 9px 6px}.cards-sm .phase-cell{gap:4px}.cards-sm .price-vat{display:inline;margin-left:6px}}@media (max-width: 520px){.topbar-brand .brand-name{display:none}.topbar-custom{padding:0 10px;gap:6px}.content{padding:12px 10px}.card{padding:12px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.stat-icon{width:40px;height:40px;border-radius:11px;font-size:21px}.page-bot .stat-label{font-size:13px}.page-bot .stat-value,.stat-value,.page-header h1{font-size:22px}.tabs{overflow-x:auto}}
