@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-regular.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-medium.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-semibold.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-bold.woff2)format("woff2")}:root{--c-brand:#245ae4;--c-accent:#fd3400;--c-ink:#111;--c-gray-1:#f4f4f4;--c-gray-2:#e7e7e9;--c-gray-3:#9aa0ab;--c-gray-4:#5a5c66;--c-white:#fff;--c-line:#e7e7e9;--radius:10px;--shadow:0 1px 3px #11111114, 0 6px 20px #1111110f;--font:"Poppins", "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--c-ink);background:var(--c-gray-1);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}button{font-family:var(--font);cursor:pointer}.btn{border:1px solid var(--c-line);background:var(--c-white);color:var(--c-ink);border-radius:8px;padding:.5em 1em;font-size:.92rem;font-weight:500;transition:background .15s,border-color .15s,transform 50ms}.btn:hover{border-color:var(--c-gray-3)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-white)}.btn.primary:hover{background:#1b49bd}.btn.accent{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-white)}.btn.ghost{color:var(--c-gray-4);background:0 0;border-color:#0000}.btn.sm{padding:.3em .6em;font-size:.82rem}.btn:disabled{opacity:.45;cursor:not-allowed}.field{flex-direction:column;gap:.3em;display:flex}.field label{color:var(--c-gray-4);font-size:.78rem;font-weight:500}.field input,.field select{font-family:var(--font);border:1px solid var(--c-line);background:var(--c-white);color:var(--c-ink);border-radius:8px;padding:.5em .65em;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid color-mix(in srgb, var(--c-brand) 35%, transparent);border-color:var(--c-brand)}.card{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow)}.muted{color:var(--c-gray-4)}.accent{color:var(--c-accent)}.brand{color:var(--c-brand)}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{background:var(--c-white);border-bottom:1px solid var(--c-line);flex:none;justify-content:space-between;align-items:center;padding:.7em 1.4em;display:flex}.brandmark{align-items:baseline;gap:.7em;display:flex}.brandmark .logo{color:var(--c-brand);letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.brandmark .appname{color:var(--c-ink);font-size:.95rem;font-weight:500}.topinfo{align-items:center;gap:1em;font-size:.9rem;display:flex}.pill{background:var(--c-gray-1);border:1px solid var(--c-line);color:var(--c-gray-4);border-radius:999px;padding:.25em .8em}.pill b{color:var(--c-accent)}.steps{background:var(--c-white);border-bottom:1px solid var(--c-line);flex:none;gap:.5em;padding:.7em 1.4em 0;display:flex}.steptab{color:var(--c-gray-4);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.55em;padding:.5em .9em .8em;font-size:.92rem;display:flex}.steptab .stepnum{background:var(--c-gray-2);width:1.5em;height:1.5em;color:var(--c-gray-4);border-radius:999px;place-items:center;font-size:.78rem;font-weight:600;display:grid}.steptab.on{color:var(--c-ink);border-bottom-color:var(--c-brand)}.steptab.on .stepnum{background:var(--c-brand);color:#fff}.steptab.done .stepnum{background:var(--c-brand);color:#fff;opacity:.55}.content{flex:auto;padding:1.6em;overflow:auto}.panel{max-width:1100px;margin:0 auto}.panel-head{margin-bottom:1.2em}.panel-head h1{font-size:1.4rem}.panel-head p{color:var(--c-gray-4);margin-top:.3em;font-size:.95rem}.grid-inputs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1em;padding:1.4em;display:grid}.resultcard{background:linear-gradient(135deg, var(--c-brand), #1b49bd);color:#fff;border-radius:var(--radius);align-items:center;gap:1.4em;margin-top:1.2em;padding:1.2em 1.4em;display:flex}.resultcard .bign{font-size:2.6rem;font-weight:700;line-height:1}.resultcard .lbl{opacity:.9;font-size:.9rem}.resultcard .formula{opacity:.85;text-align:right;margin-left:auto;font-size:.82rem;line-height:1.5}.rowbtns{justify-content:flex-end;gap:.6em;margin-top:1.4em;display:flex}.tbl{border-collapse:collapse;width:100%;font-size:.9rem}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--c-gray-4);border-bottom:1px solid var(--c-line);padding:.6em .7em;font-size:.74rem}.tbl td{border-bottom:1px solid var(--c-gray-1);vertical-align:middle;padding:.45em .7em}.tbl tr:hover td{background:var(--c-gray-1)}.tbl input{width:100%;font-family:var(--font);background:0 0;border:1px solid #0000;border-radius:6px;padding:.35em .5em;font-size:.9rem}.tbl input:hover{border-color:var(--c-line)}.tbl input:focus{border-color:var(--c-brand);background:#fff;outline:none}.tbl .num{width:90px}.tag{border-radius:999px;padding:.1em .5em;font-size:.7rem;font-weight:500;display:inline-block}.tag.calc{background:color-mix(in srgb, var(--c-brand) 12%, #fff);color:var(--c-brand)}.tag.manual{background:color-mix(in srgb, var(--c-accent) 12%, #fff);color:var(--c-accent)}.swatch{vertical-align:-1px;border-radius:3px;width:.85em;height:.85em;margin-right:.5em;display:inline-block}.totrow td{border-top:2px solid var(--c-line);font-weight:600}.tblwrap{padding:.6em .8em 1em}.detalhe{color:var(--c-gray-4);font-size:.78rem}.layout3{grid-template-columns:230px 1fr 250px;height:100%;display:grid}.content:has(.col3){padding:0;overflow:hidden}.lpanel{background:var(--c-white);border-right:1px solid var(--c-line);padding:1em;overflow:auto}.rpanel{background:var(--c-white);border-left:1px solid var(--c-line);padding:1em;overflow:auto}.canvaswrap{background:var(--c-gray-2);position:relative;overflow:hidden}.canvas-hint{z-index:5;color:#fff;pointer-events:none;background:#111111db;border-radius:999px;padding:.5em .9em;font-size:.82rem;position:absolute;top:12px;left:50%;transform:translate(-50%)}.palitem{text-align:left;border:1px solid var(--c-line);background:#fff;border-radius:8px;align-items:center;gap:.5em;width:100%;margin-bottom:.4em;padding:.45em .6em;font-size:.85rem;display:flex}.palitem:hover{border-color:var(--c-brand)}.palitem .pa{color:var(--c-gray-4);margin-left:auto;font-size:.74rem}.sectitle{text-transform:uppercase;letter-spacing:.04em;color:var(--c-gray-4);margin:.4em 0 .7em;font-size:.74rem;font-weight:600}.toolbar3{background:var(--c-white);border-bottom:1px solid var(--c-line);flex-wrap:wrap;align-items:center;gap:.5em;padding:.6em 1em;display:flex}.scalebadge{border:1px solid var(--c-line);border-radius:999px;padding:.25em .7em;font-size:.8rem}.scalebadge.ok{color:#2e7544;background:#e4f1e8;border-color:#0000}.scalebadge.no{background:color-mix(in srgb, var(--c-accent) 12%, #fff);color:var(--c-accent);border-color:#0000}.col3{flex-direction:column;min-width:0;height:100%;display:flex}.inspector .field{margin-bottom:.7em}.empty{color:var(--c-gray-4);text-align:center;padding:2em 1em;font-size:.86rem}.nivelbar{background:var(--c-ink);flex:none;align-items:center;gap:.4em;padding:.5em 1em;display:flex;overflow-x:auto}.nivelbar-lbl{color:var(--c-gray-3);text-transform:uppercase;letter-spacing:.05em;flex:none;margin-right:.3em;font-size:.78rem}.niveltab{color:#fff;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;flex:none;align-items:center;gap:.4em;padding:.35em .7em;font-size:.82rem;display:inline-flex}.niveltab:hover{background:#ffffff24}.niveltab.on{background:var(--c-brand);border-color:var(--c-brand)}.niveltrab{text-transform:uppercase;letter-spacing:.04em;background:var(--c-accent);color:#fff;border-radius:999px;padding:.05em .4em;font-size:.64rem}.nivelcount{color:#fff;text-align:center;background:#ffffff38;border-radius:999px;min-width:1.4em;padding:.05em .35em;font-size:.72rem}.nivelplanta{font-size:.78rem}.infobox{background:color-mix(in srgb, var(--c-brand) 7%, #fff);border:1px solid color-mix(in srgb, var(--c-brand) 25%, #fff);border-radius:8px;margin-bottom:.8em;padding:.7em .85em;font-size:.82rem}.infobox ol{margin:.4em 0 0;padding-left:1.2em;line-height:1.55}.infobox summary{cursor:pointer;color:var(--c-brand);font-weight:600}.ocupbar{background:var(--c-gray-2);border-radius:999px;height:10px;margin:.5em 0;overflow:hidden}.ocupbar>div{border-radius:999px;height:100%}.authbar{align-items:center;gap:.5em;display:inline-flex}.modal-overlay{z-index:100;background:#11111173;place-items:center;display:grid;position:fixed;inset:0}.modal{width:360px;max-width:92vw;padding:1.3em}.modal-head{justify-content:space-between;align-items:center;margin-bottom:.3em;display:flex}.modal-head h3{font-size:1.15rem}.auth-erro{background:color-mix(in srgb, var(--c-accent) 12%, #fff);color:var(--c-accent);border-radius:6px;margin-bottom:.6em;padding:.5em .7em;font-size:.82rem}.auth-aviso{color:#2e7544;background:#e4f1e8;border-radius:6px;margin-bottom:.6em;padding:.5em .7em;font-size:.82rem}.tela-acesso{background:radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--c-brand) 8%, #fff) 0%, var(--c-gray-1) 60%);flex-direction:column;justify-content:center;align-items:center;gap:1em;min-height:100vh;padding:1.5em;display:flex}.acesso-card{width:380px;max-width:94vw;padding:1.8em 1.6em}.acesso-marca{align-items:baseline;gap:.6em;margin-bottom:1.4em;display:flex}.acesso-marca .logo{letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.acesso-marca .appname{color:var(--c-gray-4);font-size:.92rem;font-weight:500}.acesso-titulo{margin-bottom:.2em;font-size:1.35rem}.acesso-sub{margin:0 0 1.2em;font-size:.86rem}.acesso-rodape{text-align:center;margin-top:.9em}.acesso-aviso-conta{font-size:.8rem}.admin-modal{width:560px;max-width:94vw}.admin-form{flex-wrap:wrap;align-items:flex-end;gap:.6em;margin-bottom:.9em;display:flex}.admin-form .btn.primary{height:2.45em}.admin-lista{max-height:46vh;margin-top:.4em;overflow:auto}.admin-lista table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-lista th{text-align:left;color:var(--c-gray-4);border-bottom:1px solid var(--c-line);padding:.3em .4em;font-size:.76rem;font-weight:500}.admin-lista td{border-bottom:1px solid var(--c-gray-1);vertical-align:middle;padding:.5em .4em}.admin-acoes{text-align:right;white-space:nowrap}.nome-mini{font-size:.74rem}.tag-admin{text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--c-brand) 14%, #fff);color:var(--c-brand);border-radius:999px;margin-left:.5em;padding:.1em .5em;font-size:.66rem;font-weight:600}.status{border-radius:999px;padding:.15em .6em;font-size:.74rem;font-weight:500}.status.ativo{color:#2e7544;background:#e0efe5}.status.pendente{background:var(--c-gray-1);color:var(--c-gray-4)}
