:root{--bg-0: #0b0c0f;--bg-1: #111318;--bg-2: #161922;--bg-3: #1c2030;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .14);--fg-0: #e8eaf0;--fg-1: #b8bcc8;--fg-2: #777c8a;--fg-3: #4a4f5c;--accent-h: 145;--accent-c: .13;--accent: oklch(78% var(--accent-c) var(--accent-h));--accent-soft: oklch(78% var(--accent-c) var(--accent-h) / .16);--accent-line: oklch(78% var(--accent-c) var(--accent-h) / .4);--warn: oklch(78% .13 75);--warn-soft: oklch(78% .13 75 / .16);--danger: oklch(70% .17 25);--danger-soft: oklch(70% .17 25 / .16);--info: oklch(78% .1 230);--info-soft: oklch(78% .1 230 / .16);--sale: oklch(78% .13 145);--purchase: oklch(78% .13 60);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--row-h: 36px;--gap: 12px;--pad: 16px;--r: 6px;--r-lg: 10px;--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 1px 2px rgba(0, 0, 0, .3)}[data-theme=light]{--bg-0: #f6f6f4;--bg-1: #ffffff;--bg-2: #fafaf8;--bg-3: #f0f0ec;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .16);--fg-0: #16181d;--fg-1: #444851;--fg-2: #7c8090;--fg-3: #b0b4be;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04)}[data-density=compact]{--row-h: 30px;--gap: 8px;--pad: 12px}[data-density=comfortable]{--row-h: 42px;--gap: 16px;--pad: 20px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);font-feature-settings:"cv11","ss01","tnum";background:var(--bg-0);color:var(--fg-0);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-feature-settings:"tnum","zero";letter-spacing:-.01em}.app{display:grid;grid-template-columns:220px 1fr;height:100%;width:100%;background:var(--bg-0);color:var(--fg-0)}.sidebar{background:var(--bg-1);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:6px 8px 18px;font-weight:600;letter-spacing:.02em}.brand-mark{width:22px;height:22px;border-radius:5px;background:var(--accent);display:grid;place-items:center;color:#0a0a0a;font-weight:700;font-size:12px;font-family:var(--font-mono)}.sidebar-section{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:14px 8px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r);color:var(--fg-1);cursor:pointer;font-size:13px;position:relative}.nav-item:hover,.nav-item.active{background:var(--bg-2);color:var(--fg-0)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:0 2px 2px 0}.nav-icon{width:14px;height:14px;display:grid;place-items:center;color:var(--fg-2)}.nav-item.active .nav-icon{color:var(--accent)}.nav-count{margin-left:auto;font-size:11px;color:var(--fg-3);font-family:var(--font-mono)}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:16px;padding:0 20px;height:48px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.topbar-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.topbar-crumb{color:var(--fg-2);font-weight:400}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.scroll{overflow:auto;flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line-strong);background:var(--bg-2);color:var(--fg-0);border-radius:var(--r);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--bg-3);border-color:var(--line-strong)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0a0a0a;font-weight:600}.btn-primary:hover{background:oklch(85% var(--accent-c) var(--accent-h))}.btn-ghost{background:transparent;border-color:transparent;color:var(--fg-1)}.btn-ghost:hover{background:var(--bg-2);color:var(--fg-0)}.kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--fg-2);border:1px solid var(--line)}.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;font-size:11px;font-weight:500;border-radius:10px;background:var(--bg-3);color:var(--fg-1);border:1px solid var(--line);white-space:nowrap}.chip-dot{width:6px;height:6px;border-radius:50%;background:var(--fg-2)}.chip.sale .chip-dot{background:var(--sale)}.chip.purchase .chip-dot{background:var(--purchase)}.chip.warn .chip-dot{background:var(--warn)}.chip.danger .chip-dot{background:var(--danger)}.chip.accent .chip-dot{background:var(--accent)}.chip.info .chip-dot{background:var(--info)}.chip.solid-accent{background:var(--accent-soft);color:oklch(85% var(--accent-c) var(--accent-h));border-color:var(--accent-line)}.chip.solid-warn{background:var(--warn-soft);color:#ffc165;border-color:#e8aa4e66}.chip.solid-danger{background:var(--danger-soft);color:#ffa098;color:oklch(80% .17 25);border-color:#f66d6766}.chip.solid-info{background:var(--info-soft);color:#8cdaff;color:oklch(85% .1 230);border-color:#6ec3eb66}.agent{display:inline-flex;align-items:center;gap:6px;font-size:12px}.agent-avatar{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#0a0a0a;font-family:var(--font-mono);flex-shrink:0}.agent-avatar.sm{width:16px;height:16px;font-size:9px}.agent-avatar.lg{width:28px;height:28px;font-size:12px}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{position:sticky;top:0;background:var(--bg-1);text-align:left;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1}.tbl tbody td{padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.tbl tbody tr{cursor:pointer;transition:background .05s}.tbl tbody tr:hover{background:var(--bg-2)}.tbl tbody tr.selected{background:var(--accent-soft)}.tbl .num{font-family:var(--font-mono);text-align:right;font-feature-settings:"tnum"}.tbl .muted{color:var(--fg-2)}.tbl .strong{color:var(--fg-0);font-weight:500}.panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.panel-h{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--fg-1);text-transform:uppercase}.panel-h .count{color:var(--fg-3);font-weight:400;font-family:var(--font-mono)}.panel-h .panel-actions{margin-left:auto;display:flex;gap:6px;text-transform:none;letter-spacing:0}.panel-b{padding:14px}.panel-b.flush{padding:0}.fbar{display:flex;align-items:center;gap:6px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0;flex-wrap:wrap}.fbar input[type=text],.fbar input[type=search],.fbar select{height:28px;background:var(--bg-2);border:1px solid var(--line);color:var(--fg-0);border-radius:var(--r);padding:0 8px;font:inherit;font-size:12px}.fbar input:focus,.fbar select:focus{outline:none;border-color:var(--accent-line)}.fbar .spacer{flex:1}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dot.done{background:var(--accent)}.dot.in_progress{background:var(--warn);animation:pulse 1.6s ease-in-out infinite}.dot.pending{background:var(--fg-3)}.dot.failed{background:var(--danger)}.dot.skipped{background:var(--fg-3);opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--warn-soft)}50%{box-shadow:0 0 0 4px transparent}}.editable{border-radius:4px;padding:2px 4px;margin:-2px -4px;cursor:text}.editable:hover{background:var(--bg-3);outline:1px solid var(--line)}.divider{height:1px;background:var(--line);margin:0}.hairline{border-bottom:1px solid var(--line)}.hidden{display:none!important}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.card-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.card-grid.wide-rail{grid-template-columns:1fr 340px}@media (max-width: 768px){.card-grid,.card-grid.wide-rail{grid-template-columns:1fr}}@media (max-width: 768px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:100;transform:translate(-100%);transition:transform .2s ease-out;box-shadow:4px 0 24px #0006}.app.sidebar-open .sidebar{transform:translate(0)}.app.sidebar-open:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.topbar-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fbar{flex-wrap:nowrap;overflow-x:auto;padding:8px 12px}.fbar::-webkit-scrollbar{height:4px}.panel{border-radius:var(--r)}}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:inline-flex}}.day-v2-grid{display:grid;grid-template-columns:minmax(560px,720px) 1fr;gap:0}@media (max-width: 768px){.day-v2-grid{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:auto!important;min-height:calc(100vh - 200px)}.day-v2-grid>div:last-child{border-top:1px solid var(--line)}}*{margin:0;padding:0}html,body,#root{height:100%}.container{max-width:1400px;margin:0 auto;padding:20px}.header{background:#fff;padding:16px 20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.header h1{font-size:20px;color:#2c3e50}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-sm{padding:4px 10px;font-size:12px}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.card h2{font-size:16px;color:#2c3e50;margin-bottom:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e0e0e0}.table th{font-weight:600;font-size:13px;color:#555;background:#f9f9f9;cursor:pointer;-webkit-user-select:none;user-select:none}.table th:hover{background:#f0f0f0}.table tr:hover{background:#f8f9fa}.table td{font-size:14px}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.badge-raw{background:#ecf0f1;color:#7f8c8d}.badge-enriched{background:#ebf5fb;color:#2980b9}.badge-qualified{background:#eafaf1;color:#27ae60}.badge-manufacturer{background:#fdebd0;color:#e67e22}.badge-trader{background:#d5f5e3;color:#27ae60}.badge-service{background:#d6eaf8;color:#2980b9}.badge-end_user{background:#fadbd8;color:#e74c3c}.badge-unknown{background:#ecf0f1;color:#7f8c8d}.badge-project-sell{background:#fdebd0;color:#e67e22}.badge-project-research{background:#d6eaf8;color:#2980b9}.badge-ps-proposed{background:#ecf0f1;color:#7f8c8d}.badge-ps-invoice_sent{background:#fef9e7;color:#b7950b}.badge-ps-reserved{background:#fdebd0;color:#e67e22}.badge-ps-spec_signed{background:#d5f5e3;color:#27ae60}.badge-ps-purchased{background:#d4efdf;color:#1e8449}.badge-ps-on_sale{background:#abebc6;color:#196f3d}.badge-ps-closed{background:#d5dbdb;color:#566573}.badge-ps-archived{background:#f2f3f4;color:#aab7b8}.badge-agent{background:#eaf2f8;color:#2e86c1;font-size:11px}.badge-task-pending{background:#ecf0f1;color:#7f8c8d}.badge-task-in_progress{background:#fef9e7;color:#b7950b}.badge-task-done{background:#d5f5e3;color:#27ae60}.badge-priority-urgent{background:#fadbd8;color:#c0392b}.badge-priority-high{background:#fdebd0;color:#e67e22}.badge-priority-normal{background:#ebf5fb;color:#2980b9}.badge-priority-low{background:#ecf0f1;color:#95a5a6}.badge-deal-sale{background:#d5f5e3;color:#1e8449}.badge-deal-purchase{background:#fdebd0;color:#e67e22}.badge-ds-in_work{background:#ebf5fb;color:#2980b9}.badge-ds-prepare_kp{background:#fef9e7;color:#b7950b}.badge-ds-offer{background:#fdebd0;color:#e67e22}.badge-ds-processing{background:#d4efdf;color:#1e8449}.badge-ds-shipping{background:#d6eaf8;color:#2471a3}.badge-ds-done{background:#abebc6;color:#196f3d}.badge-ds-failed{background:#fadbd8;color:#c0392b}.badge-ds-planning{background:#ebf5fb;color:#2980b9}.badge-ds-in_progress{background:#fef9e7;color:#b7950b}.badge-ds-supplier_selected{background:#d5f5e3;color:#27ae60}.badge-ds-cancelled{background:#fadbd8;color:#c0392b}.segment-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;background:#eee;color:#555;margin-right:4px;margin-bottom:2px}.segment-tag-removable{cursor:pointer}.segment-tag-removable:hover{background:#e74c3c;color:#fff}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:12px;color:var(--fg-1)}.form-control{width:100%;padding:6px 10px;border:1px solid var(--line);background:var(--bg-2);color:var(--fg-0);border-radius:var(--r);font-size:13px;font-family:inherit}.form-control:focus{outline:none;border-color:var(--accent-line)}select.form-control{cursor:pointer}textarea.form-control{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.filters-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters-bar input,.filters-bar select{padding:7px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.filters-bar input:focus,.filters-bar select:focus{outline:none;border-color:#3498db}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}.pagination button{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px}.pagination button:hover:not(:disabled){background:#f0f0f0}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination .page-info{font-size:13px;color:#666}.inline-edit{cursor:pointer;padding:4px 8px;border-radius:var(--r);min-height:28px;color:var(--fg-1);font-size:13px}.inline-edit:hover{background:var(--bg-3);outline:1px solid var(--line)}.inline-edit-input{padding:4px 8px;border:1px solid var(--accent-line);background:var(--bg-2);color:var(--fg-0);border-radius:var(--r);font-size:13px;width:100%;font-family:inherit}.loading{text-align:center;padding:40px;color:#999}.error{background:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}a{color:#3498db;text-decoration:none}a:hover{text-decoration:underline}.timeline{position:relative}.timeline-item{padding:12px 16px;border-left:2px solid #e0e0e0;margin-left:8px;margin-bottom:4px;position:relative}.timeline-item:before{content:"";position:absolute;left:-6px;top:16px;width:10px;height:10px;border-radius:50%;background:#3498db}.timeline-item.done:before{background:#27ae60}.timeline-item.planned:before{background:#f39c12}.timeline-item.no_answer:before{background:#e74c3c}.timeline-item.rejected:before{background:#7f8c8d}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.timeline-type{font-weight:600;font-size:13px}.timeline-date{font-size:12px;color:#999}.timeline-content{font-size:13px;color:#555}.company-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.company-detail-full{grid-column:1 / -1}.field-label{font-size:11px;color:var(--fg-3);margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em}.field-value{font-size:13px;color:var(--fg-1);min-height:24px}.field-empty{color:var(--fg-3);font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:24px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.modal h3{margin-bottom:16px;font-size:16px;color:#2c3e50}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:8px 0 4px;font-size:1em;font-weight:600}.markdown-content h1{font-size:1.15em}.markdown-content h2{font-size:1.05em}.markdown-content p{margin:4px 0}.markdown-content ul,.markdown-content ol{margin:4px 0 4px 20px}.markdown-content li{margin:2px 0}.markdown-content strong{font-weight:600}.markdown-content hr{border:none;border-top:1px solid #555;margin:8px 0}.markdown-content code{background:#ffffff1a;padding:1px 4px;border-radius:3px;font-size:.9em}.markdown-content pre{background:#ffffff14;padding:8px;border-radius:4px;overflow-x:auto;margin:6px 0}.markdown-content pre code{background:none;padding:0}.markdown-content table{border-collapse:collapse;margin:6px 0}.markdown-content th,.markdown-content td{border:1px solid #555;padding:4px 8px;font-size:.9em}.markdown-content blockquote{border-left:3px solid #666;padding-left:10px;color:#aaa;margin:6px 0}
