:root{--color-primary-hover: color-mix(in srgb, var(--color-primary) 85%, black);--radius-bubble: 1.5rem;--radius-full: 9999px;--radius-md: 12px;--radius-sm: 6px;--radius-lg: 18px;--font: "Titillium Web", system-ui, sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg-chat);color:var(--text-on-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes spin{to{transform:rotate(360deg)}}.app-container{display:flex;height:100vh;width:100%;overflow:hidden;background:var(--bg-chat)}.chat-layout{display:flex;flex-direction:column;flex:1;height:100vh;min-width:0;background:var(--bg-chat)}.chat-header{padding:12px;background:var(--bg-chat);flex-shrink:0;border-bottom:1px solid var(--header-border)}.chat-header-inner{max-width:800px;margin:0 auto;width:100%;display:flex;align-items:center;gap:12px}.chat-header-avatar{width:27px;height:27px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.chat-header-info{display:flex;flex-direction:column;gap:4px;flex:1}.chat-header-name{font-size:1rem;font-weight:600;color:var(--text-on-primary);line-height:1.2}.chat-header-status{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;font-weight:600;width:fit-content;background:var(--status-bg);color:var(--status-text)}.support-mode-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--banner-bg);border-bottom:1px solid var(--border-on-primary);color:var(--text-on-primary);font-size:.85rem;font-weight:600;flex-shrink:0;animation:fadeIn .3s ease}.support-mode-banner.solved{background:var(--banner-solved-bg);border-bottom-color:var(--banner-solved-border);color:var(--banner-solved-text)}.chat-messages{flex:1;overflow-y:auto;padding:16px;scroll-behavior:smooth}.chat-messages-inner{max-width:800px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.chat-messages{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:fadeIn .4s ease;padding:40px 20px;text-align:center}.chat-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:4px}.chat-empty h2{font-size:1.15rem;font-weight:600;color:var(--text-on-primary)}.chat-empty p{font-size:.9rem;color:var(--text-on-primary-muted);max-width:300px}.message-row{display:flex;animation:slideUp .25s ease-out}.message-row.user{justify-content:flex-end}.message-row.assistant,.message-row.glpi{justify-content:flex-start}.message-content-col{display:flex;flex-direction:column;max-width:75%}.message-meta{font-size:.875rem;color:var(--color-secondary-light);margin-top:4px;margin-bottom:8px;display:flex;align-items:center}.message-meta--user{justify-content:flex-end}.message-meta-name{font-weight:600}.message-meta-sep{margin:0 4px;opacity:.7}.message-bubble{padding:12px 16px;border-radius:var(--radius-bubble);line-height:1.65;font-size:1rem}.message-row.assistant .message-bubble{background:var(--bg-bubble-bot);color:var(--text-bubble-bot)}.message-row.user .message-bubble{background:var(--bg-bubble-user);color:var(--text-bubble-user)}.message-row.glpi .message-bubble{background:var(--bg-bubble-bot);color:var(--text-bubble-bot)}.message-bubble p{margin-bottom:.5em}.message-bubble p:last-child{margin-bottom:0}.message-row.assistant .message-bubble ul,.message-row.assistant .message-bubble ol{padding-left:16px;margin-bottom:.5em}.message-row.assistant .message-bubble a{color:var(--message-link-color);text-decoration:underline;font-style:italic}.message-bubble code{font-family:Menlo,Monaco,monospace;font-size:.85em;padding:.15em .4em;background:var(--message-code-bg);border-radius:4px;color:var(--text-on-primary)}.message-bubble pre{background:var(--message-code-bg);padding:8px;border-radius:var(--radius-md);overflow-x:auto;margin:8px 0}.message-bubble pre code{background:none;padding:0}.message-sources{margin-top:10px;padding-top:10px;border-top:1px solid var(--message-sources-border)}.message-sources-title{font-size:.7rem;font-weight:600;opacity:.7;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.source-link{display:block;font-size:.8rem;color:var(--message-sources-link);text-decoration:none;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link:hover{text-decoration:underline}.typing-row{display:flex;align-items:flex-start;gap:8px;animation:slideUp .2s ease-out}.typing-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.typing-bubble{background:var(--bg-bubble-bot);border-radius:var(--radius-bubble);padding:12px 16px}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;background:var(--bg-surface);border-radius:50%;animation:bounce 1.3s infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.chat-input-area{padding:16px;background:var(--bg-chat);flex-shrink:0}.chat-input-row{max-width:800px;margin:0 auto}.chat-input-wrapper{display:flex;align-items:center;gap:8px;background:var(--input-wrapper-bg);border-radius:var(--radius-full);padding:4px 8px 4px 16px}.chat-input-wrapper input[type=text]{flex:1;background:transparent;border:none;outline:none;color:var(--text-on-primary);font-family:var(--font);font-size:1rem;line-height:1.5;padding:8px 0}.chat-input-wrapper input[type=text]::placeholder{color:var(--input-placeholder);opacity:1}.send-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,opacity .15s;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.1)}.send-btn:disabled{opacity:.3;cursor:not-allowed}.stop-icon{width:10px;height:10px;background:var(--color-primary);border-radius:2px}.chat-version{text-align:center;font-size:.65rem;color:#ffffff40;padding:4px 0 6px;letter-spacing:.04em}.chat-input-disabled-message{display:flex;align-items:center;justify-content:center;gap:10px;max-width:800px;margin:0 auto;padding:13px 20px;background:var(--disabled-message-bg);border-radius:var(--radius-full);color:var(--text-on-primary-muted);font-size:.88rem;font-weight:500}.chat-session-complete{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:800px;margin:0 auto;width:100%}.quiz-inline-card{margin-top:14px;padding:14px;border-radius:var(--radius-lg);background:var(--quiz-inline-bg)}.quiz-inline-title{font-size:.75rem;font-weight:700;color:var(--quiz-inline-title);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.quiz-modal-question{color:var(--quiz-question-text);font-size:.95rem;font-weight:500;margin-bottom:12px;line-height:1.5}.quiz-modal-images{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.quiz-modal-image{display:block;width:100%;max-width:320px;height:auto;max-height:320px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-surface)}.quiz-options-list{display:flex;flex-direction:column;gap:8px}.quiz-option-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s;background:var(--quiz-option-bg);margin-top:12px;user-select:none;-webkit-user-select:none}.quiz-option-item:hover{border-color:var(--quiz-option-hover-border);background:var(--quiz-option-hover-bg)}.quiz-option-item.selected{border-color:var(--quiz-option-selected-border);background:var(--quiz-option-selected-bg)}.quiz-option-item.correct-attempt{border-color:var(--success-strong);background:var(--banner-solved-bg)}.quiz-option-item.wrong-attempt{border-color:var(--danger-accent);background:color-mix(in srgb,var(--danger-accent) 18%,transparent)}.quiz-option-item.pending-attempt{border-color:var(--quiz-option-pending-border);background:var(--quiz-option-pending-bg)}.quiz-option-item input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;flex-shrink:0;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.quiz-option-item input[type=radio]:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s}.quiz-option-item input[type=radio]:checked{border-color:#fff;background:#ffffff26}.quiz-option-item input[type=radio]:checked:after{opacity:1}.quiz-option-item.correct-attempt input[type=radio]{border-color:var(--success-strong);background:color-mix(in srgb,var(--success-strong) 20%,transparent)}.quiz-option-item.correct-attempt input[type=radio]:after{background:var(--success-strong);opacity:1}.quiz-option-item.wrong-attempt input[type=radio]{border-color:var(--danger-accent)}.quiz-option-item.wrong-attempt input[type=radio]:after{opacity:0}.quiz-option-item input[type=radio]:disabled{cursor:not-allowed;opacity:.6}.quiz-option-item span{color:var(--text-on-primary);font-size:.93rem;line-height:1.45}.quiz-option-item.correct-attempt span{color:var(--color-primary)}.quiz-modal-submit{margin-top:14px;width:100%;border:none;border-radius:var(--radius-full);padding:11px 16px;font-family:var(--font);font-size:.95rem;font-weight:700;background:var(--bg-surface);color:var(--color-primary);cursor:pointer;transition:opacity .15s,transform .15s}.quiz-modal-submit:hover{transform:translateY(-1px)}.quiz-modal-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.quiz-access-gate-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-chat)}.quiz-access-gate-card{width:min(680px,100%);background:var(--bg-surface);border-radius:18px;padding:28px;box-shadow:var(--card-shadow)}.quiz-access-gate-card h2{font-size:1.2rem;font-weight:700;color:var(--color-primary);margin-bottom:4px}.quiz-access-gate-card>p{color:var(--neutral-text);font-size:.9rem}.quiz-access-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-access-field{display:flex;flex-direction:column;gap:5px}.quiz-access-field span{font-size:.82rem;font-weight:600;color:var(--neutral-text)}.quiz-access-field input{border:1.5px solid var(--input-disabled-bg);border-radius:var(--radius-md);padding:10px 13px;font-family:var(--font);font-size:.93rem;color:var(--input-text);background:var(--input-bg);outline:none;transition:border-color .2s,box-shadow .2s}.quiz-access-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.quiz-access-error{margin-top:12px;color:var(--danger-text);font-size:.88rem;background:var(--danger-bg);padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--danger-border)}.quiz-access-submit{margin-top:18px;width:100%;border:none;border-radius:var(--radius-md);padding:13px;font-family:var(--font);font-size:.95rem;font-weight:700;color:var(--text-on-primary);background:var(--color-primary);cursor:pointer;transition:background .2s,transform .15s}.quiz-access-submit:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-chat);padding:24px}.login-card{width:min(400px,100%);background:var(--bg-surface);border-radius:18px;padding:32px 28px;box-shadow:var(--card-shadow)}.login-icon{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 12%,white);border:1.5px solid color-mix(in srgb,var(--color-primary) 30%,white);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:18px}.login-card h1{font-size:1.35rem;font-weight:700;color:var(--color-primary);margin-bottom:4px}.login-subtitle{font-size:.9rem;color:var(--neutral-text);margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-group label{font-size:.82rem;font-weight:600;color:var(--neutral-text)}.form-group input{border:1.5px solid var(--input-disabled-bg);border-radius:var(--radius-md);padding:11px 14px;font-family:var(--font);font-size:.95rem;color:var(--input-text);background:var(--input-bg);outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.login-btn{width:100%;margin-top:6px;padding:13px;border:none;border-radius:var(--radius-md);font-family:var(--font);font-size:.95rem;font-weight:700;color:var(--text-on-primary);background:var(--color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .15s}.login-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.login-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--spinner-track);border-top-color:var(--spinner-top);border-radius:50%;animation:spin .7s linear infinite}.login-error{margin-top:14px;color:var(--danger-text);font-size:.88rem;background:var(--danger-bg);padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--danger-border);text-align:center}.ticket-form-success{padding:12px 20px;background:var(--success-bg);color:var(--success-text);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--success-border)}.ticket-form-success-text{font-weight:500;font-size:14px}.ticket-user-id-input{text-align:center;letter-spacing:1px;cursor:not-allowed;background:var(--input-disabled-bg)}.ticket-field-warning{color:var(--danger-strong);font-size:.75rem;margin-top:4px;display:block}.ticket-upload-btn-label{font-size:.65rem;margin-top:2px}.ticket-summary-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--neutral-soft-text);font-size:.85rem;font-weight:500;-webkit-user-select:none;user-select:none;margin-bottom:4px}.ticket-summary-editor{width:100%;resize:vertical;margin-top:4px;border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:8px;font-size:.9rem;font-family:var(--font);outline:none;transition:border-color .2s,box-shadow .2s;background:var(--input-bg);color:var(--input-text)}.ticket-summary-editor:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}@media(max-width:768px){.quiz-access-grid{grid-template-columns:1fr}.message-content-col{max-width:90%}.chat-messages,.chat-input-area{padding:12px}}
