@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#10131b;--panel:#171c27;--panel2:#1c2330;--line:#2a3343;--text:#eef2f8;--muted:#8994a7;--cyan:#72e0d1;--purple:#a99bff;--orange:#ffbd76}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0%,#20243a 0,transparent 38%),var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;min-height:100vh;background:#111620}.brand{display:flex;align-items:center;gap:12px;margin:4px 0 58px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#8b7cff,#54d6c6);color:#10131b;font-size:25px}.brand b{display:block;letter-spacing:2px;font-size:13px}.brand small,.nav-label,.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--muted)}.nav-label{margin:0 0 14px 10px}.nav{display:flex;gap:13px;padding:13px 12px;margin:3px 0;color:#9ca7b8;text-decoration:none;border-radius:10px;font-size:14px}.nav.active,.nav:hover{background:#222b39;color:var(--cyan)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 4px 0;color:var(--muted);font-size:11px}.sidebar-bottom small{float:right}.dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);margin-right:7px;box-shadow:0 0 12px #72e0d188}.main{max-width:1500px;width:100%;padding:34px 4.5vw 24px;margin:auto}.topbar,.top-right,.panel-head,.toggle-row{display:flex;align-items:center;justify-content:space-between}.topbar{margin-bottom:28px}h1{font-size:27px;margin:7px 0 0;letter-spacing:-1px}.top-right{gap:18px}.secure,.tag{font:10px 'DM Mono',monospace;letter-spacing:1px;border:1px solid #34514f;color:var(--cyan);padding:7px 10px;border-radius:30px}.avatar{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--purple);font:12px 'DM Mono'}.welcome{position:relative;overflow:hidden;padding:34px 38px;border:1px solid #343c58;border-radius:17px;background:linear-gradient(110deg,#242b43,#1b2632 70%,#183338);margin-bottom:18px}.welcome h2{font-size:30px;margin:10px 0 6px;letter-spacing:-1px}.welcome p{color:#aab5c6;margin:0;font-size:13px}.hero-symbol{position:absolute;right:8%;top:4px;font-size:115px;color:#72e0d122}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stat,.panel{border:1px solid var(--line);background:linear-gradient(145deg,#1a202c,#151a24);border-radius:14px}.stat{padding:17px 18px}.stat span{display:block;font:9px 'DM Mono';letter-spacing:1.2px;color:var(--muted)}.stat strong{display:block;font-size:23px;margin:11px 0 4px}.stat small,.hint{font-size:11px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:14px}.panel{padding:21px}.panel-head{margin-bottom:18px}.panel-head h3{font-size:18px;margin:5px 0 0}.tag{font-size:9px;padding:6px 9px}.tag.warning{color:var(--orange);border-color:#66513b}.task-form{display:flex;gap:8px}.task-form input{flex:1;min-width:0;background:#10151e;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--text);font:12px Manrope;outline:none}.task-form input:focus{border-color:var(--cyan)}button{border:0;border-radius:9px;background:var(--cyan);color:#101b20;font:700 12px Manrope;padding:0 16px;cursor:pointer}button:hover{filter:brightness(1.08)}.task-list{list-style:none;padding:0;margin:14px 0 0}.task-item{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #293140;font-size:12px}.task-item span{flex:1;overflow-wrap:anywhere}.task-item.done span{text-decoration:line-through;color:var(--muted)}.task-item input{accent-color:var(--cyan)}.delete{background:transparent;color:#9aa5b6;padding:4px 8px;font-size:17px}.empty{padding:25px 0;text-align:center;color:var(--muted);font-size:12px}.mode-card{display:flex;gap:13px;align-items:center;background:#111722;border:1px solid var(--line);border-radius:11px;padding:16px}.mode-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#292b45;color:var(--purple);font-size:21px}.mode-card b{font-size:12px}.mode-card p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.5}.toggle-row{margin-top:20px;font-size:12px}.toggle-row input{position:absolute;opacity:0}.switch{width:38px;height:21px;border-radius:30px;background:#394252;position:relative;cursor:pointer}.switch:after{content:'';position:absolute;width:15px;height:15px;left:3px;top:3px;background:#aab4c4;border-radius:50%;transition:.2s}.toggle-row input:checked+.switch{background:#347e78}.toggle-row input:checked+.switch:after{transform:translateX(17px);background:white}.hint{line-height:1.5;margin-top:12px}.activity-panel{margin-bottom:30px}.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 12px}.activity-list{display:grid;gap:0}.log-entry{display:flex;align-items:flex-start;gap:12px;padding:12px 2px;border-top:1px solid #293140}.log-dot{width:7px;height:7px;border-radius:50%;background:var(--purple);margin-top:5px}.log-entry div{flex:1}.log-entry b{font-size:11px}.log-entry small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.log-entry time{font:9px 'DM Mono';color:var(--muted)}footer{font:9px 'DM Mono';letter-spacing:1px;color:#657084;display:flex;justify-content:space-between}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0}.nav-label,.nav,.sidebar-bottom{display:none}.main{padding:24px 18px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}
@media(max-width:480px){.welcome{padding:25px 22px}.welcome h2{font-size:24px}.hero-symbol{right:0;font-size:80px}.topbar h1{font-size:22px}.secure{display:none}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:19px}.task-form{flex-direction:column}.task-form button{padding:12px}}

