:root{--bg:#f4f7f9;--panel:#ffffff;--panel-2:#eaf1f5;--border:#dbe5ec;--text:#102a36;--muted:#5b7280;--accent:#2f9bd6;--accent-soft:#dff1fb;--brand-dark:#0f4c63;--green:#1f9d55;--green-soft:#e2f5e9;--amber:#b97f10;--amber-soft:#fdf2dc;--radius:16px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.shell,body{min-height:100vh}.shell{display:flex}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.avatar.lg{width:44px;height:44px;font-size:22px}.avatar.xl{width:64px;height:64px;font-size:32px;margin:0 auto 16px}.sidebar{width:300px;background:var(--panel);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.brand{background:var(--brand-dark);border-radius:12px;padding:14px 16px;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.brand-logo{width:100%;max-width:220px;height:auto;display:block}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:8px 8px 6px;font-weight:600}.agent-card{text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:12px;cursor:pointer;color:var(--text);font:inherit;transition:background .15s,border-color .15s}.agent-card.active,.agent-card:hover{background:var(--panel-2)}.agent-name{font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.agent-title{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.agent-role{font-size:12px;color:var(--muted);font-weight:400;line-height:1.35}.status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;flex-shrink:0}.status.idle{background:var(--panel-2);color:var(--muted)}.status.working{background:var(--accent-soft);color:var(--accent);animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.55}}.sidebar-footer{margin-top:auto;font-size:12px;color:var(--muted);padding:8px}.main{flex:1 1;display:flex;flex-direction:column;max-height:100vh}.main-header{padding:18px 32px;border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between}.header-id,.main-header{display:flex;align-items:center}.header-id{gap:12px}.main-header h1{font-size:17px;letter-spacing:-.01em}.main-header .sub{font-size:13px;color:var(--muted);margin-top:2px;max-width:720px}.thread{flex:1 1;overflow-y:auto;padding:28px 32px;display:flex;flex-direction:column;gap:18px}.msg-row{display:flex;gap:10px;align-items:flex-start}.msg-row.user{justify-content:flex-end}.msg{max-width:760px;border-radius:var(--radius);padding:14px 18px;line-height:1.65;font-size:14px;white-space:pre-wrap}.msg.user{background:var(--brand-dark);color:#fff;border-bottom-right-radius:6px}.msg.agent{background:var(--panel);border:1px solid var(--border);border-top-left-radius:6px;width:100%;box-shadow:0 1px 2px rgba(16,42,54,.05)}.working-line{color:var(--accent);display:inline-flex;align-items:center;gap:8px;font-weight:600}.pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.6);opacity:.5}}.empty{margin:auto;text-align:center;color:var(--muted);max-width:520px}.empty h2{color:var(--text);margin-bottom:8px;font-size:22px;letter-spacing:-.02em}.starters{display:flex;flex-direction:column;gap:10px;margin-top:24px}.starter{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:14px 16px;cursor:pointer;font:inherit;font-size:13px;text-align:left;transition:border-color .15s,transform .1s;box-shadow:0 1px 2px rgba(16,42,54,.05)}.starter:hover{transform:translateY(-1px)}.composer{padding:16px 32px 24px;border-top:1px solid var(--border);background:var(--panel);display:flex;gap:12px;align-items:flex-end}.composer textarea{flex:1 1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:13px 16px;font:inherit;font-size:14px;resize:none;min-height:52px;max-height:200px}.composer textarea:focus{outline:none;border-color:var(--accent)}.btn{background:var(--brand-dark);color:#fff;border:none;border-radius:999px;padding:14px 28px;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s}.btn:hover:not(:disabled){background:var(--accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text);padding:10px 18px;font-weight:600}.connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));grid-gap:16px;gap:16px;align-content:start}.connector-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px rgba(16,42,54,.05);display:flex;flex-direction:column;gap:10px}.connector-head{display:flex;align-items:center;gap:10px}.connector-name{font-weight:700;font-size:15px;flex:1 1}.connector-desc{font-size:13px;color:var(--muted);line-height:1.5}.pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pill.green{background:var(--green-soft);color:var(--green)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.gray{background:var(--panel-2);color:var(--muted)}.dot-sm{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}.env-list{display:flex;flex-wrap:wrap;gap:6px}.env{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;padding:3px 8px;border-radius:6px;background:var(--panel-2);color:var(--muted)}.env.set{background:var(--green-soft);color:var(--green)}.connector-card details{font-size:13px}.connector-card summary{cursor:pointer;font-weight:600;color:var(--accent);list-style:none}.connector-card summary::-webkit-details-marker{display:none}.connector-card details[open] summary{margin-bottom:8px}.connector-card ol{padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--text)}.connector-note{margin-top:10px;font-size:12px;color:var(--muted)}.banner{border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.5}.banner.warn{background:var(--amber-soft);color:var(--amber);border:1px solid #f0dcae}.task-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(16,42,54,.05)}.task-form-title{font-weight:700;font-size:14px}.form-row{display:flex;gap:10px;flex-wrap:wrap}.form-row .text-input{flex:2 1;min-width:220px}.select-input,.text-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 14px;font:inherit;font-size:13px}.select-input:focus,.text-input:focus{outline:none;border-color:var(--accent)}textarea.text-input{resize:vertical;width:100%}.select-input{cursor:pointer}.task-group{gap:10px}.task-card,.task-group{display:flex;flex-direction:column}.task-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;gap:8px;box-shadow:0 1px 2px rgba(16,42,54,.05)}.task-card.disabled{opacity:.65}.task-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-name{font-weight:700;font-size:14px;flex:1 1;min-width:160px}.task-prompt{font-size:13px;color:var(--muted);line-height:1.55;white-space:pre-wrap}.task-meta{font-size:12px;color:var(--muted)}.task-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.btn.secondary.danger{color:#d23b2e;border-color:#f0c4bf}.btn.secondary.danger:hover:not(:disabled){background:#fdeceb}.file-breadcrumb{font-size:13px;color:var(--muted)}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:0}.link-btn:hover{text-decoration:underline}.file-list{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(16,42,54,.05)}.file-row{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border)}.file-row:last-child{border-bottom:none}.file-icon{font-size:16px}.file-name{flex:1 1;font-size:14px;font-weight:600;color:var(--text);text-align:left;text-decoration:none}a.file-name,button.file-name{color:var(--accent)}button.file-name{background:none;border:none;cursor:pointer;font:inherit}a.file-name:hover,button.file-name:hover{text-decoration:underline}.file-meta{font-size:12px;color:var(--muted);flex-shrink:0}.login-wrap{min-height:100vh;display:flex;flex-direction:column;gap:24px;align-items:center;justify-content:center;background:linear-gradient(160deg,#0b3a4c,#0f4c63 60%,#15607c)}.login-logo{width:260px;height:auto}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:40px;width:380px;display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 40px rgba(0,0,0,.25)}.login-card h1{font-size:20px;letter-spacing:-.02em}.login-card h1 span{color:var(--accent)}.login-card input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:13px;font:inherit}.login-card input:focus{outline:none;border-color:var(--accent)}.login-card .error{color:#d23b2e;font-size:13px}.subtabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid #e2e8f0;background:#fff}.subtab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;padding:12px 16px;font-size:14px;color:#64748b;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.subtab:hover{color:#0C3D5F}.subtab.active{color:#0C3D5F;border-bottom-color:#1DA1C2}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.kpi-val{font-size:24px;font-weight:700;color:#0C3D5F}.kpi-label{color:#64748b;margin-top:2px}.channels-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-channels{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.data-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.data-table th{text-align:left;padding:10px 12px;background:#f8fafc;color:#475569;font-size:12px;font-weight:600;border-bottom:1px solid #e2e8f0}.data-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#1e293b}.data-table tr:last-child td{border-bottom:none}.pill.green{background:#dcfce7;color:#166534}:root{--shadow-sm:0 1px 2px rgba(16,42,54,0.06),0 1px 1px rgba(16,42,54,0.04);--shadow-md:0 4px 12px -2px rgba(16,42,54,0.10),0 2px 6px -2px rgba(16,42,54,0.06);--shadow-lg:0 12px 28px -6px rgba(16,42,54,0.16),0 4px 10px -4px rgba(16,42,54,0.08);--ring:0 0 0 3px rgba(47,155,214,0.18);--ease:cubic-bezier(0.4,0,0.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.006em}.sidebar{box-shadow:var(--shadow-sm);background:linear-gradient(180deg,#ffffff,#fbfdfe)}.brand{box-shadow:0 2px 8px -2px rgba(15,76,99,.35)}.agent-card{transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease)}.agent-card:hover{box-shadow:var(--shadow-sm)}.agent-card.active{box-shadow:var(--shadow-md);border-color:var(--accent)}.main-header{box-shadow:var(--shadow-sm)}.main-header h1{font-size:18px;font-weight:700;letter-spacing:-.02em}.connector-card,.file-list,.kpi,.task-card,.task-form{box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease),transform .12s var(--ease),border-color .2s var(--ease)}.connector-card:hover,.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{transition:background .18s var(--ease),box-shadow .18s var(--ease),transform .08s var(--ease);box-shadow:0 1px 2px rgba(15,76,99,.18)}.btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{box-shadow:none}.btn.secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.composer textarea:focus,.login-card input:focus,.select-input:focus,.text-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.kpi{background:linear-gradient(180deg,#ffffff,#fafdff);border-radius:14px;padding:18px 18px 16px}.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-val{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--brand-dark);line-height:1.05}.kpi-label{font-size:12px;color:var(--muted);margin-top:4px;font-weight:600;letter-spacing:.01em}.kpi-row{gap:14px}.subtabs{gap:6px;border-bottom:1px solid var(--border);padding:0}.subtab{border-radius:10px 10px 0 0;padding:11px 18px;font-weight:600;transition:color .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}.subtab:hover{background:var(--accent-soft)}.subtab.active{color:var(--brand-dark);border-bottom-color:var(--accent);background:transparent}.data-table{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);border-collapse:separate;border-spacing:0}.data-table thead th{background:linear-gradient(180deg,#f3f8fb,#eaf1f5);text-transform:uppercase;font-size:11px;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:12px 16px;border-bottom:1px solid var(--border)}.data-table tbody td{padding:13px 16px;font-size:14px;border-bottom:1px solid #eef3f6}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s var(--ease)}.data-table tbody tr:hover{background:var(--accent-soft)}.thread h3{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--brand-dark);margin-top:22px;padding-bottom:2px}.pill{letter-spacing:.01em}.channels-row{gap:8px}.starter{transition:border-color .16s var(--ease),transform .1s var(--ease),box-shadow .16s var(--ease)}.starter:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.msg.agent{box-shadow:var(--shadow-sm)}.file-row{transition:background .12s var(--ease)}.file-row:hover{background:var(--accent-soft)}.banner{box-shadow:var(--shadow-sm);border:1px solid transparent}.banner:not(.warn){background:var(--accent-soft);color:var(--brand-dark);border-color:#cbe8f7}.thread{scroll-behavior:smooth}.thread::-webkit-scrollbar{width:10px}.thread::-webkit-scrollbar-thumb{background:#d3e0e8;border-radius:999px;border:2px solid var(--bg)}.thread::-webkit-scrollbar-thumb:hover{background:#bcd0db}