:root{--bg:#f4f7fa;--cd:#ffffff;--tx:#0f172a;--mu:#64748b;--g:#0284c7;--gd:#0f172a;--ln:#e2e8f0;--gl:rgba(2,132,199,0.2);--mp:#f8fafc;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f172a;--cd:#1e293b;--tx:#f8fafc;--mu:#94a3b8;--g:#38bdf8;--gd:#0f172a;--ln:#334155;--mp:#0f172a;--gl:rgba(56,189,248,0.2)}}
:root[data-theme="dark"]{--bg:#0f172a;--cd:#1e293b;--tx:#f8fafc;--mu:#94a3b8;--g:#38bdf8;--gd:#0f172a;--ln:#334155;--mp:#0f172a;--gl:rgba(56,189,248,0.2)}
*{box-sizing:border-box}html,body{background:var(--bg);height:auto}body{margin:0;font:15px/1.45 Sora,system-ui,sans-serif;color:var(--tx)}
button{font:inherit;cursor:pointer;border:0;color:inherit}h2{margin:6px 0 16px;font-size:20px;font-weight:800}h3{margin:0 0 8px}
#main{max-width:900px;margin:0 auto;padding:16px 16px 110px}
nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--cd);border-top:1px solid var(--ln);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));z-index:5}
nav button{flex:1;background:none;padding:8px 2px;font-size:11px;color:var(--mu);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:0.2s}
nav button i{font-style:normal;font-size:20px}
nav button.on{color:var(--g);background:rgba(2,132,199,0.1);font-weight:600}
body:not(.in) #main,body:not(.in) nav{display:none}body.in #lg{display:none}

/* Modo Offline / Badge */
#conn-badge { position:fixed; top:20px; right:20px; z-index:50; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,0.1); font-size:12px; padding:6px 14px; font-weight:700; transition:0.3s; display:none; border-radius:12px; }
body.in #conn-badge { display:flex; align-items:center; gap:8px; }
body.in #conn-badge.ok { background:rgba(16,185,129,0.1); color:#059669; border:1px solid rgba(16,185,129,0.2); }
@media(max-width:900px){ body.in #conn-badge { top:12px; right:12px; font-size:11px; padding:6px 10px; } }

/* Estilo Executivo / Profissional para Computadores */
@media(min-width:900px){
  body.in{padding-left:260px;background:var(--bg)}
  nav{top:0;right:auto;width:260px;flex-direction:column;justify-content:flex-start;gap:8px;padding:32px 20px;border-top:0;border-right:1px solid var(--ln);box-shadow:4px 0 24px rgba(0,0,0,0.02)}
  nav::before{content:"NEXUS AI";display:block;font-size:24px;font-weight:800;color:var(--tx);margin-bottom:40px;text-align:center;letter-spacing:-0.5px}
  nav button{flex:none;flex-direction:row;font-size:14px;font-weight:600;gap:14px;padding:14px 18px;border-radius:12px}
  nav button i{font-size:18px;width:24px;text-align:center}
  nav button:hover{background:var(--bg);color:var(--tx)}
  nav button.on{background:var(--tx);color:var(--cd)}
  nav button.on i{color:var(--cd)}
  
  #main{max-width:1400px;padding:40px 48px;margin:0 auto}
  h2{font-size:22px;margin:8px 0 20px}
  h3{font-size:16px}
  
  .gr{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:16px;margin-bottom:24px}
  .c, .t{border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,0.03);border:1px solid var(--ln);padding:20px;margin-bottom:16px}
  
  .hero{display:flex;align-items:center;justify-content:space-between;background:var(--cd);color:var(--tx);border:1px solid var(--ln);border-radius:16px;padding:28px 36px;margin-bottom:24px;box-shadow:0 4px 16px rgba(0,0,0,0.03)}
  .hero:after{display:none} 
  .hero h2{font-size:28px!important;margin:8px 0!important;color:var(--tx)}
  .hero p{color:var(--mu)}
  .hero .b.p{width:auto;padding:0 32px;flex:none;min-height:50px}
  
  .t b{font-size:24px}
  .t span{font-size:12px}
  .b{min-height:44px;border-radius:10px;font-size:13px}
  .b.p{font-size:14px}
  .b.s{min-height:36px;font-size:12px}
  .mp{max-width:100%;margin:0 0 16px;border-radius:16px}
  .mp svg{width:100%;height:auto;max-height:500px}
  #sh{align-items:center!important}
  #sh>div{border-radius:20px!important;max-width:680px;padding:32px}
  .ft{text-align:left;border-top:1px solid var(--ln);padding-top:20px;margin-top:40px}
}

