:root{color:#0f1729;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--background: hsl(210 40% 98%);--foreground: hsl(222 47% 11%);--card: hsl(0 0% 100%);--muted: hsl(210 40% 96%);--muted-foreground: hsl(215 16% 47%);--border: hsl(214 32% 91%);--primary: hsl(222 47% 11%);--primary-foreground: hsl(210 40% 98%);--accent: hsl(214 95% 93%);--accent-foreground: hsl(222 47% 11%);--danger: hsl(346 77% 49%);--radius: 8px;--shadow: 0 18px 50px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,p{margin:0}.ui-input{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ui-input:focus{border-color:#3c83f6;box-shadow:0 0 0 3px #3c83f629}.ui-button{border:0;border-radius:var(--radius);font-weight:700;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,opacity .15s ease,background .15s ease}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button-primary{background:var(--primary);color:var(--primary-foreground);padding:0 18px}.ui-button-soft{width:100%;background:var(--accent);color:var(--accent-foreground);padding:0 14px}.ui-button-outline{border:1px solid var(--border);background:var(--card);color:var(--foreground);min-height:34px;padding:0 12px;font-size:13px}.eyebrow{color:var(--muted-foreground);font-size:12px;font-weight:800;text-transform:uppercase}.alert{border-radius:var(--radius);padding:10px 12px;font-size:13px;line-height:1.4}.alert-danger{border:1px solid hsl(346 77% 49% / .24);background:#fff0f3;color:var(--danger)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffd1,#f8fafcf0),radial-gradient(circle at 50% 0%,hsl(214 95% 93%),transparent 34%),var(--background)}.auth-card{width:min(100%,408px);border:1px solid var(--border);border-radius:12px;background:#fffffff5;padding:28px;box-shadow:var(--shadow)}.auth-card__header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.auth-card h1{margin-top:2px;font-size:24px;line-height:1.15}.auth-mark,.brand-mark,.message-avatar{border-radius:var(--radius);display:grid;place-items:center}.auth-mark{width:44px;height:44px;background:var(--primary);color:var(--primary-foreground)}.auth-form{display:grid;gap:9px}.auth-form label{color:var(--foreground);font-size:13px;font-weight:700}.auth-form .ui-button{margin-top:6px;width:100%}.app-shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr);background:var(--background)}.sidebar{background:#0f1729;color:#f8fafc;padding:22px;display:flex;flex-direction:column;gap:14px}.brand-block{display:flex;align-items:center;gap:12px;margin-bottom:8px}.brand-mark{width:42px;height:42px;background:#dcebfe;color:#0f1729}.brand-block h1{font-size:18px;letter-spacing:0}.brand-block p{color:#94a3b8;font-size:13px}.panel{border:1px solid hsl(210 40% 98% / .12);border-radius:10px;padding:15px;background:#f8fafc0b}.panel-title{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:12px}.logged-box{display:grid;gap:10px}.logged-box p{color:#fff}.role-badge{width:fit-content;border-radius:999px;background:#dcebfe1f;color:#dcebfe;padding:5px 9px;font-size:12px;font-weight:800}.safe-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:#d0dae7;font-size:14px}.safe-list li{display:flex;align-items:center;gap:8px}.compact{display:grid;gap:9px}.compact button{width:100%;text-align:left;padding:10px 11px;border:1px solid hsl(210 40% 98% / .1);border-radius:var(--radius);background:#f8fafc12;color:#f8fafc;font-weight:700}.compact button:hover{background:#f8fafc1f}.chat-area{display:grid;grid-template-rows:auto auto 1fr auto auto;min-width:0;height:100vh}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 32px 18px;border-bottom:1px solid var(--border);background:var(--card)}.chat-header h2{font-size:24px;line-height:1.2}.status-pill{border:1px solid var(--border);background:var(--muted);color:var(--foreground);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.filters-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 32px;background:#f8fafc;border-bottom:1px solid var(--border)}.filters-row label{display:grid;gap:7px;color:var(--muted-foreground);font-size:13px;font-weight:800}.filters-row label svg{vertical-align:middle}.messages{overflow-y:auto;padding:28px 32px;display:flex;flex-direction:column;align-items:center;gap:18px}.message{width:min(100%,920px);display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px}.message.user{justify-content:end;grid-template-columns:minmax(0,680px) 48px}.message.user .message-avatar{order:2}.message.user .message-body{order:1;background:#0f1729;color:#f8fafc}.message-avatar{width:40px;height:40px;background:#dcebfe;color:#0f1729;font-size:12px;font-weight:900}.message-body{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:15px;line-height:1.55;box-shadow:0 8px 24px #0f172a0b}.message.is-error .message-body{border-color:#dd1d4a47;background:#fff0f3}.chips,.sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.chips span,.sources span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--muted);color:#344256;padding:5px 9px;font-size:12px;font-weight:700}.warning-chips span{background:#fff6eb;color:#934815}.sources strong{width:100%;font-size:12px;color:var(--muted-foreground)}.message-body small{display:block;margin-top:11px;color:var(--muted-foreground)}.report-panel{margin-top:14px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;overflow:hidden}.report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;background:var(--card);border-bottom:1px solid var(--border)}.report-kicker{color:var(--muted-foreground);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase}.report-head h3{margin:3px 0 0;color:var(--foreground);font-size:16px}.report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.sample-badge{border-radius:999px;background:#fff6eb;color:#934815;padding:5px 9px;font-size:12px;font-weight:800}.report-table-wrap{overflow-x:auto}.report-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.report-table th{background:#e1e7ef73;color:#344256;font-size:12px;font-weight:900;white-space:nowrap}.report-table td{color:#16213c}.report-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;color:var(--muted-foreground);font-size:12px;font-weight:700}.report-disclaimer{padding:0 14px 12px;color:var(--muted-foreground);font-size:12px}.loading-line{display:flex;align-items:center;gap:8px;color:var(--muted-foreground)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-bar{margin:0 32px 12px;border-radius:var(--radius);padding:11px 13px;background:#fff0f3;color:var(--danger);border:1px solid hsl(346 77% 49% / .24);font-weight:700}.composer{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 32px 24px;background:var(--card);border-top:1px solid var(--border)}.composer textarea{resize:none;min-height:76px}.composer button{min-width:130px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.chat-area{height:auto;min-height:100vh}.chat-header{align-items:flex-start;flex-direction:column}.filters-row,.composer{grid-template-columns:1fr}.message,.message.user{grid-template-columns:40px minmax(0,1fr);justify-content:start}.message.user .message-avatar,.message.user .message-body{order:0}.report-head{flex-direction:column}.report-actions{justify-content:flex-start}}
