:root{
  --bg:#07080d;--bg2:#0d0f18;--panel:rgba(15,17,27,.82);--panel-solid:#10121d;--card:rgba(255,255,255,.055);--line:rgba(255,255,255,.1);--text:#f8f7ff;--muted:#9aa0b5;--soft:#d9dcf1;--accent:#ff7ae6;--accent2:#8b5cf6;--accent3:#38bdf8;--good:#10b981;--warn:#f59e0b;--bad:#ef4444;--shadow:0 28px 90px rgba(0,0,0,.42)
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:radial-gradient(circle at 60% -20%,rgba(139,92,246,.36),transparent 38%),radial-gradient(circle at 10% 110%,rgba(255,122,230,.22),transparent 34%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-feature-settings:"cv01","ss03"}
button,input,textarea{font:inherit}
button{border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:white;padding:11px 14px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}
button:hover{transform:translateY(-1px);box-shadow:0 14px 35px rgba(139,92,246,.24)}
button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.hidden{display:none!important}
.login-screen{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:28px}.login-bg{position:absolute;inset:0;pointer-events:none}.orb{position:absolute;border-radius:999px;filter:blur(10px);opacity:.72}.orb-a{width:540px;height:540px;right:8%;top:-170px;background:radial-gradient(circle,rgba(255,122,230,.38),transparent 64%)}.orb-b{width:500px;height:500px;left:-140px;bottom:-160px;background:radial-gradient(circle,rgba(56,189,248,.25),transparent 66%)}.grid-glow{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at center,black,transparent 70%)}
.login-card{position:relative;width:min(460px,100%);border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(180deg,rgba(17,18,31,.9),rgba(10,11,18,.86));box-shadow:var(--shadow);padding:34px;backdrop-filter:blur(22px)}.login-card:before{content:"";position:absolute;inset:-1px;border-radius:30px;padding:1px;background:linear-gradient(135deg,rgba(255,122,230,.8),rgba(139,92,246,.15),rgba(56,189,248,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-brand{display:flex;gap:16px;align-items:center}.login-logo,.logo{display:grid;place-items:center;font-weight:800;color:white;background:linear-gradient(135deg,var(--accent2),var(--accent));box-shadow:0 0 60px rgba(255,122,230,.28)}.login-logo{width:58px;height:58px;border-radius:18px;font-size:25px}.login-brand h1{font-size:30px;line-height:1;margin:4px 0 0}.eyebrow{margin:0;color:#f0a8ff;font-size:12px;font-weight:800;letter-spacing:.14em}.login-copy{margin:24px 0;color:var(--soft);line-height:1.6}.login-form{display:grid;gap:12px}.login-form label{color:var(--soft);font-weight:700;font-size:13px}.password-row{display:flex;gap:10px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.055);padding:6px}.password-row:focus-within{border-color:rgba(255,122,230,.7);box-shadow:0 0 0 4px rgba(255,122,230,.11)}.password-row input{flex:1;border:0;outline:0;background:transparent;color:var(--text);padding:12px}.password-row button{background:rgba(255,255,255,.08);box-shadow:none;padding:9px 12px}.remember-row{display:flex!important;gap:9px;align-items:center;color:var(--muted)!important;font-weight:600!important}.remember-row input{accent-color:var(--accent)}.login-submit{margin-top:6px;padding:14px 18px;border-radius:16px}.login-error{min-height:20px;margin:2px 0 0;color:#ff9ea7;font-weight:700}.login-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.app{display:grid;grid-template-columns:320px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:22px;background:rgba(16,17,28,.86);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:18px;max-height:100vh;position:sticky;top:0}.brand{display:flex;gap:12px;align-items:center}.logo{width:44px;height:44px;border-radius:14px}.brand span,.muted{display:block;color:var(--muted);font-size:13px}.wide{width:100%}.status-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:12px}.status-card div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.status-card div:last-child{border-bottom:0}.status-card span,.section-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.quick{display:grid;gap:8px}.quick button,.section-row button,.ghost{background:rgba(255,255,255,.05);text-align:left;box-shadow:none}.section-row{display:flex;justify-content:space-between;align-items:center}.sessions-wrap{min-height:0;display:flex;flex-direction:column;gap:8px}.sessions{overflow:auto;display:grid;gap:8px}.session{background:rgba(255,255,255,.035);display:grid;text-align:left;gap:4px}.session.active{border-color:rgba(255,122,230,.55)}.session span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-shell{min-width:0;display:grid;grid-template-rows:auto 1fr auto;max-height:100vh}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line);background:rgba(7,8,13,.64);backdrop-filter:blur(16px)}.topbar h1{margin:4px 0 0;font-size:24px}.run-state{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:999px;padding:7px}.run-state button{padding:8px 12px;border-radius:999px}#runDot{width:10px;height:10px;border-radius:999px;background:var(--muted)}#runDot.running,#runDot.queued{background:var(--warn);box-shadow:0 0 18px var(--warn)}#runDot.done,#runDot.idle{background:var(--good)}#runDot.failed,#runDot.erro{background:var(--bad)}.messages{overflow:auto;padding:28px;display:flex;flex-direction:column;gap:16px}.empty{margin:auto;text-align:center;color:var(--muted);display:grid;gap:8px}.empty b{color:var(--text);font-size:26px}.msg{max-width:900px;border:1px solid var(--line);border-radius:20px;padding:14px 16px;background:rgba(255,255,255,.055);box-shadow:0 10px 36px rgba(0,0,0,.16)}.msg.user{align-self:flex-end;background:linear-gradient(135deg,rgba(139,92,246,.30),rgba(255,122,230,.18));border-color:rgba(255,122,230,.28)}.msg.assistant{align-self:flex-start}.msg.error,.msg.erro{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}.msg.pending{opacity:.78}.role{display:block;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;margin-bottom:8px}.content{white-space:pre-wrap;line-height:1.55;color:var(--soft)}.composer{padding:18px 28px 24px;border-top:1px solid var(--line);background:rgba(7,8,13,.7)}.composer textarea{width:100%;min-height:92px;max-height:220px;resize:vertical;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.055);color:var(--text);padding:16px;outline:0}.composer textarea:focus{border-color:rgba(255,122,230,.55);box-shadow:0 0 0 4px rgba(255,122,230,.09)}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.auth-badge{color:var(--muted);font-size:13px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.04)}#sendBtn{min-width:130px}
@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:relative;max-height:none}.chat-shell{max-height:none;min-height:100vh}.topbar{align-items:flex-start;flex-direction:column}.login-card{padding:26px}.login-foot{flex-direction:column}.run-state{flex-wrap:wrap;border-radius:18px}.messages{padding:18px}.composer{padding:14px 18px 20px}}
