:root{--bg: #0d0f14;--surface: #161a22;--surface-2: #1e2430;--text: #e6e9ef;--muted: #8b93a3;--accent: #7c6cf0;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{display:flex;flex-direction:column;height:100dvh;max-width:720px;margin:0 auto}.topbar{display:flex;align-items:center;gap:10px;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--surface-2);flex-shrink:0}.topbar h1{font-size:17px;margin:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back{background:var(--surface);border:1px solid var(--surface-2);color:var(--text);border-radius:10px;font-size:16px;padding:6px 12px;cursor:pointer}.page{flex:1;overflow-y:auto;padding:16px}.cards{display:grid;gap:12px}.card{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1px solid var(--surface-2);border-left:4px solid var(--accent);border-radius:14px;padding:16px;color:var(--text);cursor:pointer;font:inherit;transition:background .15s}.card:active,.card:hover{background:var(--surface-2)}.card-icon{font-size:28px}.card-body{display:flex;flex-direction:column;gap:3px;min-width:0}.card-body strong{font-size:15px}.card-body small{font-size:12.5px;color:var(--text);opacity:.85}.card-body small.muted{color:var(--muted);opacity:1}.muted{color:var(--muted)}.center{text-align:center;margin-top:40px}.error{color:#f87171}.chat{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}.bubble.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--surface-2);border-bottom-left-radius:5px;white-space:normal}.bubble-note{margin-top:6px;padding-top:6px;border-top:1px dashed var(--surface-2);font-size:12px;color:var(--muted)}.bubble-note.error{color:#f87171}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.5em 0}.md pre{background:var(--bg);padding:10px;border-radius:8px;overflow-x:auto;font-size:13px}.md code{background:var(--bg);padding:1px 5px;border-radius:5px;font-size:13px}.md pre code{background:none;padding:0}.md ul,.md ol{padding-left:20px}.composer{display:flex;flex-direction:column;gap:8px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--surface-2);flex-shrink:0}.composer-row{display:flex;align-items:flex-end;gap:10px}.composer-attachments{display:flex;flex-wrap:wrap;gap:8px}.composer .attach{background:var(--surface);border:1px solid var(--surface-2);color:var(--text);min-height:44px;padding:0 12px}.composer textarea{flex:1;resize:none;max-height:200px;overflow-y:auto;background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;color:var(--text);padding:11px 14px;font:inherit;font-size:15px;outline:none}.composer textarea:focus{border-color:var(--accent)}.composer button{background:var(--accent);border:none;color:#fff;border-radius:12px;padding:0 18px;font-size:17px;cursor:pointer;min-height:44px}.composer .mic{min-height:44px}.composer button:disabled{opacity:.4;cursor:default}.composer button.stop{background:#7f1d1d;border:1px solid #f87171;color:#fecaca}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attachment{display:flex;align-items:center;gap:4px;max-width:220px;background:var(--bg);border:1px solid var(--surface-2);border-radius:10px;padding:4px}.attachment.att-error{border-color:#f87171}.attachment .att-body{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text);padding:2px;min-height:0;cursor:pointer;overflow:hidden;text-align:left}.att-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.att-icon{font-size:24px;width:40px;text-align:center;flex-shrink:0}.att-meta{display:flex;flex-direction:column;overflow:hidden}.att-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment .att-x{background:none;border:none;color:var(--muted);font-size:18px;line-height:1;padding:2px 6px;min-height:0;cursor:pointer}.bubble.user .att-body,.bubble.user .att-name{color:#fff}.chat.drag-over{outline:2px dashed var(--accent);outline-offset:-8px}.drop-overlay{position:sticky;bottom:8px;align-self:center;background:var(--accent);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;pointer-events:none}.login{display:flex;align-items:center;justify-content:center;min-height:80vh}.login-card{display:flex;flex-direction:column;gap:12px;align-items:center;max-width:320px;width:100%;padding:28px 24px;cursor:default}.login-card input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #333;background:#16161c;color:inherit;font-size:16px}.login-card button{width:100%;padding:10px;border-radius:8px;border:none;background:var(--accent, #7c6cf0);color:#fff;font-size:15px;cursor:pointer}.login-card button:disabled{opacity:.5}.tabbar{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--surface-2);overflow-x:auto;flex-shrink:0}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:14px;padding:8px 12px;cursor:pointer;white-space:nowrap}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px}.board-actions{margin-bottom:12px}.btn-accent{background:var(--accent);border:none;color:#fff;border-radius:10px;padding:9px 14px;font:inherit;font-size:14px;cursor:pointer}.btn-accent:disabled{opacity:.4;cursor:default}.task-form{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;cursor:default}.task-form input,.task-form textarea{background:var(--surface-2);border:1px solid var(--surface-2);border-radius:8px;color:var(--text);padding:9px 11px;font:inherit;font-size:14px;outline:none;resize:vertical}.task-form input:focus,.task-form textarea:focus{border-color:var(--accent)}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:start}.kanban-col{background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:60px}.kanban-title{font-size:13px;font-weight:650;margin:0 0 2px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-card{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:4px}.task-card strong{font-size:13.5px}.task-card small{font-size:12px}.task-card select{background:var(--bg);color:var(--text);border:1px solid var(--surface);border-radius:6px;font-size:12px;padding:4px 6px;margin-top:2px}.urgency-badge{align-self:flex-start;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;color:#fff}.urgency-bassa{background:#64748b}.urgency-media{background:#3b82f6}.urgency-alta{background:#f0862c}.urgency-critica{background:#ef4444}.urgency-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.urgency-row select,.task-controls select{background:var(--bg);color:var(--text);border:1px solid var(--surface);border-radius:6px;font-size:12px;padding:4px 6px}.task-controls{display:flex;gap:6px;margin-top:2px}.working-on{color:#3b82f6}.blocked-badge{color:#f0862c}.boardcheck-warn{border-left:3px solid #ef4444;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.boardcheck-warn small{color:var(--muted)}.ratelimit-banner{border-left:3px solid #f0862c;background:#f0862c14;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.ratelimit-banner strong{color:#f0a860}.ratelimit-banner small{color:var(--muted)}.session-card{flex-direction:column;align-items:stretch;gap:8px;padding:0;cursor:default}.session-head{display:flex;align-items:center;gap:14px;background:none;border:none;color:inherit;font:inherit;text-align:left;padding:14px 16px;cursor:pointer;width:100%}.session-card.status-error{border-left-color:#f87171}.session-card.status-needs_input{border-left-color:#f0b429}.session-card.status-working{border-left-color:#3b82f6}.session-card.status-completed{border-left-color:#10b981}.session-card.status-interrupted{border-left-color:#f0b429}.session-card.status-resumed{border-left-color:#3b82f6}.session-card.status-failed{border-left-color:#f87171}.session-card.status-stopped{border-left-color:#94a3b8}.session-card.status-paused{border-left-color:#a78bfa}.session-card.status-queued{border-left-color:#64748b;opacity:.85}.queue-badge-warn{color:#f0862c;font-weight:600}.budget-bar{height:8px;border-radius:5px;background:var(--bg);overflow:hidden;margin:2px 0}.budget-bar-fill{height:100%;border-radius:5px;transition:width .4s ease}.budget-ok .budget-bar-fill{background:#35c07a}.budget-low .budget-bar-fill{background:#e0b83a}.budget-warn .budget-bar-fill{background:#f0862c}.budget-crit .budget-bar-fill{background:#e0503a}.budget-ok{color:#35c07a}.budget-low{color:#e0b83a}.budget-warn{color:#f0862c}.budget-crit{color:#e0503a}.autonomy-panel{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-bottom:14px}.autonomy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px}.autonomy-row select{background:var(--bg);color:var(--text);border:1px solid var(--surface-2);border-radius:8px;font-size:12.5px;padding:6px 8px}.global-live-nav{position:fixed;right:14px;bottom:14px;z-index:50;background:var(--surface);color:var(--text);border:1px solid var(--surface-2);border-radius:999px;padding:10px 16px;font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;box-shadow:0 4px 16px #00000059}.run-prompt{white-space:pre-line}.session-actions select{background:var(--bg);color:var(--text);border:1px solid var(--surface-2);border-radius:8px;font-size:12.5px;padding:6px 8px}.session-actions{display:flex;gap:8px;padding:0 16px 14px}.session-actions .btn-accent{padding:7px 12px;font-size:13px}.session-log{border-top:1px solid var(--surface-2);padding:10px 16px 14px;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.session-event{display:flex;flex-direction:column;gap:2px;font-size:12.5px;word-break:break-word}.mic{background:var(--surface);border:1px solid var(--surface-2);color:var(--text);border-radius:12px;padding:0 14px;font-size:17px;cursor:pointer}.mic.recording{background:#7f1d1d;border-color:#f87171;animation:mic-pulse 1.2s infinite}@keyframes mic-pulse{50%{opacity:.6}}.session-card.status-approved{border-left-color:#10b981}.session-card.status-denied,.session-card.status-expired{border-left-color:#f87171}.approval-input{word-break:break-all;font-family:ui-monospace,monospace;font-size:11px}.approval-actions{display:flex;gap:8px;padding:0 16px 14px;flex-wrap:wrap;align-items:center}.approval-actions input{flex:1;min-width:140px;background:var(--surface-2);border:1px solid var(--surface-2);border-radius:8px;color:var(--text);padding:8px 10px;font:inherit;font-size:13px;outline:none}.approval-actions input:focus{border-color:var(--accent)}.approval-actions button{background:var(--surface-2);border:none;border-radius:8px;color:var(--text);padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}.approval-actions button.btn-accent{background:var(--accent);color:#fff}.task-form select{background:var(--surface-2);border:1px solid var(--surface-2);border-radius:8px;color:var(--text);padding:9px 11px;font:inherit;font-size:14px;outline:none}.task-form select:focus{border-color:var(--accent)}.wiki-detail-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.wiki-detail-head .wiki-page-name{font-size:15px;margin-right:auto;overflow-wrap:anywhere}.wiki-detail-head button:not(.back):not(.btn-accent){background:var(--surface-2);border:1px solid var(--surface-2);color:var(--text);border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;cursor:pointer}.wiki-render{background:var(--surface);border:1px solid var(--surface-2);border-radius:14px;padding:16px;line-height:1.55;font-size:14.5px;overflow-wrap:anywhere}.wiki-render :first-child{margin-top:0}.wiki-render :last-child{margin-bottom:0}.wiki-editor{width:100%;background:var(--surface);border:1px solid var(--surface-2);border-radius:14px;color:var(--text);padding:14px;font:13.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical;outline:none}.wiki-editor:focus{border-color:var(--accent)}.wiki-editor-actions{display:flex;gap:10px;margin-top:10px}.wiki-editor-actions button{background:var(--surface-2);border:none;border-radius:8px;color:var(--text);padding:9px 14px;font:inherit;font-size:13.5px;cursor:pointer}.wiki-history{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.wiki-history li{background:var(--surface);border:1px solid var(--surface-2);border-radius:10px;padding:8px 12px;font-size:12.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wiki-history li button{margin-left:auto;background:var(--surface-2);border:none;border-radius:8px;color:var(--text);padding:5px 10px;font:inherit;font-size:12px;cursor:pointer}.session-card code{font-size:12.5px;color:var(--accent)}.run-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-expand-hint{font-size:11.5px;margin-top:2px}.run-prompt-full{border-top:1px solid var(--surface-2);padding:10px 16px 14px;display:flex;flex-direction:column;gap:6px}.run-prompt-pre{margin:0;max-height:240px;overflow-y:auto;background:var(--bg);border-radius:8px;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word;color:var(--muted)}.status-legend{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;cursor:default}.legend-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:0;width:100%}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 14px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}.legend-icon{font-size:16px}.task-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.filter-chip{flex-shrink:0;background:var(--surface);border:1px solid var(--surface-2);color:var(--muted);border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-count{opacity:.7;font-weight:600;margin-left:2px}.task-list{display:flex;flex-direction:column;gap:8px}.task-row{background:var(--surface);border:1px solid var(--surface-2);border-left:3px solid var(--accent);border-radius:10px;overflow:hidden}.task-row-head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--text);font:inherit;text-align:left;padding:12px 14px;cursor:pointer}.task-row-head:hover{background:var(--surface-2)}.task-row-title{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-status-badge{flex-shrink:0;font-size:11.5px;color:var(--muted);white-space:nowrap}.task-blocked-dot{flex-shrink:0;font-size:13px}.task-row-caret{flex-shrink:0;font-size:12px}.task-row-detail{border-top:1px solid var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.task-row-detail small{font-size:12px}.task-desc{margin:0;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.task-row-detail .task-controls select{background:var(--bg);color:var(--text);border:1px solid var(--surface-2);border-radius:6px;font-size:12px;padding:5px 7px}.task-row.status-done{border-left-color:#10b981;opacity:.75}.task-row.status-in_progress{border-left-color:#3b82f6}.task-row.status-needs_input{border-left-color:#f0b429}.task-row.status-review_manager,.task-row.status-review_ceo{border-left-color:#a78bfa}.task-row.status-revisione{border-left-color:#f0862c}
