/* Superficies operacionais ajustadas sem zoom/transform global. */
.wz-tools-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.wz-tools-head .page-title { margin:2px 0 3px; }
.wz-tools-head p { margin:0; color:var(--text-muted); font-size:.88rem; }
.wz-tools-kicker { display:block; color:var(--accent); font-size:.72rem; line-height:1.2; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.wz-tools-notice { display:flex; align-items:center; gap:10px; margin-bottom:14px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--bg-white); }
.wz-tools-notice > div { display:grid; gap:2px; flex:1; min-width:0; }
.wz-tools-notice span { color:var(--text-muted); font-size:.8rem; }
.wz-tools-notice.is-warning { border-color:rgba(245,158,11,.38); background:rgba(245,158,11,.07); }
.wz-tools-error { padding:9px 10px; border:1px solid rgba(239,68,68,.35); border-radius:8px; background:rgba(239,68,68,.07); color:var(--danger,#ef4444); font-size:.82rem; }

.wz-list-tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:14px; }
.wz-list-tabs button { display:flex; align-items:center; gap:7px; min-height:42px; padding:8px 12px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text-muted); font:inherit; font-size:.86rem; font-weight:700; cursor:pointer; }
.wz-list-tabs button:hover { color:var(--text); }
.wz-list-tabs button.is-active { color:var(--accent); border-bottom-color:var(--accent); }
.wz-list-create { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; margin-bottom:14px; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--bg-white); }
.wz-list-create.is-contacts { grid-template-columns:minmax(220px,1fr) minmax(180px,.45fr) auto; }
.wz-list-create label, .wz-list-drawer-body > label, .wz-list-drawer-body fieldset > label { display:grid; gap:5px; color:var(--text-muted); font-size:.76rem; font-weight:700; }
.wz-list-create input, .wz-list-create select { width:100%; min-height:40px; }
.wz-list-workspace { display:grid; grid-template-columns:minmax(220px,290px) minmax(0,1fr); gap:14px; min-height:360px; }
.wz-list-nav, .wz-list-detail { border:1px solid var(--border); border-radius:12px; background:var(--bg-white); }
.wz-list-nav { padding:12px; align-self:start; }
.wz-list-nav-head { padding:2px 3px 10px; }
.wz-list-nav-head h2 { margin:3px 0 2px; font-size:1rem; }
.wz-list-nav-head p { margin:0; color:var(--text-muted); font-size:.76rem; }
.wz-list-nav-items { display:grid; gap:5px; }
.wz-list-nav-item { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:9px; align-items:center; width:100%; padding:9px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.wz-list-nav-item:hover { background:var(--bg-secondary); }
.wz-list-nav-item.is-active { border-color:var(--accent); background:rgba(16,185,129,.1); }
.wz-list-nav-item > span:nth-child(2) { display:grid; min-width:0; gap:2px; }
.wz-list-nav-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.84rem; }
.wz-list-nav-item small { color:var(--text-muted); font-size:.72rem; }
.wz-list-nav-item > .fa-chevron-right { color:var(--text-muted); font-size:.68rem; }
.wz-list-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:rgba(16,185,129,.12); color:var(--accent); }
.wz-list-nav-empty { display:grid; justify-items:center; gap:7px; padding:24px 10px; color:var(--text-muted); text-align:center; font-size:.8rem; }
.wz-list-detail { min-width:0; padding:16px; }
.wz-list-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:13px; border-bottom:1px solid var(--border); }
.wz-list-detail-head h2 { margin:4px 0 3px; font-size:1.1rem; }
.wz-list-detail-head p { margin:0; color:var(--text-muted); font-size:.8rem; }
.wz-list-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.wz-list-rename, .wz-list-add, .wz-list-summary { margin-top:14px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--bg-secondary); }
.wz-list-rename > label { display:block; margin-bottom:6px; color:var(--text-muted); font-size:.74rem; font-weight:700; }
.wz-list-rename > div { display:flex; gap:8px; }
.wz-list-rename input { flex:1; min-width:0; }
.wz-list-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.wz-list-add label { grid-column:1/-1; display:grid; gap:2px; }
.wz-list-add label span { color:var(--text-muted); font-size:.75rem; }
.wz-list-add textarea, .wz-list-add input { width:100%; resize:vertical; }
.wz-list-add #wzListSearchResults { grid-column:1/-1; }
.wz-list-items { margin-top:14px; }
.wz-list-items ul, .wz-list-search-hits { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.wz-list-items li, .wz-list-search-hits li { display:flex; align-items:center; gap:9px; min-width:0; padding:9px 10px; border:1px solid var(--border); border-radius:9px; background:var(--bg-secondary); }
.wz-list-item-main, .wz-list-search-hits li > span { display:grid; gap:2px; flex:1; min-width:0; overflow-wrap:anywhere; font-size:.8rem; }
.wz-list-item-main small, .wz-list-search-hits small { color:var(--text-muted); font-size:.72rem; }
.wz-list-tag { flex:0 0 auto; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:3px 7px; border-radius:999px; background:rgba(16,185,129,.11); color:var(--accent); font-size:.68rem; font-weight:700; }
.wz-list-icon-danger { display:grid; place-items:center; flex:0 0 auto; width:32px; height:32px; border:1px solid rgba(239,68,68,.3); border-radius:8px; background:transparent; color:var(--danger,#ef4444); cursor:pointer; }
.wz-list-muted { margin:8px 0 0; color:var(--text-muted); font-size:.8rem; }
.wz-list-summary strong { font-size:.8rem; }
.wz-list-summary ul { margin:8px 0; padding-left:18px; font-size:.78rem; line-height:1.65; }
.wz-list-summary small { color:var(--text-muted); }
.wz-list-empty { display:grid; place-items:center; align-content:center; min-height:300px; text-align:center; }
.wz-list-empty-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:10px; border-radius:14px; background:rgba(16,185,129,.1); color:var(--accent); font-size:1.1rem; }
.wz-list-empty p { max-width:420px; margin:5px 0 0; color:var(--text-muted); font-size:.8rem; }

.wz-list-drawer { position:fixed; z-index:2100; inset:0; display:flex; justify-content:flex-end; background:rgba(2,6,23,.64); backdrop-filter:blur(2px); }
.wz-list-drawer-panel { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(520px,100%); height:100%; border-left:1px solid var(--border); background:var(--bg-white); box-shadow:-18px 0 44px rgba(0,0,0,.22); }
.wz-list-drawer-panel > header, .wz-list-drawer-panel > footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border); }
.wz-list-drawer-panel > footer { justify-content:flex-end; border-top:1px solid var(--border); border-bottom:0; }
.wz-list-drawer-panel header h2 { margin:3px 0 0; font-size:1.05rem; }
.wz-list-drawer-panel header > button { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--border); border-radius:9px; background:transparent; color:var(--text); cursor:pointer; }
.wz-list-drawer-body { overflow:auto; padding:16px; }
.wz-list-drawer-body input, .wz-list-drawer-body select { width:100%; }
.wz-list-drawer-body fieldset { display:grid; gap:10px; margin:14px 0 0; padding:12px; border:1px solid var(--border); border-radius:10px; }
.wz-list-drawer-body legend { padding:0 5px; font-size:.78rem; font-weight:800; }
.wz-list-checks { display:flex; flex-wrap:wrap; gap:9px 16px; }
.wz-list-checks label { display:flex; align-items:center; gap:7px; color:var(--text); font-size:.78rem; }
.wz-list-checks input { width:auto; }
.wz-list-preview { display:flex; align-items:center; gap:10px; margin-top:14px; }
.wz-list-preview p { margin:0; color:var(--text-muted); font-size:.78rem; }

