:root{--bg: #eef1f4;--bg-panel: #fffcf7;--ink: #1c2420;--muted: #5c6b63;--line: #cfd6dc;--accent: #0d5c4d;--accent-soft: #d8ebe5;--warn: #8a4b12;--danger: #8b2e2e;--ok: #1f6b3a;--radius: 10px;--font: "IBM Plex Sans", system-ui, sans-serif;--font-display: "IBM Plex Serif", Georgia, serif;--pane-mail: #eef4fa;--pane-mail-head: #d7e6f4;--pane-dossier: #faf4eb;--pane-dossier-head: #f0e2cc;--pane-chat: #eaf6f3;--pane-chat-head: #cfe8e1;--pane-draft: #f1f6ec;--pane-draft-head: #dce9d0;--sidebar-bg: #f7f5f1}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#dfe8ef 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#e8e4dc 0%,transparent 50%),var(--bg)}button,input,textarea,select{font:inherit}.app-shell{display:grid;height:100%;min-height:100vh;min-height:100dvh}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0}.brand{padding:1.1rem 1rem .65rem;border-bottom:1px solid var(--line)}.brand h1{font-family:var(--font-display);font-size:1.2rem;margin:0 0 .15rem;letter-spacing:-.02em}.brand p{margin:0;color:var(--muted);font-size:.82rem}.poll-btn{width:100%;margin-top:.65rem;font-size:.88rem}.poll-msg{margin:.4rem 0 0!important;color:var(--ink)!important;font-size:.75rem!important;line-height:1.35}.list-controls{padding:.65rem .75rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.45rem}.search-input{width:100%;border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;background:#fff}.sort-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.sort-row select{flex:1;border:1px solid var(--line);border-radius:8px;padding:.35rem .45rem;background:#fff;color:var(--ink)}.sort-dir{min-width:2.2rem;padding:.35rem .4rem}.ticket-list{overflow:auto;flex:1;padding:.5rem}.ticket-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:var(--radius);padding:.7rem .75rem;cursor:pointer;margin-bottom:.3rem}.ticket-item:hover{background:#ebe7e0}.ticket-item.active{border-color:var(--accent);background:var(--accent-soft)}.ticket-item .subj{font-weight:600;font-size:.9rem;margin-bottom:.15rem;line-height:1.3}.ticket-item .from-line{color:var(--muted);font-size:.78rem;margin-bottom:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-item .meta{color:var(--muted);font-size:.75rem;display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.ticket-item .when{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.sidebar-footer{padding:.75rem;border-top:1px solid var(--line)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#e8ecf0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);background:#fffcf7eb;gap:1rem;flex-wrap:wrap}.topbar-title{display:flex;align-items:flex-start;gap:.65rem;min-width:0;flex:1}.topbar-text{min-width:0}.topbar-text strong{display:block;line-height:1.3;word-break:break-word}.topbar-meta{color:var(--muted);font-size:.85rem;margin-top:2px;line-height:1.35}.topbar .actions{display:flex;gap:.5rem;flex-wrap:wrap}.back-btn{flex-shrink:0;white-space:nowrap}.mobile-tabs{display:none}.workspace{display:grid;gap:0;padding:.55rem;flex:1;min-height:0}.panel{border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;box-shadow:0 1px 2px #1c24200a}.panel h2{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);padding:.6rem .85rem;border-bottom:1px solid var(--line);font-weight:600}.panel-body{padding:.85rem;overflow:auto;flex:1;white-space:pre-wrap;font-size:.92rem;line-height:1.45}.panel-body-mail{padding:0;white-space:normal;display:flex;flex-direction:column}.email-body{display:flex;flex-direction:column;flex:1;min-height:0}.email-meta{color:var(--muted);font-size:.85rem;padding:.65rem .85rem;border-bottom:1px solid var(--line);white-space:pre-wrap;background:#ffffff73}.mail-frame{flex:1;width:100%;min-height:180px;border:0;background:#fff}.mail-plain{padding:.85rem;overflow:auto;flex:1;white-space:pre-wrap;font-size:.92rem;line-height:1.45}.panel-mail{background:var(--pane-mail)}.panel-mail h2{background:var(--pane-mail-head)}.panel-dossier{background:var(--pane-dossier)}.panel-dossier h2{background:var(--pane-dossier-head)}.panel-chat{background:var(--pane-chat)}.panel-chat h2{background:var(--pane-chat-head)}.panel-draft{background:var(--pane-draft)}.panel-draft h2{background:var(--pane-draft-head)}.splitter{background:transparent;position:relative;z-index:2}.splitter:after{content:"";position:absolute;background:#b7c0c8;border-radius:2px;opacity:.55;transition:opacity .15s,background .15s}.splitter:hover:after,.splitter:active:after{opacity:1;background:var(--accent)}.splitter-vertical{cursor:col-resize}.splitter-vertical:after{top:12%;bottom:12%;left:1px;width:4px}.splitter-horizontal{cursor:row-resize}.splitter-horizontal:after{left:12%;right:12%;top:1px;height:4px}.splitter-cross{pointer-events:none}.chat-log{display:flex;flex-direction:column;gap:.55rem}.bubble{padding:.65rem .75rem;border-radius:8px;max-width:95%}.bubble.user{background:#cfe8e1;align-self:flex-end}.bubble.assistant,.bubble.system{background:#e4ebe7;align-self:flex-start}.bubble .role{font-size:.7rem;color:var(--muted);margin-bottom:.2rem}.chat-compose{display:flex;gap:.5rem;padding:.65rem;border-top:1px solid var(--line);background:#ffffff59}.chat-compose input{flex:1;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;background:#fff}.draft-area{width:100%;flex:1;min-height:120px;border:none;resize:none;padding:.85rem;background:transparent;line-height:1.5}.draft-actions{display:flex;gap:.5rem;padding:.65rem;border-top:1px solid var(--line);flex-wrap:wrap;background:#ffffff59}.btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.45rem .75rem;cursor:pointer;font-weight:500}.btn:hover{background:#f5f1ea}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn .spinner{margin-right:.4rem;vertical-align:-2px}.progress-banner{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;background:linear-gradient(90deg,#d8ebe5,#e8f2ef);border-bottom:1px solid #b7d4cb;color:var(--ink)}.progress-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.progress-text strong{font-size:.92rem}.progress-text span{font-size:.78rem;color:var(--muted)}.spinner{width:1.15rem;height:1.15rem;border:2px solid #a7c4bb;border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:.9rem;height:.9rem;border-width:2px;display:inline-block}.spinner-on-dark{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.status-analyzing{color:var(--accent);font-weight:600}.bubble-progress{display:flex;align-items:center;gap:.5rem;font-style:italic}.poll-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.poll-msg-busy{display:flex;align-items:flex-start;gap:.4rem}.sidebar .progress-banner{margin:.5rem .75rem 0;border:1px solid #b7d4cb;border-radius:8px;padding:.55rem .7rem}.badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.72rem;background:#ebe6dc}.badge.alto{background:#f3d6d6;color:var(--danger)}.badge.medio{background:#f3e2c8;color:var(--warn)}.badge.basso{background:#d7eadc;color:var(--ok)}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);background:var(--bg-panel);border:1px solid var(--line);border-radius:14px;padding:1.75rem;box-shadow:0 16px 40px #1c24200f}.login-card h1{font-family:var(--font-display);margin:0 0 .35rem}.login-card p{color:var(--muted);margin:0 0 1.25rem}.login-card label{display:block;font-size:.85rem;margin-bottom:.3rem}.login-card input{width:100%;margin-bottom:.9rem;padding:.6rem .7rem;border-radius:8px;border:1px solid var(--line)}.error{color:var(--danger);font-size:.9rem;margin-bottom:.75rem}.empty{display:grid;place-items:center;color:var(--muted);height:100%;padding:2rem}@media (max-width: 1100px){.app-shell:not(.is-mobile){grid-template-columns:1fr!important;grid-template-rows:minmax(220px,40vh) 1fr}.app-shell:not(.is-mobile)>.splitter-vertical{display:none}.app-shell:not(.is-mobile) .workspace{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:.55rem}.app-shell:not(.is-mobile) .workspace .splitter,.app-shell:not(.is-mobile) .workspace .splitter-cross{display:none}}@media (max-width: 768px){.app-shell.is-mobile{grid-template-columns:1fr!important;grid-template-rows:1fr}.app-shell.is-mobile>.splitter-vertical{display:none}.app-shell.is-mobile .sidebar[hidden],.app-shell.is-mobile .main[hidden]{display:none!important}.app-shell.is-mobile .sidebar,.app-shell.is-mobile .main{height:100%;min-height:100dvh}.desktop-only-empty{display:none}.brand{padding:.85rem .85rem .55rem}.brand h1{font-size:1.1rem}.ticket-item{padding:.85rem .8rem;min-height:3.25rem}.ticket-item .subj{font-size:.95rem}.topbar{padding:.65rem .75rem;gap:.65rem}.topbar .actions{width:100%}.topbar .actions .btn{flex:1 1 calc(50% - .25rem);text-align:center;padding:.65rem .5rem;font-size:.88rem}.btn{min-height:2.6rem}.mobile-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.mobile-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:.7rem .25rem;font-size:.82rem;font-weight:500;color:var(--muted);cursor:pointer}.mobile-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-soft)}.workspace{display:flex!important;flex-direction:column;padding:.45rem;gap:0;flex:1;min-height:0;overflow:hidden}.workspace .splitter,.workspace .splitter-cross{display:none!important}.workspace .panel{display:none;flex:1;min-height:0;border-radius:8px}.workspace.mobile-tab-mail .panel-mail,.workspace.mobile-tab-dossier .panel-dossier,.workspace.mobile-tab-chat .panel-chat,.workspace.mobile-tab-draft .panel-draft{display:flex}.workspace .panel h2{display:none}.mail-frame{min-height:50vh}.draft-area{min-height:40vh;font-size:1rem}.chat-compose{padding:.55rem;gap:.45rem}.chat-compose input{font-size:1rem;padding:.7rem .75rem}.bubble{max-width:100%;font-size:.92rem}}@media (max-width: 420px){.topbar .actions .btn{flex:1 1 100%}.mobile-tab{font-size:.78rem}}
