:root{
  --bg:#050807;--surface:#09110e;--line:#1b352c;--line-soft:#13271f;
  --text:#f3fff9;--muted:#8ea69c;--green:#22f2a3;--red:#ff5573;--amber:#ffc95c;--cyan:#70ddff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.auth-loading{visibility:hidden}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 80% -10%,rgba(34,242,163,.09),transparent 30%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:13px clamp(16px,3vw,54px);border-bottom:1px solid var(--line-soft);background:rgba(5,8,7,.93);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--green);border-radius:13px;color:var(--green);background:linear-gradient(145deg,#10251f,#07100d);font-weight:950}.brand strong,.brand small{display:block}.brand small{margin-top:2px;color:var(--muted);font-size:.72rem;letter-spacing:.12em}.topbar-actions{display:flex;align-items:center;gap:10px}
.live-chip{display:flex;align-items:center;gap:9px;min-height:42px;padding:6px 11px;border:1px solid var(--line);border-radius:11px;background:#08110e;color:#cce9df}.live-chip>i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px rgba(251,191,36,.65)}.live-chip.online>i{background:var(--green);box-shadow:0 0 14px var(--green)}.live-chip strong,.live-chip small{display:block}.live-chip strong{font-size:.72rem}.live-chip small{margin-top:3px;color:var(--muted);font-size:.6rem}
.shell{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:18px 0 42px}.hero,.panel{border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(13,23,20,.96),rgba(7,13,11,.99));box-shadow:0 24px 70px rgba(0,0,0,.18)}
.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px}.hero h1{margin:0;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.055em}.hero p{max-width:850px;margin:13px 0 0;color:var(--muted);line-height:1.55}
.panel{padding:22px;margin-top:16px}.panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel h2{margin:0;font-size:1.35rem;letter-spacing:-.025em}.eyebrow{margin:0 0 8px;color:var(--green);font-size:.73rem;font-weight:950;letter-spacing:.14em}
.grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.grid .panel{margin-top:16px}
.state-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.67rem;font-weight:950;letter-spacing:.04em}.state-badge.safe,.state-badge.good{border-color:rgba(34,242,163,.35);color:var(--green)}.state-badge.bad{border-color:rgba(255,85,115,.45);color:var(--red)}.state-badge.waiting{color:var(--amber)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 15px;border:1px solid transparent;border-radius:9px;font-weight:850;text-decoration:none}.button.primary{color:#02110b;background:var(--green)}.button.secondary{border-color:#29483e;color:#dff9ef;background:transparent}
label{display:block;margin-bottom:8px;color:#c9ddd5;font-size:.8rem;font-weight:850}textarea,input{width:100%;border:1px solid #29483e;border-radius:9px;outline:none;color:var(--text);background:#050a08}textarea{min-height:180px;padding:13px;resize:vertical;line-height:1.5}input{min-height:47px;padding:0 13px}textarea:focus,input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(34,242,163,.1)}.request-panel .button{width:100%;margin-top:8px}.form-message{min-height:20px;margin:9px 0;color:var(--amber);font-size:.8rem}.form-message.success{color:var(--green)}.form-message.error{color:var(--red)}.safety-note,.history-notice{margin:14px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.kv{display:grid;gap:1px;overflow:hidden;border:1px solid var(--line-soft);border-radius:10px;background:var(--line-soft)}.kv div{display:flex;justify-content:space-between;gap:14px;padding:12px;background:#07100d}.kv span{color:var(--muted);font-size:.72rem}.kv strong{text-align:right;font-size:.78rem}
.request-list,.history{display:grid;gap:12px}.request-item,.message{padding:16px;border:1px solid var(--line-soft);border-left:4px solid #70847c;border-radius:12px;background:#07100d}.request-item.good,.message.assistant{border-left-color:var(--green)}.request-item.bad{border-left-color:var(--red)}.request-item.safe{border-left-color:var(--cyan)}.request-item.waiting{border-left-color:var(--amber)}.request-item.is-processing{box-shadow:0 0 0 1px rgba(112,221,255,.08),0 0 36px rgba(112,221,255,.06)}.request-item header,.message header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.request-item header span,.message header span{font-size:.72rem;font-weight:950;color:var(--cyan);letter-spacing:.08em}.request-item.is-processing header span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan);animation:pulse 1.1s infinite}.request-item time,.message time,.request-item small{color:var(--muted);font-size:.7rem}.request-text{margin:0;color:#dceee7;line-height:1.55}.progress-box{margin:14px 0;padding:13px;border:1px solid rgba(112,221,255,.14);border-radius:12px;background:rgba(255,255,255,.022)}.progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.progress-head strong,.progress-head small{display:block}.progress-head strong{color:#eefdf8;font-size:.86rem}.progress-head small{margin-top:4px;color:var(--muted);font-size:.73rem;line-height:1.45}.progress-head b{color:var(--cyan);font-size:.9rem}.progress-track{height:8px;margin-top:12px;overflow:hidden;border-radius:999px;background:#111f1a}.progress-track i{display:block;width:var(--progress,0%);height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--cyan));box-shadow:0 0 16px rgba(112,221,255,.38);transition:width .35s ease}.is-processing .progress-track{position:relative}.is-processing .progress-track:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);animation:sweep 1.35s infinite}.running-command{display:grid;gap:6px;margin-top:11px}.running-command span{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em}.running-command code,.progress-log code{display:block;padding:8px;border:1px solid rgba(34,242,163,.14);border-radius:8px;color:#bfffe4;background:#04110c;white-space:pre-wrap;overflow-wrap:anywhere;font:.72rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.progress-log{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.progress-log li{padding:9px 10px;border-left:2px solid rgba(112,221,255,.4);background:rgba(112,221,255,.035)}.progress-log span{display:block;color:var(--cyan);font-size:.65rem;font-weight:950;letter-spacing:.08em}.progress-log p{margin:4px 0 0;color:#d7ede5;font-size:.75rem;line-height:1.4}.answer,.message pre{margin:12px 0 0;padding:13px;border:1px solid rgba(112,221,255,.15);border-radius:10px;background:rgba(255,255,255,.025);color:#d8eee6;white-space:pre-wrap;overflow-wrap:anywhere;font:500 .82rem/1.55 Inter,ui-sans-serif,system-ui}.answer.error{border-color:rgba(255,85,115,.3);color:#ffc1cb}.empty-state{margin:0;padding:16px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);text-align:center;font-size:.78rem}
.toast-region{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}.toast{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border:1px solid rgba(34,242,163,.32);border-left:4px solid var(--green);border-radius:13px;background:rgba(8,17,14,.97);box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 28px rgba(34,242,163,.12);animation:toastIn .22s ease both;pointer-events:auto}.toast.error{border-color:rgba(255,85,115,.36);border-left-color:var(--red);box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 28px rgba(255,85,115,.11)}.toast.leaving{animation:toastOut .18s ease both}.toast strong{display:block;color:#f4fff9;font-size:.92rem}.toast p{margin:5px 0 0;color:#b8d2c8;font-size:.78rem;line-height:1.45}.toast time{display:block;margin-top:7px;color:var(--muted);font-size:.66rem}.toast button{align-self:start;width:27px;height:27px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#07100d;font-weight:900}.toast button:hover{color:var(--text);border-color:#33594c}
dialog{width:min(580px,calc(100% - 26px));padding:0;border:1px solid #2b4e42;border-radius:17px;color:var(--text);background:#09110e;box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}.dialog-shell{padding:25px}.dialog-shell>p{color:var(--muted);line-height:1.5}.dialog-shell .button{width:100%}
@media(max-width:900px){.grid{grid-template-columns:1fr}.hero,.panel header{flex-direction:column}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.live-chip{flex:1}.brand small{display:none}}
@media(max-width:560px){.shell{width:min(100% - 18px,1500px)}.topbar-actions{flex-wrap:wrap}.live-chip{display:none}.kv div{display:block}.kv strong{display:block;margin-top:5px;text-align:left}}
@keyframes pulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}@keyframes sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.request-item.is-processing header span:before,.is-processing .progress-track:after,.toast,.toast.leaving{animation:none}}
/* Vetor de Mercado - identidade visual 2026-09-18 */
:root{--bg:#080b0b;--surface:#0e1110;--line:#303633;--line-soft:#1d2320;--text:#f7f6f2;--muted:#9aa09d;--green:#a4ff02;--red:#ff5573;--amber:#ffc95c;--cyan:#c4d3cd}
body{background-color:var(--bg);background-image:linear-gradient(rgba(247,246,242,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(247,246,242,.026) 1px,transparent 1px),repeating-linear-gradient(135deg,transparent 0 78px,rgba(164,255,2,.018) 78px 80px,transparent 80px 158px);background-size:34px 34px,34px 34px,240px 240px}
.topbar{border-bottom-color:rgba(164,255,2,.24);background:rgba(8,11,11,.96);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.brand{gap:13px}.brand-mark{width:46px;height:46px;overflow:hidden;border:0;border-radius:8px;background:#080b0b;box-shadow:0 0 22px rgba(164,255,2,.09)}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand strong{font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-size:1.08rem;font-weight:900;line-height:1;letter-spacing:.055em;text-transform:uppercase}.brand small{margin-top:5px;color:var(--green);letter-spacing:.15em}
.hero,.panel{border-color:var(--line);border-radius:8px;background:linear-gradient(145deg,#0e1110,#090b0b);box-shadow:0 18px 44px rgba(0,0,0,.34)}.hero{border-top:3px solid var(--green)}.eyebrow{color:var(--green)}.panel h2,.hero h1{font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;letter-spacing:.02em}
.button{border-radius:6px}.button.primary{color:#080b0b;background:var(--green)}.button.primary:hover{background:#b5ff30;box-shadow:0 0 18px rgba(164,255,2,.14)}.button.secondary{border-color:var(--line);color:var(--text);background:#0a0d0c}.button.secondary:hover{border-color:var(--green)}
.live-chip,.kv,.request-item,.message,.progress-box,.answer,.message pre,.empty-state{border-color:var(--line)}.live-chip{border-radius:7px;background:#0a0d0c}.live-chip.online>i{background:var(--green);box-shadow:0 0 14px rgba(164,255,2,.58)}
.request-item,.message,.kv div{background:#0a0d0c}.request-item.good,.message.assistant{border-left-color:var(--green)}.progress-track i{background:linear-gradient(90deg,#74c900,var(--green));box-shadow:0 0 16px rgba(164,255,2,.3)}.running-command code,.progress-log code{border-color:rgba(164,255,2,.18);color:#dcff9e;background:#080b0b}.toast{border-color:rgba(164,255,2,.32);border-left-color:var(--green);border-radius:8px;background:rgba(8,11,11,.98)}
textarea,input{border-color:var(--line);border-radius:6px;background:#080b0b}textarea:focus,input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(164,255,2,.09)}
@media(max-width:560px){.brand-mark{width:42px;height:42px}.brand strong{font-size:.9rem}.brand small{font-size:.58rem}}

/* Vetor de Mercado - conforto visual 2026-09-18 */
:root{--brand-green:#a4ff02;--green:#72dd55;--red:#ee7182}
.topbar{border-bottom-color:rgba(164,255,2,.14);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.brand small{color:#a9c48f}
.brand-mark{box-shadow:0 0 14px rgba(164,255,2,.055)}
.topbar-actions .button{text-transform:uppercase;letter-spacing:.055em}
.button.primary{border-color:#62b746;color:#0b100a;background:#6bcf4c;box-shadow:none}
.button.primary:hover{border-color:#6bcf4c;background:#7ade5b;box-shadow:none}
.button.secondary:hover{border-color:#617b57}
.live-chip.online>i{background:var(--green);box-shadow:0 0 8px rgba(114,221,85,.38)}
.progress-track i{background:linear-gradient(90deg,#52bd38,var(--green));box-shadow:0 0 10px rgba(114,221,85,.2)}
.running-command code,.progress-log code{border-color:rgba(114,221,85,.2);color:#dcf5d5}
.toast{border-color:rgba(114,221,85,.32);border-left-color:var(--green);box-shadow:0 22px 62px rgba(0,0,0,.38)}
textarea:focus,input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(114,221,85,.09)}
