
:root{--bg:#f4f6fa;--panel:#fff;--ink:#172033;--muted:#6b7280;--line:#e3e8f0;--blue:#2563eb;--dark:#111827;--danger:#dc2626;--radius:14px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.boot,.login{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);background:#fff;padding:32px;border-radius:20px;box-shadow:0 24px 70px #0f172a20}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:white;display:grid;place-items:center;font-weight:900}.brand span{display:block;color:var(--muted);font-size:12px}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted)}label{display:grid;gap:6px;font-weight:650;font-size:13px;margin:14px 0}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}textarea{min-height:80px;resize:vertical}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;background:#e9eef8;color:#24304a}.btn.primary{background:var(--blue);color:#fff}.btn.danger{background:#fee2e2;color:#991b1b}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.small{padding:7px 10px;font-size:12px}.alert{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;margin:10px 0}
.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#111827;color:#fff;padding:20px 14px;display:flex;flex-direction:column;gap:20px}.sidebar .brand{padding:0 8px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:11px 12px;border-radius:10px;font-weight:650}.nav button:hover,.nav button.active{background:#ffffff14;color:#fff}.userbox{margin-top:auto;padding:12px;border-top:1px solid #ffffff18;display:flex;justify-content:space-between;align-items:center}.userbox small{display:block;color:#94a3b8}.main{padding:28px;min-width:0}.header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.header h1{margin:0;font-size:26px}.header p{margin:4px 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 20px #0f172a08}.stat{padding:18px}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:30px;margin:6px 0}.panel{padding:18px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-flex;padding:4px 8px;border-radius:99px;background:#e0e7ff;color:#3730a3;font-size:11px;font-weight:800}.actions{display:flex;gap:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.modal-back{position:fixed;inset:0;background:#0f172a80;display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 30px 80px #0005}.modal h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.icon-picker{border:1px solid var(--line);border-radius:12px;padding:10px}.icon-search{display:flex;gap:8px;margin-bottom:10px}.icon-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;max-height:300px;overflow:auto}.icon-option{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 4px;display:grid;place-items:center;gap:3px;min-height:62px}.icon-option.active{outline:2px solid var(--blue);background:#eff6ff}.icon-option b{font-size:22px}.icon-option span{font-size:9px;text-align:center;color:var(--muted)}
.editor-page{position:fixed;inset:0;background:#e9edf4;z-index:50;display:grid;grid-template-rows:58px 1fr}.editor-top{background:#111827;color:#fff;display:flex;align-items:center;gap:8px;padding:8px 12px}.editor-top .spacer{flex:1}.editor-body{display:grid;grid-template-columns:260px 1fr 270px;min-height:0}.toolbox,.properties{background:#fff;padding:14px;overflow:auto;border-right:1px solid var(--line)}.properties{border-right:0;border-left:1px solid var(--line)}.tool-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.tool-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px}.tool-tabs button.active{background:#dbeafe;border-color:#93c5fd}.equipment-library{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment-card{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;text-align:left}.equipment-card b{display:block}.equipment-card .glyph{font-size:24px;color:var(--blue)}.canvas-wrap{overflow:auto;padding:30px;background-image:linear-gradient(#cbd5e155 1px,transparent 1px),linear-gradient(90deg,#cbd5e155 1px,transparent 1px);background-size:20px 20px}.canvas{position:relative;width:1200px;height:800px;background:#fff;box-shadow:0 10px 35px #0f172a25;overflow:hidden;transform-origin:top left}.canvas-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.svg-layer{position:absolute;inset:0;width:100%;height:100%}.equip-item{position:absolute;width:70px;height:70px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;user-select:none;touch-action:none}.equip-item.selected{border:2px solid var(--blue);background:#dbeafe88}.equip-item .glyph{font-size:34px;line-height:1}.equip-item small{font-size:10px;background:#fff;padding:2px 4px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing.selected{filter:drop-shadow(0 0 3px #2563eb)}.prop-section{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.prop-section h3{font-size:14px;margin:0 0 10px}.color-row{display:flex;gap:8px;align-items:center}.color-row input[type=color]{width:48px;padding:2px;height:38px}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;overflow:auto}.sidebar .brand,.userbox{display:none}.nav{display:flex}.main{padding:16px}.stats{grid-template-columns:1fr 1fr}.editor-body{grid-template-columns:210px 1fr}.properties{display:none}.grid2,.grid3{grid-template-columns:1fr}}

:root{--primary:#2563eb;--sidebar:#111827}
.sidebar{background:var(--sidebar)}
.btn.primary,.nav button.active{background:var(--primary)}
.sidebar.collapsed{width:76px}.shell.menu-collapsed{grid-template-columns:76px 1fr}.sidebar.collapsed .nav-label,.sidebar.collapsed .brand-text,.sidebar.collapsed .userbox div{display:none}
.nav button{display:flex;align-items:center;gap:10px}.nav-icon{font-size:18px;width:22px;text-align:center}
.product-tabs,.project-tabs,.page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.product-tabs button,.project-tabs button,.page-tabs button{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:9px}.product-tabs button.active,.project-tabs button.active,.page-tabs button.active{background:#dbeafe;border-color:#93c5fd}
.page-tabs{padding:8px;background:#fff;border-bottom:1px solid var(--line);margin:0}.page-tabs .spacer{flex:1}
.logo-preview{max-height:56px;max-width:220px}.theme-sample{height:100px;border-radius:12px;color:#fff;padding:18px;display:flex;align-items:center;gap:12px}
.editor-page{grid-template-rows:58px 48px 1fr}.plant-rotator{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.canvas-bg{transform-origin:center center}
.project-log{max-height:400px;overflow:auto}.log-row{padding:10px 0;border-bottom:1px solid var(--line)}.log-row small{color:var(--muted)}
.collab-list{display:grid;gap:8px}.collab-row{display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:center}
@media print{.editor-top,.toolbox,.properties,.page-tabs{display:none!important}.editor-page{position:static;display:block;background:#fff}.editor-body{display:block}.canvas-wrap{padding:0;overflow:visible;background:none}.canvas{box-shadow:none;margin:auto;transform:none!important}.shell,.sidebar{display:none!important}body{background:#fff}}

/* v1.3 — editor mais leve e intuitivo */
body{background:#f7f9fc}
.sidebar{box-shadow:4px 0 20px rgba(15,23,42,.08)}
.main{max-width:1600px;margin:0 auto;width:100%}
.panel,.stat{box-shadow:0 8px 28px rgba(15,23,42,.05);border-color:#e8edf5}
.editor-page{background:#eef3f8;grid-template-rows:60px 52px 1fr}
.editor-top{background:#fff;color:#182033;border-bottom:1px solid #e6ebf2;padding:10px 16px}
.editor-title{display:grid}.editor-title small{color:#7b8494;font-weight:500}
.editor-subbar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e4eaf2}
.editor-subbar .spacer{flex:1}.save-hint{font-size:12px;color:#7c8798}.page-select-wrap{display:flex;align-items:center;gap:8px;margin:0}.page-select-wrap select{min-width:180px}
.editor-body{grid-template-columns:250px minmax(600px,1fr) 310px}
.toolbox,.properties{background:#fbfcfe;padding:16px;border-color:#e5ebf3}
.toolbox-section,.prop-card{background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.toolbox-section h3,.prop-card h3{margin:0 0 12px;font-size:14px}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.tool-btn{border:1px solid #e3e8f0;background:#fff;border-radius:11px;padding:10px;display:flex;align-items:center;gap:8px;color:#344054}
.tool-btn b{font-size:18px}.tool-btn span{font-size:12px}.tool-btn:hover{background:#f3f7fd}.tool-btn.active{border-color:var(--primary);background:#eef5ff;color:var(--primary)}
.equipment-library{display:grid;grid-template-columns:1fr;gap:7px;margin-top:10px;max-height:56vh;overflow:auto}
.equipment-card{display:flex;align-items:center;gap:10px;min-height:58px;border-color:#e6ebf2;box-shadow:none}
.equipment-card:hover{background:#f6f9fd;border-color:#cfd9e8}.equipment-card .glyph{width:36px;text-align:center}
.canvas-wrap{padding:24px;background-color:#edf2f7;background-image:linear-gradient(#dce4ed66 1px,transparent 1px),linear-gradient(90deg,#dce4ed66 1px,transparent 1px)}
.canvas{border-radius:4px;box-shadow:0 14px 40px rgba(15,23,42,.16)}
.equip-item{width:48px;height:54px;border:0!important;background:transparent!important;border-radius:0;display:flex;flex-direction:column;gap:1px}
.equip-item.selected{outline:2px dashed var(--primary);outline-offset:4px}
.equip-item .glyph{font-size:30px;filter:drop-shadow(0 2px 2px rgba(255,255,255,.9))}
.equip-item small{font-size:9px;font-weight:800;background:rgba(255,255,255,.92);color:#111827;padding:1px 3px;border:0;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.collab-row{grid-template-columns:1fr 100px}.checkline{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.checkline input{width:auto}
.legend-row{display:grid;grid-template-columns:26px 52px 1fr;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #eef1f5;font-size:12px}
.legend-icon{font-size:20px;text-align:center}.legend-row b{font-size:11px;color:var(--primary)}
.project-log{max-height:190px}.log-row{display:grid;gap:2px}.log-row span{font-size:12px}.log-row small{font-size:10px}
.actions{flex-wrap:wrap}
@media(max-width:1100px){.editor-body{grid-template-columns:220px 1fr}.properties{position:fixed;right:0;top:112px;bottom:0;width:300px;z-index:4;box-shadow:-8px 0 24px rgba(15,23,42,.1)}}
@media print{.editor-subbar,.print-hide{display:none!important}.editor-page{grid-template-rows:0 0 1fr}.editor-top{display:none!important}.canvas{break-after:page}}

/* v1.4 */
.badge.collaborator{background:#ecfdf3;color:#027a48;margin-top:4px}
.legend-row span small{display:block;color:#667085;font-weight:500;margin-top:2px}
.report-log-table{max-height:620px;overflow:auto}
.print-document{display:none}
@media print{
  body>*:not(#printDocument){display:none!important}
  #printDocument{display:block!important}
  .print-sheet{page-break-after:always;background:#fff;color:#111;padding:10mm;width:100%}
  .print-sheet:last-child{page-break-after:auto}
  .print-header{display:flex;gap:14px;align-items:center;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:8px}
  .print-header img{max-width:42mm;max-height:18mm}
  .print-header h1{font-size:18px;margin:0}.print-header b,.print-header span{display:block;font-size:10px}
  .print-sheet h2{font-size:15px;margin:8px 0}.print-sheet h3{font-size:13px;margin:10px 0 5px}
  .print-canvas{position:relative;width:240mm;height:155mm;margin:auto;border:1px solid #bbb;overflow:hidden;background:#fff}
  .print-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center}
  .print-equip{position:absolute;width:48px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform-origin:center}
  .print-equip span{font-size:28px}.print-equip b{font-size:8px;background:#fff;padding:1px 3px}
  .print-text,.print-shape{position:absolute}.print-shape.ellipse{border-radius:50%}
  .print-line{position:absolute;inset:0;width:100%;height:100%}
  .print-legend{width:100%;border-collapse:collapse;font-size:8px}
  .print-legend th,.print-legend td{border:1px solid #999;padding:4px;vertical-align:top}
  .legend-symbol{font-size:18px;text-align:center}
  .print-notes{font-size:9px;margin-top:7px;border:1px solid #aaa;padding:6px}
}

/* v1.5 — impressão corrigida */
@page{size:A4 landscape;margin:8mm}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body>*:not(#printDocument){display:none!important}
  #printDocument{display:block!important}
  .print-sheet{
    width:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    page-break-after:always!important;
    break-after:page!important;
    background:#fff!important;
    color:#111!important;
    overflow:visible!important;
  }
  .print-sheet:last-child{page-break-after:auto!important;break-after:auto!important}
  .print-header{
    display:flex!important;
    align-items:center!important;
    gap:10mm!important;
    min-height:18mm!important;
    padding:0 0 3mm!important;
    margin:0 0 3mm!important;
    border-bottom:1.5px solid #111!important;
  }
  .print-header img{max-width:42mm!important;max-height:15mm!important;object-fit:contain!important}
  .print-header h1{font-size:15pt!important;line-height:1.1!important;margin:0 0 1mm!important}
  .print-header b{font-size:10pt!important}
  .print-header span{font-size:8pt!important;line-height:1.35!important}
  .print-sheet-title{display:flex!important;justify-content:space-between!important;align-items:end!important;margin:0 0 2mm!important}
  .print-sheet-title h2{font-size:12pt!important;margin:0!important}
  .print-sheet-title span{font-size:8pt!important;color:#555!important}
  .print-canvas{
    position:relative!important;
    width:252mm!important;
    height:168mm!important;
    margin:0 auto!important;
    border:1px solid #999!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .print-canvas-inner{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1200px!important;
    height:800px!important;
    transform:scale(.7937)!important;
    transform-origin:top left!important;
  }
  .print-bg{position:absolute!important;inset:0!important;width:1200px!important;height:800px!important;object-fit:contain!important;transform-origin:center center!important}
  .print-equip{position:absolute!important;width:48px!important;height:54px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;transform-origin:center!important}
  .print-equip span{font-size:28px!important;line-height:1!important}
  .print-equip b{font-size:8px!important;line-height:1!important;background:#fff!important;padding:1px 3px!important}
  .print-text,.print-shape{position:absolute!important}
  .print-shape.ellipse{border-radius:50%!important}
  .print-line{position:absolute!important;left:0!important;top:0!important;width:1200px!important;height:800px!important}
  .print-legend{
    width:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
    font-size:8.5pt!important;
  }
  .print-legend thead{display:table-header-group!important}
  .print-legend tr{page-break-inside:avoid!important;break-inside:avoid!important}
  .print-legend th,.print-legend td{border:1px solid #777!important;padding:2.2mm!important;vertical-align:top!important;word-wrap:break-word!important}
  .print-legend th:nth-child(1){width:12mm!important}
  .print-legend th:nth-child(2){width:22mm!important}
  .print-legend th:nth-child(3){width:48mm!important}
  .print-legend th:nth-child(4){width:48mm!important}
  .print-legend th:nth-child(5){width:auto!important}
  .legend-symbol{font-size:16pt!important;text-align:center!important}
  .print-notes{font-size:8.5pt!important;margin-top:4mm!important;border:1px solid #777!important;padding:3mm!important;page-break-inside:avoid!important}
}

/* v1.6 — interface profissional e mobile */
:root{--primary:#2563eb;--sidebar:#0f172a;--surface:#ffffff;--surface-2:#f8fafc;--text:#172033;--muted:#667085;--border:#e5eaf1}
body{background:#f6f8fb;color:var(--text)}
.shell{grid-template-columns:264px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 88%,#000));padding:20px 14px;border-right:1px solid rgba(255,255,255,.06);box-shadow:8px 0 30px rgba(15,23,42,.08)}
.sidebar .brand{padding:4px 8px 18px;margin:0;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar .brand-mark{border-radius:10px;background:var(--primary)}
.sidebar .brand b{font-size:14px}.sidebar .brand span{font-size:11px}
#toggleMenu{background:rgba(255,255,255,.08);color:#e5e7eb;border:1px solid rgba(255,255,255,.08);margin:0 6px}
.nav{gap:4px}.nav button{min-height:44px;border-radius:10px;color:#c7d0df;font-size:13px;padding:10px 12px}
.nav button:hover{background:rgba(255,255,255,.07)}.nav button.active{background:rgba(255,255,255,.11);box-shadow:inset 3px 0 0 var(--primary);color:#fff}
.nav-icon{font-size:16px;color:#9fb0c8}.nav button.active .nav-icon{color:#fff}
.main{padding:30px 34px;max-width:none}
.header{margin-bottom:20px}.header h1{font-size:25px;letter-spacing:-.02em}.header p{font-size:13px}
.panel,.stat{border:1px solid var(--border);box-shadow:0 8px 30px rgba(15,23,42,.045)}
.stats{gap:16px}.stat{border-radius:16px;padding:20px}.stat strong{font-size:28px}
.btn{transition:.15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 25%,transparent)}
.settings-savebar{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:14px 0 0;background:linear-gradient(transparent,#fff 30%)}
.settings-save{min-width:190px;display:inline-flex!important;opacity:1!important;visibility:visible!important}
.client-search{max-width:520px;margin-bottom:18px}
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.client-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px;display:grid;grid-template-columns:46px 1fr 20px;gap:12px;text-align:left;align-items:center;color:var(--text)}
.client-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));box-shadow:0 8px 22px rgba(15,23,42,.06)}
.client-avatar{width:46px;height:46px;border-radius:13px;background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary);display:grid;place-items:center;font-weight:800}
.client-card b,.client-card small,.client-card span{display:block}.client-card small{color:var(--muted);margin:3px 0}.client-card div>span{font-size:11px;color:#98a2b3}.client-card i{font-style:normal;color:#98a2b3}
.client-detail-head{display:flex;align-items:center;gap:15px;margin-bottom:18px}.client-detail-head h1{margin:0;font-size:25px}.client-detail-head p{margin:3px 0;color:var(--muted)}
.client-detail-head .spacer{flex:1}.client-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.client-tabs button{border:0;background:transparent;padding:11px 14px;color:var(--muted);font-weight:700;border-bottom:2px solid transparent}
.client-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.file-card{display:grid;gap:5px;border:1px solid var(--border);border-radius:12px;padding:14px;text-decoration:none;color:var(--text)}.file-card small{color:var(--muted)}
.note-compose{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.note-list{display:grid;gap:9px;margin-top:16px}.note-card{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fff}.note-card p{margin:0 0 6px}.note-card small{color:var(--muted)}
.empty-state{padding:28px;text-align:center;color:var(--muted);background:var(--surface-2);border-radius:12px}.span2{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;margin-top:16px}
.mobile-only{display:none}

/* Editor mobile como app */
@media(max-width:760px){
 body{padding-bottom:64px}
 .shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:64px;z-index:100;padding:5px 8px;background:var(--sidebar);display:block}
 .sidebar .brand,#toggleMenu,.userbox{display:none!important}.nav{height:54px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
 .nav button{padding:5px 2px;min-height:52px;display:grid;place-items:center;gap:1px;font-size:9px;border-radius:9px;text-align:center}
 .nav-icon{font-size:18px;width:auto}.nav button.active{box-shadow:none;background:rgba(255,255,255,.12)}
 .nav-label{display:block!important}.main{padding:18px 14px 82px}.header{align-items:flex-start}.header h1{font-size:22px}.header>.btn{font-size:12px}
 .stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat strong{font-size:23px}
 .grid2,.grid3{grid-template-columns:1fr}.span2{grid-column:auto}.client-grid{grid-template-columns:1fr}.client-detail-head{align-items:flex-start;flex-wrap:wrap}.client-detail-head .spacer{display:none}
 .client-tabs{overflow-x:auto}.client-tabs button{white-space:nowrap}.note-compose{grid-template-columns:1fr}.actions{min-width:150px}
 .mobile-only{display:inline-flex}
 .editor-page{inset:0;grid-template-rows:58px 50px 1fr;z-index:300}.editor-top{padding:8px;gap:5px}.editor-title{max-width:130px}.editor-title b,.editor-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .editor-top .btn{padding:8px;font-size:11px}.save-hint{display:none}.editor-subbar{padding:6px 8px;overflow-x:auto}.page-select-wrap{font-size:10px}.page-select-wrap select{min-width:120px}
 .editor-body{display:block;position:relative;min-height:0}.canvas-wrap{position:absolute;inset:0;padding:12px;overflow:auto;touch-action:pan-x pan-y;background-size:16px 16px}
 .canvas{transform-origin:top left}.toolbox,.properties{position:absolute!important;top:0!important;bottom:0!important;width:min(88vw,340px)!important;z-index:20!important;display:none!important;box-shadow:0 10px 35px rgba(15,23,42,.2);overflow:auto}
 .toolbox{left:0!important}.properties{right:0!important;left:auto!important}.toolbox.mobile-open,.properties.mobile-open{display:block!important}
 .equipment-library{max-height:none}.tool-grid{grid-template-columns:repeat(3,1fr)}
 .prop-card{padding:12px}.print-hide{display:none!important}
 .settings-savebar{padding-bottom:70px}
}

/* Impressão: cada planta sempre em uma única folha */
@page{size:A4 landscape;margin:5mm}
@media print{
 html,body{width:287mm!important;height:auto!important;margin:0!important;padding:0!important}
 .print-plan-sheet{height:200mm!important;max-height:200mm!important;overflow:hidden!important;box-sizing:border-box!important}
 .print-plan-sheet .print-header{height:17mm!important;min-height:17mm!important;margin-bottom:2mm!important;padding-bottom:2mm!important}
 .print-plan-sheet .print-sheet-title{height:8mm!important;margin:0 0 2mm!important}
 .print-plan-sheet .print-canvas{width:216mm!important;height:144mm!important;margin:0 auto!important;overflow:hidden!important}
 .print-plan-sheet .print-canvas-inner{width:1200px!important;height:800px!important;transform:scale(.68)!important;transform-origin:top left!important}
 .print-plan-sheet .print-bg{width:1200px!important;height:800px!important}
 .print-plan-sheet .print-line{width:1200px!important;height:800px!important}
 .print-legend-sheet{min-height:0!important;height:auto!important;overflow:visible!important}
}

/* v1.7 */
.brand-text{display:flex;align-items:center;min-width:0}.brand-text b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-table td:first-child{min-width:220px}.client-table td:last-child{min-width:145px}
.badge.inactive{background:#f2f4f7;color:#667085}
.report-placeholder{padding:34px;text-align:center;color:#667085;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:12px}
@media(max-width:760px){
 .client-table{min-width:760px}
 .brand-text{display:none!important}
}

/* v1.9 — biblioteca por setor e desenho arquitetônico */
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
h1,h2,h3,b,strong{letter-spacing:-.015em}
.toolbox{padding:12px}
.toolbox-section.collapsible{padding:0;overflow:hidden}
.toolbox-section.collapsible>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;font-size:13px;font-weight:800;cursor:pointer;background:#fff}
.toolbox-section.collapsible>summary::-webkit-details-marker{display:none}
.toolbox-section.collapsible>summary:after{content:"⌄";font-size:13px;color:#98a2b3;transition:.15s}
.toolbox-section.collapsible[open]>summary:after{transform:rotate(180deg)}
.toolbox-section.collapsible>.tool-grid,.toolbox-section.collapsible>.architect-hint,.toolbox-section.collapsible>.equipment-filters,.toolbox-section.collapsible>.equipment-library{margin-left:12px;margin-right:12px}
.toolbox-section.collapsible>.equipment-library{margin-bottom:12px}
.architect-hint{display:grid;gap:2px;background:#f8fafc;border:1px dashed #cbd5e1;padding:9px 10px;border-radius:9px;margin-top:10px;margin-bottom:12px}
.architect-hint b{font-size:11px}.architect-hint span{font-size:10px;color:#667085;line-height:1.4}
.equipment-filters{display:grid;gap:7px;padding:0 0 10px}
.equipment-filters input,.equipment-filters select{padding:9px 10px;font-size:11px;border-radius:8px}
.equipment-library{max-height:55vh;overflow:auto;display:block;padding-right:3px}
.equipment-group{border:1px solid #e6ebf2;border-radius:10px;background:#fff;margin-bottom:7px;overflow:hidden}
.equipment-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 11px;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#344054;background:#f8fafc}
.equipment-group>summary::-webkit-details-marker{display:none}
.equipment-group>summary small{background:#e9eef6;color:#667085;border-radius:999px;padding:2px 7px;font-size:9px}
.equipment-group-list{display:grid;gap:2px;padding:5px}
.equipment-card{border:0;border-radius:7px;min-height:43px;padding:6px 8px;display:flex;align-items:center;gap:9px;background:#fff}
.equipment-card:hover{background:#f4f7fb;border:0}.equipment-card .glyph{font-size:20px;width:28px}.equipment-card b{font-size:11px;font-weight:700}.equipment-card small{font-size:9px;color:#98a2b3}
.snap-switch{display:flex;align-items:center;gap:6px;margin:0;font-size:11px;color:#475467;white-space:nowrap}.snap-switch input{width:auto}
.tool-grid{grid-template-columns:repeat(2,1fr)}.tool-btn{min-height:42px;padding:8px}.tool-btn b{font-size:16px}.tool-btn span{font-size:10px}
.drawing{cursor:pointer}.drawing.selected{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--primary) 55%,transparent))}
.equipment-admin-filters{display:grid;grid-template-columns:minmax(260px,1fr) 220px 220px;gap:10px;margin-bottom:14px}
.admin-eq-row.hidden{display:none}
@media(max-width:900px){.equipment-admin-filters{grid-template-columns:1fr}.equipment-library{max-height:none}}
@media(max-width:760px){
 .toolbox-section.collapsible>summary{padding:12px}.equipment-library{max-height:none}
 .equipment-group>summary{position:sticky;top:0;z-index:2}
 .tool-grid{grid-template-columns:repeat(3,1fr)}
 .snap-switch{font-size:10px}
}

/* v2.0 — editor mais simples de operar */
.svg-layer{pointer-events:none}
.svg-layer .drawing{pointer-events:visiblePainted}
#itemLayer{pointer-events:none}
.equip-item{pointer-events:auto}
.tool-status{display:grid;gap:3px;margin:10px 12px 12px;padding:10px;border-radius:9px;background:#eef4ff;border:1px solid #d7e3ff}
.tool-status b{font-size:11px;color:#1d4ed8}
.tool-status span{font-size:10px;line-height:1.35;color:#5b6472}
.tool-btn.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}
.canvas{cursor:crosshair}
.tool-btn[data-tool="select"].active~* .canvas{cursor:default}
@media(max-width:760px){
 .tool-status{position:sticky;bottom:0;z-index:5}
}

/* v2.1 — elementos simples arrastáveis */
.shape-library{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:0 12px 12px}
.shape-card{border:1px solid #e5eaf1;background:#fff;border-radius:9px;padding:9px 7px;display:flex;align-items:center;gap:8px;text-align:left}
.shape-card:hover{background:#f6f8fb;border-color:#cfd7e4}
.shape-card b{font-size:18px;width:24px;text-align:center;color:#344054}
.shape-card span{font-size:10px;font-weight:700;color:#475467}
.shape-item{background:transparent!important;border:0!important;display:flex;align-items:center;justify-content:center;overflow:visible}
.shape-item.selected{outline:2px dashed var(--primary)!important;outline-offset:5px}
.shape-item small{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;background:rgba(255,255,255,.94);font-size:9px;font-weight:700;color:#111827;padding:1px 4px;border-radius:4px;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.simple-shape{width:100%;height:100%;pointer-events:none}
.wall-shape{border-radius:3px}
.line-shape{height:3px!important;align-self:center;border-radius:999px}
.rect-shape,.circle-shape{border:3px solid;background:transparent}
.circle-shape{border-radius:50%}
.door-shape{border-left:5px solid;border-bottom:2px dashed #94a3b8;border-radius:0 0 100% 0}
.arrow-shape,.circulation-shape{display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1}
.circulation-shape{border-bottom:2px dashed currentColor}
.text-shape{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;white-space:nowrap}
.print-simple-shape{position:absolute;transform-origin:center}
.print-wall{border-radius:2px}
.print-door{border-left:5px solid;border-bottom:2px dashed #94a3b8;border-radius:0 0 100% 0}
.print-line-block{height:3px!important}
.print-rect,.print-circle{border:3px solid;background:transparent}
.print-circle{border-radius:50%}
.print-symbol{display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700}
@media(max-width:760px){
 .shape-library{grid-template-columns:repeat(2,1fr)}
 .shape-card{min-height:44px}
}

/* v2.2 — redimensionamento com Ctrl + arrastar */
.resize-tip{display:grid;gap:3px;margin-top:10px;padding:9px 10px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc}
.resize-tip b{font-size:10px;color:#344054}
.resize-tip span{font-size:9px;color:#667085}
body.is-resizing-object,body.is-resizing-object *{cursor:nwse-resize!important;user-select:none!important}
.equip-item.selected:after{content:"Ctrl + arrastar para redimensionar";position:absolute;left:50%;top:-24px;transform:translateX(-50%);white-space:nowrap;font-size:8px;font-weight:700;color:#475467;background:#fff;border:1px solid #d0d5dd;border-radius:5px;padding:3px 5px;box-shadow:0 2px 6px rgba(15,23,42,.08);pointer-events:none}
@media(max-width:760px){
 .equip-item.selected:after{display:none}
}

/* v2.3 — lápis livre com aplicação e alinhamento */
.pencil-card{background:#eef6ff;border-color:#cfe0ff}
.pencil-card b{color:#1d4ed8}
#applyPencil{width:100%;margin:8px 0 10px}
.drawing[data-drawing-id]{touch-action:none}
@media(max-width:760px){
 .pencil-card{grid-column:1/-1}
}
