:root{--ink:#111827;--muted:#667085;--surface:#fff;--canvas:#eef2f7;--soft:#f3f6fb;--line:#e4e7ec;--line-strong:#cbd5e1;--accent:#2563eb;--success:#059669;--warning:#d97706;--danger:#dc2626;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #ffffffb8, #eef2f700 260px), var(--canvas);min-width:320px;margin:0}body,button,textarea,input{letter-spacing:0}button,textarea,input{font-size:14px}#root{min-height:100svh}.app-shell{min-height:100svh;color:var(--ink);background:#f8fafc}.legal-shell{min-height:100svh;color:var(--ink);background:#f8fafc;padding:32px 16px}.legal-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(860px,100%);margin:0 auto;padding:28px;box-shadow:0 12px 32px #1118270f}.legal-back{color:var(--accent);font-size:14px;font-weight:800;text-decoration:none}.legal-panel h1{margin:18px 0 4px;font-size:32px}.legal-panel h2{margin:24px 0 8px;font-size:18px}.legal-panel p{color:var(--muted);margin:0;line-height:1.65}.legal-date{font-size:13px}.topbar,.brand,.top-actions,.chip,.section-title,.button-grid,.step-meta,.run-actions,.step-head{align-items:center;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;gap:18px;padding:16px 22px;position:sticky;top:0}.brand{gap:12px}.brand-mark{color:#fff;background:#111827;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand h1,.brand p,.section-title h2,.message p,.step-item p,.fine-print{margin:0}.brand h1{font-size:20px;font-weight:800}.brand p,.fine-print{color:var(--muted);font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);white-space:nowrap;border-radius:999px;gap:6px;padding:0 10px;font-size:13px}.chat-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:16px;width:min(1440px,100%);margin:0 auto;padding:16px;display:grid}.app-footer{justify-content:center;gap:18px;padding:0 16px 22px;display:flex}.app-footer a{color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.chat-panel,.side-panel{min-height:calc(100svh - 92px)}.chat-panel{grid-template-rows:minmax(0,1fr) auto auto;gap:12px;min-width:0;display:grid}.chat-stream,.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px #1118270f}.chat-stream{flex-direction:column;gap:12px;min-height:520px;max-height:calc(100svh - 250px);padding:16px;display:flex;overflow:auto}.message{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(760px,92%);padding:12px 14px}.message.user{color:#fff;background:#1d4ed8;border-color:#1d4ed8;align-self:flex-end}.message.system{background:var(--soft);width:fit-content;max-width:92%;color:var(--muted);align-self:center}.message-role{opacity:.72;margin-bottom:5px;font-size:12px;font-weight:800}.message p{white-space:pre-wrap;line-height:1.55}.quick-row{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.quick-row button{flex:none;max-width:360px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;display:grid;box-shadow:0 12px 32px #1118270f}textarea,input{box-sizing:border-box;border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none}textarea{resize:vertical;min-height:62px;max-height:180px;padding:12px;line-height:1.5}input{min-height:42px;padding:0 11px}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb24}button{border:1px solid var(--line-strong);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:focus-visible{outline-offset:2px;outline:3px solid #2563eb38}button:disabled{cursor:not-allowed;color:var(--muted);background:var(--soft)}.primary-button,.send-button{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.primary-button:hover:not(:disabled),.send-button:hover:not(:disabled){color:#fff;background:#1e40af;border-color:#1e40af}.danger-button{color:#b91c1c;border-color:#fecaca}.danger-button:hover:not(:disabled){color:#991b1b;background:#fef2f2;border-color:#b91c1c}.icon-button{width:40px;padding:0}.side-panel{flex-direction:column;gap:12px;min-width:0;display:flex}.panel-card{padding:14px}.section-title{gap:8px;margin-bottom:12px}.section-title svg{color:var(--accent)}.section-title h2{font-size:16px;font-weight:800}.account-form,.connector-list,.step-list{gap:8px;display:grid}.button-grid{flex-wrap:wrap;gap:8px;margin-top:10px}.button-grid button{flex:130px}.account-card,.run-summary,.connector-item,.step-item{border:1px solid var(--line);background:#fff;border-radius:8px}.account-card,.run-summary{gap:5px;padding:10px;display:grid}.account-card span,.run-summary span,.connector-item span{color:var(--muted);font-size:13px}.account-card strong,.run-summary strong,.connector-item strong{overflow-wrap:anywhere}.connector-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.connector-item div{gap:3px;display:grid}.run-actions{gap:8px;margin:10px 0}.run-actions button{flex:1 1 0}.mini-button{min-height:30px;margin-left:auto;padding:0 8px;font-size:12px}.step-item{gap:8px;padding:12px;display:grid}.step-head{justify-content:space-between;gap:10px}.step-item p{color:var(--muted);line-height:1.45}.step-meta{flex-wrap:wrap;gap:8px}.step-meta span{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.status-pill{border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.good,.result-box.good{color:#047857;background:#ecfdf5}.status-pill.warn{color:#b45309;background:#fffbeb}.status-pill.bad,.result-box.bad{color:#b91c1c;background:#fef2f2}.status-pill.neutral{background:var(--soft);color:var(--muted)}.preview-box,.result-box{white-space:pre-wrap;border-radius:8px;padding:10px;font-size:13px;line-height:1.45}.preview-box{background:var(--soft);color:var(--ink)}.result-box{border:1px solid var(--line)}.audit-card .section-title{align-items:center}.audit-list{gap:8px;display:grid}.audit-item{border:1px solid var(--line);background:#fff;border-radius:8px;gap:5px;padding:10px;display:grid}.audit-head{justify-content:space-between;gap:10px;display:flex}.audit-head span,.audit-item p{color:var(--muted);font-size:12px}.audit-item p{overflow-wrap:anywhere}.audit-ok,.audit-bad{font-size:12px;font-weight:800}.audit-ok{color:#047857}.audit-bad{color:#b91c1c}.readiness-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.readiness-summary>span:not(.status-pill){color:var(--muted);font-size:12px;font-weight:700}.readiness-list{gap:8px;margin-top:10px;display:grid}.readiness-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px;display:grid}.readiness-item div{gap:2px;display:grid}.readiness-item span:not(.status-pill),.readiness-item p{color:var(--muted);font-size:12px}.readiness-item p{grid-column:1/-1;line-height:1.4}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.chat-layout{grid-template-columns:1fr}.chat-panel,.side-panel{min-height:auto}.chat-stream{min-height:420px;max-height:none}}@media (width<=640px){.topbar{flex-direction:column;align-items:flex-start;padding:14px}.top-actions{justify-content:flex-start}.chat-layout{padding:10px}.composer{grid-template-columns:1fr}.quick-row{flex-direction:column;overflow:visible}.quick-row button{white-space:normal;text-align:left;max-width:none}.message{width:100%}.connector-item{grid-template-columns:1fr}}
