/* ===== Caixa de sugestões ===== */
.sug-fab{position:fixed;right:16px;bottom:16px;z-index:9000;display:flex;align-items:center;gap:6px;background:#2F7BFF;color:#fff;border-radius:999px;padding:9px 14px 9px 11px;font:600 14px Barlow,system-ui,sans-serif;box-shadow:0 8px 24px rgba(20,60,140,.35);cursor:grab;user-select:none;touch-action:none}
.sug-fab:hover{background:#1f6af0}.sug-fab:focus-visible{outline:3px solid #9cc2ff;outline-offset:2px}
.sug-fab.dragging{cursor:grabbing;opacity:.55}
.sug-ghost{position:fixed;left:0;top:0;z-index:9002;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.sug-pin{position:fixed;left:0;top:0;z-index:9001;width:18px;height:18px;border-radius:50%;border:3px solid #2F7BFF;background:rgba(47,123,255,.25);pointer-events:none;box-shadow:0 0 0 6px rgba(47,123,255,.15)}
.sug-box{position:fixed;z-index:9003;width:min(360px,calc(100vw - 24px));background:#fff;color:#1b2430;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);font:14px Barlow,system-ui,sans-serif}
.sug-box form{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px}
.sug-h{display:flex;justify-content:space-between;align-items:center}.sug-h b{font-size:16px}
.sug-x{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:#5a6675;padding:2px 6px}
.sug-ctx{margin:0;font-size:12.5px;color:#4a5665;background:#eef3fb;border-radius:8px;padding:8px 10px;line-height:1.45}
.sug-box label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#4a5665}
.sug-box select,.sug-box textarea,.sug-box input{font:inherit;color:#1b2430;border:1px solid #cfd7e2;border-radius:8px;padding:8px 10px;background:#fff;resize:vertical}
.sug-box textarea:focus,.sug-box input:focus,.sug-box select:focus{outline:2px solid #9cc2ff;border-color:#2F7BFF}
.sug-f{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sug-f button,.sug-ok button{font:600 14px inherit;font-family:inherit;border:0;border-radius:9px;padding:9px 18px;background:#2F7BFF;color:#fff;cursor:pointer}
.sug-f button:disabled{opacity:.6}
.sug-st{font-size:12.5px;color:#4a5665}.sug-st.err{color:#c0392b}
.sug-ok{display:flex;flex-direction:column;gap:8px}.sug-ok p{margin:0;color:#4a5665}
@media (max-width:600px){.sug-fab span{display:none}.sug-fab{padding:11px}}

/* ===== Proteção do projeto ===== */
.prot-wm{position:fixed;inset:0;z-index:8990;pointer-events:none;background-repeat:repeat}
.prot-shield{position:fixed;inset:0;z-index:9100;background:#0b0f14;color:#e9eef7;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font:16px Barlow,system-ui,sans-serif}
.prot-shield b{font-size:20px}.prot-shield p{max-width:420px;color:#b5c0cf}
body.prot-hide #app canvas,body.prot-hide #modalBox svg,body.prot-hide #modalBox img{visibility:hidden}
#tSheet,#tSheet *,.sheet{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
@media print{body>*{display:none!important}body::after{content:"Projeto LumLux protegido. Para imprimir, baixe pelo botão “Projeto técnico” (PDF A4, A3, A2 ou A1).";display:block;font:18px Arial,sans-serif;padding:40px;color:#000}}

/* ===== Barra lateral das disciplinas (estilo AutoCAD) ===== */
.vbar{position:absolute;left:8px;top:120px;z-index:6;display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.96);border:1px solid var(--line,#d6dde5);border-radius:12px;padding:6px;box-shadow:0 6px 18px rgba(0,0,0,.12);max-height:calc(100% - 180px);overflow:auto;width:92px}
.vbar .vb-t{font:700 10px Barlow,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#5a6675;text-align:center;padding:2px 0 4px}
.vbar hr{border:0;border-top:1px solid #e3e8ee;margin:3px 2px;width:auto}
.vbar .vb{display:flex;flex-direction:column;align-items:center;gap:1px;border:1px solid transparent;background:none;border-radius:8px;padding:5px 2px;cursor:pointer;color:#1b2430;font:500 11px Barlow,sans-serif;line-height:1.1}
.vbar .vb:hover{background:#eef3fb}.vbar .vb.on{background:#1b2430;color:#fff}
.vbar .vb-i{font-size:17px;line-height:1.2}.vbar .vb-l{text-align:center}
.lay-pop{position:absolute;left:108px;top:120px;z-index:8;background:#fff;border:1px solid #d6dde5;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 30px rgba(0,0,0,.18);font:13px Barlow,sans-serif;min-width:190px}
.lay-pop label{display:flex;gap:8px;align-items:center;cursor:pointer}.lay-pop small{color:#6a7582;max-width:200px}
#modeSeg{flex-wrap:wrap}
.mp h4{margin:4px 0 8px}.mp .note{margin:6px 0}
.mp table.t td,.mp table.t th{padding:3px 5px}
.mp .kv{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:13px}.mp .kv b{text-align:right;font-variant-numeric:tabular-nums}
.mp .chips{display:flex;flex-wrap:wrap;gap:4px}.mp .chips button{font:inherit;font-size:12px;border:1px solid #cfd7e2;background:#fff;border-radius:999px;padding:3px 9px;cursor:pointer}.mp .chips button.on{background:#1b2430;color:#fff;border-color:#1b2430}
.mp .ok{color:#1f7a45}.mp .bad{color:#B3261E}.mp .warn{color:#8a5a00}
.prev-box{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prev-box figure{margin:0;border:1px solid #e3e8ee;border-radius:8px;background:#fff;padding:4px}.prev-box figcaption{font:600 11px Barlow,sans-serif;color:#5a6675;text-align:center}
@media (max-width:900px){.vbar{top:auto;bottom:70px;left:6px;flex-direction:row;width:auto;max-width:calc(100% - 12px);max-height:none;overflow-x:auto}.vbar .vb{min-width:62px}.vbar hr{display:none}.lay-pop{left:8px;top:auto;bottom:140px}}
/* com a barra lateral ativa, as ferramentas de desenho saem da barra de cima */
body:has(#vbar:not([hidden])) #tools .btn[data-grp="draw"]{display:none}

/* ===== Pranchas ===== */
.pr-ov{position:fixed;inset:0;z-index:60;background:#e9edf2;display:flex;flex-direction:column;font:13px Barlow,system-ui,sans-serif;color:#1b2430}
.pr-top{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border-bottom:1px solid #d6dde5;flex-wrap:wrap}
.pr-top>b{font-size:16px}.pr-tabs{display:flex;gap:4px;flex:1;flex-wrap:wrap;align-items:center}
.pr-tabs button{font:inherit;border:1px solid #cfd7e2;background:#f7f9fb;border-radius:8px;padding:5px 10px;cursor:pointer}.pr-tabs button.on{background:#1b2430;color:#fff;border-color:#1b2430}
.pr-body{flex:1;display:grid;grid-template-columns:200px 1fr 280px;min-height:0}
.pr-tools,.pr-props{background:#fff;overflow:auto;padding:10px;border-right:1px solid #d6dde5;display:flex;flex-direction:column;gap:3px}.pr-props{border-right:0;border-left:1px solid #d6dde5}
.pr-tools h5,.pr-props h5{margin:8px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5a6675}
.pr-tools button,.pr-file{font:inherit;text-align:left;border:1px solid transparent;background:none;border-radius:7px;padding:5px 7px;cursor:pointer;color:#1b2430}.pr-tools button:hover,.pr-file:hover{background:#eef3fb;border-color:#d6e3f5}
.pr-sheet{overflow:auto;padding:18px;display:flex;align-items:flex-start;justify-content:center}.pr-sheet svg{width:100%;height:auto;max-width:1400px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.18);touch-action:none;user-select:none}
.pr-sheet [data-el]{cursor:move}.pr-sheet [data-rs]{cursor:nwse-resize}
.pr-props .chips{display:flex;flex-wrap:wrap;gap:4px}.pr-props .chips button{font:inherit;font-size:11.5px;border:1px solid #cfd7e2;background:#fff;border-radius:999px;padding:2px 8px;cursor:pointer}.pr-props .chips button.on{background:#1b2430;color:#fff}
@media (max-width:900px){.pr-body{grid-template-columns:1fr}.pr-tools{max-height:140px;flex-direction:row;flex-wrap:wrap}.pr-props{max-height:260px}}

/* ===== Barra fixa de edição (esquerda) ===== */
.ebar{position:absolute;left:0;top:0;bottom:0;z-index:7;width:56px;background:#1b2430;display:flex;flex-direction:column;gap:2px;padding:6px 4px;overflow:auto}
.ebar .eb{display:flex;flex-direction:column;align-items:center;gap:0;border:0;background:none;color:#cfd8e3;border-radius:8px;padding:6px 0;cursor:pointer;font:500 10px Barlow,sans-serif}
.ebar .eb span{font-size:17px;line-height:1.1}.ebar .eb:hover{background:#2a3647;color:#fff}.ebar .eb.on{background:#2F7BFF;color:#fff}
.vbar{left:64px}.lay-pop{left:164px}
.ed-pop{position:absolute;left:64px;bottom:64px;z-index:8;background:#fff;border:1px solid #d6dde5;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);font:13px Barlow,sans-serif;max-width:360px}
.ed-pop .chips{display:flex;flex-wrap:wrap;gap:4px}.ed-pop .chips button{font:inherit;font-size:12px;border:1px solid #cfd7e2;background:#fff;border-radius:999px;padding:3px 9px;cursor:pointer}.ed-pop .chips button.on{background:#1b2430;color:#fff}
@media (max-width:900px){.ebar{top:auto;bottom:0;left:0;right:0;width:auto;height:52px;flex-direction:row;overflow-x:auto}.ebar .eb{min-width:54px}.vbar{bottom:128px;left:6px}.ed-pop{left:8px;bottom:190px}}
.pr-ask{position:absolute;inset:0;background:rgba(10,14,20,.45);display:flex;align-items:center;justify-content:center;z-index:5}
.pr-askb{background:#fff;border-radius:14px;padding:16px 18px;width:min(560px,94vw);display:flex;flex-direction:column;gap:8px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.pr-askb .chips{display:flex;flex-wrap:wrap;gap:5px}.pr-askb .chips button{font:inherit;border:1px solid #cfd7e2;background:#fff;border-radius:999px;padding:4px 10px;cursor:pointer}.pr-askb .chips button.on{background:#1b2430;color:#fff}
/* painel BIM */
.bim-p{position:absolute;right:10px;top:110px;z-index:6;width:300px;max-height:calc(100% - 200px);overflow:auto;background:#fff;border:1px solid #d6dde5;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.16);font:12.5px Barlow,sans-serif}
.bim-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:#1b2430;color:#fff;border-radius:12px 12px 0 0;position:sticky;top:0}.bim-h b{font-size:13px}.bim-h button{border:0;background:#2a3647;color:#fff;border-radius:6px;width:24px;cursor:pointer}
.bim-b{padding:8px 10px}.bim-b table{width:100%;border-collapse:collapse}.bim-b td{padding:2px 0;border-bottom:1px solid #eef1f4;vertical-align:top}.bim-b td:first-child{color:#5a6675;padding-right:8px}.bim-b td:last-child{text-align:right;font-weight:600}
.bim-b h6{margin:8px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5a6675}.bim-b tr.tot td{font-weight:800;color:#0b5ed7;border-top:1.5px solid #1b2430}
@media (max-width:900px){.bim-p{top:auto;bottom:130px;right:6px;width:min(300px,calc(100% - 12px));max-height:40vh}}
.lux-pop{position:absolute;left:170px;top:60px;z-index:9;width:min(560px,calc(100% - 180px));max-height:calc(100% - 90px);overflow:auto;background:#fff;border:1px solid #d6dde5;border-radius:12px;padding:12px 14px;box-shadow:0 14px 40px rgba(0,0,0,.2);font:12.5px Barlow,sans-serif}
.lux-pop h5{margin:10px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5a6675}.lux-pop table{width:100%;border-collapse:collapse}.lux-pop td,.lux-pop th{padding:3px 6px;border-bottom:1px solid #eef1f4;text-align:left}
.lux-cls{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px}.lux-cls span{display:flex;align-items:center;gap:5px}.lux-cls i{width:12px;height:12px;border-radius:3px;display:inline-block}
@media (max-width:900px){.lux-pop{left:8px;width:calc(100% - 16px)}}
.cfg-tabs{display:flex;flex-wrap:wrap;gap:5px}.cfg-tabs button{font:inherit;border:1px solid #cfd7e2;background:#fff;border-radius:999px;padding:5px 12px;cursor:pointer}.cfg-tabs button.on{background:#1b2430;color:#fff}
.cod-t input.in,.cod-t select.in{min-width:64px;padding:4px 6px}.cod-t td{vertical-align:top}
.ia-out{white-space:pre-wrap;background:#f6f8fb;border:1px solid #e3e8ee;border-radius:10px;padding:10px 12px;margin-top:8px;font-size:13px;line-height:1.5}.ia-out:empty{display:none}
/* ---------- tutorial ---------- */
.tut{position:fixed;right:18px;bottom:18px;z-index:9000;width:min(380px,calc(100vw - 32px));max-height:min(72vh,620px);display:flex;flex-direction:column;background:var(--panel,#fff);color:var(--ink,#152028);border:1px solid var(--line,#d6dde6);border-radius:12px;box-shadow:0 14px 40px rgba(10,20,40,.28);font-size:13.5px}
.tut:has(.tut-mini){width:auto;background:none;border:0;box-shadow:none}
.tut-h{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}.tut-h b{flex:1}.tut-h span{color:#6b7785;font-size:12px}
.tut-h button{border:0;background:none;font-size:15px;cursor:pointer;color:inherit;padding:2px 6px;border-radius:6px}.tut-h button:hover{background:rgba(0,0,0,.07)}
.tut-bar{height:4px;margin:0 12px;background:rgba(47,123,255,.15);border-radius:3px;overflow:hidden}.tut-bar i{display:block;height:100%;background:#2f7bff;transition:width .3s}
.tut h4{margin:10px 12px 4px;font-size:15px}.tut-x{padding:0 12px;overflow:auto;line-height:1.5}.tut-x ul,.tut-x ol{padding-left:18px;margin:6px 0}.tut-x code{background:rgba(0,0,0,.07);padding:0 4px;border-radius:4px}
.tut-ok{font-size:11px;background:#16a34a;color:#fff;border-radius:10px;padding:1px 8px;vertical-align:middle}.tut-opt{font-size:11px;background:rgba(0,0,0,.08);border-radius:10px;padding:1px 8px;vertical-align:middle;font-weight:500}
.tut-f{display:flex;gap:8px;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--line,#e3e8ee);margin-top:8px}
.tut-mini{background:#2f7bff;color:#fff;border:0;border-radius:20px;padding:9px 16px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(47,123,255,.4)}
.tut-hl{outline:3px solid #2f7bff!important;outline-offset:2px;animation:tutp 1.2s ease-in-out infinite;position:relative;z-index:5}
@keyframes tutp{0%,100%{box-shadow:0 0 0 0 rgba(47,123,255,.55)}50%{box-shadow:0 0 0 8px rgba(47,123,255,0)}}
@media (max-width:600px){.tut{right:8px;left:8px;bottom:8px;width:auto}}