.connection-panel { margin: 0 0 22px; }
.agent-state { border:1px solid var(--line,rgba(255,255,255,.15)); border-radius:999px; padding:7px 12px; font-size:12px; }
.agent-state.online { color:#65e6c0; border-color:rgba(101,230,192,.45); }
.agent-state.offline { color:#ffb4a8; }
.connection-panel .task-form { max-width:620px; }
.connection-panel input { flex:1; min-width:180px; }

.chat-panel { margin: 22px 0; }
.chat-form { display:flex; flex-direction:column; gap:10px; }
.chat-form textarea { width:100%; resize:vertical; min-height:78px; }
.chat-form button { align-self:flex-end; }
.chat-output { margin-top:14px; padding:14px; border:1px solid var(--line,rgba(255,255,255,.14)); border-radius:14px; white-space:pre-wrap; overflow-wrap:anywhere; min-height:48px; color:var(--muted,#b9c0d0); }
.remote-task-status { opacity:.7; font-size:11px; }
.task-item button:disabled { opacity:.3; cursor:not-allowed; }


.developer-panel { margin: 22px 0; }
.dev-form { display:flex; flex-direction:column; gap:10px; }
.dev-form textarea { width:100%; min-height:82px; resize:vertical; background:#10151e; border:1px solid var(--line); border-radius:9px; padding:12px; color:var(--text); font:12px Manrope; }
.dev-form button, #dev-approve { align-self:flex-start; min-height:38px; }
.dev-plan-output { margin:14px 0; padding:14px; border:1px solid var(--line); border-radius:12px; background:#111722; white-space:pre-wrap; overflow-wrap:anywhere; min-height:52px; font-size:12px; line-height:1.6; color:var(--text); }
#dev-approve { background:#b9a2ff; color:#171323; }


.metrics-panel { margin: 18px 0 22px; }
.metrics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.metric-card { padding:17px; border:1px solid var(--line); border-radius:12px; background:#111722; }
.metric-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.metric-top span { color:var(--muted); font:10px 'DM Mono',monospace; letter-spacing:1px; }
.metric-top strong { color:var(--cyan); font-size:22px; }
.metric-track { height:9px; overflow:hidden; border-radius:20px; background:#30394a; }
.metric-track i { display:block; width:0; height:100%; border-radius:20px; background:linear-gradient(90deg,#72e0d1,#a99bff); transition:width .35s ease; }
.metric-card small { display:block; margin-top:10px; color:var(--muted); font-size:11px; }
#metrics-refresh { min-height:34px; }
@media (max-width:650px) { .metrics-grid { grid-template-columns:1fr; } }

.chat-output { display:flex; flex-direction:column; gap:10px; max-height:560px; overflow:auto; }
.chat-message { max-width:92%; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#111722; }
.chat-message.user { align-self:flex-end; background:#20283a; }
.chat-message.assistant { align-self:flex-start; }
.chat-message b { display:block; margin-bottom:5px; color:var(--cyan); font-size:11px; }
.chat-message p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.55; }


.bridge-panel{margin:18px 0 22px}.journal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bridge-journal{display:grid;gap:8px}.bridge-event{display:grid;grid-template-columns:9px 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#111722}.bridge-event .event-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--purple)}.bridge-event.succeeded .event-dot{background:var(--cyan)}.bridge-event.failed .event-dot{background:#ff8d83}.bridge-event b{display:block;font-size:11px}.bridge-event small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}.bridge-event time{font:9px 'DM Mono';color:var(--muted)}#notify-enable{min-height:30px;font-size:10px}
@media(max-width:600px){.journal-actions{align-items:flex-end;flex-direction:column}.bridge-event{grid-template-columns:9px 1fr}.bridge-event time{grid-column:2}}

.workflow-toolbar,.workflow-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}
.workflow-toolbar select{flex:1;min-width:180px;max-width:100%;padding:10px;border:1px solid var(--border,#293348);border-radius:10px;background:var(--bg,#101722);color:inherit}
.workflow-panel progress{width:100%;height:12px;accent-color:#4be0b1}
.workflow-steps{padding-left:24px;display:grid;gap:12px}
.workflow-step{padding:12px;border-radius:10px;background:rgba(255,255,255,.035)}
.workflow-step small{display:block;margin-top:6px;opacity:.8}
.workflow-step.verified{border-left:3px solid #4be0b1}
.workflow-step.failed{border-left:3px solid #ff7c87}
.workflow-step.executing{border-left:3px solid #79aaff}
.workflow-step pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:12px}
.workflow-step summary{cursor:pointer;margin-top:8px;font-size:13px}
.workflow-panel{margin:18px 0 22px}
.workflow-panel .panel-head{gap:12px;flex-wrap:wrap}
.workflow-panel textarea{width:100%;resize:vertical;padding:12px;color:var(--text);background:#101620;border:1px solid var(--line);border-radius:10px;font:inherit;line-height:1.5}
.workflow-panel button{padding:10px 15px;min-height:38px}
.workflow-panel button:disabled{opacity:.4;cursor:default}
.workflow-panel .tag{max-width:100%;white-space:normal}
.workflow-step{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.workflow-toolbar select{flex-basis:100%;min-width:0}.workflow-panel .hint{overflow-wrap:anywhere}}
.workflow-step.preparing{border-left:3px solid #b4a2ff}