.c{background:var(--cd);border:1px solid var(--ln);border-radius:20px;padding:16px;margin-bottom:12px}
.r{display:flex;justify-content:space-between;align-items:center;gap:8px}.r2{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.m{color:var(--mu);margin:6px 0;font-size:13px}
.b{min-height:50px;border-radius:14px;padding:0 18px;font-weight:600;background:var(--ln);color:var(--tx);flex:1;transition:0.2s}
.b:hover{opacity:0.9}
.b.p{background:linear-gradient(135deg,var(--g),#026bb0);color:#fff;box-shadow:0 4px 16px var(--gl);width:100%;font-size:15px}
.b.s{min-height:40px;font-size:12px;padding:0 12px}.b.d{background:#ef4444;color:#fff}
.tag{font-size:11px;padding:4px 10px;border-radius:99px;background:rgba(245,158,11,0.15);color:#d97706;white-space:nowrap;font-weight:600}.tag.ok{background:rgba(2,132,199,0.12);color:var(--g)}
.gr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.t{background:var(--cd);border:1px solid var(--ln);border-radius:16px;padding:14px}.t b{display:block;font-size:22px;color:var(--g)}.t span{font-size:12px;color:var(--mu)}
.hero{background:linear-gradient(140deg,var(--gd),#1e293b);color:#fff;border-radius:24px;padding:24px;margin-bottom:16px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(var(--gl),transparent 70%);pointer-events:none}
.tl{border-left:2px solid var(--ln);margin-left:8px;padding-left:16px}.tl div{position:relative;margin-bottom:16px}.tl div:before{content:"";position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--ln)}.tl .ok:before{background:var(--g);box-shadow:0 0 10px var(--gl)}.tl small{color:var(--mu);display:block;margin-top:2px}
.bar{height:10px;background:var(--ln);border-radius:9px;overflow:hidden;margin:6px 0 12px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g),#38bdf8);transition:width .8s}
#sh{position:fixed;inset:0;background:rgba(15,23,42,.6);display:none;align-items:flex-end;justify-content:center;z-index:9;backdrop-filter:blur(4px)}#sh.on{display:flex}#sh>div{background:var(--cd);width:100%;max-width:560px;max-height:90vh;overflow:auto;border-radius:24px 24px 0 0;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px))}
#toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);background:var(--tx);color:var(--cd);padding:12px 20px;border-radius:12px;opacity:0;transition:.3s;z-index:20;max-width:90%;text-align:center;pointer-events:none;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,0.1)}#toast.on{opacity:1;transform:translateX(-50%)}
#lg{position:fixed;inset:0;z-index:30;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#fff;display:flex;padding:24px;overflow:auto}#lg>div{max-width:380px;width:100%;margin:auto}
input{width:100%;min-height:50px;border-radius:12px;border:1px solid var(--ln);background:var(--cd);color:var(--tx);padding:0 16px;font:inherit;margin:6px 0;transition:0.2s}input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px var(--gl)}#lg input{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);color:#fff}
.mp{border-radius:20px;overflow:hidden;border:1px solid var(--ln);background:var(--mp);margin-bottom:12px}.mp svg{display:block;width:100%;height:auto}
.gl{stroke:var(--ln);stroke-width:1}.pl{stroke:var(--g);stroke-width:3.5;fill:none;stroke-dasharray:8 6;animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-14}}
.pu{fill:var(--g);animation:pu 1.6s ease-out infinite}@keyframes pu{from{r:10;opacity:.6}to{r:30;opacity:0}}
.sp{fill:var(--cd);stroke:var(--g);stroke-width:3}.tx{fill:var(--tx);font-size:11px;font-family:inherit}
.ld{text-align:center;padding:10px}.ld i{display:block;width:44px;height:44px;margin:10px auto;border:4px solid var(--ln);border-top-color:var(--g);border-radius:50%;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.bub{padding:10px 14px;border-radius:14px;margin:8px 0;max-width:85%;line-height:1.5}.me{background:var(--g);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.ai{background:var(--ln);border-bottom-left-radius:4px}
.ch{display:inline-block;margin:3px;padding:6px 12px;border-radius:99px;background:var(--cd);border:1px solid var(--ln);font-size:12px;cursor:pointer;transition:0.2s}.ch:hover{border-color:var(--g);color:var(--g)}
.ft{text-align:center;font-size:12px;color:var(--mu);margin-top:20px}.mn{width:100%;text-align:left;margin-bottom:10px;display:flex;justify-content:space-between;background:var(--cd);border:1px solid var(--ln);border-radius:14px;padding:16px 18px;font-weight:600;transition:0.2s}.mn:hover{border-color:var(--g);box-shadow:0 2px 8px var(--gl)}
.land{fill:var(--mp)}.cr{fill:none;stroke:var(--g);stroke-width:14;opacity:.15}.pk{fill:rgba(16,185,129,.15)}.hs{fill:var(--ln);stroke:var(--mu);stroke-opacity:.2;stroke-width:.5}.s1{stroke:var(--mu);stroke-opacity:.2;stroke-width:11}.s2{stroke:var(--cd);stroke-width:9}.sn{font-size:8px;fill:var(--mu);font-family:inherit;font-weight:600}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
