/* Base grafica recuperata dalla Agent Chat originale. */

        :root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#667085;--line:#d8dee9;--brand:#1f7a5f;--brand-dark:#176047;--danger:#b42318;--warn-bg:#fff7df;--warn-line:#e6c35c;--soft:#eef6f2}
        *{box-sizing:border-box}
        body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px}
        .page{width:min(1280px,calc(100% - 32px));margin:32px auto}
        .topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
        h1{margin:0 0 6px;font-size:28px;line-height:1.2}
        h2{margin:0 0 14px;font-size:18px}.subtitle,.muted{color:var(--muted)}.subtitle{margin:0}
        .back-link,.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:6px;font:inherit;font-weight:700;text-decoration:none}
        .back-link,.btn-secondary{border:1px solid var(--line);background:#fff;color:var(--text);padding:0 14px}.back-link:hover,.btn-secondary:hover{border-color:var(--brand);color:var(--brand-dark)}
        button,.btn-primary{border:0;background:var(--brand);color:#fff;padding:0 16px;cursor:pointer}.btn-primary:hover,button:hover{background:var(--brand-dark)}
        button.danger{background:#8a2d25}.stop-button{min-height:32px;background:#b42318;padding:0 12px}.stop-button:hover{background:#8a1f17}.panel,.alert{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel{padding:18px;margin-bottom:16px}.alert{padding:12px 14px;margin-bottom:14px}.alert-warning{background:var(--warn-bg);border-color:var(--warn-line)}.alert-error{color:var(--danger)}
        .chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.chat-layout,.chat-layout>*{min-width:0}
        .session-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.session-filter{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);padding:0 10px;text-decoration:none;font-size:12px;font-weight:700}.session-filter.active{border-color:var(--brand);background:var(--soft);color:var(--brand-dark)}.activity-filter-form{display:grid;gap:5px;margin:0 0 12px}.activity-filter-form label,.session-activity-form label{color:var(--muted);font-size:12px;font-weight:700}.session-list{display:grid;gap:8px}.session-link{display:block;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:12px;text-decoration:none}.session-link.active{border-color:var(--brand);background:var(--soft)}.session-title{font-weight:700;margin-bottom:4px}.session-meta{font-size:12px;color:var(--muted)}.session-labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.session-label{display:inline-flex;border-radius:999px;padding:3px 8px;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700}.session-label.project{background:#e0f2fe;color:#075985}.session-label.pinned{background:#fff1c2;color:#7a4d00}.session-label.pending{background:#dff6e9;color:#176047}.autonomy-badge{display:inline-flex;max-width:100%;margin-top:7px;border-radius:999px;padding:3px 8px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:700}.autonomy-badge.waiting_human,.autonomy-badge.error{background:#fee2e2;color:#991b1b}.autonomy-badge.completed,.autonomy-badge.stopped{background:#e5e7eb;color:#374151}.conversation-heading{margin-bottom:14px}.conversation-heading h2{margin-bottom:6px}.session-management{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:18px;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.session-management-group{display:grid;gap:6px}.session-management-label{color:var(--muted);font-size:12px;font-weight:700}.session-management-actions{display:flex;align-items:center;gap:8px}.session-archive-group{padding-left:18px;border-left:1px solid var(--line)}.session-activity-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:8px}.session-activity-field{display:grid;gap:5px}.session-action-button{min-height:40px;border:1px solid var(--line);background:#fff;color:var(--text);padding:0 12px}.session-action-button.active{border-color:var(--brand);background:var(--soft);color:var(--brand-dark)}.session-action-button:hover{border-color:var(--brand);background:var(--soft);color:var(--brand-dark)}.select2-container{max-width:100%;width:100%!important}.select2-container .select2-selection--single{min-height:40px;border-color:var(--line);border-radius:6px}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:38px;padding-left:11px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:38px}.autonomy-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:14px;background:#fbfcfe}
        .new-session-form{display:grid;gap:8px;margin-bottom:14px}
        input,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit;padding:10px 11px}textarea{min-height:118px;resize:vertical;line-height:1.45}
        .message-list{display:grid;gap:12px;min-height:240px}.message{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.message.user{background:#fbfcfe}.message.assistant{background:#f4fbf7}.message.error{background:#fff7f6;border-color:#f2b8b0}
        .message-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;margin-bottom:8px}.message-head>*{min-width:0}.message-body{max-width:100%;white-space:pre-wrap;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.message-body[hidden]{display:none}.message-toggle{min-height:0;margin-top:8px;border:0;background:transparent;color:var(--brand-dark);padding:0;font-size:13px}.message-toggle:hover{background:transparent;color:var(--brand);text-decoration:underline}
        .attachments{display:flex;max-width:100%;flex-wrap:wrap;gap:10px;margin-top:10px}.attachment{display:inline-flex;max-width:100%;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 10px;font-size:12px;color:var(--brand-dark);text-decoration:none;overflow-wrap:anywhere;word-break:break-word}.attachment:hover{border-color:var(--brand)}
        .agent-changes{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;overflow:hidden}.agent-changes-title{padding:9px 11px;font-size:12px;font-weight:800}.agent-change{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--line);padding:9px 11px}.agent-change-path{font:12px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.agent-change-state{display:block;margin-top:3px;color:var(--muted);font:11px/1.3 system-ui,sans-serif}.publish-change{border:0;border-radius:6px;background:var(--brand);color:#fff;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.publish-change:disabled{cursor:default;opacity:.6}.agent-change.failed .agent-change-state,.agent-change.stale .agent-change-state{color:var(--danger)}
        .generated-image{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;width:min(100%,480px);border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;color:var(--text);text-decoration:none}.generated-image:hover{border-color:var(--brand)}.generated-image img{width:72px;height:54px;object-fit:cover;border-radius:5px;background:#eef2f6}.generated-image-info{min-width:0}.generated-image-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.generated-image-size{display:block;margin-top:3px;color:var(--muted);font-size:12px}.generated-image-download{color:var(--brand-dark);font-weight:700;font-size:12px}
        .pending-attachments{display:flex;flex-wrap:wrap;gap:8px}.pending-attachment{display:inline-flex;align-items:center;gap:8px;max-width:360px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px 8px;color:var(--muted);font-size:12px}.pending-attachment img{width:34px;height:34px;object-fit:cover;border-radius:4px;background:#f2f4f7}.pending-attachment span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-attachment-remove{flex:0 0 auto;min-height:28px;border:1px solid #efb6b2;background:#fff;color:var(--danger);padding:0 8px;font-size:11px}.pending-attachment-remove:hover{border-color:var(--danger);background:#fff7f6;color:#8a1f17}
        .composer{display:grid;gap:10px;margin-top:16px}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.composer-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.session-bottom-status{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.autonomy-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #bfd4ea;border-radius:7px;background:#f4f8fc;padding:9px 11px}.autonomy-action-label{color:#475467;font-size:13px}.autonomy-button{min-height:34px;border:1px solid #35628a;background:#fff;color:#274f73;padding:0 12px}.autonomy-button:hover{background:#e8f1f8;color:#193d5c}.user-pill,.run-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#e2f4eb;color:#176047;font-weight:700;font-size:12px}.run-pill.queued{background:#fff7df;color:#8a5a00}.run-pill.running{background:#e0f2fe;color:#075985}.run-pill.failed{background:#fee2e2;color:#991b1b}.run-pill.cancelled{background:#e5e7eb;color:#374151}
        .working{display:flex;align-items:center;gap:10px;border:1px solid #bae6fd;background:#f0f9ff;color:#075985;border-radius:8px;padding:10px 12px;margin:12px 0}.dot{width:8px;height:8px;border-radius:50%;background:#0ea5e9;animation:pulse 1s infinite alternate}@keyframes pulse{from{opacity:.35}to{opacity:1}}
        .jump-latest,.jump-top{position:fixed;right:22px;z-index:20;min-height:38px;border:1px solid #0ea5e9;background:#f0f9ff;color:#075985;box-shadow:0 8px 24px rgba(15,23,42,.16)}.jump-latest{bottom:22px}.jump-top{bottom:70px}.jump-latest:hover,.jump-top:hover{background:#e0f2fe;color:#075985}
        code{max-width:100%;font-family:Consolas,Monaco,monospace;overflow-wrap:anywhere;word-break:break-word}.empty{padding:28px 12px;color:var(--muted);text-align:center}.session-title,.session-meta,.autonomy-badge,.muted{overflow-wrap:anywhere;word-break:break-word}.mobile-sessions-button,.mobile-sessions-close,.chat-session-overlay{display:none}
        @media (max-width:900px){body.chat-sessions-open{overflow:hidden}.topbar{display:block}.topbar>.top-actions{display:flex;margin-top:12px}.back-link{margin-top:0}.mobile-sessions-button{display:inline-flex}.chat-layout{display:block}.conversation-panel{width:100%}.panel.side{position:fixed;z-index:120;top:0;bottom:0;left:0;width:min(340px,calc(100vw - 42px));margin:0;padding:16px;overflow-y:auto;border:0;border-radius:0;box-shadow:16px 0 36px rgba(15,23,42,.28);transform:translateX(-105%);transition:transform .2s ease}.chat-sessions-open .panel.side{transform:translateX(0)}.mobile-sessions-close{display:inline-flex;float:right;min-height:38px;margin:-4px 0 8px;padding:0 11px;background:#fff;color:var(--text);border:1px solid var(--line)}.chat-session-overlay{position:fixed;inset:0;z-index:110;background:rgba(7,19,15,.72);backdrop-filter:blur(2px)}.chat-sessions-open .panel.side{overflow-x:hidden}.chat-sessions-open .select2-container{width:100%!important}.message-head,.autonomy-panel,.working{flex-wrap:wrap}.session-management{grid-template-columns:1fr;gap:12px}.session-activity-form{grid-template-columns:1fr;width:100%}.session-management-actions,.session-bottom-status{flex-wrap:wrap}.session-bottom-status{justify-content:flex-start}.session-archive-group{padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.message-head{align-items:flex-start}.message-head>span{text-align:left}.agent-change{grid-template-columns:1fr}.publish-change{width:100%}.generated-image{grid-template-columns:56px minmax(0,1fr) auto}.generated-image img{width:56px;height:48px}}

[hidden]{display:none!important}.top-actions{display:flex;gap:8px;align-items:center}.login-panel{max-width:440px;margin:10vh auto}.login-form{display:grid;gap:14px}.session-link{display:block;text-decoration:none;color:inherit}.session-link button{margin-top:8px}.session-list{max-height:70vh;overflow:auto}.error-banner{color:#991b1b;background:#fff7f6}.progress-note{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.message-body pre{white-space:pre-wrap}.composer textarea{min-height:118px}.conversation-heading{display:flex;gap:12px;justify-content:space-between;align-items:center}.conversation-heading h2{margin:0}.session-tools{display:flex;gap:6px;flex-wrap:wrap}.session-tools button{min-height:32px;font-size:12px;padding:0 9px}.composer:focus-within{outline:0}.pending-attachment{max-width:100%}.working{flex-wrap:wrap}.working .stop-button{margin-left:auto}.message{min-width:0}a{color:var(--brand-dark)}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #0ea5e9;outline-offset:3px}.composer-status{font-size:13px;color:var(--muted)}.session-filter{cursor:pointer}.upload-label{cursor:pointer}.autonomy-panel label{display:flex;gap:8px;align-items:center}.autonomy-panel input[type=checkbox]{width:auto}.message-body{tab-size:4}.message-toggle{display:block}.login-panel h1{font-size:24px}.topbar .subtitle{margin-top:5px}@media(max-width:900px){.chat-sessions-open .chat-session-overlay{display:block}.conversation-heading{align-items:flex-start;flex-direction:column}.page{margin:16px auto}.side .session-list{max-height:none}.topbar .top-actions{flex-wrap:wrap}}
