:root{--amber: #ecad0a;--amber-dark: #c99208;--blue: #209dd7;--blue-dark: #1686b8;--purple: #753991;--green: #2e9e5b;--red: #d64545;--ink: #1d242b;--ink-2: #3c4754;--ink-3: #6b7683;--line: #e3e7ec;--bg: #f4f5f7;--card: #ffffff;--sidebar: #20262d;--sidebar-ink: #9aa6b2;--sidebar-active: #2c353e;--radius: 10px;--shadow: 0 1px 2px rgba(23, 30, 38, .05), 0 4px 14px rgba(23, 30, 38, .05);--shadow-lg: 0 8px 32px rgba(23, 30, 38, .16);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:232px;flex-shrink:0;background:var(--sidebar);display:flex;flex-direction:column;padding:20px 14px;gap:4px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 20px;color:#fff}.sidebar-brand-mark{width:38px;height:38px;border-radius:10px;background:#fff;overflow:hidden;flex-shrink:0;box-shadow:0 1px 3px #00000059}.sidebar-brand-mark img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.06) brightness(1.02)}.sidebar-brand-name{font-weight:700;font-size:16px;letter-spacing:.2px}.sidebar-brand-name small{display:block;font-size:11px;font-weight:500;color:var(--sidebar-ink);letter-spacing:.6px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:var(--sidebar-ink);font-weight:500;cursor:pointer;border:none;background:none;width:100%;font-size:14px;text-align:left}.nav-item:hover{color:#fff;background:#ffffff0f;text-decoration:none}.nav-item.active{color:#fff;background:var(--sidebar-active)}.nav-item.active svg{color:var(--amber)}.sidebar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#5d6a78;padding:14px 12px 6px}.main{flex:1;overflow-y:auto;padding:28px 32px 60px;min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header h1{font-size:24px;font-weight:700;letter-spacing:-.2px}.page-header p{color:var(--ink-3);margin-top:3px}.page-header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;font-family:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-secondary{background:var(--card);border-color:var(--line);color:var(--ink-2)}.btn-secondary:hover:not(:disabled){border-color:#c9d1da;background:#fafbfc}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#bd3a3a}.btn-ghost{background:none;color:var(--ink-3)}.btn-ghost:hover:not(:disabled){background:#171e260f;color:var(--ink-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;border:none;background:none;color:var(--ink-3);cursor:pointer;flex-shrink:0}.icon-btn:hover{background:#171e2612;color:var(--ink)}.icon-btn.danger:hover{background:#d645451a;color:var(--red)}.input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:14px;font-family:inherit;background:var(--card);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #209dd726}textarea.input{resize:vertical;min-height:84px}.field{display:block;margin-bottom:14px}.field-label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.field-required{color:var(--red);margin-left:3px}.search-input-wrap{position:relative;flex:1;max-width:340px;min-width:180px}.search-input-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.search-input-wrap .input{padding-left:34px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.table-card{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:14px}.table thead th{text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-3);padding:11px 14px;border-bottom:1px solid var(--line);background:#fafbfc;white-space:nowrap}.table tbody td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s ease}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:#f6f9fb}.table .cell-strong{color:var(--ink);font-weight:600}.table .cell-muted{color:var(--ink-3)}.table .cell-num{text-align:right;font-variant-numeric:tabular-nums}.row-actions{display:flex;justify-content:flex-end;gap:2px;opacity:0;transition:opacity .12s ease}.table tbody tr:hover .row-actions{opacity:1}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e8edf2;color:#55616e;font-weight:700;flex-shrink:0}.avatar-amber{background:#ecad0a29;color:#9c7105}.avatar-blue{background:#209dd724;color:#17739c}.avatar-purple{background:#75399121;color:#5d2c74}.name-cell{display:flex;align-items:center;gap:11px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-gray{background:#eceff2;color:#4a5561}.badge-blue{background:#209dd724;color:#17739c}.badge-amber{background:#ecad0a29;color:#967005}.badge-purple{background:#75399121;color:#5d2c74}.badge-green{background:#2e9e5b24;color:#1e7a45}.badge-red{background:#d645451f;color:#b23a3a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11161c73;display:flex;align-items:flex-start;justify-content:center;padding:7vh 16px 16px;z-index:100;overflow-y:auto}.modal{background:var(--card);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:480px;animation:modal-in .14s ease}.modal-wide{max-width:620px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal-header h2{font-size:17px;font-weight:700}.modal-body{padding:16px 20px 20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.confirm-body{display:flex;gap:14px;align-items:flex-start}.confirm-icon{color:var(--red);flex-shrink:0;margin-top:2px}.confirm-message{color:var(--ink-2)}.form-error{background:#d6454517;border:1px solid rgba(214,69,69,.3);color:#b23a3a;padding:9px 12px;border-radius:8px;font-size:13px;margin-bottom:14px}.empty-state{text-align:center;padding:48px 20px;color:var(--ink-3)}.empty-state h3{color:var(--ink-2);font-size:15px;margin-bottom:4px}.empty-icon{display:inline-flex;width:52px;height:52px;border-radius:14px;background:#eceff2;align-items:center;justify-content:center;color:var(--ink-3);margin-bottom:12px}.loading{padding:48px;text-align:center;color:var(--ink-3)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-stack{display:flex;flex-direction:column;gap:18px}.detail-card{padding:20px}.detail-card h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-3);margin-bottom:14px}.detail-hero{display:flex;align-items:center;gap:16px;padding:22px}.detail-hero h1{font-size:21px;font-weight:700;margin-bottom:2px}.detail-hero .subtitle{color:var(--ink-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-hero .meta{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-2)}.detail-hero .meta span{display:inline-flex;align-items:center;gap:6px;font-size:13px}.detail-hero .meta svg{color:var(--ink-3)}.kv-list{display:grid;grid-template-columns:1fr;gap:12px}.kv-item .kv-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);margin-bottom:3px}.kv-item .kv-value{color:var(--ink);word-break:break-word}.notes-box{background:#fafbfc;border:1px solid var(--line);border-radius:8px;padding:12px 14px;color:var(--ink-2);white-space:pre-wrap;line-height:1.55}.timeline{display:flex;flex-direction:column;gap:2px}.timeline-item{display:flex;gap:14px;padding:12px 4px;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:none}.timeline-rail{display:flex;flex-direction:column;align-items:center}.timeline-rail .timeline-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timeline-dot.note{background:#eceff2;color:#55616e}.timeline-dot.call{background:#209dd724;color:#17739c}.timeline-dot.email{background:#ecad0a29;color:#967005}.timeline-content{flex:1;min-width:0}.timeline-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.timeline-head .t-type{font-weight:700;font-size:13px;color:var(--ink);text-transform:capitalize}.timeline-head .t-time{font-size:12px;color:var(--ink-3)}.timeline-desc{color:var(--ink-2);white-space:pre-wrap;line-height:1.55}.timeline-task{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.timeline-task.overdue{color:var(--red)}.timeline-task.done-task{color:var(--ink-3);text-decoration:line-through}.task-check{width:17px;height:17px;border-radius:5px;border:2px solid #c3ccd6;display:inline-flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0}.task-check.checked{background:var(--green);border-color:var(--green);color:#fff}.pipeline{display:flex;gap:14px;align-items:stretch;height:calc(100vh - 150px);min-height:420px;padding-bottom:8px}.pipeline-column{flex:1 1 0;min-width:0;background:#eceef1;border-radius:10px;display:flex;flex-direction:column;max-height:100%}.pipeline-column.droppable{outline:2px dashed transparent;outline-offset:-2px}.pipeline-column.dragging-over{outline-color:var(--blue)}.pipeline-column-head{padding:11px 12px 9px;display:flex;flex-direction:column;gap:2px}.pipeline-column-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px}.pipeline-column-count{background:#dde2e8;color:#4a5561;border-radius:999px;font-size:11.5px;font-weight:700;padding:1px 8px}.pipeline-column-sub{font-size:12px;color:var(--ink-3);display:flex;justify-content:space-between;gap:8px}.pipeline-column-drops{overflow-y:auto;padding:6px 8px 8px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:60px}.deal-card{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:11px 12px;cursor:grab;box-shadow:0 1px 2px #171e260f;transition:box-shadow .12s ease,transform .12s ease}.deal-card:hover{box-shadow:0 3px 12px #171e261a}.deal-card.dragging{box-shadow:0 10px 26px #171e262e;transform:rotate(1.5deg)}.deal-card-name{font-weight:650;font-size:13.5px;color:var(--ink);margin-bottom:6px;line-height:1.3;word-break:break-word}.deal-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-3)}.deal-card-value{font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.deal-card-expected{font-size:11px;color:var(--purple);font-weight:600;font-variant-numeric:tabular-nums}.deal-card-org{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px}.kpi-card{padding:16px 18px;display:flex;flex-direction:column;gap:4px}.kpi-card .kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3)}.kpi-card .kpi-value{font-size:25px;font-weight:800;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.kpi-card .kpi-sub{font-size:12.5px;color:var(--ink-3)}.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.dash-card{padding:18px}.dash-card h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-3);margin-bottom:14px}.feed-item{display:flex;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line);align-items:flex-start}.feed-item:last-child{border-bottom:none}.feed-item .feed-body{min-width:0;flex:1}.feed-item .feed-desc{color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.feed-item .feed-meta{font-size:12px;color:var(--ink-3);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.task-list-item{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}.task-list-item:last-child{border-bottom:none}.task-list-item .task-label{flex:1;min-width:0;color:var(--ink-2);cursor:pointer}.task-list-item .task-label:hover{color:var(--blue);text-decoration:underline}.task-list-item .task-label .task-entity{display:block;font-size:12px;color:var(--ink-3)}.task-list-item .task-date{font-size:12px;font-weight:600;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.task-list-item .task-date.overdue{color:var(--red)}.pipeline-viz-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.pipeline-viz-stage{width:108px;font-size:13px;font-weight:600;color:var(--ink-2);flex-shrink:0;display:flex;align-items:center;gap:7px}.pipeline-viz-track{flex:1;height:14px;background:#eceff2;border-radius:999px;overflow:hidden}.pipeline-viz-fill{height:100%;border-radius:999px;min-width:2px;transition:width .25s ease}.pipeline-viz-fill.new{background:#a9b3bf}.pipeline-viz-fill.qualified{background:var(--blue)}.pipeline-viz-fill.proposal{background:var(--amber)}.pipeline-viz-fill.negotiation{background:var(--purple)}.pipeline-viz-fill.won{background:var(--green)}.pipeline-viz-fill.lost{background:#c3ccd6}.pipeline-viz-num{width:210px;text-align:right;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;flex-shrink:0;white-space:nowrap}.pipeline-viz-num strong{color:var(--ink-2)}.recharts-default-tooltip{border-radius:8px}.chart-legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink-3);margin-top:6px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend .swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.activity-type-row{display:flex;gap:8px}.activity-type{flex:1;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:13.5px;font-weight:600;color:var(--ink-3);cursor:pointer;font-family:inherit}.activity-type:hover{border-color:#c9d1da;color:var(--ink-2)}.activity-type.selected{border-color:var(--blue);background:#209dd712;color:var(--blue-dark);box-shadow:0 0 0 3px #209dd71f}.muted{color:var(--ink-3)}.overflow-ellipsis{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.dash-grid,.detail-grid{grid-template-columns:1fr}}
