:root{--navy:#073481;--navy-2:#0a4aa8;--blue:#0082ff;--cyan:#009cfe;--hero-1:#04122c;--hero-2:#062350;--hero-3:#0a2f6e;--ink:#0b1a33;--body:#51617a;--muted:#8493a8;--bg:#ffffff;--bg-soft:#f3f7fd;--bg-soft-2:#eef4fc;--line:#e4ecf6;--line-2:#d7e2f1;--radius:18px;--radius-sm:12px;--maxw:1200px;--shadow-sm:0 1px 2px rgba(11,26,51,.05),0 6px 22px -14px rgba(11,26,51,.16);--shadow-md:0 2px 4px rgba(11,26,51,.05),0 20px 46px -22px rgba(11,26,51,.28);--shadow-cad:0 40px 90px -32px rgba(0,40,110,.65),0 12px 30px -16px rgba(0,0,0,.5);--glow:0 10px 30px -8px rgba(0,130,255,.55);--font-d:"Space Grotesk",system-ui,sans-serif;--font-b:"Archivo",system-ui,sans-serif;--font-m:"JetBrains Mono",ui-monospace,monospace}[data-ic]{display:inline-flex;align-items:center}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:var(--blue);text-decoration:none;transition:color .15s ease}a:hover{color:var(--navy-2)}h1,h2,h3,h4{font-family:var(--font-d);margin:0;letter-spacing:-.02em;font-weight:600}p{margin:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}section{position:relative}.eyebrow{font-family:var(--font-m);font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:9px}.eyebrow.on-dark{color:#5fb8ff}.eyebrow:before{content:"";width:22px;height:1.5px;background:currentColor;opacity:.7}.btn{--bg:transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-b);font-weight:700;font-size:15px;line-height:1;padding:15px 24px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:transform .16s ease,box-shadow .22s ease,background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:linear-gradient(180deg,#1a8fff,#0072ec);color:#fff;box-shadow:var(--glow)}.btn-primary:hover{background:linear-gradient(180deg,#33a0ff,#0a7bf5);transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(0,130,255,.6);color:#fff}.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}.btn-ghost:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.5);transform:translateY(-2px);color:#fff}.btn-light{background:#fff;color:var(--ink);border-color:var(--line-2)}.btn-light:hover{border-color:#b9cae2;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn-outline{background:transparent;color:var(--blue);border-color:var(--line-2)}.btn-outline:hover{border-color:var(--blue);background:var(--bg-soft);transform:translateY(-2px)}.btn-sm{padding:12px 20px;font-size:14px;border-radius:10px}.btn-block{width:100%}.hdr{position:sticky;top:0;z-index:60;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;border-bottom:1px solid transparent}.nav{display:flex;justify-content:space-between;height:82px;gap:24px}.brand,.nav{align-items:center}.brand{position:relative;display:inline-flex;height:34px}.brand img{height:34px;width:auto;transition:opacity .25s ease}.brand .logo-white{position:absolute;left:0;top:0}.brand .logo-blue{opacity:0}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{font-family:var(--font-b);font-weight:600;font-size:15px;color:rgba(255,255,255,.82)}.nav-links a:hover{color:#fff}.nav-right{display:flex;align-items:center;gap:22px}.nav-login{font-weight:600;font-size:15px;color:rgba(255,255,255,.82)}.nav-login:hover{color:#fff}.hdr.scrolled{background:rgba(255,255,255,.88);backdrop-filter:saturate(150%) blur(12px);box-shadow:0 1px 0 rgba(11,26,51,.06);border-color:var(--line)}.hdr.scrolled .brand .logo-white{opacity:0}.hdr.scrolled .brand .logo-blue{opacity:1}.hdr.scrolled .nav-links a,.hdr.scrolled .nav-login{color:#33455f}.hdr.scrolled .nav-links a:hover,.hdr.scrolled .nav-login:hover{color:var(--blue)}.hero{background:radial-gradient(1100px 620px at 78% 8%,rgba(0,130,255,.28),transparent 60%),radial-gradient(900px 700px at 6% 100%,rgba(0,156,254,.18),transparent 55%),linear-gradient(160deg,var(--hero-1) 0,var(--hero-2) 55%,var(--hero-3) 100%);color:#fff;overflow:hidden;margin-top:-82px;padding-top:82px}.hero .blueprint{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(120,180,255,.07) 1px,transparent 0),linear-gradient(90deg,rgba(120,180,255,.07) 1px,transparent 0);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 55%,transparent 100%);mask-image:radial-gradient(120% 90% at 50% 0,#000 55%,transparent 100%)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.12fr;gap:56px;align-items:center;padding:72px 0 108px}.hero h1{font-size:clamp(38px,5.2vw,66px);line-height:1.02;color:#fff;margin:22px 0;font-weight:600}.hero h1 .accent{background:linear-gradient(92deg,#41a6ff,#7fe0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{font-size:clamp(16px,1.5vw,18.5px);line-height:1.62;color:#b9c9e6;max-width:512px;margin-bottom:34px}.hero-cta{gap:14px;margin-bottom:40px}.hero-cta,.hero-trust{display:flex;flex-wrap:wrap}.hero-trust{align-items:center;gap:14px 26px}.hero-trust .t-label{font-family:var(--font-m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7f93b8}.compat{gap:22px;flex-wrap:wrap}.compat,.compat-item{display:flex;align-items:center}.compat-item{gap:8px;font-size:14px;font-weight:600;color:#cdd9ef}.compat-item svg{width:16px;height:16px;color:#4fd0ff;flex:none}.cad{border-radius:14px;overflow:hidden;background:#0c1830;box-shadow:var(--shadow-cad);border:1px solid rgba(120,170,255,.16)}.cad-titlebar{gap:10px;height:36px;padding:0 13px;background:linear-gradient(180deg,#15294f,#0f1f3d)}.cad-a,.cad-titlebar{display:flex;align-items:center}.cad-a{width:19px;height:19px;border-radius:4px;justify-content:center;overflow:hidden;background:#073481}.cad-a img{width:100%;height:100%}.cad-title{color:#aebdd8;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-b)}.cad-winbtns{margin-left:auto;display:flex;gap:15px;color:#7f93b8;font-size:13px}.cad-toolbar{display:flex;align-items:center;gap:10px;height:30px;padding:0 13px;background:#0f1d38;border-bottom:1px solid #0a1428}.cad-toolbar [data-cad-tools]{display:flex;align-items:center;gap:9px}.cad-toolbar .ti{color:#5f76a0;display:inline-flex}.cad-toolbar .ti,.cad-toolbar .ti svg{width:16px;height:16px}.cad-toolbar .coord{margin-left:auto;color:#5f76a0;font-size:10.5px;font-family:var(--font-m);letter-spacing:.04em}.cad-body{position:relative;background:#0a1526}.cad-canvas{display:block;width:100%;height:auto}.cad-rail{position:absolute;top:0;right:0;height:100%;width:34px;background:#0f1d38;border-left:1px solid #0a1428;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:13px}.cad-rail svg{width:15px;height:15px;color:#6b82ac}.cad-cmd{display:flex;align-items:center;gap:9px;height:32px;padding:0 13px;background:#0b1730;border-top:1px solid #0a1428;color:#6b82ac;font-size:11.5px;font-family:var(--font-m)}.cad-cmd .cur{color:#4fd0ff}.cad-badge{position:absolute;left:16px;bottom:14px;z-index:3;display:flex;align-items:center;gap:8px;background:rgba(8,22,46,.82);border:1px solid rgba(120,170,255,.22);backdrop-filter:blur(4px);border-radius:10px;padding:8px 12px;font-family:var(--font-m);font-size:11px;color:#9fd6ff;letter-spacing:.03em}.cad-badge b{color:#fff;font-family:var(--font-b);font-weight:700;font-size:12px}.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:64px;z-index:2;display:block}.ribbon-sec{background:var(--bg);padding:74px 0 20px}.ribbon-sec .rb-head{text-align:center;max-width:720px;margin:0 auto 34px}.ribbon-sec h2{font-size:clamp(26px,3vw,36px);color:var(--ink);margin:14px 0 12px}.ribbon-sec .rb-head p{color:var(--body);font-size:17px}.ribbon-frame{position:relative}.ribbon{display:flex;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:thin;background:linear-gradient(180deg,#12213f,#0d1a33);border:1px solid #0a1428;border-radius:14px;padding:14px 6px 10px;box-shadow:var(--shadow-md)}.ribbon::-webkit-scrollbar{height:8px}.ribbon::-webkit-scrollbar-thumb{background:#2a3d63;border-radius:99px}.rib-group{display:flex;flex-direction:column;align-items:center;padding:0 16px;position:relative;flex:none}.rib-group+.rib-group:before{content:"";position:absolute;left:0;top:6px;bottom:22px;width:1px;background:rgba(120,170,255,.12)}.rib-icons{gap:4px;min-height:56px}.rib-btn,.rib-icons{display:flex;align-items:center}.rib-btn{width:38px;height:52px;flex-direction:column;justify-content:center;gap:5px;border-radius:8px;color:#c2d2ee;transition:background .15s ease,color .15s ease,transform .15s ease;cursor:default}.rib-btn:hover{background:rgba(90,150,255,.16);color:#fff;transform:translateY(-1px)}.rib-btn svg{width:22px;height:22px}.rib-btn.wide{width:auto;padding:0 8px}.rib-btn.wide span{font-size:9px;color:inherit}.rib-btn.wide span,.rib-label{font-family:var(--font-b);font-weight:600;white-space:nowrap}.rib-label{margin-top:8px;font-size:11px;color:#7f93b8;letter-spacing:.02em}.ribbon-fade{position:absolute;top:0;bottom:0;width:54px;pointer-events:none}.ribbon-fade.l{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.ribbon-fade.r{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.ribbon-hint{text-align:center;font-family:var(--font-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:16px}.acad{border-radius:12px;overflow:hidden;border:1px solid #0a1220;box-shadow:var(--shadow-md);background:#20242c}.acad-tabs{display:flex;gap:1px;background:#171b21;padding:0 6px;overflow-x:auto;scrollbar-width:none}.acad-tabs::-webkit-scrollbar{display:none}.acad-tabs span{font-family:var(--font-b);font-size:12px;font-weight:500;color:#8794a6;padding:10px 14px;white-space:nowrap}.acad-tabs span.on{color:#fff;background:#20242c;box-shadow:inset 0 2px 0 var(--blue)}.acad-strip{display:flex;overflow-x:auto;background:#20242c}.acad-strip::-webkit-scrollbar{height:9px}.acad-strip::-webkit-scrollbar-thumb{background:#3a4150;border-radius:99px}.acad-strip::-webkit-scrollbar-track{background:#171b21}.rb-panel{display:flex;flex-direction:column;flex:none;border-right:1px solid rgba(255,255,255,.06)}.rb-body{display:flex;align-items:stretch;gap:1px;padding:8px 7px 5px;flex:1}.rb-title{text-align:center;font-family:var(--font-b);font-size:11px;color:#7e8ca0;padding:5px 10px 7px;border-top:1px solid rgba(255,255,255,.05)}.rb-lg{flex-direction:column;gap:7px;width:66px;padding:7px 3px;background:transparent;border:1px solid transparent;border-radius:5px;cursor:default;font-family:var(--font-b);transition:background .12s,border-color .12s,color .12s}.rb-lg,.rb-lg .ic{display:flex;align-items:center;justify-content:center}.rb-lg .ic{color:#e4ebf5}.rb-lg .ic,.rb-lg .ic svg{width:30px;height:30px}.rb-lg .lb{font-size:11px;line-height:1.15;text-align:center;color:#c3cddb;max-width:60px;text-wrap:balance}.rb-col{display:flex;flex-direction:column;justify-content:center}.rb-sm{display:flex;align-items:center;gap:8px;padding:4px 11px 4px 5px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:default;font-family:var(--font-b);transition:background .12s,border-color .12s,color .12s}.rb-sm .ic{display:flex;flex:none;color:#e4ebf5}.rb-sm .ic,.rb-sm .ic svg{width:16px;height:16px}.rb-sm .lb{font-size:11px;color:#c3cddb;white-space:nowrap}.rb-lg:hover,.rb-sm:hover{background:rgba(74,140,255,.18);border-color:rgba(120,170,255,.45)}.rb-lg:hover .ic,.rb-lg:hover .lb,.rb-sm:hover .ic,.rb-sm:hover .lb{color:#fff}.sec-head{text-align:center;max-width:720px;margin:0 auto 56px}.sec-head h2{font-size:clamp(28px,3.6vw,42px);color:var(--ink);margin:16px 0 14px;line-height:1.08}.sec-head p{font-size:17.5px;color:var(--body);line-height:1.55}.features{padding:86px 0 96px;background:var(--bg)}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px 36px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .26s ease,border-color .2s ease}.feat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}.feat-ic{width:60px;height:60px;border-radius:15px;background:linear-gradient(155deg,#eaf3ff,#dfeeff);border:1px solid #d6e6fb;display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--blue)}.feat-ic svg{width:30px;height:30px}.feat-card h3{font-size:20.5px;color:var(--ink);margin-bottom:11px}.feat-card p{font-size:15px;line-height:1.62;color:var(--body)}.flow{padding:88px 0 96px;background:linear-gradient(180deg,var(--bg-soft),#fff);border-top:1px solid var(--line)}.flow-track{display:grid;grid-template-columns:repeat(7,1fr);gap:0;position:relative}.flow-line{position:absolute;left:7%;right:7%;top:30px;height:2px;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:.35;z-index:0}.flow-step{z-index:1;flex-direction:column;text-align:center;padding:0 8px}.flow-node,.flow-step{position:relative;display:flex;align-items:center}.flow-node{width:60px;height:60px;border-radius:16px;background:#fff;border:1.5px solid var(--line-2);justify-content:center;color:var(--blue);box-shadow:var(--shadow-sm);transition:transform .2s ease,border-color .2s ease}.flow-step:hover .flow-node{transform:translateY(-3px);border-color:var(--blue)}.flow-node svg{width:28px;height:28px}.flow-num{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-m);font-size:10.5px;font-weight:500;display:flex;align-items:center;justify-content:center}.flow-step h4{font-size:15px;color:var(--ink);margin:16px 0 6px}.flow-step p{font-size:12.5px;line-height:1.45;color:var(--muted)}.band{background:radial-gradient(900px 500px at 85% -10%,rgba(0,156,254,.4),transparent 60%),linear-gradient(135deg,var(--navy),#052a6b);padding:78px 0 82px;overflow:hidden}.band,.band .sec-head h2{color:#fff}.band .sec-head p{color:#bcd0f0}.band-grid{display:grid;grid-template-columns:repeat(5,1fr)}.ben{text-align:center;padding:6px 22px;position:relative}.ben+.ben:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.16)}.ben-ic{width:54px;height:54px;margin:0 auto 18px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#7fe0ff}.ben-ic svg{width:28px;height:28px}.ben h4{font-size:16.5px;margin-bottom:9px;color:#fff}.ben p{font-size:13.5px;line-height:1.55;color:#b8ccec}.pricing{padding:88px 0 100px;background:var(--bg)}.price-toggle{gap:4px;background:var(--bg-soft-2);border:1px solid var(--line);border-radius:999px;padding:5px;margin:18px auto 0}.price-toggle,.price-toggle button{display:inline-flex;align-items:center}.price-toggle button{font-family:var(--font-b);font-weight:600;font-size:14px;color:var(--body);background:transparent;border:0;padding:10px 20px;border-radius:999px;cursor:pointer;transition:all .18s ease;gap:8px}.price-toggle button.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.price-toggle .save{font-family:var(--font-m);font-size:10.5px;letter-spacing:.04em;color:#0e8a4a;background:#e2f6ec;padding:2px 7px;border-radius:6px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;margin-top:48px}.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;position:relative;transition:transform .2s ease,box-shadow .26s ease}.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.price-card.popular{border:1.5px solid var(--blue);box-shadow:0 24px 54px -24px rgba(0,130,255,.5)}.price-card.popular:before{content:"Mais popular";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#1a8fff,#0072ec);color:#fff;font-family:var(--font-m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px;box-shadow:var(--glow);white-space:nowrap}.plan-name{font-family:var(--font-d);font-weight:600;font-size:19px;color:var(--ink)}.plan-desc{font-size:13.5px;color:var(--muted);margin:6px 0 22px;min-height:38px}.plan-price{display:flex;align-items:flex-end;gap:6px;margin-bottom:4px}.plan-price .cur{font-size:20px;font-weight:500;margin-bottom:6px}.plan-price .amt,.plan-price .cur{font-family:var(--font-d);color:var(--ink)}.plan-price .amt{font-size:46px;font-weight:600;line-height:1;letter-spacing:-.03em}.plan-price .per{font-size:14px;color:var(--muted);margin-bottom:6px}.plan-note{font-size:12.5px;color:var(--muted);margin-bottom:24px;min-height:18px}.plan-note,.price-off{font-family:var(--font-m)}.price-off{position:absolute;top:18px;right:18px;background:#F2861E;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:999px;box-shadow:0 6px 14px -4px rgba(242,134,30,.55);z-index:2}.plan-was{font-family:var(--font-m);font-size:13px;color:var(--muted);margin-bottom:3px;min-height:17px;line-height:1}.plan-was s{text-decoration-color:#e0663a;text-decoration-thickness:1.5px}.plan-cta{margin-bottom:26px}.plan-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px}.plan-feats li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:#3c4c62;line-height:1.4}.plan-feats li svg{width:18px;height:18px;flex:none;color:var(--blue);margin-top:1px}.plan-feats li.muted{color:var(--muted)}.plan-feats li.muted svg{color:#c2cede}.plan-feats .grp{font-family:var(--font-m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}.cta-final{padding:20px 0 96px;background:var(--bg)}.cta-box{position:relative;overflow:hidden;border-radius:26px;padding:70px 40px;text-align:center;color:#fff;background:radial-gradient(700px 380px at 50% -20%,rgba(0,156,254,.5),transparent 60%),linear-gradient(150deg,var(--navy),#04173f);box-shadow:0 40px 90px -40px rgba(7,52,129,.7)}.cta-box .blueprint{opacity:.35}.cta-box h2{position:relative;font-size:clamp(28px,3.6vw,44px);color:#fff;margin-bottom:16px}.cta-box p{position:relative;font-size:18px;color:#c4d5f2;max-width:560px;margin:0 auto 32px}.cta-box .hero-cta{position:relative;justify-content:center;margin-bottom:18px}.cta-box .fineprint{position:relative;font-family:var(--font-m);font-size:12px;letter-spacing:.06em;color:#8fa6cf}footer{background:#061127;color:#fff;padding:64px 0 30px}.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}.foot-brand img{height:34px;margin-bottom:18px}.foot-brand p{font-size:14.5px;line-height:1.6;color:#8ea1c4;max-width:290px}.foot-col h5{font-family:var(--font-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6f84aa;margin:6px 0 18px;font-weight:500}.foot-col a{display:block;font-size:14.5px;color:#b7c6e2;margin-bottom:13px;font-weight:500}.foot-col a:hover{color:#fff}.foot-bot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:26px;flex-wrap:wrap}.foot-bot .cc{font-size:13px;color:#7288ac}.foot-compat{gap:18px;flex-wrap:wrap}.foot-compat,.foot-compat span{display:flex;align-items:center}.foot-compat span{font-family:var(--font-m);font-size:11px;letter-spacing:.06em;color:#8ea1c4;gap:7px}.foot-compat svg{width:14px;height:14px;color:#4fd0ff}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}}@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;gap:44px;padding:56px 0 96px}.hero-copy{max-width:640px}.feat-grid{grid-template-columns:repeat(2,1fr)}.flow-track{grid-template-columns:repeat(4,1fr);gap:34px 0}.flow-line{display:none}.band-grid{grid-template-columns:repeat(3,1fr);gap:36px 0}.ben:before{display:none}.price-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}.price-card.popular{order:-1}.foot-top{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width:900px){.nav-links,.nav-login{display:none}}@media(max-width:640px){.wrap{padding:0 20px}.feat-grid{grid-template-columns:1fr}.flow-track{grid-template-columns:repeat(2,1fr)}.band-grid{grid-template-columns:1fr 1fr}.cta-box .hero-cta .btn,.hero-cta .btn{flex:1 1 auto}.cta-box{padding:52px 24px}.foot-top{grid-template-columns:1fr 1fr}.foot-bot{justify-content:center;text-align:center}}[data-theme=dark]{--app-bg:#0a1220;--topbar:#0d1728;--rail:#0d1728;--panel:#101d33;--panel-2:#0c1727;--line:#1b2c48;--line-2:#26395c;--ink:#eaf1fb;--body:#a7b9d6;--muted:#6f84a7;--canvas-bg:#0a1220;--hover:#16253f;--active:#0f2f5c;--accent:#2b9bff;--accent-strong:#0082ff;--orange:#f2861e;--chip:#152742;--shadow:0 20px 50px -22px rgba(0,0,0,.7);--ok:#31c07a;--warn:#f2b01e;--bad:#ff5f6b;--slot:#0b1524}[data-theme=light]{--app-bg:#eef2f7;--topbar:#ffffff;--rail:#ffffff;--panel:#ffffff;--panel-2:#f5f8fc;--line:#e4ecf6;--line-2:#d7e2f1;--ink:#0b1a33;--body:#51617a;--muted:#8493a8;--canvas-bg:#e6ebf1;--hover:#eef4fc;--active:#e2efff;--accent:#0082ff;--accent-strong:#0072ec;--orange:#f2861e;--chip:#eef4fc;--shadow:0 18px 44px -22px rgba(11,26,51,.32);--ok:#0e8a4a;--warn:#c98a00;--bad:#d64550;--slot:#dfe6ef}*{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:var(--font-b);background:var(--app-bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden}.screen{display:none}.screen.on{display:block}button{font-family:inherit;cursor:pointer}::-moz-selection{background:rgba(0,130,255,.25)}::selection{background:rgba(0,130,255,.25)}.ic{display:inline-flex;align-items:center;justify-content:center}.ic svg{width:100%;height:100%;display:block}.sbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 14px;border-radius:9px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-weight:600;font-size:13.5px;line-height:1.2;text-align:center;transition:background .14s,border-color .14s,transform .14s}.sbtn:hover{background:var(--hover)}.sbtn .ic{width:16px;height:16px;flex:none;color:var(--body)}.sbtn-primary{border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px rgba(0,130,255,.6)}.sbtn-primary,.sbtn-primary:hover{background:linear-gradient(180deg,#1a8fff,#0072ec)}.sbtn-primary:hover{filter:brightness(1.06)}.sbtn-primary .ic{color:#fff}.sbtn-accent{background:var(--orange);border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px rgba(242,134,30,.6)}.sbtn-accent .ic{color:#fff}.sbtn-danger{background:var(--bad);border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px rgba(255,95,107,.55)}.sbtn-danger:hover{filter:brightness(1.06)}.sbtn-danger .ic{color:#fff}.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--body);display:flex;align-items:center;justify-content:center;transition:background .14s,color .14s}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn .ic{width:18px;height:18px}.topbar{height:54px;gap:12px;padding:0 12px 0 14px;background:var(--topbar);border-bottom:1px solid var(--line);flex:none;position:relative;z-index:30}.tb-logo,.topbar{display:flex;align-items:center}.tb-logo{height:26px;cursor:pointer}.tb-logo img{height:26px;width:auto}.logo-dark{display:none}.logo-light,[data-theme=dark] .logo-dark{display:block}[data-theme=dark] .logo-light{display:none}.tb-badge{font-family:var(--font-m);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);border-radius:6px;padding:3px 7px}.tb-crumb{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--body)}.tb-crumb .sep{color:var(--muted)}.tb-crumb b{color:var(--ink);font-weight:600;font-family:var(--font-d)}.tb-crumb .chev{width:15px;height:15px;color:var(--muted)}.tb-spacer{flex:1}.tb-right{display:flex;align-items:center;gap:8px}.tb-seg{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:3px}.tb-seg button{height:28px;padding:0 10px;border:0;background:transparent;color:var(--body);font-weight:600;font-size:12.5px;border-radius:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.tb-seg.stack{padding:4px}.tb-seg.stack button{flex-direction:column;gap:5px;height:auto;padding:8px 4px;font-size:10.5px;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;text-align:center}.tb-seg.stack button svg{width:17px;height:17px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1a8fff,#0a4aa8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;font-family:var(--font-d);flex:none}.editor{display:flex;flex-direction:column;height:100vh}.editor-body{flex:1;display:flex;min-height:0}.rail{width:52px;background:var(--rail);border-right:1px solid var(--line);flex-direction:column;padding:10px 0;flex:none;position:relative;z-index:20}.rail,.rail-top{display:flex;align-items:center;gap:3px}.rail-top{flex-direction:column;min-height:0;overflow-y:auto;overflow-x:visible;scrollbar-width:none}.rail-top::-webkit-scrollbar{display:none}.rail-bottom{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:auto;padding-top:6px}.rail-item,.tool{position:relative;display:flex}.tool{width:40px;height:40px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--body);align-items:center;justify-content:center;transition:background .14s ease,color .14s ease}.tool .ic{width:20px;height:20px}.tool:hover{background:var(--hover);color:var(--ink)}.tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tool.on{background:var(--active);border-color:var(--line-2)}.tool.on,.tool.on .ic{color:var(--accent)}.rail-sep{width:24px;height:1px;background:var(--line);margin:6px 0}.tool[data-tip]:focus-visible:after,.tool[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:48px;top:50%;transform:translateY(-50%);background:#0b1526;color:#fff;font-size:11.5px;font-family:var(--font-b);white-space:nowrap;padding:5px 9px;border-radius:7px;z-index:60;box-shadow:var(--shadow);pointer-events:none}.rail-item:has(.rail-flyout) .tool[data-tip]:hover:after{display:none}.rail-flyout{position:fixed;z-index:70;width:250px;max-height:calc(100vh - 24px);overflow-y:auto;background:var(--panel);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);padding:8px}.rail-flyout::-webkit-scrollbar{width:8px}.rail-flyout::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}@media (prefers-reduced-motion:no-preference){.rail-flyout{animation:rf-in .14s ease-out}}@keyframes rf-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}.rf-head{font-family:var(--font-m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:6px 8px 8px}.rf-list{display:flex;flex-direction:column;gap:1px}.rf-item{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 9px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;transition:background .12s ease}.rf-item:focus-visible,.rf-item:hover{background:var(--hover)}.rf-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rf-ic{width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--accent)}.rf-label{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rf-shortcut{flex:none;font-family:var(--font-m);font-size:10.5px;color:var(--muted);background:var(--chip);border-radius:6px;padding:2px 6px}.dock{width:238px;background:var(--panel);display:flex;flex-direction:column;flex:none;min-height:0;position:relative}.dock.left{border-right:1px solid var(--line)}.dock.right{width:288px;border-left:1px solid var(--line)}.dock-resizer{position:absolute;top:0;bottom:0;width:7px;cursor:col-resize;z-index:40;background:transparent}.dock.left .dock-resizer{right:-4px}.dock.right .dock-resizer{left:-4px}.dock-resizer.on,.dock-resizer:hover{background:var(--accent);opacity:.3}.dock-hide{margin-left:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--muted);width:26px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.dock-hide:hover{color:var(--ink)}.dock-hide .ic{width:14px;height:14px}.dock-hide.right{top:4px;right:2px;z-index:41}.dock-hide.right,.ui-restore{position:absolute;background:var(--panel)}.ui-restore{z-index:35;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--muted);cursor:pointer;box-shadow:var(--shadow);padding:0}.ui-restore:hover{color:var(--ink);background:var(--hover)}.ui-restore .ic{width:14px;height:14px}.ui-restore.left{left:0;border-left:0;border-radius:0 8px 8px 0}.ui-restore.left,.ui-restore.right{top:50%;transform:translateY(-50%);width:20px;height:48px}.ui-restore.right{right:0;border-right:0;border-radius:8px 0 0 8px}.ui-restore.top{top:0;left:50%;transform:translateX(-50%);width:48px;height:20px;border-top:0;border-radius:0 0 8px 8px}.dock-tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.dock-tabs::-webkit-scrollbar{display:none}.dock-tab{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:0;background:transparent;color:var(--muted);font-weight:600;font-size:12.5px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .14s}.dock-tab .ic{width:15px;height:15px}.dock-tab:hover{color:var(--body)}.dock-tab.on{color:var(--ink);border-bottom-color:var(--accent)}.dock-tab{position:relative}.dock.right .dock-tab .tl{display:none}.dock.right .dock-tab.on .tl{display:inline;margin-left:2px}.dock.right .dock-tab[data-tip]:hover:after{content:attr(data-tip);position:absolute;top:36px;left:50%;transform:translateX(-50%);background:#0b1526;color:#fff;font-size:11px;font-family:var(--font-b);white-space:nowrap;padding:4px 8px;border-radius:6px;z-index:60;box-shadow:var(--shadow)}.dock-body{flex:1;overflow-y:auto;min-height:0}.dock-body::-webkit-scrollbar{width:9px}.dock-body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.pane{display:none;padding:12px}.pane.on{display:block}.pane-title{font-family:var(--font-m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 2px 10px}.pane-title:not(:first-child){margin-top:20px}.acc{border:1px solid var(--line-2);border-radius:10px;margin:0 0 8px;overflow:hidden;background:rgba(255,255,255,.015)}.acc-h{display:flex;align-items:center;gap:8px;width:100%;padding:10px;background:transparent;border:0;cursor:pointer;font-family:var(--font-m);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.acc-h:hover{background:rgba(255,255,255,.03)}.acc-h:hover,.acc.on>.acc-h{color:var(--body)}.acc-h svg{width:13px;height:13px;flex:none}.acc-t{flex:1;text-align:left}.acc-b{font-size:10.5px;letter-spacing:0;text-transform:none;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.acc-c{padding:2px 10px 10px}.layer{display:flex;align-items:center;gap:9px;height:38px;padding:0 8px;border-radius:8px;color:var(--body);font-size:13.5px}.layer:hover{background:var(--hover)}.layer .sw{width:12px;height:12px;border-radius:3px;flex:none}.layer .nm{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eye{width:26px;height:26px;flex:none;border-radius:6px;border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.eye:hover{background:var(--chip);color:var(--body)}.eye .ic{width:15px;height:15px;flex:none}.layer.off .nm,.layer.off .sw{opacity:.4}.count{margin-left:auto;font-family:var(--font-m);font-size:11px;color:var(--muted)}.row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--panel-2)}.row .dot{width:12px;height:12px;border-radius:3px;flex:none}.row .rmain{flex:1;min-width:0}.row .rt{font-weight:600;font-size:13.5px;color:var(--ink)}.row .rs{font-size:12px;color:var(--muted);font-family:var(--font-m);margin-top:2px}.prop{margin-bottom:13px}.prop label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:5px;font-weight:600}.prop .val{display:flex;align-items:center;height:36px;padding:0 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink);font-size:13.5px;font-family:var(--font-m)}.prop .note{display:block;height:auto;padding:9px 11px;border:1px dashed var(--line-2);border-radius:8px;background:color-mix(in oklab,var(--panel-2) 70%,transparent);color:var(--body);font-size:12px;line-height:1.5;font-family:inherit;white-space:normal}.prop .note b,.prop .note strong{color:var(--ink);font-weight:600}.prop .note .n{font-family:var(--font-m);color:var(--ink);font-variant-numeric:tabular-nums}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:end}.prop-grid>.prop{margin-bottom:0}.sel-head{display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;background:var(--active);border:1px solid var(--line-2);margin-bottom:14px}.sel-head .ic{width:20px;height:20px;color:var(--accent)}.sel-head .st{font-weight:600;font-size:14px;color:var(--ink)}.sel-head .ss{font-size:11.5px;color:var(--body);font-family:var(--font-m)}.cat-search{display:flex;align-items:center;gap:8px;height:38px;padding:0 11px;border:1px solid var(--line-2);border-radius:9px;background:var(--panel-2);color:var(--muted);font-size:13px;margin-bottom:12px}.cat-search .ic{width:16px;height:16px}.cat-card{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:11px;margin-bottom:9px;transition:border-color .14s,background .14s}.cat-card:hover{border-color:var(--accent);background:var(--hover)}.cat-thumb{width:42px;height:42px;border-radius:9px;background:var(--chip);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:none}.cat-thumb .ic{width:22px;height:22px}.cat-info{flex:1;min-width:0}.cat-info .cn{font-weight:600;font-size:13.5px;color:var(--ink)}.cat-info .cd{font-size:11.5px;color:var(--muted);font-family:var(--font-m);margin-top:2px}.cat-add{width:30px;height:30px;border-radius:8px;border:1px solid var(--line-2);background:transparent;color:var(--body);display:flex;align-items:center;justify-content:center;flex:none}.cat-add:hover{background:var(--accent);color:#fff;border-color:transparent}.cat-add .ic{width:15px;height:15px}.hstat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.hstat{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}.hstat .hl{font-size:11px;color:var(--muted);font-weight:600}.hstat .hv{font-family:var(--font-d);font-size:22px;font-weight:600;color:var(--ink);margin-top:4px;letter-spacing:-.02em}.hstat .hv small{font-size:12px;color:var(--muted);font-weight:500}.htable{width:100%;border-collapse:collapse;font-size:12px}.htable th{text-align:left;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:7px 8px;font-weight:500}.htable td,.htable th{font-family:var(--font-m);border-bottom:1px solid var(--line)}.htable td{padding:8px;color:var(--body)}.htable td.nm{color:var(--ink)}.htable td.nm,.tag{font-family:var(--font-b);font-weight:600}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;padding:2px 7px;border-radius:20px}.tag.ok{background:color-mix(in oklab,var(--ok) 18%,transparent);color:var(--ok)}.tag.warn{background:color-mix(in oklab,var(--warn) 20%,transparent);color:var(--warn)}.tag.bad{background:color-mix(in oklab,var(--bad) 18%,transparent);color:var(--bad)}.empty-cta{text-align:center;padding:26px 14px}.empty-cta .ic{width:38px;height:38px;color:var(--muted);margin:0 auto 12px}.empty-cta p{font-size:13px;margin:0 0 16px}.acc-hint,.empty-cta p{color:var(--body);line-height:1.5}.acc-hint{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;margin-top:2px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);font-size:12.5px}.acc-hint .ic{width:18px;height:18px;flex:none;color:var(--muted);margin-top:1px}.acc-hint b{color:var(--ink)}.bom{width:100%;border-collapse:collapse;font-size:12.5px}.bom th{text-align:left;font-family:var(--font-m);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px;font-weight:500}.bom td,.bom th{border-bottom:1px solid var(--line)}.bom td{padding:9px 8px;color:var(--body)}.bom td.nm{color:var(--ink);font-weight:600}.bom td.q{font-family:var(--font-m);text-align:right;color:var(--ink)}.bom-total{display:flex;justify-content:space-between;align-items:center;padding:14px 8px 4px;font-family:var(--font-d)}.bom-total b{font-size:19px;color:var(--ink)}.ai{flex-direction:column;gap:12px}.ai,.ai-msg{display:flex}.ai-msg{gap:10px}.ai-msg .ava{width:28px;height:28px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center}.ai-msg.bot .ava{background:linear-gradient(135deg,#1a8fff,#0a4aa8);color:#fff}.ai-msg.me .ava{background:var(--chip);color:var(--body);font-weight:700;font-size:11px}.ai-msg .bub{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;color:var(--body)}.ai-msg.me .bub{background:var(--active);border-color:var(--line-2)}.ai-msg .bub b,.ai-msg.me .bub{color:var(--ink)}.ai-suggest{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.ai-chip{font-size:12px;color:var(--accent);border:1px solid var(--line-2);background:transparent;border-radius:20px;padding:6px 11px}.ai-chip:hover{background:var(--hover)}.ai-input{display:flex;align-items:center;gap:8px;margin-top:4px;padding:8px 8px 8px 12px;border:1px solid var(--line-2);border-radius:11px;background:var(--panel-2)}.ai-input input{flex:1;border:0;background:transparent;color:var(--ink);font-size:13px;outline:none;font-family:var(--font-b)}.ai-send{width:32px;height:32px;border-radius:8px;border:0;background:var(--accent-strong);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.ai-send .ic{width:16px;height:16px}.canvas-wrap{flex:1;position:relative;min-width:0;background:var(--canvas-bg);overflow:hidden}.canvas-scene,.slot-base{position:absolute;inset:0}.slot-base image-slot{--slot-bg:var(--slot);width:100%;height:100%}.overlay{width:100%;height:100%}.overlay,.xhair{position:absolute;inset:0;pointer-events:none}.xhair{z-index:4;opacity:0;mix-blend-mode:difference}.xhair-v{width:1px;height:100%;transform:translateX(-1px)}.xhair-h,.xhair-v{position:absolute;top:0;left:0;background:#fff;will-change:transform}.xhair-h{height:1px;width:100%;transform:translateY(-1px)}.canvas-scene:has(.xhair) .maplibregl-canvas-container,.canvas-scene:has(.xhair) canvas{cursor:none!important}.selbox{position:absolute;z-index:4;pointer-events:none;display:none;border-width:1.5px;border-radius:2px}.selbox.janela{display:block;border-style:solid;border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,transparent)}.selbox.interseccao{display:block;border-style:dashed;border-color:var(--ok);background:color-mix(in oklab,var(--ok) 18%,transparent)}.xslider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:var(--line-2);outline:none;cursor:pointer}.xslider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.45);cursor:grab}.xslider::-webkit-slider-thumb:active{cursor:grabbing}.xslider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.45);cursor:grab}.xslider::-moz-range-track{height:4px;border-radius:999px;background:var(--line-2)}.chip{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-b);font-size:11.5px;font-weight:600;color:var(--body);background:var(--panel);border:1px solid var(--line-2);border-radius:8px;padding:6px 11px;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.chip .ic{width:15px;height:15px;flex:none}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chip:disabled{opacity:.45;cursor:default}.canvas-hint{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;background:color-mix(in oklab,var(--panel) 88%,transparent);border:1px solid var(--line-2);backdrop-filter:blur(6px);border-radius:20px;padding:7px 14px;font-size:12.5px;color:var(--body);box-shadow:var(--shadow)}.canvas-hint .ic{width:15px;height:15px;color:var(--accent)}.compass{top:16px;width:46px;height:46px;border-radius:12px;background:color-mix(in oklab,var(--panel) 86%,transparent);backdrop-filter:blur(6px);align-items:center;justify-content:center}.compass,.zoombar{position:absolute;right:16px;z-index:5;border:1px solid var(--line-2);display:flex;box-shadow:var(--shadow)}.zoombar{bottom:18px;flex-direction:column;background:var(--panel);border-radius:11px;overflow:hidden}.zoombar button{width:38px;height:36px;border:0;background:transparent;color:var(--body);display:flex;align-items:center;justify-content:center}.zoombar button .ic{width:18px;height:18px}.zoombar button:hover{background:var(--hover);color:var(--ink)}.zoombar .zval{height:30px;display:flex;align-items:center;justify-content:center;font-family:var(--font-m);font-size:11px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.legend{position:absolute;bottom:18px;left:16px;z-index:5;background:color-mix(in oklab,var(--panel) 90%,transparent);border:1px solid var(--line-2);backdrop-filter:blur(6px);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow);min-width:150px}.legend h5{font-family:var(--font-m);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 9px;font-weight:500}.legend .li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--body);margin-bottom:6px}.legend .li:last-child{margin-bottom:0}.legend .lc{width:14px;height:4px;border-radius:2px;flex:none}.legend .lc.dot{width:9px;height:9px;border-radius:50%}.toast{position:absolute;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);z-index:40;display:flex;align-items:center;gap:10px;background:#0d1c33;color:#fff;border:1px solid var(--line-2);border-radius:12px;padding:12px 16px;box-shadow:0 24px 50px -18px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;font-size:13.5px}.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}.toast .ic{width:20px;height:20px;color:var(--ok)}.toast.erro{border-color:var(--bad)}.toast.erro .ic{color:var(--bad)}.topo-loading{position:absolute;top:16px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:45;display:flex;align-items:center;gap:10px;background:#0d1c33;color:#fff;border:1px solid var(--line-2);border-radius:12px;padding:10px 16px;box-shadow:0 24px 50px -18px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:13.5px}.topo-loading.on{opacity:1;transform:translateX(-50%) translateY(0)}.topo-loading .sp{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.22);border-top-color:#2b9bff;animation:dx-spin .7s linear infinite}@keyframes dx-spin{to{transform:rotate(1turn)}}.decliv-tab{margin:6px 2px 4px;padding:8px 10px;background:#0c1830;border:1px solid #22345a;border-radius:10px;color:#e6eefb}.decliv-head,.decliv-row{display:grid;grid-template-columns:14px 1fr auto auto;align-items:center;gap:8px;font-size:12px;padding:2px 0}.decliv-head{color:#9fb2cf;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}.decliv-head span:first-child{grid-column:1/3}.decliv-row{color:#e6eefb}.decliv-row .sw2{width:12px;height:12px;border-radius:3px;flex:none}.decliv-row .dl{font-variant-numeric:tabular-nums}.decliv-row .dm{color:#9fb2cf}.decliv-row .dm,.decliv-row .dp{font-variant-numeric:tabular-nums;text-align:right}.decliv-row .dp{min-width:32px}.decliv-row.zero{opacity:.45}.decliv-foot{margin-top:6px;padding-top:6px;border-top:1px solid #22345a;font-size:11px;color:#9fb2cf;line-height:1.4}.statusbar{height:28px;gap:16px;padding:0 14px;background:var(--topbar);border-top:1px solid var(--line);flex:none;font-family:var(--font-m);font-size:11px;color:var(--muted)}.statusbar,.statusbar .s{display:flex;align-items:center}.statusbar .s{gap:6px}.statusbar .s.erro{color:var(--bad);font-weight:700}.statusbar .s b{color:var(--body);font-weight:500}.statusbar .cur{color:var(--accent)}.statusbar .sp{flex:1}.dash{height:100vh;overflow-y:auto;background:var(--app-bg)}.dash-top{height:60px;gap:14px;padding:0 26px;background:var(--topbar);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.dash-search,.dash-top{display:flex;align-items:center}.dash-search{flex:1;max-width:420px;gap:9px;height:38px;padding:0 13px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel-2);color:var(--muted);font-size:13.5px}.dash-search .ic{width:16px;height:16px}.dash-main{max-width:1180px;margin:0 auto;padding:34px 26px 60px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.dash-head h1{font-family:var(--font-d);font-size:28px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin:0}.dash-head p{color:var(--muted);font-size:14px;margin:6px 0 0}.dash-filters{display:flex;gap:8px;margin-bottom:22px}.fchip{height:32px;padding:0 14px;border-radius:20px;border:1px solid var(--line-2);background:transparent;color:var(--body);font-size:13px;font-weight:600}.fchip.on{background:var(--active);border-color:transparent;color:var(--accent)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:20px}.proj-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .16s,box-shadow .16s,border-color .16s}.proj-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2)}.proj-thumb{height:152px;position:relative;overflow:hidden;background:var(--canvas-bg);border-bottom:1px solid var(--line)}.proj-thumb svg{position:absolute;inset:0;width:100%;height:100%}.proj-del{position:absolute;top:8px;right:8px;width:28px;height:28px;background:color-mix(in oklab,var(--panel) 80%,transparent);opacity:0;transition:opacity .12s}.proj-card:hover .proj-del{opacity:1}.proj-del .ic{width:14px;height:14px}.proj-status{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;backdrop-filter:blur(4px)}.proj-status.done{background:color-mix(in oklab,var(--ok) 20%,transparent);color:var(--ok)}.proj-status.prog{background:color-mix(in oklab,var(--accent) 22%,transparent);color:var(--accent)}.proj-meta{padding:14px 16px 16px}.proj-meta .pn{font-family:var(--font-d);font-weight:600;font-size:16px;color:var(--ink)}.proj-meta .pc{font-size:12.5px;color:var(--muted);margin-top:3px}.proj-meta .pstats{display:flex;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.proj-meta .pstat{font-size:11px;color:var(--muted)}.proj-meta .pstat b{display:block;font-family:var(--font-m);font-size:14px;color:var(--body);font-weight:500;margin-top:1px}.proj-new{border:1.6px dashed var(--line-2);border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:280px;color:var(--muted);background:transparent;transition:border-color .16s,color .16s,background .16s}.proj-new:hover{border-color:var(--accent);color:var(--accent);background:var(--hover)}.proj-new .plus{width:52px;height:52px;border-radius:14px;background:var(--chip);display:flex;align-items:center;justify-content:center}.proj-new .plus .ic{width:24px;height:24px}.proj-new span{font-weight:600;font-size:14.5px}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(6,14,28,.6);backdrop-filter:blur(3px)}.modal.on{display:flex}.modal-card{width:100%;max-width:560px;background:var(--panel);border:1px solid var(--line-2);border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);overflow:hidden}.modal-head{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head .ic{width:22px;height:22px;color:var(--accent)}.modal-head h3{font-family:var(--font-d);font-size:18px;color:var(--ink);margin:0;flex:1;font-weight:600}.modal-head .x{width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center}.modal-head .x .ic{width:18px;height:18px}.modal-head .x:hover{background:var(--hover);color:var(--ink)}.modal-body{padding:22px}.imp-opts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}.imp-opt{padding:15px 12px;border:1px solid var(--line-2);border-radius:12px;text-align:center;background:var(--panel-2);transition:border-color .14s,background .14s}.imp-opt.on,.imp-opt:hover{border-color:var(--accent);background:var(--hover)}.imp-opt .ic{width:26px;height:26px;color:var(--accent);margin:0 auto 9px}.imp-opt .t{font-weight:600;font-size:13px;color:var(--ink)}.imp-opt .d{font-size:11px;color:var(--muted);margin-top:3px}.dropzone{border:1.6px dashed var(--line-2);border-radius:14px;padding:34px 20px;text-align:center;background:var(--panel-2)}.dropzone .ic{width:40px;height:40px;color:var(--muted);margin:0 auto 12px}.dropzone .dt{font-weight:600;color:var(--ink);font-size:14.5px}.dropzone .dd{font-size:12.5px;color:var(--muted);margin-top:5px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}@media(max-width:1040px){.dock.right{width:270px}.dock.left{width:222px}.rail{width:50px}}@media(max-width:820px){.dock.left{display:none}}.rbn{flex:none;background:var(--rail);position:relative;z-index:20}.rbn-tabs{display:flex;align-items:flex-end;gap:2px;padding:6px 12px 0}.rbn-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-bottom:none;color:var(--muted);font:inherit;font-size:12px;font-weight:600;letter-spacing:.01em;padding:6px 14px 7px;border-radius:8px 8px 0 0;cursor:pointer;position:relative}.rbn-tab.on,.rbn-tab:hover{color:var(--ink)}.rbn-tab.on{background:var(--panel);border-color:var(--line);margin-bottom:-1px;z-index:1}.rbn-tab.has-active:after{content:"";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.rbn-switch{margin-left:auto;font-size:11px;font-weight:500;opacity:.7}.rbn-switch:hover{opacity:1}.rbn-panel{display:flex;align-items:stretch;gap:0;padding:7px 12px 3px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.rbn-group{display:flex;flex-direction:column;flex:none;padding:0 10px;position:relative}.rbn-group+.rbn-group:before{content:"";position:absolute;left:0;top:4px;bottom:20px;width:1px;background:var(--line)}.rbn-group:first-child{padding-left:2px}.rbn-tools{display:flex;gap:2px;flex:1;align-items:stretch}.rbn-group-label{font-size:10px;color:var(--muted);text-align:center;padding:3px 4px 2px;letter-spacing:.03em;white-space:nowrap}.rbn-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-radius:8px;color:var(--body);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:7px 7px 5px;min-width:58px;max-width:82px;cursor:pointer;font:inherit;font-size:10.5px;line-height:1.15;transition:background .13s ease,color .13s ease}.rbn-btn svg{width:22px;height:22px;flex:none}.rbn-btn span{white-space:normal;text-align:center}.rbn-btn.on,.rbn-btn:hover{background:var(--hover);color:var(--ink)}.rbn-btn.on{box-shadow:inset 0 0 0 1px var(--accent)}.canvas-scene.cad canvas{cursor:crosshair}.orc{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.orc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.orc-badge{font:500 10.5px/1 var(--font-m);color:#fff;background:#d9534f;border-radius:999px;padding:4px 8px}.orc-grupo{margin-top:12px}.orc-grupo-t{font:600 10px/1 var(--font-m);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.orc-linha{display:grid;grid-template-columns:1fr auto;grid-template-areas:"desc total" "preco preco";gap:6px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.orc-desc{grid-area:desc;min-width:0}.orc-nome{color:var(--ink);font-weight:600;font-size:12.5px}.orc-qtd{color:var(--muted);font-size:11px;margin-top:2px}.orc-total{grid-area:total;font:500 12.5px var(--font-m);color:var(--ink);text-align:right;white-space:nowrap}.orc-linha.falta .orc-total{color:var(--muted)}.orc-preco{grid-area:preco;display:flex;align-items:center;gap:6px;background:var(--chip);border:1px solid var(--line-2);border-radius:8px;padding:0 8px}.orc-linha.falta .orc-preco{border-color:#d9534f88}.orc-preco:focus-within{border-color:var(--accent)}.orc-preco input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:500 13px var(--font-m);padding:7px 0;outline:none}.orc-preco select{border:0;background:transparent;color:var(--muted);font:12px var(--font-b);cursor:pointer}.orc-rs,.orc-un{color:var(--muted);font-size:11.5px}.orc-campos{display:grid;gap:10px;margin-top:16px}.orc-campos label{display:grid;gap:5px;font:500 10.5px/1 var(--font-m);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.orc-campos input,.orc-campos textarea{background:var(--chip);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;color:var(--ink);font:13px var(--font-b);text-transform:none;letter-spacing:0;outline:none;resize:vertical}.orc-campos input:focus,.orc-campos textarea:focus{border-color:var(--accent)}.orc-tres{display:grid;grid-template-columns:1fr 1.3fr .9fr;gap:8px}.orc-resumo{margin-top:16px;display:grid;gap:6px;font-size:12.5px;color:var(--body)}.orc-resumo div{display:flex;justify-content:space-between}.orc-resumo div span:last-child{font-family:var(--font-m);color:var(--ink)}.orc-final{margin-top:4px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,#073481,#0082ff);color:#fff}.orc-final span{color:#fff!important;font-family:var(--font-d)!important;font-weight:600}.orc-final span:last-child{font-family:var(--font-m)!important;font-size:15px;font-weight:500}.orc-msg{margin-top:12px;padding:9px 11px;border-radius:8px;font-size:12px;line-height:1.4}.orc-msg.ok{background:rgba(47,143,91,.12);color:#2f8f5b;border:1px solid rgba(47,143,91,.35)}.orc-msg.erro{background:rgba(217,83,79,.1);color:#d9534f;border:1px solid rgba(217,83,79,.35)}