:root{--tg-bg: #f3f4f6;--tg-text: #111827;--tg-hint: #6b7280;--tg-card: #ffffff;--tg-button: #2563eb;--tg-button-text: #ffffff;--ok: #16a34a;--risk: #d97706;--overdue: #dc2626;--critical: #7f1d1d;--border: rgba(0, 0, 0, .08)}:root.dark{--border: rgba(255, 255, 255, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:24px;text-align:center}.muted{color:var(--tg-hint)}.error{color:var(--overdue)}.diag{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--tg-card);color:var(--tg-hint);font-size:12px;text-align:left;white-space:pre-wrap;word-break:break-all;max-width:100%}.denied-icon{font-size:48px}.login{gap:16px}.login-brand{font-weight:800;font-size:28px;letter-spacing:.5px}.login-widget{min-height:48px;display:flex;align-items:center;justify-content:center}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--tg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:16px}.subtitle{color:var(--tg-hint);font-size:12px}.topnav{margin-left:0;width:100%;display:flex;gap:6px;flex-wrap:wrap}.topnav button{border:1px solid var(--border);background:var(--tg-card);color:var(--tg-text);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer}.topnav button.active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.users{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.user-row{background:var(--tg-card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-row.pending{border-color:var(--risk)}.user-main{flex:1;min-width:160px}.user-name{font-weight:600;display:flex;align-items:center;gap:8px}.user-sub{color:var(--tg-hint);font-size:12px;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.pending-badge{background:var(--risk);color:#fff}.user-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.user-actions select{padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--tg-bg);color:inherit;font-size:13px}.user-revoke{border:1px solid var(--border);background:var(--tg-card);color:var(--overdue);border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer}.user-revoke:disabled{opacity:.4;cursor:default}.user-block{border:1px solid var(--border);background:var(--tg-card);color:var(--risk);border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer}.user-block:disabled{opacity:.4;cursor:default}.user-row.blocked{opacity:.6}.blocked-badge{background:var(--overdue);color:#fff}.chip-channel{font-weight:600}.chip-channel.telegram{color:#229ed9;background:color-mix(in srgb,#229ed9 12%,transparent);border-color:color-mix(in srgb,#229ed9 35%,transparent)}.chip-channel.max{color:#7b61ff;background:color-mix(in srgb,#7b61ff 12%,transparent);border-color:color-mix(in srgb,#7b61ff 35%,transparent)}.users .tabs{margin-bottom:0}.user-deals{margin-top:6px;display:flex;flex-direction:column;gap:4px}.user-deal{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--tg-hint);padding:6px 8px;background:var(--tg-bg);border-radius:8px}.user-deal-car{color:var(--tg-text);font-weight:600}.admin{flex:1;display:flex;flex-direction:column;min-height:0}.admin-tabs{display:flex;gap:6px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--tg-card)}.admin-tabs button{flex:0 0 auto;border:1px solid var(--border);background:var(--tg-bg);color:var(--tg-text);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.admin-tabs button.active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.admin-body{flex:1;overflow-y:auto}.settings-body{display:flex;flex-direction:column;gap:10px;padding:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.setting-row input{width:140px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--tg-card);color:inherit;font-size:13px}.setting-row input[type=number]{width:90px}.setting-toggle{display:flex;align-items:center;gap:8px;padding:8px 0}.matrix-wrap{overflow-x:auto;padding:12px}.matrix{border-collapse:collapse;width:100%;font-size:12px}.matrix th,.matrix td{border:1px solid var(--border);padding:6px 8px;text-align:center}.matrix th:first-child,.matrix-action{text-align:left;white-space:nowrap}.matrix-cell.cell-yes{color:var(--ok);font-weight:700}.matrix-cell.cell-no{color:var(--tg-hint)}.matrix-cell.cell-own,.matrix-cell.cell-limited{color:var(--risk)}.fin-table{border-collapse:collapse;width:100%;font-size:13px}.fin-table td{padding:5px 10px;white-space:nowrap}.fin-table td:first-child{width:100%;white-space:normal}.fin-spacer td{height:8px;padding:0;border:0}.fin-table.fin-sticky td:first-child{position:sticky;left:0;z-index:1;width:auto;min-width:160px;background:var(--tg-bg)}.doc-status-row{padding:8px 0;border-bottom:1px solid var(--border)}.doc-status-name{font-weight:600;margin-bottom:6px}.doc-status-chips{display:flex;flex-wrap:wrap;gap:6px}.toggle-chip{cursor:pointer}.toggle-chip.on{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.audit-row{padding:8px 12px;border-bottom:1px solid var(--border)}.audit-main{font-size:13px}.audit-sub{font-size:11px;color:var(--tg-hint);margin-top:2px}.participant-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.participant-role{width:110px;color:var(--tg-hint);font-size:13px;flex:0 0 auto}.participant-name{font-weight:600}.participant-edit{display:flex;align-items:center;gap:8px;flex:1}.participant-edit select{flex:1;padding:9px 8px;border:1px solid var(--border);border-radius:8px;background:var(--tg-card);color:inherit;font-size:13px}.participant-remove{border:1px solid var(--border);background:var(--tg-card);color:var(--overdue);border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer}.participant-remove:disabled{opacity:.4;cursor:default}.claim-link{flex:1 1 100%;display:flex;flex-direction:column;gap:8px}.claim-link-btn{align-self:flex-start;border:1px solid var(--tg-button);background:var(--tg-card);color:var(--tg-button);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer}.claim-link-btn:disabled{opacity:.5;cursor:default}.claim-link-row{display:flex;align-items:center;gap:8px}.claim-link-input{flex:1;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--tg-card);color:inherit;font-size:12px}.claim-link-hint{color:var(--tg-hint);font-size:12px;line-height:1.4}.claim-link-copy{border:1px solid var(--tg-button);background:var(--tg-button);color:var(--tg-button-text);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;white-space:nowrap;flex:0 0 auto}.board{flex:1;display:flex;gap:12px;padding:12px;overflow-x:auto;overflow-y:hidden;align-items:flex-start;cursor:grab}.board.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}@media (pointer: coarse){.board{scroll-snap-type:x proximity}.column{scroll-snap-align:start}.board.drag-active{scroll-snap-type:none}}.column{flex:0 0 calc(280px * var(--zoom, 1));max-height:100%;display:flex;flex-direction:column;background:var(--tg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.column.over{outline:2px dashed var(--tg-button);outline-offset:-2px;background:color-mix(in srgb,var(--tg-button) 8%,var(--tg-card))}.column.final{opacity:.85}.column.final .column-head{background:color-mix(in srgb,var(--ok) 8%,transparent)}.board.drag-active .column{transition:opacity .15s ease}.column.can-drop{outline:2px dashed color-mix(in srgb,var(--tg-button) 50%,transparent);outline-offset:-2px}.column.no-drop{opacity:.45;cursor:not-allowed}.column.collapsed{flex:0 0 44px;min-height:200px;cursor:pointer;align-items:center;padding:12px 0}.column-vtitle{writing-mode:vertical-rl;font-size:calc(12px * var(--zoom, 1));color:var(--tg-hint);font-weight:600;white-space:nowrap}.column-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.column-idx{flex:none;color:var(--tg-hint);font-size:calc(11px * var(--zoom, 1));font-weight:600;background:var(--tg-bg);border-radius:6px;padding:1px 5px}.column-head-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.column-title{font-size:calc(13px * var(--zoom, 1));font-weight:600}.column-sla{font-size:calc(10px * var(--zoom, 1));color:var(--tg-hint);font-weight:400}.column-alert{flex:none;width:9px;height:9px;border-radius:50%}.column-alert.al-risk{background:var(--risk)}.column-alert.al-overdue{background:var(--overdue)}.column-alert.al-critical{background:var(--overdue);box-shadow:0 0 0 3px color-mix(in srgb,var(--overdue) 30%,transparent)}.column-count{flex:none;color:var(--tg-hint);font-size:calc(12px * var(--zoom, 1));font-weight:600;background:var(--tg-bg);border-radius:10px;padding:1px 8px}.column-body{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.column-empty{border:1.5px dashed var(--border);border-radius:10px;padding:18px 8px;text-align:center;color:var(--tg-hint);font-size:calc(12px * var(--zoom, 1))}.card-wrap{touch-action:manipulation}.card-wrap.dragging .card{opacity:.35}.card{width:100%;text-align:left;cursor:pointer;background:var(--tg-bg);border:1px solid var(--border);border-left:4px solid var(--tg-hint);border-radius:10px;padding:calc(10px * var(--zoom, 1));display:flex;flex-direction:column;gap:calc(6px * var(--zoom, 1));color:inherit;font-size:calc(13px * var(--zoom, 1));transition:box-shadow .15s ease,transform .15s ease,opacity .15s ease}@media (hover: hover){.card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.card.urgent:hover{box-shadow:0 0 0 1px var(--overdue) inset,0 3px 10px #0000001f}}.card.sla-ok{border-left-color:var(--ok)}.card.sla-risk{border-left-color:var(--risk)}.card.sla-overdue{border-left-color:var(--overdue)}.card.sla-critical{border-left-color:var(--critical)}.card.urgent{box-shadow:0 0 0 1px var(--overdue) inset}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.card-top-right{display:flex;align-items:center;gap:6px;margin-left:auto}.card-id{font-weight:700;font-size:.86em;letter-spacing:.3px}.card-car{font-weight:700;font-size:1.05em;min-width:0}.card-sub{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78em;color:var(--tg-hint);letter-spacing:.2px}.card-meta{display:flex;flex-wrap:wrap;gap:6px}.card-driver{font-size:.82em;color:var(--tg-hint)}.card-sla{display:flex;align-items:center;gap:8px;margin-top:2px}.card-sla-track{flex:1;height:4px;border-radius:999px;background:var(--border);overflow:hidden}.card-sla-fill{display:block;height:100%;border-radius:999px;background:var(--ok)}.card-sla-fill.fill-risk{background:var(--risk)}.card-sla-fill.fill-overdue{background:var(--overdue)}.card-sla-fill.fill-critical{background:var(--critical)}.card-sla-time{font-size:.78em;color:var(--tg-hint);font-variant-numeric:tabular-nums;white-space:nowrap}.card-sla-time.over-overdue{color:var(--overdue);font-weight:700}.card-sla-time.over-critical{color:color-mix(in srgb,var(--critical) 60%,var(--tg-text));font-weight:700}.card-ghost .card{transform:rotate(2.5deg);box-shadow:0 12px 28px #0000004d;cursor:grabbing}.chip{font-size:.78em;color:var(--tg-hint);background:var(--tg-card);border:1px solid var(--border);border-radius:8px;padding:1px 6px}.badge{font-size:.78em;border-radius:8px;padding:1px 6px}.urgent-badge{background:var(--overdue);color:#fff}.card-util{font-size:.78em;color:var(--tg-hint)}.card-util.util-amigo_pays{color:var(--risk);font-weight:600}.card-util.util-unknown{color:var(--overdue)}.docs-chip.docs-ok{color:var(--ok);border-color:var(--ok)}.docs-chip.docs-missing{color:var(--risk);border-color:var(--risk)}.sla-badge{font-weight:600;color:#fff}.sla-badge.sla-overdue{background:var(--overdue);border-color:var(--overdue)}.sla-badge.sla-critical{background:var(--critical);border-color:var(--critical)}.comment-chip{cursor:help}.comment-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 8px));z-index:200;pointer-events:none;max-width:260px;display:flex;flex-direction:column;gap:4px;background:var(--tg-card);color:var(--tg-text);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px #00000038;font-size:12px;text-align:left;white-space:pre-wrap;word-break:break-word}.comment-tt-row{line-height:1.3}.comment-tt-row b{color:var(--tg-hint);font-weight:600}.client-chip{cursor:help}.client-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 8px));z-index:200;pointer-events:none;max-width:260px;background:var(--tg-card);color:var(--tg-text);border:1px solid var(--border);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px #00000038;font-size:12px;text-align:left;white-space:pre-wrap;word-break:break-word}.docs-progress{display:grid;gap:4px;margin-bottom:4px}.doc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.doc-main{display:flex;align-items:center;gap:8px}.doc-label{font-weight:600}.doc-status.missing{filter:grayscale(.2)}.doc-sub{text-align:right;min-width:0}.doc-file{background:none;border:none;color:var(--tg-button);cursor:pointer;font-size:13px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}.doc-file:disabled{opacity:.5}.buyer-board{flex:1;overflow-y:auto;padding:12px;display:grid;gap:12px;align-content:start;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.buyer-card{cursor:default;gap:8px}.buyer-card-head{width:100%;text-align:left;background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:6px}.chip.docs-ok{color:var(--ok);border-color:var(--ok)}.chip.docs-missing{color:var(--risk);border-color:var(--risk)}.checklist{display:flex;flex-direction:column;border-top:1px solid var(--border);padding-top:6px}.checklist-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.92em}.checklist-label{flex:0 0 auto}.checklist-optional{color:var(--tg-hint);font-size:.85em;font-weight:400}.checklist-file{margin-left:auto;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85em}.checklist-upload{margin-left:auto;flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:1em;line-height:1;padding:3px 6px;border-radius:6px}.checklist-upload:hover{background:#7f7f7f26}.checklist-upload:disabled{opacity:.5;cursor:default}.transport-pick{display:flex;gap:8px;padding:2px 0 8px 30px}.transport-pick button{flex:1 1 0;padding:8px 10px;font-size:.86em;font-weight:600;border:1px solid var(--border, #d7dde3);border-radius:9px;background:var(--tg-card, #f2f4f6);color:inherit;cursor:pointer}.transport-pick button:hover{border-color:var(--accent, #2f9e88)}.transport-pick button:disabled{opacity:.5;cursor:default}.checklist-group{padding-top:4px}.checklist-group+.checklist-group{border-top-color:transparent;padding-top:0}.checklist-group-title{font-size:.74em;text-transform:uppercase;letter-spacing:.4px;color:var(--risk);font-weight:700;padding:2px 0}.checklist-group-title.done{color:var(--tg-hint)}.checklist-row.pending .checklist-label{font-weight:600}.checklist-row.done{opacity:.6}.recv-empty-sub{font-size:.9em}.recv-meta{display:flex;flex-wrap:wrap;gap:6px}.recv-phone{color:var(--tg-button);border-color:color-mix(in srgb,var(--tg-button) 40%,var(--border));text-decoration:none}.chip.chip-warn{color:var(--overdue);border-color:var(--overdue)}.recv-progress{display:grid;gap:4px}.recv-progress-meta{display:flex;align-items:baseline;justify-content:space-between;font-size:.82em;color:var(--tg-hint)}.recv-progress-done{color:var(--ok);font-weight:600}.recv-progress-track{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.recv-progress-fill{height:100%;border-radius:999px;background:var(--tg-button);transition:width .35s ease}.recv-progress-fill.full{background:var(--ok)}.recv-hint{font-size:.82em}.recv-hint code{background:var(--tg-card);border:1px solid var(--border);border-radius:6px;padding:0 4px;font-size:.95em}.recv-missing{font-size:.82em}.recv-confirm{display:flex;gap:8px}.recv-confirm .wide-btn{flex:1}.wide-btn.secondary{background:var(--tg-card);color:var(--tg-text);border:1px solid var(--border)}.zoom-controls{position:fixed;right:12px;bottom:12px;z-index:60;display:flex;align-items:stretch;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000002e}.zoom-controls button{border:none;background:var(--tg-card);color:var(--tg-text);cursor:pointer;font-size:18px;line-height:1;min-width:38px;padding:8px 0;font-weight:600}.zoom-controls button:disabled{opacity:.4;cursor:default}.zoom-controls .zoom-pct{font-size:13px;min-width:52px}.zoom-controls .empty-toggle{font-size:15px}.zoom-controls .empty-toggle.on{background:var(--tg-button);color:var(--tg-button-text)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:100}.sheet{background:var(--tg-bg);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:0 16px calc(16px + env(safe-area-inset-bottom,0px))}@media (min-width: 640px){.overlay{align-items:center}.sheet{border-radius:16px}.topnav{margin-left:auto;width:auto}}.sheet-sticky{position:sticky;top:0;z-index:5;margin:0 -16px;padding:16px 16px 2px;background:var(--tg-bg);box-shadow:0 6px 8px -8px #00000040}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.sheet-head-info{min-width:0}.sheet-head-actions{display:flex;gap:4px;align-items:center;flex:none}.icon-btn:disabled{opacity:.4;cursor:default}.sheet-id{font-weight:700;font-size:12px;color:var(--tg-hint)}.sheet-car{font-weight:700;font-size:18px}.sheet-sub{font-size:12px;color:var(--tg-hint);margin-top:2px;word-break:break-word}.icon-btn{background:none;border:none;font-size:18px;cursor:pointer;color:var(--tg-hint)}.urgent-toggle{filter:grayscale(1);opacity:.55;border-radius:8px;padding:2px 6px}.urgent-toggle.on{filter:none;opacity:1;background:color-mix(in srgb,var(--overdue) 12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--overdue) 45%,transparent)}.status-line{display:flex;flex-direction:column;gap:2px;margin:12px 0;padding:10px 12px;border-radius:12px;background:var(--tg-card);border-left:4px solid var(--tg-hint)}.status-line.sla-ok{border-left-color:var(--ok)}.status-line.sla-risk{border-left-color:var(--risk)}.status-line.sla-overdue{border-left-color:var(--overdue)}.status-line.sla-critical{border-left-color:var(--critical)}.status-label{font-weight:600}.status-time{font-size:12px;color:var(--tg-hint)}.status-bar{height:5px;border-radius:999px;background:var(--border);overflow:hidden;margin:4px 0 2px}.status-bar-fill{display:block;height:100%;border-radius:999px;background:var(--ok)}.status-bar-fill.fill-risk{background:var(--risk)}.status-bar-fill.fill-overdue{background:var(--overdue)}.status-bar-fill.fill-critical{background:var(--critical)}.next-status-btn{margin-top:8px;width:100%;padding:9px 12px;border:none;border-radius:10px;background:var(--tg-button);color:var(--tg-button-text);font-size:13px;font-weight:600;cursor:pointer}.next-status-btn:disabled{opacity:.5}.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 12px;border:1px solid var(--border);background:var(--tg-card);border-radius:10px;cursor:pointer;color:inherit;font-size:13px}.tab.active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.tab-badge{font-size:11px;font-weight:700;border-radius:999px;padding:0 6px;background:var(--tg-bg);color:var(--tg-hint)}.tab-badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.tab-badge.warn{background:color-mix(in srgb,var(--risk) 15%,transparent);color:var(--risk)}.tab.active .tab-badge{background:#ffffff40;color:var(--tg-button-text)}.tab-body{display:flex;flex-direction:column;gap:10px}.field{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.field-label{color:var(--tg-hint)}.field-value{text-align:right;word-break:break-word}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.control{display:flex;flex-direction:column;gap:4px}.control span{color:var(--tg-hint);font-size:12px}.control select,.control input,.comment-form textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--tg-card);color:inherit;font-size:14px}.wide-btn{width:100%;padding:12px;border:none;border-radius:12px;background:var(--tg-button);color:var(--tg-button-text);font-size:14px;font-weight:600;cursor:pointer}.wide-btn:disabled{opacity:.5}.wide-btn.danger{background:var(--overdue)}.history-steps{display:grid}.step-body.history-step-body{display:block;padding-bottom:14px}.history-main{font-weight:600}.history-sub{font-size:12px;color:var(--tg-hint);margin-top:1px}.comment{display:flex;gap:10px;background:var(--tg-card);border:1px solid var(--border);border-radius:10px;padding:10px}.comment-avatar{flex:none;width:30px;height:30px;border-radius:50%;margin-top:2px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}.comment-content{flex:1;min-width:0}.comment-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tg-hint);margin-bottom:4px}.comment-author{font-weight:600;color:var(--tg-text)}.comment-date{margin-left:auto}.comment-del{background:none;border:none;color:var(--overdue);cursor:pointer;font-size:12px}.comment-text{white-space:pre-wrap}.comment-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.comment-form textarea{min-height:64px;resize:vertical}.toast{padding:8px 12px;border-radius:10px;background:var(--overdue);color:#fff;margin:8px 12px}.toast.inline{margin:0 0 8px}.toast.floating{position:fixed;left:50%;bottom:68px;transform:translate(-50%);z-index:150;margin:0;max-width:min(90vw,480px);box-shadow:0 4px 16px #00000040}.archive{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px}.archive-toolbar{position:sticky;top:-12px;z-index:5;display:grid;gap:8px;margin:-12px -12px 0;padding:12px 12px 8px;background:var(--tg-bg)}.archive-search{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--tg-card);color:var(--tg-text);font-size:14px}.archive-search::placeholder{color:var(--tg-hint)}.archive-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.archive-sort{padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--tg-card);color:var(--tg-text);font-size:13px;flex:none}.archive-chips{display:flex;gap:6px;flex-wrap:wrap}.archive-chip{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--tg-card);color:var(--tg-text);font-size:12.5px;cursor:pointer}.archive-chip.active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button);font-weight:600}.archive-summary{font-size:12.5px;color:var(--tg-hint);font-variant-numeric:tabular-nums;padding:0 2px}.archive-group{font-size:12px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding:6px 2px 2px}.archive-row{background:var(--tg-card);border:1px solid var(--border);border-left:4px solid var(--tg-hint);border-radius:10px;display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.archive-row.sold{border-left-color:var(--overdue)}.archive-row.done{border-left-color:var(--ok)}@media (hover: hover){.archive-row:hover{box-shadow:0 2px 8px #00000014}}.archive-row-body{flex:1;min-width:0;display:grid;gap:3px;padding:10px 4px 10px 12px;cursor:pointer}.archive-row-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.archive-row-car{font-weight:700;font-size:15px;min-width:0;overflow-wrap:anywhere}.archive-row-badges{display:flex;gap:4px;flex:none}.archive-row-sub{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--tg-hint);overflow-wrap:anywhere}.archive-row-meta{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:13px;font-variant-numeric:tabular-nums}.archive-price{font-weight:600}.archive-date{color:var(--tg-hint)}.archive-util{color:var(--tg-hint);font-size:12px}.archive-actions{display:flex;align-items:center;gap:2px;padding:6px 8px 6px 0;flex:none}.archive-act{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;background:transparent;color:var(--tg-hint);font-size:17px;line-height:1;display:grid;place-items:center}.archive-act:hover{background:color-mix(in srgb,var(--tg-hint) 12%,transparent);color:var(--tg-text)}.archive-act.active{background:color-mix(in srgb,var(--tg-button) 14%,transparent);color:var(--tg-button)}.archive-restore{flex-basis:100%;margin:0 10px 10px}.archive-error{color:var(--overdue);font-size:12.5px;margin:4px 0 8px}.archive-empty{display:grid;gap:8px;place-items:center;text-align:center;padding:48px 24px;color:var(--tg-text)}.archive-empty-icon{font-size:40px;opacity:.7}.archive-empty-title{font-weight:600;font-size:15px}.archive-empty .wide-btn{max-width:240px;margin-top:6px}.client-portal{padding:12px;display:grid;gap:12px}.client-card{padding:14px;display:grid;gap:10px}.client-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.client-ref{font-variant-numeric:tabular-nums}.client-section-title{font-size:12px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 2px}.client-progress{display:grid;gap:6px}.client-progress-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.client-progress-step{font-weight:600;font-size:14px}.client-progress-track{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.client-progress-fill{height:100%;border-radius:999px;background:var(--tg-button);transition:width .4s ease}.client-next{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--tg-button) 10%,transparent);border:1px solid color-mix(in srgb,var(--tg-button) 30%,transparent)}.client-next-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--tg-hint)}.client-next-value{font-weight:600;font-size:14px}.client-next-done{font-weight:600;text-align:center;background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.client-stepper{display:grid}.step{display:grid;grid-template-columns:22px 1fr;gap:10px}.step-rail{display:flex;flex-direction:column;align-items:center}.step-dot{width:12px;height:12px;border-radius:50%;margin-top:3px;background:var(--tg-card);border:2px solid var(--border);flex:none}.step-line{flex:1;width:2px;background:var(--border);margin:2px 0;min-height:14px}.step-body{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:12px}.step-label{font-size:14px}.step-date{font-size:12px;white-space:nowrap}.step-done .step-dot{background:var(--ok);border-color:var(--ok)}.step-done .step-line{background:var(--ok)}.step-current .step-dot{background:var(--tg-button);border-color:var(--tg-button);box-shadow:0 0 0 4px color-mix(in srgb,var(--tg-button) 22%,transparent)}.step-current .step-label{font-weight:700}.step-upcoming .step-label,.step-upcoming .step-date{opacity:.55}.client-files{display:grid;gap:8px}.client-file-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--tg-card);color:var(--tg-text);font-size:14px;cursor:pointer;text-align:left}.client-file-btn:disabled{cursor:default}.file-info{display:flex;align-items:center;gap:10px;min-width:0}.file-badge{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;font-size:17px;background:color-mix(in srgb,var(--tg-button) 10%,transparent)}.client-file-btn:disabled .file-badge{background:var(--border)}.file-text{display:grid;gap:1px;min-width:0}.file-label{font-weight:500}.file-sub{font-size:11px}.file-action{font-size:13px;flex:none;color:var(--tg-button);font-weight:600}.file-action.muted{font-weight:400}.client-review-btn{width:100%;padding:12px;border:none;border-radius:12px;cursor:pointer;background:var(--tg-button);color:var(--tg-button-text);font-size:14px;font-weight:600}.client-manager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px}.client-manager-info{display:grid;gap:1px;min-width:0}.client-manager-name{font-weight:600}.client-manager-btn{flex:none;padding:8px 14px;border:none;border-radius:10px;cursor:pointer;background:var(--tg-button);color:var(--tg-button-text);font-size:13px;font-weight:600}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--tg-button);animation:client-spin .7s linear infinite;vertical-align:-2px}@keyframes client-spin{to{transform:rotate(360deg)}}.client-skeleton{gap:12px}.sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--border) 25%,color-mix(in srgb,var(--border) 40%,transparent) 50%,var(--border) 75%);background-size:200% 100%;animation:client-shimmer 1.3s ease infinite}.sk-line.sk-title{height:18px;width:60%}.sk-line.sk-bar{height:6px}.sk-line.short{width:40%}@keyframes client-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.restore-panel{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:14px;background:color-mix(in srgb,var(--tg-button) 6%,transparent)}.restore-panel .client-section-title{margin-top:0}.sold-badge{background:var(--overdue);color:#fff;font-weight:700;font-size:10px;letter-spacing:.03em;padding:1px 6px;border-radius:6px}.advance-badge{background:var(--ok);color:#fff;font-weight:700;font-size:10px;letter-spacing:.03em;padding:1px 6px;border-radius:6px}.leads-toolbar{padding:8px 12px 0}.leads-toolbar .wide-btn{max-width:240px}.lead-card .lead-line{font-size:13px;color:var(--tg-text);margin-top:2px}.lead-card .lead-price{font-size:13px;font-weight:600;margin-top:4px}.lead-source{font-size:10px;color:var(--tg-hint);background:var(--tg-bg);border-radius:6px;padding:1px 6px;white-space:nowrap}.lead-next{margin-top:6px;padding:5px 8px;border-radius:8px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--tg-text)}.lead-next.overdue{background:color-mix(in srgb,var(--overdue) 14%,transparent);color:var(--overdue)}.lead-assignee{font-size:11px;color:var(--tg-hint);margin-top:5px}.lead-lost-reason{margin-top:6px;padding:5px 8px;border-radius:8px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--overdue) 12%,transparent);color:var(--overdue)}.lost-reasons{display:flex;flex-direction:column;gap:8px;padding:12px 0}.lost-reason-opt{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}.lost-reason-opt input{width:18px;height:18px}.lost-reason-other{margin-top:4px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--tg-card);color:var(--tg-text);font-size:14px;font-family:inherit}.card-footer-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px}.lead-status-time{font-size:11px;font-weight:600;color:var(--tg-hint)}.lead-status-time.st-risk{color:var(--risk)}.lead-status-time.st-overdue,.lead-status-time.st-critical{color:var(--overdue)}.lead-column .column-head{border-bottom:1px solid var(--border)}.lead-head--new{background:color-mix(in srgb,var(--tg-hint) 12%,transparent)}.lead-head--in_progress{background:color-mix(in srgb,var(--tg-button) 12%,transparent)}.lead-head--won{background:color-mix(in srgb,var(--ok) 14%,transparent)}.lead-head--lost{background:color-mix(in srgb,var(--overdue) 12%,transparent)}.lead-form{display:flex;flex-direction:column;gap:10px;padding:12px 0}.lead-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tg-hint)}.lead-form input,.lead-form textarea,.lead-form select{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--tg-card);color:var(--tg-text);font-size:14px;font-family:inherit}.lead-form input:disabled,.lead-form textarea:disabled,.lead-form select:disabled{opacity:.7}.lead-section-title{font-size:12px;font-weight:700;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.03em;margin:14px 0 2px}.price-input{display:flex;align-items:center;gap:8px}.price-input input{flex:1}.price-cur{font-size:15px;font-weight:600;color:var(--tg-hint)}.lead-history{display:flex;flex-direction:column;gap:8px}.lead-comment{background:var(--tg-card);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.lead-comment-head{display:flex;align-items:baseline;gap:6px;font-size:11px;color:var(--tg-hint)}.lead-comment-author{font-weight:600}.lead-comment-del{margin-left:auto;background:none;border:none;color:var(--overdue);font-size:11px;cursor:pointer;padding:0}.lead-comment-text{font-size:14px;color:var(--tg-text);margin-top:3px;white-space:pre-wrap}.lead-meta{display:flex;flex-direction:column;gap:6px}.lead-meta>div{display:flex;justify-content:space-between;gap:10px;font-size:13px}.lead-meta span{color:var(--tg-hint)}.tasks-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden}.tasks-tabs{display:flex;gap:6px;padding:10px 12px 0}.tasks-tabs button{flex:1;padding:8px 10px;border-radius:10px 10px 0 0;border:1px solid var(--border);border-bottom:none;background:var(--tg-card);color:var(--tg-hint);font-size:13px;cursor:pointer}.tasks-tabs button.active{color:var(--tg-text);font-weight:600;background:var(--tg-bg)}.task-card{gap:8px;cursor:default}.task-card.task-overdue{border-color:var(--overdue)}.task-title{font-size:15px;font-weight:600;line-height:1.3;white-space:pre-wrap}.task-reason{font-size:12px}.task-badge{font-weight:600}.task-badge-new{color:var(--tg-link, #3b82f6);border-color:var(--tg-link, #3b82f6)}.task-badge-accepted{color:var(--ok);border-color:var(--ok)}.task-badge-done{color:var(--tg-hint);border-color:var(--border)}.task-badge-rejected,.task-badge-cancelled{color:var(--overdue);border-color:var(--overdue)}.task-actions{display:flex;flex-wrap:wrap;gap:8px}.task-actions .wide-btn{flex:1 1 auto;min-width:120px}.task-action-box{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:8px}.task-action-box textarea,.task-action-box select{width:100%;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--tg-bg);color:var(--tg-text);font:inherit;box-sizing:border-box}.task-action-row{display:flex;gap:8px}.task-action-row .wide-btn{flex:1}.task-open{width:100%;text-align:left;background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:8px}.task-urgent{color:#fff;background:var(--overdue);border-color:var(--overdue)}.tasks-divider{grid-column:1 / -1;font-size:12px;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px;padding:4px 2px;border-top:1px solid var(--border);margin-top:4px}.task-check{flex-direction:row!important;align-items:center;gap:8px!important}.task-check input{width:auto}.task-detail-info{display:flex;flex-direction:column;gap:8px;padding:12px 0}.task-detail-info .chip{align-self:flex-start}.task-comment-add{display:flex;flex-direction:column;gap:6px;margin:8px 0 4px}.task-comment-add textarea{width:100%;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--tg-bg);color:var(--tg-text);font:inherit;box-sizing:border-box}.task-comment-add .wide-btn{max-width:200px;align-self:flex-end}.notify-hint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px;padding:12px 14px;border:1px solid var(--tg-button);border-radius:12px;background:var(--tg-card)}.notify-hint-text{display:flex;flex-direction:column;gap:4px;flex:1 1 200px}.notify-hint-text span{color:var(--tg-hint);font-size:13px;line-height:1.4}.notify-hint-btn{border:none;background:var(--tg-button);color:var(--tg-button-text);border-radius:10px;padding:10px 16px;font-size:14px;cursor:pointer;white-space:nowrap}
