:root{color-scheme:light;--bg: #eef2f7;--bg-accent: #dce8f5;--card: #ffffff;--stroke: #d8e0ea;--stroke-strong: #c2cedc;--text: #0f1c2e;--muted: #5c6b7e;--brand: #0056a3;--brand-dark: #003d73;--brand-light: #e8f2fc;--brand-glow: rgba(0, 86, 163, .14);--success: #0d7a4a;--success-bg: #e8f7ef;--danger: #b42318;--danger-bg: #fef3f2;--shadow-sm: 0 1px 2px rgba(15, 28, 46, .06);--shadow-md: 0 8px 24px rgba(15, 28, 46, .08);--shadow-lg: 0 20px 48px rgba(15, 28, 46, .12);--radius: 14px;--radius-lg: 18px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(900px 480px at 10% -10%,rgba(0,86,163,.08),transparent 55%),radial-gradient(700px 420px at 95% 0%,rgba(0,61,115,.06),transparent 50%),linear-gradient(180deg,var(--bg-accent) 0%,var(--bg) 100%);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100%;display:grid;place-items:center;padding:32px 20px}.card{width:min(980px,100%);border:1px solid var(--stroke);background:var(--card);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand) 100%);color:#fff;border-bottom:none}.header-brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{flex-shrink:0;width:44px;height:44px;color:#fff}.brand-mark svg{width:100%;height:100%;display:block}.title{font-weight:700;font-size:1.125rem;letter-spacing:-.02em;line-height:1.25}.subtitle{color:#ffffffd1;font-size:.8125rem;margin-top:4px;font-weight:400;line-height:1.4}.right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.feedback-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat{font-size:.75rem;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;white-space:nowrap;color:#fff}.stat-yes{border-color:#86efac73;background:#0d7a4a59}.stat-no{border-color:#fca5a573;background:#b4231859}.stat-percent{border-color:#ffffff59;background:#ffffff24}.btn-reset-stats{font-size:12px;padding:7px 10px;border-radius:999px}.pill{font-size:.75rem;font-weight:500;color:#ffffffeb;padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1a;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth{padding:28px 24px 32px;display:grid;gap:16px;max-width:420px;margin:0 auto}.tabs{display:flex;gap:8px;padding:4px;background:#f0f4f8;border-radius:12px;border:1px solid var(--stroke)}.tab{cursor:pointer;flex:1;padding:10px 14px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:.875rem;font-weight:500;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.tab.active{color:var(--brand);background:#fff;box-shadow:var(--shadow-sm)}.field{display:grid;gap:6px}.field span{font-size:.8125rem;font-weight:500;color:var(--muted)}.field input,.composer input,.field-inline input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--stroke-strong);background:#fafbfc;color:var(--text);outline:none;font-family:inherit;font-size:.9375rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field input:focus,.composer input:focus,.field-inline input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--brand-glow)}.field-inline{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.field-inline span{font-size:.75rem;font-weight:600;color:var(--muted);min-width:70px;text-transform:uppercase;letter-spacing:.04em}.field-inline input{flex:1}.btn{cursor:pointer;padding:10px 16px;border-radius:10px;border:1px solid var(--stroke-strong);background:#fff;color:var(--text);font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:#f4f7fb}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{border-color:var(--brand);background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.header .btn-ghost{border-color:#ffffff59;background:#ffffff14;color:#fff}.header .btn-ghost:hover:not(:disabled){background:#ffffff29}.btn-ghost{background:transparent}.hint{color:var(--muted);font-size:.75rem;line-height:1.5;text-align:center}.error{margin:0 24px;padding:12px 14px;border-radius:10px;border:1px solid #fecdca;background:var(--danger-bg);color:var(--danger);font-size:.875rem}.notice{margin:16px 24px 0;padding:12px 14px;border-radius:10px;border:1px solid #b2ddff;background:var(--brand-light);color:var(--brand-dark);font-size:.875rem}.toolbar{padding:14px 24px;border-bottom:1px solid var(--stroke);display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fafbfc}.chat{height:min(62vh,520px);overflow:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#fafbfc,#fff)}.empty{color:var(--muted);padding:32px 0;text-align:center;font-size:.9375rem;line-height:1.5}.empty-sub{margin-top:10px;font-size:.8125rem;color:#8a97a8;font-style:italic}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.msg-body{display:flex;flex-direction:column;gap:8px;max-width:min(720px,92%)}.bubble{max-width:100%;padding:12px 16px;border-radius:16px;border:1px solid var(--stroke);background:#fff;white-space:pre-wrap;line-height:1.5;font-size:.9375rem;box-shadow:var(--shadow-sm)}.msg.user .bubble{border-color:#b8d4f0;background:var(--brand-light);border-bottom-right-radius:4px}.msg.assistant .bubble{border-bottom-left-radius:4px}.typing{color:var(--muted);font-style:italic}.feedback{padding:12px 14px;border-radius:12px;border:1px solid var(--stroke);background:#fafbfc}.feedback-label{font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:8px}.feedback-actions{display:flex;gap:8px;margin-bottom:10px}.btn-save-feedback{width:100%}.btn-feedback{min-width:72px;font-weight:600}.btn-yes{border-color:#86efac;background:var(--success-bg);color:var(--success)}.btn-yes:hover:not(:disabled){background:#d1fae5}.btn-yes.active{box-shadow:0 0 0 3px #0d7a4a2e;background:#bbf7d0}.btn-no{border-color:#fecdca;background:var(--danger-bg);color:var(--danger)}.btn-no:hover:not(:disabled){background:#fee4e2}.btn-no.active{box-shadow:0 0 0 3px #b4231829;background:#fecdca}.feedback-field{display:grid;gap:6px}.feedback-field span{font-size:.8125rem;font-weight:500;color:var(--muted)}.feedback-field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--stroke-strong);background:#fff;color:var(--text);outline:none;resize:vertical;min-height:56px;font-family:inherit;line-height:1.45;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.feedback-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.feedback-field textarea:disabled{opacity:.65}.feedback-saved,.feedback-hint{margin-top:8px;font-size:.75rem;color:var(--muted);line-height:1.4}.composer{padding:16px 24px 24px;display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid var(--stroke);background:#fff}.composer input{border-radius:999px;padding-left:18px;padding-right:18px}.composer .btn-primary{border-radius:999px;padding-left:22px;padding-right:22px}.header .btn-ghost.active-view{background:#ffffff38;border-color:#ffffff80}.admin-report{padding:24px;background:#fafbfc}.admin-report-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-report-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.admin-report-subtitle{margin:6px 0 0;font-size:.875rem;color:var(--muted);line-height:1.45}.admin-report-actions{display:flex;gap:10px;flex-shrink:0}.admin-report-loading{padding:48px 0;text-align:center;color:var(--muted);font-size:.9375rem}.admin-report-error{margin:0 0 16px}.report-section{margin-bottom:28px}.report-section-title{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--text)}.report-section-desc{margin:-4px 0 12px;font-size:.8125rem;color:var(--muted);line-height:1.45}.report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.report-kpi{background:#fff;border:1px solid var(--stroke);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm)}.report-kpi-label{display:block;font-size:.75rem;font-weight:500;color:var(--muted);margin-bottom:6px}.report-kpi-value{display:block;font-size:1.375rem;font-weight:700;color:var(--text);line-height:1.2}.stat-yes-text{color:var(--success)}.stat-no-text{color:var(--danger)}.report-table-wrap{overflow-x:auto;border:1px solid var(--stroke);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.report-table{width:100%;border-collapse:collapse;font-size:.875rem}.report-table th,.report-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--stroke);vertical-align:top}.report-table th{background:#f0f4f8;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background:#f8fafc}.report-empty-cell{text-align:center;color:var(--muted);padding:24px 14px!important}.report-date{white-space:nowrap;font-size:.8125rem;color:var(--muted)}.report-observation{min-width:220px;max-width:360px;line-height:1.45;white-space:pre-wrap}.report-table-negative td:nth-child(3){max-width:280px;line-height:1.4;color:var(--text)}@media (max-width: 640px){.page{padding:16px 12px}.header{flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px}.right{justify-content:flex-start}.toolbar{flex-direction:column;align-items:stretch;padding:14px 16px}.chat{padding:16px;height:min(58vh,480px)}.composer{padding:14px 16px 18px;grid-template-columns:1fr}.auth{padding:24px 16px 28px}.admin-report{padding:16px}.admin-report-toolbar{flex-direction:column}.admin-report-actions{width:100%}.admin-report-actions .btn{flex:1}}
