:root{--bg: #0d1117;--panel: #161b22;--panel2: #1c2230;--border: #2a313c;--text: #e6edf3;--muted: #8b949e;--accent: #7c9cff;--ok: #3fb950;--warn: #d29922;--err: #f85149;--run: #58a6ff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}code,pre,.terminal{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app{display:grid;grid-template-columns:320px 1fr;height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.brand{padding:16px;font-size:18px;font-weight:600;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.logo{color:var(--accent);margin-right:6px}.logout{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:2px 8px;cursor:pointer}.logout:hover{color:var(--text)}.login{display:grid;place-items:center;height:100vh}.login-card{text-align:center;padding:40px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.brand.big{font-size:26px;justify-content:center;border:none;padding:0 0 8px}.google-btn{display:inline-block;margin-top:16px;padding:10px 20px;border-radius:10px;background:var(--accent);color:#0b0f17;font-weight:600;text-decoration:none}.google-btn:hover{filter:brightness(1.08)}.new-task{padding:12px;border-bottom:1px solid var(--border)}.new-task textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px;resize:vertical}.new-task button,.detail button{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:var(--accent);color:#0b0f17;font-weight:600}.new-task button{width:100%;margin-top:8px}.new-task button:disabled{opacity:.5;cursor:not-allowed}.task-list{overflow-y:auto;padding:8px;flex:1;min-height:0}.task-item{display:block;width:100%;text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:8px;padding:10px;margin-bottom:4px;color:var(--text)}.task-item:hover{background:var(--panel2)}.task-item.active{background:var(--panel2);border-color:var(--border)}.task-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{display:flex;gap:8px;align-items:center;margin-top:4px}.main{min-width:0;display:flex;flex-direction:column}.empty{padding:48px;max-width:640px}.empty h1{margin:0 0 8px}.muted{color:var(--muted)}.error{color:var(--err);padding:8px;font-size:13px}.brain-tag{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.pill{font-size:11px;border-radius:6px;padding:1px 8px;text-transform:capitalize}.pill-queued{background:#30363d;color:var(--muted)}.pill-running{background:#58a6ff26;color:var(--run)}.pill-waiting_approval,.pill-waiting_input{background:#d299222e;color:var(--warn)}.pill-paused{background:#30363d;color:var(--muted)}.pill-done{background:#3fb95026;color:var(--ok)}.pill-failed{background:#f8514926;color:var(--err)}.pill-interrupted{background:#30363d;color:var(--muted)}.detail{display:flex;flex-direction:column;min-height:0;height:100%}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid var(--border)}.detail-head h2{margin:0 0 6px;font-size:16px}.detail-meta{display:flex;gap:10px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.on{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.off{background:var(--muted)}button.danger{background:transparent;color:var(--err);border-color:var(--err)}button.ok{background:var(--ok);color:#08130a;border-color:var(--ok)}.approval{margin:12px 16px;padding:12px;border:1px solid var(--warn);border-radius:10px;background:#d2992214;display:flex;justify-content:space-between;gap:16px}.approval-input{background:var(--bg);padding:8px;border-radius:6px;max-height:160px;overflow:auto;margin:8px 0 0}.approval-actions{display:flex;flex-direction:column;gap:8px}.detail-body{display:grid;grid-template-columns:1fr 360px;min-height:0;flex:1}.timeline{overflow-y:auto;padding:16px;min-height:0}.rail{border-left:1px solid var(--border);overflow-y:auto;padding:12px;background:var(--panel)}.rail-section h3{font-size:12px;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}.terminal{background:#05070c;border:1px solid var(--border);border-radius:8px;padding:10px;white-space:pre-wrap;word-break:break-all;max-height:340px;overflow:auto;font-size:12px}.files{list-style:none;padding:0;margin:0}.files li{padding:3px 0;word-break:break-all}.files a{color:var(--accent);text-decoration:none}.files a:hover{text-decoration:underline}.ti{padding:6px 10px;margin:4px 0;border-radius:8px}.ti.plan{color:var(--accent)}.ti.text{background:var(--panel2);padding:10px;white-space:pre-wrap}.ti.tool{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.tool-name{color:var(--run);font-weight:600}.tool-input{color:var(--muted);font-size:12px}.ti.result{color:var(--muted);font-size:13px;white-space:pre-wrap}.ti.result.err{color:var(--err)}.ti.file{color:var(--ok);font-size:13px}.ti.approval-line{color:var(--warn)}.ti.error{color:var(--err)}.ti.done{color:var(--muted);border-top:1px dashed var(--border);padding-top:10px}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--panel)}.composer input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px}.composer button{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 16px;background:var(--accent);color:#0b0f17;font-weight:600}.composer button:disabled{opacity:.5;cursor:not-allowed}.file-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-align:left;font:inherit;word-break:break-all}.file-link:hover{text-decoration:underline}.dl{color:var(--muted);text-decoration:none;margin-left:6px}.dl:hover{color:var(--text)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:50}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-width:80vw;max-height:82vh;overflow:auto;padding:12px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;color:var(--muted);word-break:break-all}.modal-head>div{display:flex;gap:10px;align-items:center}.modal-card img{max-width:76vw;max-height:70vh;display:block}.preview-text{background:#05070c;padding:12px;border-radius:8px;white-space:pre-wrap;word-break:break-word;max-width:76vw}.new-task-row{display:flex;gap:8px;margin-top:8px}.new-task-row select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:0 8px}.new-task-row button{flex:1;margin-top:0}.sched-open{width:calc(100% - 24px);margin:0 12px 8px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;cursor:pointer;text-align:left}.sched-open:hover{background:var(--panel2)}.modal-card.schedules{width:620px;max-width:88vw}.sched-form{display:grid;gap:8px;margin-bottom:16px}.sched-form input,.sched-form textarea,.sched-form select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px}.sched-form button{background:var(--accent);color:#0b0f17;border:none;border-radius:8px;padding:9px;font-weight:600;cursor:pointer}.sched-form button:disabled{opacity:.5}.sched-list{list-style:none;padding:0;margin:0}.sched-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.sched-goal{margin-top:4px;max-width:380px}.sched-actions{display:flex;gap:6px;align-items:flex-start}
