:root{--bg-app: #eef1f4;--bg-panel: #ffffff;--bg-rail: #ffffff;--bg-hover: #f4f7fb;--bg-selected: #e8f1fd;--bg-header: #ffffff;--text: #1f2b38;--text-soft: #5b6b7c;--text-muted: #8a97a5;--border: #dfe4ea;--border-strong: #cfd6de;--accent: #0d61d0;--accent-hover: #0a52b0;--accent-soft: #e8f1fd;--green: #2f9e44;--green-soft: #e8f6ec;--orange: #d98200;--orange-soft: #fdf3e2;--red: #d6336c;--red-soft: #fdecf1;--gray: #7b8794;--gray-soft: #f1f3f5;--row-h: 40px;--radius: 6px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);--shadow-pop: 0 8px 24px rgba(16, 24, 40, .16)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.app{display:grid;grid-template-columns:232px 1fr;height:100%;min-height:0}.sidebar{background:var(--bg-rail);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:10px;padding:14px 16px 12px}.brand-mark{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#0d61d0,#1e8bf0);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;letter-spacing:.4px}.brand-text{line-height:1.15}.brand-title{font-weight:600;font-size:13px}.brand-sub{font-size:11px;color:var(--text-muted)}.nav{padding:6px 8px;overflow-y:auto;flex:1;min-height:0}.nav-group{margin:10px 8px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;background:transparent;border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text)}.nav-item:hover{background:var(--bg-hover)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:16px;height:16px;flex:none;opacity:.85}.nav-count{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--gray-soft);border-radius:9px;padding:1px 7px}.nav-item.active .nav-count{background:#fff;color:var(--accent)}.companies{border-top:1px solid var(--border);padding:10px 8px 12px}.company-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none}.company-row:hover{background:var(--bg-hover)}.company-row.locked{opacity:.5;cursor:not-allowed}.company-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-count{margin-left:auto;font-size:11px;color:var(--text-muted)}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{background:var(--bg-header);border-bottom:1px solid var(--border);padding:0 16px;display:flex;align-items:center;gap:20px;height:48px;flex:none}.tabs{display:flex;gap:4px;height:100%}.tab{border:0;background:transparent;padding:0 12px;height:100%;cursor:pointer;color:var(--text-soft);border-bottom:2px solid transparent;display:flex;align-items:center;gap:6px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-badge{background:var(--accent-soft);color:var(--accent);border-radius:9px;font-size:11px;padding:1px 6px;font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none}.search{position:relative;flex:1;min-width:220px;max-width:420px}.search input{width:100%;height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 10px 0 30px;font-size:13px;background:#fff;outline:none}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d61d01f}.search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none}.chip{height:32px;border:1px solid var(--border-strong);background:#fff;border-radius:var(--radius);padding:0 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-soft);white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.chip input[type=date]{border:0;outline:none;font:inherit;color:inherit;background:transparent;width:104px}.toolbar-spacer{flex:1}.btn{height:32px;border-radius:var(--radius);border:1px solid var(--border-strong);background:#fff;padding:0 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.content{display:flex;min-height:0;flex:1}.table-wrap{flex:1;min-width:0;overflow:auto;background:var(--bg-panel);margin:12px 0 12px 12px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}table.docs{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}table.docs thead th{position:sticky;top:0;z-index:2;background:#f8fafc;border-bottom:1px solid var(--border);text-align:left;font-weight:600;font-size:12px;color:var(--text-soft);padding:9px 10px;white-space:nowrap;-webkit-user-select:none;user-select:none}table.docs thead th.sortable{cursor:pointer}table.docs thead th.sortable:hover{color:var(--accent)}table.docs tbody td{border-bottom:1px solid #eef1f4;padding:0 10px;height:var(--row-h);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.docs tbody tr{cursor:pointer}table.docs tbody tr:hover{background:var(--bg-hover)}table.docs tbody tr.selected{background:var(--bg-selected)}.col-check{width:36px}.col-date{width:96px}.col-doc{width:34%}.col-contractor{width:24%}.col-sum{width:108px;text-align:right}.col-state{width:190px}.cell-date{color:var(--text-soft);font-variant-numeric:tabular-nums}.cell-doc{display:flex;align-items:center;gap:8px;min-width:0}.doc-icon{width:22px;height:26px;border-radius:3px;background:#eef4fd;border:1px solid #d5e3f7;color:var(--accent);font-size:9px;font-weight:700;display:grid;place-items:center;flex:none;letter-spacing:-.2px}.doc-icon.invoice{background:#fdf6e9;border-color:#f1dfbd;color:#a8710a}.doc-icon.act{background:#eefaf1;border-color:#cdebd6;color:#2b7a44}.doc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-number{font-weight:500}.doc-type{color:var(--text-muted);font-size:11px}.contractor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contractor-inn{color:var(--text-muted);font-size:11px}.sum{font-variant-numeric:tabular-nums;font-weight:500}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 8px 3px 7px;border-radius:10px;max-width:100%}.pill .dot{width:6px;height:6px;border-radius:50%;flex:none}.pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.pending{background:var(--orange-soft);color:var(--orange)}.pill.pending .dot{background:var(--orange)}.pill.done{background:var(--green-soft);color:var(--green)}.pill.done .dot{background:var(--green)}.pill.problem,.pill.cancelled{background:var(--red-soft);color:var(--red)}.pill.problem .dot,.pill.cancelled .dot{background:var(--red)}.pill.delivered,.pill.sent,.pill.invited,.pill.draft,.pill.other{background:var(--gray-soft);color:var(--gray)}.pill.delivered .dot,.pill.sent .dot,.pill.invited .dot,.pill.draft .dot,.pill.other .dot{background:var(--gray)}.panel{width:480px;flex:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);margin:12px;display:flex;flex-direction:column;min-height:0;box-shadow:var(--shadow)}.panel-head{padding:12px 14px 0;border-bottom:1px solid var(--border);flex:none}.panel-title-row{display:flex;align-items:flex-start;gap:10px}.panel-title{font-size:15px;font-weight:600;line-height:1.3;min-width:0;word-break:break-word}.panel-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.icon-btn{border:0;background:transparent;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;line-height:0}.icon-btn:hover{background:var(--gray-soft);color:var(--text)}.panel-tabs{display:flex;gap:2px;margin-top:10px}.panel-tab{border:0;background:transparent;padding:8px 10px;cursor:pointer;color:var(--text-soft);border-bottom:2px solid transparent}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.panel-body{overflow-y:auto;flex:1;min-height:0;padding:14px}.panel-foot{border-top:1px solid var(--border);padding:10px 14px;display:flex;gap:8px;flex:none;background:#fbfcfd;border-radius:0 0 var(--radius) var(--radius)}.preview{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#f7f8fa;height:320px;display:grid;place-items:center;color:var(--text-muted);margin-bottom:14px}.preview iframe{width:100%;height:100%;border:0;background:#fff}.detail-grid{display:grid;grid-template-columns:132px 1fr;gap:8px 12px;font-size:13px}.detail-key{color:var(--text-muted)}.detail-val{word-break:break-word}.attachments{margin-top:16px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;margin-bottom:8px}.attachment{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px}.attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.attachment a{color:var(--accent);text-decoration:none;font-size:12px}.steps{margin-top:16px}.step-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--border)}.step-name{flex:1}.action-tag{font-size:11px;border-radius:9px;padding:2px 7px;background:var(--accent-soft);color:var(--accent)}.action-tag.sign{background:var(--orange-soft);color:var(--orange)}.empty{padding:40px 20px;text-align:center;color:var(--text-muted)}.pager{display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid var(--border);background:#fbfcfd;font-size:12px;color:var(--text-soft);flex:none;position:sticky;bottom:0}.error-banner{margin:12px 16px 0;padding:10px 12px;border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #f7cdd9}.spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.checkbox{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.skeleton-row td{height:var(--row-h)}.skeleton{height:10px;border-radius:4px;background:linear-gradient(90deg,#f1f3f5 25%,#e9edf1 37%,#f1f3f5 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}select.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:26px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%237b8794' stroke-width='1.5' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 9px center}.chip input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.sheet{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:18px 18px 14px;box-shadow:0 1px 3px #10182814;margin-bottom:16px;position:relative}.sheet:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:repeating-linear-gradient(180deg,transparent 0,transparent 27px,#f4f6f8 28px);opacity:.5;pointer-events:none;display:none}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:14px}.sheet-type{font-size:15px;font-weight:700;letter-spacing:.2px}.sheet-number{color:var(--text-soft);font-variant-numeric:tabular-nums}.sheet-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.sheet-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:3px}.sheet-value{font-weight:600;line-height:1.3}.sheet-muted{color:var(--text-muted);font-size:11px;margin-top:2px}.sheet-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;font-size:13px}.sheet-total strong{font-size:17px;font-variant-numeric:tabular-nums}.sheet-note{margin-top:12px;font-size:11px;color:var(--text-muted);line-height:1.4}