@media (max-width: 760px) {
  .wz-tools-notice { align-items:flex-start; flex-wrap:wrap; }
  .wz-tools-notice button { width:100%; }
  .wz-list-tabs { overflow-x:auto; scrollbar-width:none; }
  .wz-list-tabs button { flex:0 0 auto; min-height:44px; }
  .wz-list-create, .wz-list-create.is-contacts { grid-template-columns:1fr; }
  .wz-list-create button { width:100%; min-height:44px; }
  .wz-list-workspace { grid-template-columns:1fr; }
  .wz-list-nav { max-height:260px; overflow:auto; }
  .wz-list-detail { padding:13px; }
  .wz-list-detail-head { display:grid; }
  .wz-list-actions { justify-content:stretch; }
  .wz-list-actions button { flex:1 1 auto; min-height:44px; }
  .wz-list-rename > div, .wz-list-add { display:grid; grid-template-columns:1fr; }
  .wz-list-rename button, .wz-list-add button { width:100%; min-height:44px; }
  .wz-list-items li { align-items:flex-start; flex-wrap:wrap; }
  .wz-list-tag { margin-left:auto; }
  .wz-list-icon-danger { width:44px; height:44px; }
  .wz-list-drawer-panel { width:100%; border-left:0; }
}

/* Templates */
.wz-template-head-actions { display:flex; align-items:center; gap:9px; }
.wz-template-view { display:flex; padding:3px; border:1px solid var(--border); border-radius:10px; background:var(--bg-white); }
.wz-template-view button { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:7px; background:transparent; color:var(--text-muted); cursor:pointer; }
.wz-template-view button.is-active { background:rgba(16,185,129,.12); color:var(--accent); }
.wz-template-count { margin:0 0 12px; color:var(--text-muted); font-size:.76rem; }
.wz-template-count i { color:var(--accent); }
.wz-template-collection.is-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.wz-template-card { display:grid; min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--bg-white); transition:border-color .16s ease, box-shadow .16s ease; }
.wz-template-card:hover { border-color:rgba(16,185,129,.5); box-shadow:0 8px 24px rgba(15,23,42,.08); }
.wz-template-thumb { display:grid; place-items:center; width:100%; height:138px; padding:0; overflow:hidden; border:0; border-bottom:1px solid var(--border); background:var(--bg-secondary); color:var(--text-muted); cursor:default; }
button.wz-template-thumb.is-image { cursor:zoom-in; }
.wz-template-thumb > span { display:grid; place-items:center; width:100%; height:100%; gap:7px; }
.wz-template-thumb i { font-size:1.45rem; }
.wz-template-thumb small { font-size:.72rem; }
.wz-template-thumb img { display:block; width:100%; height:100%; object-fit:cover; image-rendering:auto; }
.wz-template-copy { display:grid; align-content:start; gap:7px; min-width:0; padding:11px 12px 8px; }
.wz-template-title { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.wz-template-title h2 { min-width:0; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; }
.wz-template-title span { flex:0 0 auto; padding:3px 7px; border-radius:999px; background:var(--bg-secondary); color:var(--text-muted); font-size:.66rem; font-weight:700; }
.wz-template-copy p { display:-webkit-box; min-height:2.5em; margin:0; overflow:hidden; color:var(--text-muted); font-size:.76rem; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.wz-template-copy > small { color:var(--text-muted); font-size:.68rem; }
.wz-template-actions { display:flex; justify-content:flex-end; gap:7px; margin-top:auto; padding:9px 12px 11px; border-top:1px solid var(--border); }
.wz-template-collection.is-list { display:grid; gap:7px; }
.wz-template-collection.is-list .wz-template-card { grid-template-columns:72px minmax(0,1fr) auto; align-items:center; min-height:76px; }
.wz-template-collection.is-list .wz-template-thumb { width:72px; height:72px; border-right:1px solid var(--border); border-bottom:0; }
.wz-template-collection.is-list .wz-template-thumb small { display:none; }
.wz-template-collection.is-list .wz-template-copy { padding:9px 12px; }
.wz-template-collection.is-list .wz-template-copy p { min-height:auto; -webkit-line-clamp:1; }
.wz-template-collection.is-list .wz-template-actions { align-self:stretch; align-items:center; margin:0; padding:9px 11px; border-top:0; border-left:1px solid var(--border); }
.wz-template-empty { display:grid; place-items:center; min-height:280px; padding:24px; border:1px dashed var(--border); border-radius:12px; color:var(--text-muted); text-align:center; }
.wz-template-empty i { margin-bottom:10px; color:var(--accent); font-size:1.5rem; }
.wz-template-empty p { margin:4px 0 0; font-size:.8rem; }
.wz-template-form { margin-bottom:14px; overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--bg-white); }
.wz-template-form[hidden] { display:none; }
.wz-template-form > header, .wz-template-form > footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border); }
.wz-template-form > footer { justify-content:flex-end; border-top:1px solid var(--border); border-bottom:0; }
.wz-template-form header h2 { margin:2px 0 0; font-size:1rem; }
.wz-template-form header > button { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); cursor:pointer; }
.wz-template-form-body { display:grid; gap:12px; padding:14px; }
.wz-template-form-body > label { display:grid; gap:5px; color:var(--text-muted); font-size:.76rem; font-weight:700; }
.wz-template-form-body input, .wz-template-form-body textarea { width:100%; }
.wz-template-help { margin:0; color:var(--text-muted); font-size:.74rem; line-height:1.5; }
.wz-template-media { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:10px; border:1px solid var(--border); border-radius:10px; }
.wz-template-media legend { padding:0 5px; font-size:.74rem; font-weight:800; }
.wz-template-media .template-media-opt { flex:0 0 auto; min-height:38px; padding:8px 10px; }
.wz-template-media .template-media-opt span { font-size:.74rem; }
.wz-template-image-modal { position:fixed; z-index:2200; inset:0; display:grid; place-items:center; padding:24px; background:rgba(2,6,23,.82); }
.wz-template-image-modal > div { position:relative; max-width:min(100%,1100px); max-height:100%; }
.wz-template-image-modal img { display:block; max-width:100%; max-height:calc(100vh - 48px); border-radius:12px; object-fit:contain; }
.wz-template-image-modal button { position:absolute; z-index:1; top:10px; right:10px; display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(2,6,23,.75); color:#fff; cursor:pointer; }

@media (max-width:760px) {
  .wz-tools-templates .wz-tools-head { display:grid; }
  .wz-template-head-actions { justify-content:space-between; }
  .wz-template-head-actions > .btn-primary { min-height:44px; }
  .wz-template-collection.is-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .wz-template-thumb { height:108px; }
  .wz-template-title { display:grid; }
  .wz-template-copy { padding:9px; }
  .wz-template-actions { padding:8px 9px; }
  .wz-template-actions .btn-secondary { flex:1; min-height:44px; }
  .wz-template-actions .wz-list-icon-danger { width:44px; height:44px; }
  .wz-template-collection.is-list .wz-template-card { grid-template-columns:62px minmax(0,1fr); }
  .wz-template-collection.is-list .wz-template-thumb { width:62px; height:62px; }
  .wz-template-collection.is-list .wz-template-actions { grid-column:1/-1; justify-content:stretch; border-top:1px solid var(--border); border-left:0; }
  .wz-template-media .template-media-opt { flex:1 1 calc(50% - 7px); }
  .wz-template-form > footer button { flex:1; min-height:44px; }
}

/* Aquecedor */
.wz-warmer-capacity { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:var(--bg-secondary); color:var(--text-muted); font-size:.72rem; font-weight:800; }
.wz-warmer-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:14px; align-items:start; }
.wz-warmer-panel { min-width:0; padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--bg-white); }
.wz-warmer-form { display:grid; gap:13px; }
.wz-warmer-form-head, .wz-warmer-saved-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding-bottom:11px; border-bottom:1px solid var(--border); }
.wz-warmer-form-head #wzWarmerReset[hidden] { display:none; }
.wz-warmer-form-head h2, .wz-warmer-saved-head h2 { margin:3px 0 0; font-size:1rem; }
.wz-warmer-saved-head > span { display:grid; place-items:center; min-width:28px; height:28px; padding:0 7px; border-radius:999px; background:var(--bg-secondary); color:var(--text-muted); font-size:.72rem; font-weight:800; }
.wz-warmer-devices { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); align-items:end; gap:8px; }
.wz-warmer-devices label, .wz-warmer-field { display:grid; gap:5px; color:var(--text-muted); font-size:.74rem; font-weight:700; }
.wz-warmer-devices select { width:100%; min-width:0; }
.wz-warmer-between { display:grid; place-items:center; height:40px; color:var(--text-muted); }
.wz-warmer-numbers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.wz-number-stepper { display:grid; grid-template-columns:36px minmax(0,1fr) 36px; min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:9px; background:var(--bg-secondary); }
.wz-number-stepper button { display:grid; place-items:center; min-height:38px; border:0; background:transparent; color:var(--text); cursor:pointer; }
.wz-number-stepper button:hover { background:rgba(16,185,129,.1); color:var(--accent); }
.wz-number-stepper:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
#panel .wz-number-stepper input:focus-visible { outline:0; box-shadow:none; }
#panel .wz-number-stepper button:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.wz-number-stepper input { width:100%; min-width:0; min-height:38px; padding:7px 4px; border-width:0 1px; border-radius:0; border-color:var(--border); background:var(--bg-white); text-align:center; appearance:textfield; -moz-appearance:textfield; }
.wz-number-stepper input::-webkit-inner-spin-button, .wz-number-stepper input::-webkit-outer-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.wz-warmer-truth { display:flex; align-items:flex-start; gap:9px; padding:10px 11px; border:1px solid rgba(59,130,246,.28); border-radius:9px; background:rgba(59,130,246,.07); color:var(--text-muted); }
.wz-warmer-truth > i { margin-top:2px; color:#3b82f6; }
.wz-warmer-truth p { margin:0; font-size:.74rem; line-height:1.45; }
.wz-warmer-submit { display:flex; justify-content:flex-end; }
.wz-warmer-cards { display:grid; gap:8px; margin-top:12px; }
.wz-warmer-card { display:grid; gap:9px; padding:11px; border:1px solid var(--border); border-radius:10px; background:var(--bg-secondary); }
.wz-warmer-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.wz-warmer-pair { display:flex; align-items:center; min-width:0; gap:6px; font-size:.78rem; }
.wz-warmer-pair strong { max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wz-warmer-pair > i { flex:0 0 auto; color:var(--text-muted); }
.wz-warmer-status { flex:0 0 auto; padding:3px 7px; border-radius:999px; background:var(--bg-white); color:var(--text-muted); font-size:.66rem; font-weight:800; }
.wz-warmer-status.is-active { background:rgba(16,185,129,.14); color:var(--accent); }
.wz-warmer-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.wz-warmer-metrics span { display:grid; gap:1px; padding:7px; border:1px solid var(--border); border-radius:8px; background:var(--bg-white); }
.wz-warmer-metrics b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.78rem; }
.wz-warmer-metrics small { color:var(--text-muted); font-size:.64rem; }
.wz-warmer-progress { height:5px; overflow:hidden; border-radius:999px; background:var(--border); }
.wz-warmer-progress span { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.wz-warmer-card footer { display:flex; justify-content:flex-end; gap:6px; padding-top:2px; }
.wz-warmer-empty { display:grid; place-items:center; min-height:210px; padding:20px; color:var(--text-muted); text-align:center; }
.wz-warmer-empty > span { display:grid; place-items:center; width:48px; height:48px; margin-bottom:9px; border-radius:14px; background:rgba(239,68,68,.1); color:#ef4444; font-size:1.15rem; }
.wz-warmer-empty p { max-width:290px; margin:4px 0 0; font-size:.78rem; }

@media (max-width:1000px) { .wz-warmer-layout { grid-template-columns:1fr; } }
@media (max-width:980px) {
  .wz-number-stepper { grid-template-columns:44px minmax(0,1fr) 44px; }
  .wz-number-stepper button, .wz-number-stepper input { min-height:44px; }
  .wz-number-stepper input { font-size:16px; }
}
@media (max-width:760px) {
  .wz-tools-warmer .wz-tools-head { align-items:flex-start; }
  .wz-warmer-layout { gap:10px; }
  .wz-warmer-panel { padding:12px; }
  .wz-warmer-devices { grid-template-columns:1fr; }
  .wz-warmer-between { height:20px; transform:rotate(90deg); }
  .wz-warmer-numbers { grid-template-columns:1fr; }
  .wz-warmer-submit button { width:100%; min-height:44px; }
  .wz-warmer-form-head { flex-wrap:wrap; }
  .wz-warmer-form-head #wzWarmerReset { width:100%; min-height:var(--wz-touch-min,48px); }
  .wz-warmer-card header { flex-wrap:wrap; }
  .wz-warmer-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wz-warmer-card footer { display:grid; grid-template-columns:1fr 1fr 44px; }
  .wz-warmer-card footer button { min-height:44px; }
}
