:root{--bg:#f6f7f9;--panel:#fff;--border:#e3e6ea;--text:#1c1f23;--muted:#6b7280;--accent:#2563eb;--danger:#dc2626;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent)}h1{margin:0;font-size:20px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:16px;width:220px;padding:16px;display:flex}.brand{font-size:16px;font-weight:600}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a{color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.sidebar nav a.active{color:var(--accent);background:#eaf0ff}.sidebar-footer{flex-direction:column;gap:6px;margin-top:auto;display:flex}.content{flex:1;max-width:1100px;padding:24px 32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}.center{justify-content:center;align-items:center;min-height:100vh;display:flex}.login{flex-direction:column;gap:12px;width:340px;display:flex}.login h1{font-size:18px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,textarea,select{font:inherit;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:8px 12px}button:disabled{opacity:.6;cursor:default}button.link{color:var(--accent);background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);font-size:13px}.list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.row{align-items:center;gap:16px;display:flex}.grow{flex:1;min-width:0}.title{align-items:center;gap:8px;font-weight:600;display:flex}.actions{align-items:center;gap:8px;display:flex}.actions button,.actions input{white-space:nowrap}button.secondary{background:var(--panel);color:var(--text);border-color:var(--border)}button svg{vertical-align:-2px;margin-right:4px}.tag{color:var(--muted);background:#eef2f7;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:400}.status{font-weight:500}.status.active{color:#15803d}.status.error,.status.expired{color:var(--danger)}.status.pending_consent{color:#b45309}.banner{border-radius:6px;margin-bottom:12px;padding:10px 12px}.banner.ok{color:#065f46;background:#ecfdf5}.banner.error{color:#991b1b;background:#fef2f2}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form .title{width:100%}.inline-form label{flex:1;min-width:200px}table.tools{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}table.tools td{border-top:1px solid var(--border);vertical-align:top;padding:4px 8px}.effect{border-radius:4px;margin-right:6px;padding:1px 6px;font-size:11px}.effect.read{color:#065f46;background:#ecfdf5}.effect.write{color:#9a3412;background:#fff7ed}.effect.destructive{color:#991b1b;background:#fef2f2}code{font-size:12px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:500}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.badge{color:var(--muted);white-space:nowrap;background:#eef2f7;border-radius:10px;padding:2px 7px;font-size:11px}.badge.succeeded{color:#065f46;background:#ecfdf5}.badge.failed,.badge.cancelled{color:#991b1b;background:#fef2f2}.badge.running,.badge.queued{color:#1d4ed8;background:#eaf0ff}.badge.waiting_approval{color:#9a3412;background:#fff7ed}.count{background:var(--danger);color:#fff;border-radius:10px;margin-left:4px;padding:0 6px;font-size:11px}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.two-col>*{min-width:0}.table td a{word-break:break-word}.col{flex-direction:column;gap:12px;display:flex}.card>.title{margin-bottom:8px}textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.limits{gap:12px;margin:8px 0;display:flex}.limits label{flex:1}details{margin:6px 0}details summary{cursor:pointer;font-weight:500}pre{white-space:pre-wrap;word-break:break-word;background:#f3f4f6;border-radius:6px;max-height:320px;margin:6px 0;padding:8px 10px;font-size:12px;overflow:auto}pre.error{background:#fef2f2}.kv{grid-template-columns:80px 1fr;align-items:start;gap:8px;display:grid}.kv>span{color:var(--muted);padding-top:8px;font-size:12px}.steps{padding-left:20px}.steps li{margin-bottom:8px}.steps li.failed .step-head{color:var(--danger)}.banner-approval{background:#fffbeb;border-color:#fdba74}.diff{margin-top:10px;font-size:13px}.prompt-diff{grid-template-columns:1fr 1fr;gap:8px;display:grid}.prompt-diff pre.del{background:#fef2f2}.prompt-diff pre.add{background:#ecfdf5}@media (width<=900px){.two-col,.prompt-diff{grid-template-columns:1fr}}.trigger-row{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;font-size:12px;display:flex}.trigger-row input,.trigger-row select{padding:5px 7px;font-size:12px}.trigger-row input{flex:1;min-width:140px}.trigger-filter{flex-direction:column;flex-basis:100%;gap:4px;padding-left:12px;display:flex}.trigger-filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.trigger-filter .link{align-self:flex-start}.back{align-items:center;gap:4px;margin-bottom:8px;text-decoration:none;display:inline-flex}.agent-cards{flex-direction:column;gap:12px;display:flex}.agent-card{flex-direction:column;gap:6px;display:flex}.agent-card-head{align-items:center;gap:8px;display:flex}.agent-name{color:var(--text);font-size:15px;font-weight:600;text-decoration:none}.agent-name:hover{color:var(--accent)}.agent-desc{color:var(--text)}.agent-card .actions{margin-top:4px}.create-agent{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}textarea.prose{font-family:inherit;font-size:14px;line-height:1.45}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:13px}label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:14px}.agent-page .col{gap:12px;margin-bottom:12px}.run-box{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.run-box input{flex:1;min-width:240px}.connector-row{border-top:1px solid var(--border);padding:6px 0}.connector-row:first-of-type{border-top:none}.connector-note{padding-left:24px}.trigger-block{border-top:1px solid var(--border);padding:8px 0}.trigger-block:first-of-type{border-top:none}.trigger-row select,.trigger-row .cron{font-size:13px}.save-bar{color:#fff;z-index:2;background:#1c1f23;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;bottom:12px}.save-bar span{flex:1}.advanced>summary{color:var(--muted)}.advanced[open]{flex-direction:column;gap:8px;display:flex}.run-list{flex-direction:column;display:flex}.run-item{border-top:1px solid var(--border);color:var(--text);grid-template-columns:100px 180px 150px 1fr;align-items:center;gap:8px;padding:8px 4px;text-decoration:none;display:grid}.run-item:first-child{border-top:none}.run-item:hover{background:#f8fafc}.run-preview{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}@media (width<=900px){.run-item{grid-template-columns:auto 1fr}.run-preview{grid-column:1/-1}}.run-page .card{margin-bottom:12px}.run-task{margin-bottom:8px}.timeline{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.timeline li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.timeline li.failed code{color:var(--danger)}.timeline .arrow{color:var(--muted);width:14px}.timeline .args{color:var(--muted);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.approval-inline{background:#fffbeb;border:1px solid #fdba74;border-radius:6px;margin:8px 0;padding:10px 12px}.run-done{color:#15803d;margin-top:8px;font-weight:500}.run-output{white-space:pre-wrap;background:#f8fafc;border-radius:6px;margin-top:8px;padding:12px;line-height:1.5}.run-output.streaming:after{content:"▍";color:var(--accent);margin-left:1px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.md{white-space:normal;overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre,.md table,.md blockquote{margin:0 0 10px}.md h1,.md h2,.md h3,.md h4{margin:14px 0 6px;line-height:1.3}.md h1{font-size:18px}.md h2{font-size:16px}.md h3,.md h4{font-size:14px}.md ul,.md ol{padding-left:22px}.md li{margin:2px 0}.md li>p{margin:0}.md code{background:#eef2f7;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.md pre{white-space:pre;background:#f1f5f9;border-radius:6px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0}.md blockquote{color:var(--muted);border-left:3px solid #cbd5e1;padding-left:10px}.md table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.md th,.md td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:4px 8px}.md th{background:#f8fafc}.md hr{border:0;border-top:1px solid #e2e8f0;margin:12px 0}.md.streaming:after{content:none}.md.streaming>:last-child:not(ul,ol,blockquote):after,.md.streaming>:is(ul,ol,blockquote):last-child>:last-child:after{content:"▍";color:var(--accent);margin-left:1px;animation:1s step-end infinite blink}.share-panel{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-row input{flex:1;min-width:260px;font-family:ui-monospace,monospace;font-size:12px}.prose-preview{white-space:pre-wrap;max-height:320px;margin:0;font-family:inherit;font-size:14px;overflow:auto}.install-page .card label{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.kamrad-model{flex-direction:row;align-items:center}.kamrad-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:16px;margin-top:12px;display:grid}.kamrad-threads{flex-direction:column;gap:2px;font-size:13px;display:flex}.kamrad-threads a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:6px 8px;text-decoration:none;overflow:hidden}.kamrad-threads a.current{color:var(--accent);background:#eaf0ff}.kamrad-chat{flex-direction:column;gap:12px;display:flex}.turn{flex-direction:column;gap:6px;display:flex}.turn-user{white-space:pre-wrap;background:#eaf0ff;border-radius:10px;align-self:flex-end;max-width:80%;padding:8px 12px}.turn-kamrad .run-output{background:0 0;margin-top:0;padding:0}.turn-meta{align-items:center;gap:8px;margin-top:8px;display:flex}.proposal-card{background:#fffbeb;border:1px solid #fdba74;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.proposal-card.accepted{background:#f0fdf4;border-color:#86efac}.proposal-card.rejected,.proposal-card.superseded{border-color:var(--border);background:#f8fafc}.kamrad-input{align-items:flex-end;gap:8px;display:flex;position:sticky;bottom:12px}.kamrad-input textarea{flex:1}@media (width<=900px){.kamrad-layout{grid-template-columns:1fr}}.proposal-page .card{margin-bottom:12px}.card.escalation{background:#fffbeb;border-color:#fdba74}.grant-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:8px;padding:5px 0;display:flex}.grant-row:first-of-type{border-top:none}.grant-auto{color:#9a3412;font-weight:600}.tag.new{color:#9a3412;background:#fed7aa}.warn{color:#9a3412}tr.removed code{color:var(--muted);text-decoration:line-through}.proposal-meta{margin-top:8px}.accept-box{flex-direction:column;gap:12px;display:flex;position:sticky;bottom:12px;box-shadow:0 -2px 12px #0000000f}.return-box{align-items:flex-end;gap:8px;display:flex}.return-box textarea{flex:1}.banner.trial{color:#1e40af;background:#eff6ff}.auto-bounds{flex-direction:column;gap:4px;margin-top:4px;display:flex}.auto-bounds .bound{align-items:center;gap:6px;font-size:12px;display:flex}.auto-bounds input{flex:1;min-width:160px;padding:4px 6px;font-size:12px}.turn-kamrad{min-width:0}.turn-kamrad .run-output{overflow-wrap:anywhere}.proposal-card button{white-space:nowrap}.auto-bounds label.bound{flex-direction:row}.auto-bounds label.bound code{min-width:110px}
