:root{--bg: #eef1f4;--surface: #fff;--surface-2: #f5f7f9;--line: #dde3ea;--text: #1a1f28;--muted: #6b7688;--accent: #2f6df6;--accent-soft: #e7effe;--new: #94a3b8;--replied: #7c9cf0;--dialog: #f0a24c;--contact: #34b37e;--negotiation: #a26bf0;--won: #22a06b;--lost: #cbd2db;--shadow: 0 1px 2px rgba(20,30,50,.05), 0 4px 14px rgba(20,30,50,.06);--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #10131a;--surface: #171b23;--surface-2: #1e232d;--line: #2a303c;--text: #e6e9ef;--muted: #8b95a7;--accent: #5b8bff;--accent-soft: #1c2740;--lost: #3a4150;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.25)}}:root[data-theme=dark]{--bg: #10131a;--surface: #171b23;--surface-2: #1e232d;--line: #2a303c;--text: #e6e9ef;--muted: #8b95a7;--accent: #5b8bff;--accent-soft: #1c2740;--lost: #3a4150;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.25)}:root[data-theme=light]{--bg: #eef1f4;--surface: #fff;--surface-2: #f5f7f9;--line: #dde3ea;--text: #1a1f28;--muted: #6b7688;--accent: #2f6df6;--accent-soft: #e7effe;--lost: #cbd2db;--shadow: 0 1px 2px rgba(20,30,50,.05), 0 4px 14px rgba(20,30,50,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans)}.center{min-height:100vh;display:grid;place-items:center}.muted{color:var(--muted)}.small{font-size:12px}a{color:var(--accent)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:800;font-size:18px;letter-spacing:-.01em}.brand span{color:var(--accent)}.topbar-right{display:flex;align-items:center;gap:14px}.user-badge{font-size:13px;color:var(--muted)}button{font-family:inherit;cursor:pointer}.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-weight:600}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 12px}.btn-ghost:hover{color:var(--text)}.btn-ghost.active{color:var(--accent);border-color:var(--accent)}.head-actions{display:flex;gap:8px;align-items:center}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px;width:320px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.login-card input{padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:14px}.err{color:#e5484d;font-size:13px}.toolbar{display:flex;align-items:center;gap:16px;padding:14px 20px 6px}.search{flex:0 1 380px;padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:14px}.board{display:flex;gap:12px;padding:10px 20px 24px;overflow-x:auto;align-items:flex-start}.col{flex:0 0 270px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 150px)}.col-drop{outline:2px dashed transparent}.col-head{display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:700;font-size:13px;border-bottom:1px solid var(--line)}.count{margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1px 9px;font-size:12px;color:var(--muted);font-weight:600}.dot{width:9px;height:9px;border-radius:50%}.dot-new{background:#94a3b8}.dot-first_contact{background:#7c9cf0}.dot-brief{background:#3a7bd5}.dot-meeting{background:#7c5cf0}.dot-prepaid{background:#22a06b}.dot-lost{background:#cbd2db}.col-body{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.col-empty{color:var(--muted);font-size:12px;text-align:center;padding:14px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;box-shadow:var(--shadow);cursor:pointer}.card:hover{border-color:var(--accent)}.card-title{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:7px}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);letter-spacing:.02em}.tag-fl_ru{color:#2f6df6}.tag-profi_ru{color:#22a06b}.price{font-size:12px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.card-contacts{margin-top:6px;font-size:12px;color:var(--accent);word-break:break-word}.card-foot{margin-top:7px;display:flex;justify-content:space-between;align-items:center}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1980;display:grid;place-items:center;z-index:20;padding:24px}.modal{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(920px,96vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-title{font-size:17px;font-weight:700}.modal-body{display:grid;grid-template-columns:1fr 280px;gap:0;overflow:hidden}.modal-main{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-side{border-left:1px solid var(--line);padding:16px 18px;overflow-y:auto;background:var(--surface-2);display:flex;flex-direction:column;gap:14px}.stage-row{display:flex;flex-wrap:wrap;gap:6px}.stage-pill{font-size:12px;padding:5px 10px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}.stage-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.timeline{display:flex;flex-direction:column;gap:8px;min-height:120px}.msg{border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--surface-2)}.msg-client{background:var(--accent-soft);border-color:transparent}.msg-bot,.msg-manager{background:var(--surface-2)}.msg-head{font-size:11px;color:var(--muted);margin-bottom:4px}.msg-text{font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.mail-block{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.doc-list{display:flex;flex-direction:column;gap:4px}.doc-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.doc-name{flex:1;font-size:13px;word-break:break-all}.mail-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}.mail-top{display:flex;gap:8px;align-items:baseline;cursor:pointer}.mail-subject{flex:1;font-size:13.5px}.mail-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.mail-step{font-size:11px;padding:3px 8px;border-radius:20px;border:1px solid var(--line);color:var(--muted);background:var(--surface-2)}.mail-step.on{border-color:transparent;background:var(--accent-soft);color:var(--text);font-weight:600}.mail-files{margin-top:6px;color:var(--muted)}.mail-error{margin-top:6px;color:#c0392b}.mail-reply{margin-top:8px;padding-left:8px;border-left:3px solid var(--accent)}.composer{display:flex;gap:8px}.composer textarea{flex:1;min-height:46px;resize:vertical;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:13.5px}.side-block .side-k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px}.side-block .side-v{font-size:13.5px;word-break:break-word}.note{width:100%;min-height:80px;resize:vertical;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:13px}.side-input{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:13.5px}.side-input:focus{outline:none;border-color:var(--accent)}.side-input.num{text-align:right;font-variant-numeric:tabular-nums}.price-row{display:flex;align-items:center;gap:8px}.price-row .dash{color:var(--muted)}.title-edit{width:100%;box-sizing:border-box;font-size:17px;font-weight:700;color:var(--text);background:transparent;border:1px solid transparent;border-radius:7px;padding:3px 6px;margin:-3px -6px 2px;font-family:inherit}.title-edit:hover{border-color:var(--line)}.title-edit:focus{outline:none;border-color:var(--accent);background:var(--surface)}@media (max-width: 640px){.modal-body{grid-template-columns:1fr}.modal-side{border-left:0;border-top:1px solid var(--line)}}.topnav{display:flex;gap:4px;margin-left:8px}.nav-btn{position:relative;background:transparent;border:0;color:var(--muted);font-weight:600;font-size:14px;padding:7px 14px;border-radius:8px;cursor:pointer}.nav-btn:hover{color:var(--text);background:var(--surface-2)}.nav-btn.active{color:var(--accent);background:var(--accent-soft)}.nav-badge{position:absolute;top:-3px;right:-3px;background:var(--dialog);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:9px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.flt{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px}.toolbar .spacer{flex:1}.create-row{display:flex;gap:8px;padding:0 20px 12px;flex-wrap:wrap}.create-row .search{flex:0 1 320px}.card-foot .owner{margin-left:auto}.task-badge{font-size:11px;font-weight:700;color:var(--dialog);background:transparent;border:1px solid var(--dialog);border-radius:20px;padding:0 7px}.task-badge.over{color:#fff;background:var(--lost);border-color:var(--lost)}.price.won-amt{color:var(--won)}.analytics{padding:8px 20px 60px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.kpi-k{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.kpi-v{font-size:24px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.an-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.an-card.an-wide{grid-column:1 / -1}.an-title{font-size:13px;font-weight:700;margin-bottom:12px}.funnel{display:flex;flex-direction:column;gap:8px}.funnel-row{display:grid;grid-template-columns:130px 1fr 44px 90px;align-items:center;gap:8px;font-size:13px}.funnel-lbl{color:var(--muted)}.funnel-bar-wrap{background:var(--surface-2);border-radius:6px;height:18px;overflow:hidden}.funnel-bar{height:100%;border-radius:6px;min-width:2px;transition:width .3s}.funnel-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.funnel-val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.spark{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:8px}.spark-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:4px}.spark-bar{width:70%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.spark-lbl{font-size:10px;color:var(--muted)}@media (max-width: 720px){.an-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:96px 1fr 36px}.funnel-val{display:none}}.tasks-view{padding:8px 20px 60px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg-btn{background:var(--surface);border:0;color:var(--muted);font-weight:600;font-size:13px;padding:8px 14px;cursor:pointer}.seg-btn.active{background:var(--accent);color:#fff}.task-list{display:flex;flex-direction:column;gap:8px;max-width:720px;margin-top:12px}.task-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--contact);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow)}.task-item.overdue{border-left-color:var(--lost)}.task-check{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-weight:800;cursor:pointer}.task-check:hover{background:var(--won);color:#fff;border-color:var(--won)}.task-check.sm{width:20px;height:20px;font-size:11px}.task-main{flex:1;cursor:pointer}.task-title{font-weight:600;font-size:14px}.task-sub{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:3px;flex-wrap:wrap}.task-lead{color:var(--accent)}.task-due.over{color:var(--lost);font-weight:700}.task-mini-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.task-mini{display:flex;gap:8px;align-items:flex-start}.task-mini.done .task-mini-t{text-decoration:line-through;color:var(--muted)}.task-mini-body{flex:1}.task-mini-t{font-size:13px}.task-mini-due{font-size:11px;color:var(--muted)}.task-add{display:flex;flex-direction:column;gap:6px}.prompts-view{max-width:900px;margin:0 auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px}.prompts-intro{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--text);line-height:1.5}.prompts-intro .small{margin-top:6px}.prompt-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.prompt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.prompt-title{font-weight:700;font-size:15px}.prompt-desc{color:var(--muted);font-size:12px;margin-top:2px}.prompt-file{font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;white-space:nowrap}.prompt-area{width:100%;box-sizing:border-box;min-height:300px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.55}.prompt-area:focus{outline:none;border-color:var(--accent)}.prompt-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.prompt-actions{display:flex;gap:8px}.prompt-dirty{color:var(--dialog);font-weight:600}.prompt-ok{color:var(--won);font-weight:600}.prompt-err{color:#d64545;font-weight:600}.btn:disabled{opacity:.45;cursor:default}:root{--pf-ok: #22a06b;--pf-warn: #f0a24c;--pf-crit: #e5484d;--pf-off: #94a3b8;--pf-track: #e3e8ef}@media (prefers-color-scheme: dark){:root{--pf-ok: #2fb37c;--pf-warn: #e0973f;--pf-crit: #f0575c;--pf-off: #5b6577;--pf-track: #262c38}}.pf-wrap{max-width:1180px;margin:0 auto;padding:0 20px 56px;font-size:14px;line-height:1.5}.pf-refresh-error{margin:12px 0 -6px;text-align:center}.pf-health{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:16px 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;min-height:72px}.pf-h-item{display:flex;flex-direction:column;gap:2px;padding:12px 18px;border-right:1px solid var(--line);min-width:140px}.pf-h-item:nth-last-child(2){border-right:0}.pf-h-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pf-h-value{min-height:21px;font-weight:600;font-size:14px;display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.pf-h-act{margin-left:auto;padding:12px 16px}.pf-health-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:pointer}.pf-health-link:hover{text-decoration:underline}.pf-wrap .btn-ghost:disabled{opacity:.55;cursor:default;color:var(--muted);border-color:var(--line)}.pf-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.pf-dot-ok,.pf-bg-ok{background:var(--pf-ok)}.pf-dot-warn,.pf-bg-warn{background:var(--pf-warn)}.pf-dot-crit,.pf-bg-crit{background:var(--pf-crit)}.pf-dot-off,.pf-bg-off{background:var(--pf-off)}.pf-text-ok{color:var(--pf-ok)}.pf-text-warn{color:var(--pf-warn)}.pf-text-crit{color:var(--pf-crit)}.pf-text-off{color:var(--pf-off)}.pf-h2{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:26px 0 12px}.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.pf-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0}.pf-card-stripe{height:3px;flex:none}.pf-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:11px;height:100%}.pf-card-head{display:flex;align-items:center;gap:8px;min-height:23px}.pf-card-title{font-weight:600;font-size:15px}.pf-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);cursor:default}.pf-switch{width:34px;height:19px;border-radius:20px;background:var(--pf-track);position:relative;transition:background .15s;flex:none}.pf-switch:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #00000040;transition:transform .15s}.pf-switch-on{background:var(--pf-ok)}.pf-switch-on:after{transform:translate(15px)}.pf-res{display:flex;flex-direction:column;gap:6px;min-height:43px}.pf-res-line{display:flex;align-items:baseline;gap:8px}.pf-res-val{font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.pf-res-name{font-size:12.5px;color:var(--muted)}.pf-bar{height:4px;border-radius:3px;background:var(--pf-track);overflow:hidden}.pf-bar>i{display:block;height:100%;border-radius:3px;transition:width .2s}.pf-not-connected{min-height:43px;display:flex;align-items:center;font-size:13px}.pf-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.pf-stats b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.pf-stats-label{flex-basis:100%;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.pf-last{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;min-height:18px}.pf-last>span:last-child{min-width:0;overflow-wrap:anywhere}.pf-card-actions{display:flex;gap:8px;margin-top:auto}.pf-card-actions .btn-ghost{flex:1;text-align:center;font-size:13px}.pf-panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}.pf-scroll{overflow-x:auto}.pf-table{width:100%;border-collapse:collapse;font-size:13px}.pf-table th{text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.pf-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.pf-table tr:last-child td{border-bottom:0}.pf-table tr.pf-row-warn td{background:color-mix(in srgb,var(--pf-warn) 9%,transparent)}.pf-table tr.pf-row-crit td{background:color-mix(in srgb,var(--pf-crit) 9%,transparent)}.pf-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.pf-pill-ok{color:var(--pf-ok)}.pf-pill-warn{color:var(--pf-warn)}.pf-pill-crit{color:var(--pf-crit)}.pf-panel-empty{padding:22px 14px;text-align:center;font-size:13px}.pf-filters{display:flex;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center}.pf-chip{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:20px;padding:4px 12px;font:inherit;font-size:12.5px;cursor:pointer}.pf-chip-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.pf-event-count{margin-left:auto}.pf-ev{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:grid;grid-template-columns:58px 108px 92px 1fr;gap:12px;align-items:baseline;padding:9px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;font:inherit;font-size:13px}.pf-ev:last-of-type{border-bottom:0}.pf-ev:disabled{opacity:1;cursor:default;color:var(--text)}.pf-ev-expandable{cursor:pointer}.pf-ev-expandable:hover{background:var(--surface-2)}.pf-ev-time{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.pf-ev-plat{font-size:12.5px}.pf-kind{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.pf-kind-error{color:var(--pf-crit)}.pf-kind-captcha,.pf-kind-quota,.pf-kind-auth{color:var(--pf-warn)}.pf-kind-reply,.pf-kind-lead{color:var(--pf-ok)}.pf-kind-info{color:var(--muted)}.pf-ev-message{min-width:0;overflow-wrap:anywhere}.pf-ev-details{padding:10px 14px 12px 284px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font:12px/1.5 ui-monospace,SF Mono,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.pf-empty-page{min-height:260px}@media (max-width: 640px){.pf-wrap{padding-left:14px;padding-right:14px}.pf-grid{grid-template-columns:1fr}.pf-h-item{flex:1 1 45%;border-right:0;border-bottom:1px solid var(--line)}.pf-h-act{margin-left:0}.pf-ev{grid-template-columns:52px 1fr;gap:3px 10px}.pf-ev-plat,.pf-kind,.pf-ev-message{grid-column:2}.pf-ev-details{padding-left:76px}}@media (prefers-reduced-motion: reduce){.pf-wrap *{transition:none!important;scroll-behavior:auto!important}}:root{--tn-ok: #22a06b;--tn-warn: #f0a24c;--tn-crit: #e5484d;--tn-off: #94a3b8;--tn-track: #e3e8ef;--tn-quantum: #2f6df6;--tn-virana: #6b4fd8}@media (prefers-color-scheme: dark){:root{--tn-ok: #2fb37c;--tn-warn: #e0973f;--tn-crit: #f0575c;--tn-off: #5b6577;--tn-track: #262c38;--tn-quantum: #5b8bff;--tn-virana: #8b73e8}}:root[data-theme=dark]{--tn-ok: #2fb37c;--tn-warn: #e0973f;--tn-crit: #f0575c;--tn-off: #5b6577;--tn-track: #262c38;--tn-quantum: #5b8bff;--tn-virana: #8b73e8}:root[data-theme=light]{--tn-ok: #22a06b;--tn-warn: #f0a24c;--tn-crit: #e5484d;--tn-off: #94a3b8;--tn-track: #e3e8ef;--tn-quantum: #2f6df6;--tn-virana: #6b4fd8}.tn-wrap{max-width:1240px;margin:0 auto;padding:0 20px 56px;font-size:14px;line-height:1.5}.tn-num{font-variant-numeric:tabular-nums}.tn-main-tabs{display:inline-flex;margin:16px 0 0;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.tn-main-tabs button{border:0;border-radius:7px;padding:7px 18px;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.tn-main-tabs button.tn-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.tn-refresh-error{margin:16px 0 0;padding:8px 12px;border-radius:9px;font-size:12.5px;color:var(--tn-crit);background:color-mix(in srgb,var(--tn-crit) 10%,transparent);border:1px solid color-mix(in srgb,var(--tn-crit) 40%,var(--line))}.tn-summary{display:flex;flex-wrap:wrap;margin:16px 0 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.tn-s-item{padding:12px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:130px}.tn-s-item:last-child{border-right:0}.tn-s-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.tn-s-value{font-size:20px;font-weight:700;letter-spacing:-.01em}.tn-s-ok{color:var(--tn-ok)}.tn-s-crit{color:var(--tn-crit)}.tn-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.tn-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:20px;padding:5px 13px;font:inherit;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tn-chip:hover{color:var(--text)}.tn-chip.tn-active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.tn-chip .tn-cnt{background:var(--surface-2);border-radius:10px;padding:0 6px;font-size:11px}.tn-search{flex:0 1 300px;margin-left:auto;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:13px}.tn-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 15px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.tn-btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}.tn-btn-ghost:hover{color:var(--text);border-color:var(--muted)}.tn-btn-reject{color:var(--tn-crit);border-color:color-mix(in srgb,var(--tn-crit) 45%,var(--line))}.tn-btn-reject:hover{color:var(--tn-crit);border-color:var(--tn-crit)}.tn-bulk-reject{padding:5px 11px;font-size:12.5px}.tn-bulk-error{margin:-7px 0 12px}.tn-btn:disabled,.tn-btn-ghost:disabled{opacity:.5;cursor:default}.tn-btn:focus-visible,.tn-btn-ghost:focus-visible,.tn-chip:focus-visible,.tn-search:focus-visible,.tn-main-tabs button:focus-visible,.tn-company-option:focus-visible,.tn-bid-form input:focus-visible,.tn-deadline-form input:focus-visible,.tn-proposal textarea:focus-visible,.tn-finance-panel summary:focus-visible,.tn-spec-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tn-tender{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}.tn-t-main{display:grid;grid-template-columns:1fr 150px 150px 132px;gap:16px;padding:14px 16px;align-items:start;cursor:pointer}.tn-t-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tn-t-title{font-weight:600;font-size:14.5px;margin-bottom:4px}.tn-t-meta{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px}.tn-t-tags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.tn-company-manage{margin-top:9px;display:flex;flex-direction:column;gap:6px;cursor:default}.tn-company-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.tn-company-row .tn-t-col-label{margin:0}.tn-company-switch{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.tn-company-option{border:0;border-right:1px solid var(--line);padding:3px 9px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.tn-company-option:last-child{border-right:0}.tn-company-option.tn-active{color:var(--accent);background:var(--accent-soft)}.tn-company-option:disabled{cursor:default}.tn-company-option:disabled:not(.tn-active){opacity:.5}.tn-rebuild-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:11.5px}.tn-rebuild-row .tn-btn-ghost{padding:3px 8px;font-size:11.5px}.tn-rebuild-requested{color:var(--tn-ok);font-weight:600}.tn-inline-error{margin-top:7px;color:var(--tn-crit);font-size:12px}.tn-t-col-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px}.tn-t-price{font-size:15px;font-weight:600}.tn-t-bid{font-size:15px;font-weight:700;color:var(--tn-ok)}.tn-t-bid.tn-t-bid-empty{color:var(--muted);font-size:13px;line-height:1.35}.tn-t-drop{font-size:11.5px;color:var(--muted)}.tn-t-deadline{font-size:15px;font-weight:600}.tn-t-deadline.tn-soon{color:var(--tn-crit)}.tn-t-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.tn-t-deadline-wrap{text-align:right}.tn-prio{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px dashed var(--line);background:transparent;color:var(--muted);cursor:pointer;font-family:inherit;white-space:nowrap}.tn-prio:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.tn-prio.tn-prio-on{border-style:solid;color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.tn-prio:disabled{cursor:default;opacity:.6}.tn-prio:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tn-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.tn-tag.tn-pack-ready{color:var(--tn-ok);border-color:color-mix(in srgb,var(--tn-ok) 40%,var(--line))}.tn-tag.tn-pack-none{color:var(--muted)}.tn-tag.tn-co-quantum{color:var(--tn-quantum);border-color:color-mix(in srgb,var(--tn-quantum) 40%,var(--line))}.tn-tag.tn-co-virana{color:var(--tn-virana);border-color:color-mix(in srgb,var(--tn-virana) 40%,var(--line))}.tn-tag.tn-stage-new{color:var(--accent)}.tn-tag.tn-stage-needs_spec,.tn-tag.tn-stage-prep{color:var(--tn-warn)}.tn-tag.tn-stage-submitted{color:var(--tn-ok)}.tn-tag.tn-stage-won{color:var(--tn-ok);border-color:color-mix(in srgb,var(--tn-ok) 40%,var(--line))}.tn-tag.tn-stage-lost{color:var(--tn-crit);border-color:color-mix(in srgb,var(--tn-crit) 40%,var(--line))}.tn-tag.tn-stage-skipped{color:var(--tn-off)}.tn-tag.tn-estimated-without-spec{color:var(--tn-crit);border-color:color-mix(in srgb,var(--tn-crit) 48%,var(--line));background:color-mix(in srgb,var(--tn-crit) 9%,var(--surface-2))}.tn-score{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.tn-score b{color:var(--text);font-size:13px}.tn-t-detail{border-top:1px solid var(--line);background:var(--surface-2);padding:16px;display:none}.tn-tender.tn-open .tn-t-detail{display:block}.tn-d-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tn-d-block{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 14px;min-width:0}.tn-d-block h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.tn-docs-block,.tn-spec-block{margin-bottom:16px}.tn-spec-block p{margin:7px 0;font-size:13px;line-height:1.5}.tn-spec-upload{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:11px}.tn-spec-input{min-width:240px;max-width:100%;color:var(--text);font:inherit;font-size:12.5px}.tn-spec-note{flex:1 1 260px}.tn-spec-selected,.tn-spec-rejected{margin-top:11px}.tn-spec-rejected-title{display:block;margin-bottom:6px;color:var(--tn-crit);font-size:12px}.tn-spec-selected+.tn-rebuild-row,.tn-spec-rejected+.tn-rebuild-row,.tn-spec-upload+.tn-rebuild-row{margin-top:9px}.tn-kv{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;border-bottom:1px dashed var(--line)}.tn-kv:last-child{border-bottom:0}.tn-kv>span:first-child{color:var(--muted)}.tn-kv>span:last-child{text-align:right}.tn-kv-spaced{margin-top:10px}.tn-bid-editor{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:430px}.tn-bid-form{display:flex;justify-content:flex-end;gap:6px}.tn-bid-form input{width:150px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;text-align:right}.tn-deadline-editor{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:430px}.tn-deadline-form{display:flex;justify-content:flex-end;gap:6px}.tn-deadline-form input{width:200px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.tn-bid-warning{max-width:430px;color:var(--tn-crit);font-size:11.5px;line-height:1.4}.tn-package-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.tn-package-head h4{margin-bottom:0}.tn-package-head .tn-btn-ghost{flex:0 0 auto}.tn-files{display:flex;flex-direction:column;gap:6px}.tn-file{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 8px;border-radius:7px;background:var(--surface-2);color:var(--text);text-decoration:none;overflow-wrap:anywhere}.tn-file .tn-fname{flex:1;min-width:0}a.tn-file:hover{background:var(--accent-soft);color:var(--accent)}a.tn-file:hover .muted{color:var(--accent)}a.tn-file:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tn-proposal{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.tn-proposal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.tn-proposal-head b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tn-proposal-snippet{max-height:150px;overflow:hidden;padding:9px 10px;border-radius:8px;background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px}.tn-proposal textarea{display:block;width:100%;min-height:320px;resize:vertical;box-sizing:border-box;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;line-height:1.55}.tn-proposal-actions{display:flex;gap:8px;margin-top:8px}.tn-d-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.tn-warnbox{margin-top:12px;padding:10px 13px;border-radius:9px;font-size:12.5px;background:color-mix(in srgb,var(--tn-warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--tn-warn) 40%,var(--line))}.tn-wrap>.tn-warnbox{margin:0 0 14px}.tn-errorbox{margin-bottom:12px;padding:10px 13px;border-radius:9px;color:var(--tn-crit);background:color-mix(in srgb,var(--tn-crit) 10%,transparent);border:1px solid color-mix(in srgb,var(--tn-crit) 40%,var(--line))}.tn-detail-state{padding:12px;text-align:center}.tn-text-crit{color:var(--tn-crit)}.tn-task-text{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.tn-task-text p{margin:0 0 8px}.tn-task-text ul{margin:6px 0 0;padding-left:18px;white-space:normal}.tn-task-text li{margin-bottom:4px}.tn-est-scroll{overflow-x:auto}.tn-est table{width:100%;border-collapse:collapse;font-size:12.5px}.tn-est th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;padding:5px 6px;border-bottom:1px solid var(--line);white-space:nowrap}.tn-est th.tn-r,.tn-est td.tn-r{text-align:right}.tn-est td{padding:5px 6px;border-bottom:1px solid var(--line)}.tn-est tr.tn-block-row td{background:var(--surface-2);font-weight:600;font-size:12.5px}.tn-est tr.tn-total-row td{border-top:2px solid var(--line);border-bottom:0;font-weight:700;padding-top:8px}.tn-est tr:last-child td{border-bottom:0}.tn-est .tn-taskname{padding-left:16px;color:var(--text)}.tn-est-empty{min-height:58px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;font-size:13px}.tn-reserve-ok{color:var(--tn-ok)}.tn-reserve-crit{color:var(--tn-crit)}.tn-steps{display:flex;flex-direction:column;gap:2px}.tn-step{display:flex;gap:10px;align-items:flex-start;padding:7px 8px;border-radius:8px;font-size:13px}.tn-step:hover{background:var(--surface-2)}.tn-step-mark{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--line);flex:none;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:11px}.tn-step.tn-done .tn-step-mark{background:var(--tn-ok);border-color:var(--tn-ok);color:#fff}.tn-step.tn-done .tn-step-body{color:var(--muted)}.tn-step.tn-done .tn-step-title{text-decoration:line-through}.tn-step-title{display:block;font-weight:600}.tn-step-note{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.55}.tn-link{color:var(--accent);text-decoration:none;font-weight:600}.tn-link:hover{text-decoration:underline}.tn-step.tn-blocked .tn-step-mark{border-color:var(--tn-crit);color:var(--tn-crit)}.tn-step.tn-blocked .tn-step-title{color:var(--tn-crit)}.tn-wide{grid-column:1 / -1}.tn-h2{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:24px 0 12px}.tn-empty{min-height:220px;display:grid;place-items:center;background:var(--surface);border:1px dashed var(--line);border-radius:12px;margin-bottom:10px}.tn-undo-toast{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;align-items:center;gap:16px;padding:11px 13px 11px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.tn-undo-toast button{border:0;padding:4px 6px;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.tn-undo-toast button:hover{text-decoration:underline}.tn-undo-toast button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tn-finance-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 10px}.tn-finance-head h2{margin:0 0 2px;font-size:16px}.tn-finance-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.tn-finance-panel summary{padding:11px 14px;cursor:pointer;color:var(--muted);font-weight:600}.tn-finance-panel[open] summary{border-bottom:1px solid var(--line)}.tn-finance-scroll{overflow-x:auto}.tn-finance table{width:100%;border-collapse:collapse;font-size:12.5px}.tn-finance th{padding:8px 10px;color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.03em;font-size:10.5px;white-space:nowrap}.tn-finance th.tn-r,.tn-finance td.tn-r{text-align:right}.tn-finance td{padding:10px;border-top:1px solid var(--line);vertical-align:top}.tn-finance tbody tr:first-child td{border-top:0}.tn-finance td:first-child{min-width:260px}.tn-finance td:first-child b{display:block;margin-bottom:5px}.tn-finance-note{display:block;margin-top:2px;color:var(--muted);font-size:10.5px;white-space:nowrap}@media (max-width: 820px){.tn-d-grid{grid-template-columns:1fr}.tn-t-main{grid-template-columns:1fr;gap:10px}.tn-t-actions{align-items:flex-start}.tn-t-deadline-wrap{text-align:left}.tn-finance-head{align-items:flex-start}.tn-kv{flex-direction:column}.tn-kv>span:last-child{text-align:left}.tn-bid-editor,.tn-deadline-editor{align-items:flex-start;max-width:none}.tn-undo-toast{right:14px;bottom:14px;left:14px;justify-content:space-between}}@media (prefers-reduced-motion: reduce){.tn-wrap *{transition:none!important}}.tn-board{display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px;align-items:flex-start}.tn-col{flex:0 0 250px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;max-height:72vh}.tn-col-head{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;font-weight:600;font-size:13px;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0}.tn-col-count{background:var(--surface);border-radius:10px;padding:1px 8px;font-size:12px;color:var(--muted)}.tn-col-new .tn-col-count,.tn-col-head{color:var(--text)}.tn-col-needs_spec{background:#fff7ed}.tn-col-prep{background:#eef4ff}.tn-col-submitted{background:#f3f0ff}.tn-col-won{background:#ecfdf3}.tn-col-lost{background:#f4f5f7}.tn-col-body{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.tn-col-empty{font-size:12px;text-align:center;padding:12px 0}.tn-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 10px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tn-card:hover{border-color:#025aff;box-shadow:0 2px 8px #025aff17}.tn-card-title{font-size:13px;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tn-card-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px}.tn-card-urgent{color:#dc2626;font-weight:600}.tn-card-foot{display:flex;gap:4px;flex-wrap:wrap}.tn-card-foot .tn-tag{font-size:11px;padding:1px 6px}.tn-tag-company{background:#f3f0ff;color:#6d3fd4}.tn-tag-ok{background:#ecfdf3;color:#12805c}.theme-switch{padding:4px 9px;font-size:15px;line-height:1;cursor:pointer}:root[data-theme=dark] .tn-col-needs_spec{background:#2c2318}:root[data-theme=dark] .tn-col-prep{background:#1a2236}:root[data-theme=dark] .tn-col-submitted{background:#241f36}:root[data-theme=dark] .tn-col-won{background:#14291f}:root[data-theme=dark] .tn-col-lost{background:#20242c}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tn-col-needs_spec{background:#2c2318}:root:not([data-theme=light]) .tn-col-prep{background:#1a2236}:root:not([data-theme=light]) .tn-col-submitted{background:#241f36}:root:not([data-theme=light]) .tn-col-won{background:#14291f}:root:not([data-theme=light]) .tn-col-lost{background:#20242c}}.platform-link{text-decoration:none;font-size:13px;padding:5px 10px;white-space:nowrap}:root[data-theme=dark] .tn-col-skipped{background:#241f1f}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .tn-col-skipped{background:#241f1f}}.tn-col-skipped{background:#f7f1f1}.tn-step-note{margin-top:6px;font-size:12.5px;color:var(--muted)}ul.tn-step-note{margin:6px 0 0;padding-left:18px}ul.tn-step-note li{margin:2px 0}
