:root{--paper: #fafaf7;--surface: #ffffff;--surface-soft: #f4f4ef;--surface-deep: #ececea;--surface-hover: rgba(29, 41, 57, .05);--ink: #0d0d0d;--ink-soft: #3d3d3d;--gray-700: #525252;--gray-600: #616161;--gray-500: #737373;--gray-400: #9b9b95;--gray-300: #c7c7c2;--gray-200: #ececec;--gray-100: #f4f4ef;--border: #ececec;--border-strong: #dadad4;--border-focus: rgba(61, 90, 74, .35);--sage: #111111;--sage-soft: rgba(17, 17, 17, .07);--sage-line: rgba(17, 17, 17, .16);--on-sage: #ffffff;--warning: #d97706;--warning-soft: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--info: #0ea5e9;--info-soft: rgba(14, 165, 233, .1);--positive: #15803d;--positive-soft: rgba(21, 128, 61, .1);--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(13, 13, 13, .04);--shadow-md: 0 4px 12px rgba(13, 13, 13, .06);--shadow-lg: 0 16px 40px rgba(13, 13, 13, .1);--font-body: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--tracking-tight: -.02em;--tracking-wide: .08em;--tracking-widest: .16em;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .22s;--sidebar-width: 232px}[data-theme=dark]{--paper: #161614;--surface: #1e1e1c;--surface-soft: #262624;--surface-deep: #30302d;--surface-hover: rgba(255, 255, 255, .05);--ink: #f2eee9;--ink-soft: #cfcac4;--gray-700: #b4afa8;--gray-600: #a09a93;--gray-500: #8b857e;--gray-400: #6f6a64;--gray-300: #4c4842;--gray-200: #33312e;--gray-100: #262624;--border: #302e2b;--border-strong: #423f3a;--sage: #ff6b00;--sage-soft: rgba(255, 107, 0, .14);--sage-line: rgba(255, 107, 0, .32);--on-sage: #17130f;--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--info: #38bdf8;--info-soft: rgba(56, 189, 248, .14);--positive: #4ade80;--positive-soft: rgba(74, 222, 128, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:var(--tracking-tight)}h1{font-size:34px}h2{font-size:22px}h3{font-size:16px}h4{font-size:14px}p{margin:0}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:0;height:0}:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px;border-radius:var(--radius-sm)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100%}.sidebar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-3);border-right:1px solid var(--border);background:var(--surface-soft);overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-3)}.brand-mark{width:26px;height:26px;border-radius:8px;background:var(--sage);color:var(--on-sage);display:grid;place-items:center;font-size:13px;font-weight:600;flex:none}.brand-name{font-size:13px;font-weight:600;letter-spacing:var(--tracking-tight)}.brand-sub{font-size:11px;color:var(--gray-500)}.nav-group-label{font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);padding:var(--space-3) var(--space-2) var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-2-5);width:100%;min-height:36px;padding:0 var(--space-2-5);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-soft);font-size:13px;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.nav-item:hover{background:var(--surface-hover)}.nav-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:500}.nav-count{margin-left:auto;font-size:11px;color:var(--gray-500);font-variant-numeric:tabular-nums}.nav-item.active .nav-count{color:var(--ink-soft)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--border)}.signature{font-size:10.5px;line-height:1.4;color:var(--gray-400);padding:0 var(--space-2-5);letter-spacing:.01em}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:var(--space-3);min-height:46px;padding:0 var(--space-6);border-bottom:1px solid var(--border);background:var(--paper)}.topbar-title{font-size:12px;color:var(--gray-500);letter-spacing:var(--tracking-wide);text-transform:uppercase}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.app-body{flex:1;overflow-y:auto;padding:var(--space-6)}.screen{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.surface.flush{padding:0;overflow:hidden}.surface.quiet{background:transparent;box-shadow:none}.panel-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);margin-bottom:var(--space-1)}.panel-detail{font-size:12.5px;color:var(--gray-500);margin-top:var(--space-1);max-width:62ch}.panel-action{margin-left:auto;display:flex;gap:var(--space-2);flex:none}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.button{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:32px;padding:0 var(--space-3-5, 14px);border-radius:var(--radius-pill);border:1px solid transparent;background:var(--sage);color:var(--on-sage);font-size:12.5px;font-weight:500;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.button:hover{opacity:.88}.button:disabled{opacity:.45;cursor:default}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.button.ghost{background:transparent;color:var(--ink-soft);border-color:transparent}.button.ghost:hover{background:var(--surface-hover)}.button.danger{background:transparent;color:var(--danger);border-color:var(--border-strong)}.button.tiny{min-height:26px;font-size:11.5px;padding:0 var(--space-2-5)}.icon-button{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--gray-500);cursor:pointer}.icon-button:hover{background:var(--surface-hover);color:var(--ink)}.icon-button.compact{width:24px;height:24px}.field{display:flex;flex-direction:column;gap:var(--space-1-5)}.field-label{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-500)}.input,.select{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);width:100%}.input::placeholder{color:var(--gray-400)}.input:focus,.select:focus{border-color:var(--border-focus);outline:none}.search{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--gray-500)}.search input{flex:1;border:0;background:transparent;outline:none;min-width:0}.list{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);background:transparent;border-left:0;border-right:0;border-top:0;text-align:left;cursor:pointer}.row:last-child{border-bottom:0}.row:hover .row-title{color:var(--info)}.row-main{min-width:0;flex:1}.row-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-side{display:flex;align-items:center;gap:var(--space-2);flex:none}.row-time{font-size:11px;color:var(--gray-400);font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2-5);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--gray-600);font-size:11px;white-space:nowrap}.pill.warning{background:var(--warning-soft);color:var(--warning)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.positive{background:var(--positive-soft);color:var(--positive)}.pill.accent{background:var(--sage-soft);color:var(--ink)}.pill.mono{font-family:var(--font-mono);font-size:10.5px}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.sourced{border-bottom:1px dotted var(--gray-400);cursor:help;position:relative}.sourced:focus-visible{outline:2px solid var(--border-focus)}.provenance-pop{position:absolute;z-index:1000;bottom:calc(100% + 8px);left:0;min-width:240px;max-width:340px;padding:var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:12px;color:var(--ink-soft);white-space:normal}.provenance-pop ul{margin:var(--space-1-5) 0 0;padding-left:var(--space-4)}.provenance-pop li{margin-bottom:var(--space-1)}.provenance-meta{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:11px;color:var(--gray-500)}.fact-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.fact-row:last-child{border-bottom:0}.fact-field{min-width:108px;font-size:12px;color:var(--gray-500);text-transform:capitalize}.fact-value{font-size:13px;color:var(--ink)}.suggestion{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.suggestion:last-child{border-bottom:0}.suggestion-body{flex:1;min-width:0}.suggestion-value{font-size:13px;font-weight:500}.suggestion-why{font-size:12px;color:var(--gray-500);margin-top:var(--space-1)}.metric{padding:var(--space-3-5, 14px) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.metric-label{font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-400)}.metric-value{font-size:22px;font-weight:500;margin-top:var(--space-1);font-variant-numeric:tabular-nums}.metric-value.warning{color:var(--warning)}.metric-value.positive{color:var(--positive)}.sheet-head{display:flex;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.sheet-id h3{font-size:18px}.sheet-id p{font-size:12.5px;color:var(--gray-500);margin-top:2px}.section{margin-top:var(--space-5)}.section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);margin-bottom:var(--space-2)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.timeline li:last-child{border-bottom:0}.timeline-kind{width:58px;flex:none;font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-400)}.timeline-title{flex:1;min-width:0;font-size:13px}.timeline-detail{font-size:12px;color:var(--gray-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.timeline-time{flex:none;font-size:11px;color:var(--gray-400);font-variant-numeric:tabular-nums}.code{position:relative;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);font-family:var(--font-mono);font-size:11.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft)}.code-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1-5)}.code-title{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-400)}.code-head .button{margin-left:auto}.md{font-size:13.5px;line-height:1.6}.md h1{font-size:18px;margin-bottom:var(--space-2)}.md h2{font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);margin:var(--space-4) 0 var(--space-2)}.md ul{margin:0;padding-left:var(--space-5)}.md li{margin-bottom:var(--space-1)}.md code{font-family:var(--font-mono);font-size:12px;background:var(--surface-soft);padding:1px 4px;border-radius:4px}.empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-5);text-align:center;color:var(--gray-500)}.empty-title{font-size:14px;color:var(--ink);font-weight:500;margin-bottom:var(--space-1)}.empty-body{font-size:13px;max-width:46ch;margin:0 auto var(--space-3)}.error-card{border:1px solid var(--border-strong);border-left:3px solid var(--danger);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface)}.error-card h4{margin-bottom:var(--space-1)}.error-card p{font-size:13px;color:var(--gray-500);margin-bottom:var(--space-3)}.spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--gray-500);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-line{display:flex;align-items:center;gap:var(--space-2);color:var(--gray-500);font-size:13px;padding:var(--space-4) 0}.toast{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:12000;max-width:380px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-lg);font-size:13px}.toast.error{border-left:3px solid var(--danger)}.toast.ok{border-left:3px solid var(--positive)}.banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--warning-soft);color:var(--ink);font-size:12.5px}.banner.info{background:var(--info-soft)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:var(--space-6)}.login-card{width:100%;max-width:380px;padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-card h1{font-size:22px;margin-bottom:var(--space-2)}.login-card p{font-size:13px;color:var(--gray-500);margin-bottom:var(--space-5)}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:var(--space-2);border-right:0;border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3);overflow-x:auto}.sidebar .nav-group-label,.sidebar .brand-sub,.sidebar-foot{display:none}.nav-item{width:auto;white-space:nowrap}.app-body{padding:var(--space-4)}.grid-2{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.avatar{display:grid;place-items:center;flex:none;border-radius:50%;font-weight:600;letter-spacing:.02em;color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,var(--surface-soft));-webkit-user-select:none;user-select:none}.avatar.sm{width:26px;height:26px;font-size:10px}.avatar.md{width:34px;height:34px;font-size:12px}.avatar.lg{width:52px;height:52px;font-size:17px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-soft) 0%,var(--surface-deep) 50%,var(--surface-soft) 100%);background-size:200% 100%;animation:shimmer 1.4s var(--ease-out) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.skeleton-circle{width:34px;height:34px;border-radius:50%}.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .search{flex:1;min-width:220px}.segmented{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);gap:2px}.segmented button{min-height:26px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--gray-600);font-size:12px;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:500}.chip-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:var(--space-1-5);height:26px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--gray-600);font-size:12px;cursor:pointer}.chip[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:var(--on-sage)}.chip .count{color:var(--gray-400);font-variant-numeric:tabular-nums}.chip[aria-pressed=true] .count{color:var(--on-sage);opacity:.7}.person-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-2);border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.person-row:hover{background:var(--surface-hover)}.person-row.open{background:var(--surface-soft);border-bottom-color:transparent}.person-row .caret{color:var(--gray-400);transition:transform var(--duration-fast) var(--ease-out);flex:none}.person-row.open .caret{transform:rotate(90deg)}.person-row-main{min-width:0;flex:1}.person-row-name{display:flex;align-items:center;gap:var(--space-2);font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-row-meta{font-size:12px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-expand{padding:var(--space-4) var(--space-3) var(--space-5) 54px;border-bottom:1px solid var(--border);background:var(--surface-soft);animation:reveal var(--duration-base) var(--ease-out)}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.person-expand .cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-5)}.expand-label{font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);margin-bottom:var(--space-2)}.expand-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.stage{display:inline-flex;align-items:center;gap:var(--space-1-5);height:22px;padding:0 var(--space-2-5);border-radius:var(--radius-pill);background:var(--surface-soft);border:1px solid var(--border);color:var(--gray-700);font-size:11px;white-space:nowrap}.stage .dot{background:var(--gray-400)}.stage[data-stage=Ready] .dot,.stage[data-stage=Replied] .dot,.stage[data-stage=Won] .dot{background:var(--positive)}.stage[data-stage=Contacted] .dot,.stage[data-stage=Meeting] .dot{background:var(--info)}.stage[data-stage=Proposal] .dot{background:var(--warning)}.stage[data-stage="On hold"] .dot,.stage[data-stage=Excluded] .dot{background:var(--danger)}select.stage-select{min-height:30px;padding:0 var(--space-2-5);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:12px}.board-wrap{overflow-x:auto;padding-bottom:var(--space-3)}.board{display:flex;gap:var(--space-3);align-items:flex-start;min-height:420px}.column{width:268px;flex:none;display:flex;flex-direction:column;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);max-height:calc(100vh - 260px);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.column.dropping{border-color:var(--sage-line);background:var(--sage-soft)}.column-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border)}.column-name{font-size:12.5px;font-weight:600;flex:1}.column-count{font-size:11px;color:var(--gray-500);font-variant-numeric:tabular-nums}.column-body{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;min-height:90px}.card{display:block;width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left;cursor:grab;transition:box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md)}.card.dragging{opacity:.45;transform:scale(.98)}.card-top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1-5)}.card-name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:11.5px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:10.5px;color:var(--gray-400)}.column-more{font-size:11.5px;color:var(--gray-500);text-align:center;padding:var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.column-empty{font-size:11.5px;color:var(--gray-400);text-align:center;padding:var(--space-5) var(--space-2);border:1px dashed var(--border);border-radius:var(--radius-sm)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0d0d0d47;animation:fade var(--duration-base) var(--ease-out)}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:9001;width:min(620px,100vw);display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:slide-in var(--duration-base) var(--ease-out)}@keyframes slide-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}.drawer-head h2{font-size:19px}.drawer-head p{font-size:12.5px;color:var(--gray-500);margin-top:2px}.drawer-body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);display:flex;gap:var(--space-2);align-items:center;background:var(--surface)}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.tabs button{border:0;background:transparent;padding:var(--space-2) 0;color:var(--gray-500);font-size:12.5px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--sage);font-weight:500}.action-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.quick-link{display:inline-flex;align-items:center;gap:var(--space-1-5);height:28px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-soft);font-size:12px;text-decoration:none}.quick-link:hover{border-color:var(--gray-300);text-decoration:none;background:var(--surface-hover)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0d0d0d52;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fade var(--duration-fast) var(--ease-out)}.palette{width:min(560px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.palette input{width:100%;border:0;border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5);font-size:14px;background:transparent;outline:none}.palette-list{max-height:340px;overflow-y:auto;padding:var(--space-2)}.palette-group{font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--gray-400);padding:var(--space-2) var(--space-3) var(--space-1)}.palette-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer}.palette-item[aria-selected=true]{background:var(--surface-soft)}.palette-item .label{flex:1;font-size:13px}.palette-item .hint{font-size:11px;color:var(--gray-400)}.palette-foot{border-top:1px solid var(--border);padding:var(--space-2) var(--space-4);font-size:11px;color:var(--gray-400);display:flex;gap:var(--space-4)}kbd{font-family:var(--font-mono);font-size:10.5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;padding:1px 5px;background:var(--surface-soft);color:var(--gray-600)}@media (max-width: 900px){.person-expand .cols{grid-template-columns:minmax(0,1fr)}.drawer{width:100vw}}.chat-shell{display:grid;grid-template-columns:248px minmax(0,1fr);gap:var(--space-4);align-items:start}.chat-rail{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);max-height:calc(100vh - 148px);overflow-y:auto}.chat-new{width:100%;justify-content:center}.chat-rail-empty{font-size:12px;color:var(--gray-400);padding:var(--space-2);line-height:1.5}.chat-threads{display:flex;flex-direction:column;gap:2px}.chat-thread{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2-5);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer}.chat-thread:hover{background:var(--surface-hover)}.chat-thread.active{background:var(--surface);border-color:var(--border)}.chat-thread-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.chat-thread-title{font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-meta{font-size:11px;color:var(--gray-400)}.chat-thread-delete{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.chat-thread:hover .chat-thread-delete,.chat-thread-delete.confirming{opacity:1}.chat-confirm{font-size:10px;color:var(--danger)}.chat-main{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);height:calc(100vh - 148px);overflow:hidden}.chat-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.chat-head>div:first-child{flex:1;min-width:0}.chat-title{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sub{font-size:11.5px;color:var(--gray-400)}.chat-scroll{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.msg-user{align-self:flex-end;max-width:74%}.msg-user-body{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:13.5px;line-height:1.55;white-space:pre-wrap}.msg-ai{display:flex;flex-direction:column;gap:var(--space-2)}.msg-ai.failed .msg-body{color:var(--danger)}.msg-ai-head{display:flex;align-items:center;gap:var(--space-2);font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-400)}.msg-body{font-size:13.5px;line-height:1.65;color:var(--ink-soft)}.msg-body .md{margin:0}.msg-body.thinking{color:var(--gray-400)}.think-line{font-size:13px;animation:think-pulse 1.6s ease-in-out infinite}@keyframes think-pulse{0%,to{opacity:.45}50%{opacity:1}}.caret{display:inline-block;width:7px;height:13px;margin-left:3px;background:var(--sage);vertical-align:text-bottom;animation:caret-blink 1s steps(2,start) infinite}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}.msg-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.msg-spacer{flex:1}.chat-empty{display:flex;flex-direction:column;gap:var(--space-4);margin:auto 0}.chat-empty-card{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.chat-empty-mark{width:30px;height:30px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--border);color:var(--gray-600)}.chat-empty-card h3{font-size:15px}.chat-empty-card p{font-size:12.5px;color:var(--gray-500);line-height:1.6;max-width:62ch}.chat-starters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2)}.starter{text-align:left;font-size:12.5px;color:var(--gray-600);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;line-height:1.45;font-family:var(--font-body);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.starter:hover{border-color:var(--border-strong);background:var(--surface-soft)}.composer{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface)}.composer-pin{align-self:flex-start;font-size:11px;color:var(--gray-500)}.composer-input{width:100%;resize:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-family:var(--font-body);font-size:13.5px;line-height:1.5;background:var(--surface-soft);color:var(--ink);min-height:40px;max-height:200px}.composer-input:focus{outline:none;border-color:var(--border-focus)}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.composer-hint{font-size:11px;color:var(--gray-400)}.conn-summary{margin-top:var(--space-4)}.accounts-panel{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.toolkit{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3-5, 14px) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.toolkit-head{display:flex;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.toolkit-head>div:first-child{flex:1;min-width:200px}.toolkit-head h3{font-size:14px}.toolkit-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.account-list{display:flex;flex-direction:column}.account-row{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:12.5px;flex-wrap:wrap}.account-toggle{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:10.5px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-400);cursor:pointer}.account-toggle input{accent-color:var(--sage);cursor:pointer}.account-label{font-family:var(--font-mono);font-size:12px;color:var(--ink)}.account-spacer{flex:1}.account-check{color:var(--positive)}.connect-waiting{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:11px;color:var(--gray-400)}.conn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.conn-card{display:flex;flex-direction:column;gap:var(--space-3)}.conn-card.ai{background:var(--surface-soft)}.conn-card-head{display:flex;align-items:center;gap:var(--space-3)}.conn-card-head h3{flex:1;font-size:14px}.conn-detail{font-size:12.5px;color:var(--gray-500);line-height:1.55}.freshness{display:flex;flex-direction:column;gap:var(--space-1-5)}.freshness-track{position:relative;height:6px;border-radius:var(--radius-pill);background:var(--surface-deep);overflow:hidden}.freshness-bar{display:block;height:100%;background:var(--positive);border-radius:var(--radius-pill);transition:width var(--duration-base) var(--ease-out)}.freshness-bar.stale{background:var(--warning)}.freshness-threshold{position:absolute;left:21.4%;top:0;bottom:0;width:2px;background:var(--border-strong)}.freshness-label{font-size:11px;color:var(--gray-400)}.conn-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.conn-note{display:flex;align-items:flex-start;gap:var(--space-1-5);font-size:11.5px;color:var(--gray-400);line-height:1.5}.sync-timeline{display:flex;flex-direction:column;margin-top:var(--space-3)}.sync-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:12px}.sync-row:last-child{border-bottom:0}.sync-when{font-variant-numeric:tabular-nums;color:var(--gray-400);min-width:118px}.sync-source{font-family:var(--font-mono);font-size:11.5px;color:var(--ink);min-width:104px}.sync-detail{color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:12.5px}.table th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-500);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--ink-soft);font-variant-numeric:tabular-nums}.table tr:last-child td{border-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--gray-500)}.form-grid input,.form-grid select{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);width:100%;font-size:13px;text-transform:none;letter-spacing:normal}.form-grid input:focus,.form-grid select:focus{border-color:var(--border-focus);outline:none}.form-grid label.checkbox{flex-direction:row;align-items:center;gap:var(--space-2);text-transform:none;letter-spacing:normal;font-size:12.5px;color:var(--ink-soft)}.form-grid label.checkbox input{width:auto;min-height:0}.link-row{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:0;border-bottom:1px solid var(--border);padding:var(--space-2) 0;text-align:left;cursor:pointer;font:inherit;color:inherit}.link-row:last-child{border-bottom:0}.link-row:hover{background:var(--surface-hover)}.link-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-row-title{font-size:13px;color:var(--ink)}.link-row-meta{font-size:11.5px;color:var(--gray-500)}@media (max-width: 900px){.chat-shell{grid-template-columns:minmax(0,1fr)}.chat-rail{position:static;max-height:none}.chat-main{height:auto;min-height:70vh}.msg-user{max-width:88%}.sync-when,.sync-source{min-width:0}}@media (prefers-reduced-motion: reduce){.caret,.think-line{animation:none}}
