@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--surface:#fff;--surface-2:#f5f5f7;--line:#ececef;--line-2:#e0e0e5;--ink:#0a0a0a;--ink-2:#404048;--ink-3:#6b6b78;--ink-4:#9a9aa6;--brand:#4338ca;--green:#059669;--amber:#d97706;--red:#dc2626;--blue:#2563eb;--purple:#7c3aed;--teal:#0d9488;--crimson:#dc2626;--crimson-2:#b91c1c;--crimson-3:#991b1b;--crimson-soft:#fef2f2;--crimson-glow:#dc262638;--accent:#dc2626;--accent-glow:#dc26264d;--navy:#0b1220;--slate:#475569;--line-dark:#0f172a1a;--sidebar-w:240px;--topbar-h:52px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 20px 40px #00000014;--shadow-xl:0 30px 60px #0000001f}html,body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:0}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#d4d4dc;border-radius:4px}::-webkit-scrollbar-track{background:0 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulseAnim{0%,to{opacity:.35;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}@keyframes blink{50%{opacity:0}}@keyframes orb{0%{filter:hue-rotate();transform:rotate(0)}to{filter:hue-rotate(360deg);transform:rotate(360deg)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes marqueeX{0%{transform:translate(0)}to{transform:translate(calc(-50% - 8px))}}@keyframes specIdle{0%,to{height:6px}50%{height:12px}}@keyframes specSpeak{0%,to{height:6px}30%{height:22px}60%{height:14px}80%{height:20px}}.fade-in{animation:.35s both fadeIn}.slide-in{animation:.25s both slideIn}.float{animation:8s ease-in-out infinite floatY}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.surface-2{background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#1a1a1a;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover,.btn-light{background:var(--surface-2);color:var(--ink)}.btn-light:hover{background:var(--line)}.btn-crimson{color:#fff;box-shadow:0 8px 24px var(--crimson-glow);background:linear-gradient(135deg,#ef4444 0%,#dc2626 50%,#b91c1c 100%);font-weight:600}.btn-crimson:hover{box-shadow:0 14px 32px var(--crimson-glow);transform:translateY(-1px)}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.chip-green{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.chip-amber{color:#b45309;background:#fffbeb;border-color:#fde68a}.chip-red{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.chip-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.chip-purple{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.chip-teal{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.chip-crimson{background:var(--crimson-soft);color:var(--crimson-2);border-color:#fecaca}.bar{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.bar-fill{border-radius:999px;height:100%;transition:width .4s}.bar-green{background:var(--green)}.bar-amber{background:var(--amber)}.bar-red{background:var(--red)}.bar-blue{background:var(--blue)}.bar-brand{background:var(--brand)}.avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-sm{width:28px;height:28px;font-size:10px}.avatar-md{width:36px;height:36px;font-size:12px}.avatar-lg{width:56px;height:56px;font-size:18px}.kpi{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);padding:16px;transition:all .15s}.kpi:hover{border-color:var(--line-2);box-shadow:var(--shadow-md);transform:translateY(-1px)}.input{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface);outline:none;width:100%;padding:9px 12px;font-size:13px;transition:border-color .15s}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a0f}.row-hover{cursor:pointer;border-radius:10px;transition:background .12s}.row-hover:hover{background:var(--surface-2)}.pulse{background:var(--green);border-radius:999px;width:6px;height:6px;display:inline-block;position:relative}.pulse:after{content:"";background:var(--green);opacity:.35;border-radius:999px;animation:1.6s infinite pulseAnim;position:absolute;inset:-3px}.toast{background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;animation:.25s both fadeIn;display:inline-flex;box-shadow:0 10px 30px #0000002e}.toast-success{background:var(--green)}.toast-warn{background:var(--amber)}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);height:var(--topbar-h);background:#ffffffeb;align-items:center;gap:12px;padding:0 24px;display:flex;position:sticky;top:0}.drawer-overlay{z-index:50;display:flex;position:fixed;inset:0}.drawer-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000052;flex:1}.drawer-panel{border-left:1px solid var(--line);background:#fff;width:100%;max-width:520px;animation:.25s both slideIn;overflow-y:auto}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000005c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:520px;box-shadow:var(--shadow-xl);background:#fff;border-radius:18px;animation:.2s both fadeIn}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px 20px;display:flex}.jarvis-bar{z-index:40;color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a0a0a,#1e293b,#312e81);border-radius:999px;align-items:center;gap:10px;max-width:360px;padding:10px 16px 10px 12px;transition:all .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #00000040}.jarvis-bar:hover{transform:translateY(-2px)}.jarvis-orb{background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);border-radius:999px;flex-shrink:0;width:28px;height:28px;animation:3s linear infinite orb}.jarvis-panel{z-index:41;border:1px solid var(--line);background:#fff;border-radius:16px;width:380px;max-width:calc(100vw - 32px);animation:.2s fadeIn;position:fixed;bottom:80px;right:24px;overflow:hidden;box-shadow:0 20px 50px #0000002e}.jarvis-panel-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.jarvis-feed{max-height:380px;padding:10px;overflow-y:auto}.jarvis-row{border-radius:10px;align-items:flex-start;gap:8px;padding:10px;display:flex}.jarvis-row:hover{background:var(--surface-2)}.jarvis-input-row{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px;display:flex}.spectrum{align-items:flex-end;gap:3px;height:24px;display:inline-flex}.spectrum-bar{background:linear-gradient(#fca5a5,#dc2626);border-radius:2px;width:3px;height:8px}.spectrum.speaking .spectrum-bar{background:linear-gradient(#c084fc,#818cf8,#38bdf8);animation:.55s ease-in-out infinite specSpeak}.spectrum-bar:first-child{animation-delay:0s}.spectrum-bar:nth-child(2){animation-delay:80ms}.spectrum-bar:nth-child(3){animation-delay:.16s}.spectrum-bar:nth-child(4){animation-delay:.24s}.spectrum-bar:nth-child(5){animation-delay:.32s}.bg-hero{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#312e81 50%,#4338ca 100%)}.bg-grad{background:linear-gradient(135deg,#fafbff 0%,#f3f4ff 50%,#fef7ff 100%)}.nav-item{border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;transition:all .12s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--ink);color:#fff}.nav-badge{background:var(--red);color:#fff;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.nav-item.active .nav-badge{background:#ffffff40}.biz-switcher{border-bottom:1px solid var(--line);padding:12px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--surface-2);padding:10px 12px;font-size:11px;font-weight:600}td{border-top:1px solid var(--line);padding:12px}tr:hover td{background:var(--surface-2)}.checkbox{border:1.5px solid var(--line-2);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .12s;display:inline-flex}.checkbox.checked{background:var(--ink);border-color:var(--ink);color:#fff}.tree-line{border-left:2px dashed var(--line-2);margin-left:14px;padding-left:16px}.wf-drop{border:2px dashed #0000;border-radius:8px;height:18px;transition:all .12s}.wf-drop.over{border-color:var(--crimson);background:var(--crimson-soft);height:36px}@media (width<=900px){.hide-md{display:none!important}}input[type=range]{cursor:pointer;border-radius:999px;height:4px}input[type=range]::-webkit-slider-thumb{cursor:pointer;border:2px solid #fff;border-radius:999px;width:16px;height:16px;box-shadow:0 1px 4px #0003}.goal-card{cursor:pointer;transition:all .15s}.goal-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.goal-meta-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.goal-meta-item{flex-direction:column;gap:4px;display:flex}.goal-meta-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.goal-meta-value{color:var(--ink);font-size:14px;font-weight:600}.goal-children-list{flex-direction:column;gap:8px;display:flex}.goal-child-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:all .12s;display:flex}.goal-child-card:hover{border-color:var(--line-2);background:var(--surface-2)}.status-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.status-dot.on-track{background:var(--green)}.status-dot.at-risk{background:var(--amber)}.status-dot.off-track{background:var(--red)}.detail-back-btn{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:500;display:inline-flex}.detail-back-btn:hover{color:var(--ink)}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:var(--ink-2);font-size:12px;font-weight:600}.modal-body-scroll{max-height:60vh;padding:20px 24px;overflow-y:auto}.connector-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:all .15s;overflow:hidden}.connector-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.connector-header{cursor:pointer;align-items:center;gap:12px;padding:16px;display:flex}.connector-icon{background:var(--surface-2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.connector-info{flex:1;min-width:0}.connector-name{margin-bottom:2px;font-size:14px;font-weight:600}.connector-meta{color:var(--ink-3);font-size:12px}.connector-expanded{border-top:1px solid var(--line);background:var(--surface-2);padding:16px 20px}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-bottom:10px;font-size:12px;font-weight:600}.mapping-row{border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.mapping-row:hover{background:var(--surface)}.mapping-row .arrow{color:var(--ink-4);font-size:16px}.sync-job-row{grid-template-columns:1fr 100px 140px 60px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.sync-job-row:hover{background:var(--surface)}.provider-pill{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.ai-layout{height:calc(100vh - var(--topbar-h) - 40px);gap:16px;display:flex}.ai-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.ai-sidebar-header{border-bottom:1px solid var(--line);padding:16px}.ai-conv-list{flex:1;padding:8px;overflow-y:auto}.ai-conv-item{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:10px;font-size:13px;transition:background .12s;display:flex}.ai-conv-item:hover{background:var(--surface-2)}.ai-conv-item.active{background:var(--ink);color:#fff}.ai-conv-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.ai-conv-count{color:var(--ink-4);flex-shrink:0;font-size:11px}.ai-conv-item.active .ai-conv-count{color:#ffffff80}.ai-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.ai-context-info{color:var(--ink-3);gap:16px;font-size:12px;display:flex}.ai-context-info span{align-items:center;gap:4px;display:flex}.ai-context-info strong{color:var(--ink)}.ai-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.ai-message{gap:10px;max-width:80%;display:flex}.ai-message.user{flex-direction:row-reverse;align-self:flex-end}.ai-message.assistant{align-self:flex-start}.ai-message-avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.ai-message-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.5}.ai-message.user .ai-message-bubble{background:var(--ink);color:#fff;border-bottom-right-radius:4px}.ai-message.assistant .ai-message-bubble{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:4px}.ai-message-time{color:var(--ink-4);text-align:right;margin-top:4px;font-size:10px}.ai-message.assistant .ai-message-time{text-align:left}.ai-input-bar{border-top:1px solid var(--line);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.ai-input-bar textarea{resize:none;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface);outline:none;flex:1;min-height:40px;max-height:120px;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.ai-input-bar textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0a0a0a0f}.ai-loading{color:var(--ink-3);align-items:center;gap:8px;padding:8px 0 8px 42px;font-size:13px;display:flex}.ai-loading-dots{gap:4px;display:flex}.ai-loading-dots span{background:var(--ink-3);border-radius:999px;width:6px;height:6px;animation:1.4s infinite pulseAnim}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}.ai-empty-state{color:var(--ink-3);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.ai-empty-state-icon{background:var(--surface-2);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;font-size:28px;display:flex}.ai-empty-state h3{color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:600}.ai-empty-state p{max-width:360px;font-size:13px}
