/* Esboço e medidas no Novo orçamento — SÓ desktop ≥1280 px. O móvel não usa este ficheiro de forma visível. */
@media (min-width: 1280px) {
  html[data-layout="desktop"] .orc-esb {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-rows: auto auto minmax(320px, 1fr) auto;
    gap: 24px;
    align-items: stretch;
    max-width: 1600px;
  }
  html[data-layout="desktop"] .orc-esb-cab { grid-column: 1 / -1; }
  html[data-layout="desktop"] .orc-esb-selo {
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(232, 199, 106, .16);
    color: var(--c-texto, #E6EFEC);
    font: 600 13px/1.4 Barlow, system-ui, sans-serif;
  }
  html[data-layout="desktop"] .orc-esb-esq,
  html[data-layout="desktop"] .orc-esb-dir {
    background: var(--c-superficie, #12302B);
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(0,0,0,.35);
    padding: 16px 20px 20px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  html[data-layout="desktop"] .orc-esb-dir { min-height: 480px; }
  html[data-layout="desktop"] .orc-esb h3 {
    margin: 0;
    font: 600 22px/30px Barlow, system-ui, sans-serif;
  }
  html[data-layout="desktop"] .orc-esb .fld span { font: 600 12px/16px Barlow, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
  html[data-layout="desktop"] .orc-esb-up {
    display: grid;
    gap: 8px;
  }
  html[data-layout="desktop"] .orc-esb-up input[type=file] { max-width: 100%; }
  html[data-layout="desktop"] .orc-esb-prev {
    max-height: 120px;
    object-fit: contain;
    border-radius: 8px;
    background: rgba(0,0,0,.2);
  }
  html[data-layout="desktop"] .orc-esb-planta {
    position: relative;
    flex: 1;
    min-height: 240px;
    background: rgba(10,18,16,.45);
    border-radius: 16px;
    overflow: hidden;
  }
  html[data-layout="desktop"] .orc-esb-planta svg { width: 100%; height: 100%; display: block; touch-action: none; }
  html[data-layout="desktop"] .orc-esb-planta .orc-e-parede { fill: none; stroke: #5BA898; stroke-width: 6; }
  html[data-layout="desktop"] .orc-esb-planta .orc-e-parede.on { stroke: #E8C76A; }
  html[data-layout="desktop"] .orc-esb-planta .orc-e-vao { fill: #0A1210; stroke: #E6EFEC; stroke-width: 2; }
  html[data-layout="desktop"] .orc-esb-planta .orc-e-pt {
    fill: #E6EFEC; stroke: #5BA898; stroke-width: 2; cursor: grab;
  }
  html[data-layout="desktop"] .orc-esb-planta .orc-e-cota {
    fill: #E6EFEC; font: 600 13px Barlow, sans-serif; text-anchor: middle;
  }
  html[data-layout="desktop"] .orc-esb-paredes { display: grid; gap: 10px; }
  html[data-layout="desktop"] .orc-esb-p {
    border: 1px solid rgba(230,239,236,.08);
    border-radius: 12px;
    padding: 10px 12px;
  }
  html[data-layout="desktop"] .orc-esb-p.on { border-color: #5BA898; }
  /* teto falso: comprimento × largura (mesmo cartão das paredes, sem cores novas) */
  html[data-layout="desktop"] .orc-esb-teto {
    border: 1px solid #5BA898;
    border-radius: 12px;
    padding: 10px 12px;
    display: grid;
    gap: 8px;
  }
  html[data-layout="desktop"] .orc-esb-teto .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  html[data-layout="desktop"] .orc-esb-p .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  html[data-layout="desktop"] .orc-esb-vaos { display: grid; gap: 8px; margin-top: 8px; }
  html[data-layout="desktop"] .orc-esb-vao {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr auto;
    gap: 6px;
    align-items: end;
  }
  html[data-layout="desktop"] .orc-esb-tabs {
    display: flex;
    gap: 8px;
  }
  html[data-layout="desktop"] .orc-esb-tabs button {
    appearance: none;
    font: 600 14px/20px Barlow, sans-serif;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(230,239,236,.16);
    background: transparent;
    color: inherit;
    cursor: pointer;
  }
  html[data-layout="desktop"] .orc-esb-tabs button[aria-selected="true"] {
    background: #5BA898;
    color: #0f2420;
    border-color: transparent;
  }
  html[data-layout="desktop"] .orc-esb-palco {
    position: relative;
    flex: 1;
    min-height: 360px;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(10,18,16,.45);
  }
  html[data-layout="desktop"] .orc-esb-palco canvas { display: block; width: 100%; height: 100%; }
  html[data-layout="desktop"] .orc-esb-lista { grid-column: 1 / -1; }
  html[data-layout="desktop"] .orc-esb-lista table { width: 100%; border-collapse: collapse; }
  html[data-layout="desktop"] .orc-esb-lista th,
  html[data-layout="desktop"] .orc-esb-lista td { padding: 8px 10px; text-align: left; border-bottom: 1px solid rgba(230,239,236,.08); }
  html[data-layout="desktop"] .orc-esb-lista .r { text-align: right; }
  html[data-layout="desktop"] .orc-esb-lista .aviso { color: #9DB3AD; }
  html[data-layout="desktop"] .orc-esb-acts {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  html[data-layout="desktop"] .orc-esb-erro { color: #E8C76A; margin: 0; }
}

/* 12/11 (v2): o 3D não estica até à altura da coluna das medidas — fica fixo ao lado, à altura do ecrã */
@media (min-width: 1280px) {
  html[data-layout="desktop"] .orc-esb { align-items: start; grid-template-rows: auto auto auto auto; }
  html[data-layout="desktop"] .orc-esb-dir {
    height: clamp(400px, calc(100dvh - var(--d-top-h, 64px) - 32px), 820px);
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  html[data-layout="desktop"] .orc-esb-palco { min-height: 0; }
  /* coluna da esquerda: medidas (2 linhas); direita: 3D e, por baixo, a lista de materiais */
  html[data-layout="desktop"] .orc-esb-esq { grid-column: 1; grid-row: 2 / span 2; }
  html[data-layout="desktop"] .orc-esb-dir { grid-column: 2; grid-row: 2; }
  html[data-layout="desktop"] .orc-esb-lista { grid-column: 2; grid-row: 3; }
  html[data-layout="desktop"] .orc-esb-acts { grid-row: 4; }
  html[data-layout="desktop"] .orc-esb-pv { display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 999px; background: #E8B04B; color: #1d2a26; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
}
/* v1.1 esboco_3d_automatico — aviso de geração automática (só desktop) */
@media (min-width: 1280px) {
  html[data-layout="desktop"] .orc-esb-auto { margin: 6px 0 8px; font-size: 13px; color: var(--muted, #8aa29c); display: flex; align-items: center; gap: 8px; }
  html[data-layout="desktop"] .orc-esb-auto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #5BA898; flex: none; }
  html[data-layout="desktop"] .orc-esb-auto.pisca::before { animation: orc-esb-pisca .9s ease-out; }
  @keyframes orc-esb-pisca { from { box-shadow: 0 0 0 0 rgba(91,168,152,.7); } to { box-shadow: 0 0 0 10px rgba(91,168,152,0); } }
}
@media (min-width: 1280px) and (prefers-reduced-motion: reduce) { html[data-layout="desktop"] .orc-esb-auto.pisca::before { animation: none; } }

html[data-layout="desktop"] [data-aviso-la]:not(:empty) {
  color: #E8C76A;
  font-size: 13px;
}
