/* Mesa de trabalho de um campo: buracos à esquerda, fotografia ao centro, guia e alterações à direita. */
.tag.pendente{background:#EFE4CB;color:#6E5322}
.tag.aplicada{background:#DCE7D6;color:#1F4A30}

body.modo-campo{overflow:hidden}
body.modo-campo .top .wrap{max-width:none;height:60px}
body.modo-campo .top .brand img{height:38px}
body.modo-campo main.wrap{max-width:none;padding:0}
.trabalho{--deep:#10271F;display:grid;grid-template-columns:78px minmax(0,1fr) 380px;grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:"tb tb tb" "rail palco painel";height:calc(100vh - 61px);height:calc(100dvh - 61px)}
.tb{grid-area:tb;display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--white);border-bottom:1px solid var(--line)}
.voltar{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--pine);flex:none}
.voltar:hover{border-color:var(--pine)}
.voltar svg,.ferr-b svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tb-nome{min-width:0}
.tb-nome h1{font-size:24px;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-nome p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.tb-contas{margin-left:auto;display:flex;gap:8px;flex:none}
.tb-contas .tag{margin:0}

.rail{grid-area:rail;background:var(--pine);overflow-y:auto;padding:10px 8px;display:grid;gap:6px;align-content:start;scrollbar-width:thin}
.rail button{position:relative;display:grid;justify-items:center;padding:8px 0 7px;border:0;border-radius:8px;background:transparent;color:var(--ivory);cursor:pointer;font-family:var(--sans)}
.rail button b{font:600 19px/1.1 var(--sans)}
.rail button span{font-size:11px;opacity:.7}
.rail button:hover{background:rgba(255,255,255,.08)}
.rail button[aria-current=true]{background:var(--brass);color:var(--pine)}
.rail button[aria-current=true] span{opacity:.85}
.rail button.tem::after{content:"";position:absolute;top:7px;right:10px;width:7px;height:7px;border-radius:50%;background:#F0C36B;box-shadow:0 0 0 2px var(--pine)}

.palco{grid-area:palco;position:relative;background:var(--deep);overflow:hidden}
.palco .foto{position:absolute;inset:0}
.palco .foto svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}
.palco .foto svg:active{cursor:grabbing}
.palco .foto svg.a-desenhar{cursor:crosshair}
.foto .editavel{cursor:pointer}
.foto .vertice{cursor:move}
.foto .meio{cursor:copy}
.a-carregar{color:var(--sage);text-align:center;margin-top:30vh}
.ferr,.zoom{position:absolute;top:14px;display:grid;gap:2px;padding:5px;background:rgba(16,39,31,.9);border:1px solid rgba(255,255,255,.1);border-radius:12px}
.ferr{left:14px}
.ferr[hidden]{display:none}
.zoom{right:14px}
.ferr-b{display:grid;justify-items:center;gap:3px;width:64px;padding:8px 2px 6px;border:0;border-radius:8px;background:transparent;color:var(--ivory);cursor:pointer;font:600 11px/1.1 var(--sans)}
.zoom .ferr-b{width:44px;padding:9px 0}
.zoom .ferr-b span{display:none}
.ferr-b:hover{background:rgba(255,255,255,.1)}
.ferr-b:focus-visible,.rail button:focus-visible,.camadas button:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.ferr-b.primario{background:var(--brass);color:var(--pine)}
.fim-desenho{display:grid;gap:2px;border-top:1px solid rgba(255,255,255,.12);padding-top:4px;margin-top:2px}
.fim-desenho[hidden]{display:none}
.menu-desenhar{position:absolute;top:60px;left:92px;z-index:3;width:210px;background:var(--white);border-radius:12px;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.35);display:grid;gap:2px}
.menu-desenhar[hidden]{display:none}
.menu-desenhar p{margin:2px 6px 6px;font-size:13px;color:var(--muted)}
.menu-desenhar button{display:flex;align-items:center;gap:10px;padding:8px;border:0;border-radius:6px;background:none;font:500 14px var(--sans);color:var(--ink);cursor:pointer;text-align:left}
.menu-desenhar button:hover{background:var(--ivory)}
.menu-desenhar i,.camadas i,.mudancas i{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.25);flex:none}
.camadas{position:absolute;left:14px;right:80px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px}
.camadas button{display:flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(16,39,31,.9);color:var(--ivory);font:600 12px var(--sans);cursor:pointer}
.camadas button[aria-pressed=false]{color:rgba(243,240,230,.55)}
.camadas button[aria-pressed=false] i{opacity:.35}
.dica{position:absolute;left:50%;transform:translateX(-50%);bottom:62px;margin:0;max-width:min(680px,calc(100% - 200px));padding:8px 16px;border-radius:10px;
  background:rgba(16,39,31,.92);color:var(--ivory);font-size:13px;line-height:1.45;text-align:center;pointer-events:none}
.dica:empty{display:none}
.ajuda{position:absolute;inset:0;margin:auto;width:min(460px,calc(100% - 40px));height:max-content;z-index:4;background:var(--white);border-radius:14px;padding:26px 28px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.ajuda[hidden]{display:none}
.ajuda h2{font:400 22px/1.25 var(--serif);color:var(--pine);margin:0 0 14px}
.ajuda ol{margin:0 0 20px;padding-left:20px;display:grid;gap:10px;font-size:15px}
.ajuda li::marker{color:var(--brass);font-weight:700}

.painel{grid-area:painel;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--white);border-left:1px solid var(--line);min-height:0}
.painel .abas{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--line)}
.painel .abas button{flex:1;padding:10px 6px 11px;border:0;border-bottom:2px solid transparent;background:none;font:600 14px var(--sans);color:var(--muted);cursor:pointer}
.painel .abas button[aria-selected=true]{color:var(--pine);border-bottom-color:var(--brass)}
.painel .abas .n{font-size:11px;background:var(--brass);color:var(--white);border-radius:999px;padding:1px 7px;margin-left:2px}
.painel .abas .n:empty{display:none}
.painel section{overflow-y:auto;padding:18px 20px 28px;min-height:0}
.painel section[hidden]{display:none}
.nota{font-size:13px;color:var(--muted);margin:0 0 12px}
.folha{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white);margin-bottom:14px}
.folha svg{display:block;width:100%;height:auto;max-width:none!important}
.mudancas{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}
.mudancas li{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px}
.mudancas li.vazio{display:block;border-style:dashed;color:var(--muted);line-height:1.5}
.mudancas em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}
.mudancas em.novo{color:#2E6B3E}
.mudancas em.apagar{color:var(--red)}
.campo-txt{margin-bottom:14px}
.campo-txt textarea{resize:vertical;font-size:14px}
.acoes{display:flex;gap:8px;flex-wrap:wrap}
.btn:disabled{opacity:.45;cursor:default}
.btn.ghost{background:none;border-color:transparent;color:var(--muted)}
.btn.ghost[hidden],#alt-livre[hidden],.trancado[hidden]{display:none}
.trancado p{margin:0;padding:14px 16px;border-radius:8px;background:var(--ivory);font-size:14px;line-height:1.55}
.historico{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.historico li{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:6px}
.historico li.este{border-color:var(--brass);box-shadow:inset 3px 0 0 var(--brass)}
.historico li.vazio{border-style:dashed;color:var(--muted)}
.historico .cab{display:flex;align-items:center;gap:10px;font-size:13px}
.historico .cab .data{color:var(--muted)}
.historico .cab .tag{margin-left:auto}
.historico p{margin:0;font-size:14px;line-height:1.5}
.historico .resposta{background:var(--ivory);border-radius:6px;padding:8px 10px}
.link{justify-self:start;border:0;background:none;padding:0;color:var(--pine);font:600 13px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:20;max-width:min(560px,calc(100% - 32px));padding:12px 18px;border-radius:10px;background:var(--pine);color:var(--ivory);font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.toast.erro{background:var(--red)}
.toast[hidden]{display:none}

@media (max-width:1100px){.trabalho{grid-template-columns:70px minmax(0,1fr) 320px}}
@media (max-width:900px){
  body.modo-campo{overflow:auto}
  .trabalho{height:auto;grid-template-columns:1fr;grid-template-rows:auto auto 70vh auto;grid-template-areas:"tb" "rail" "palco" "painel"}
  .rail{display:flex;overflow-x:auto;padding:6px}
  .rail button{min-width:54px}
  .tb-contas{display:none}
  .ferr-b span{display:none}
  .ferr-b{width:44px}
  .menu-desenhar{left:70px}
  .dica{max-width:calc(100% - 40px);bottom:90px}
  .painel{border-left:0;border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:no-preference){.menu-desenhar:not([hidden]),.ajuda:not([hidden]){animation:surge .16s ease-out}}
@keyframes surge{from{opacity:0;transform:translateY(4px)}}

/* cartão do buraco e escolha da vista, ao centro em cima */
.topo-palco{position:absolute;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;gap:8px;z-index:2;max-width:calc(100% - 200px)}
.cartao-b{flex:none;display:flex;align-items:center;gap:12px;padding:6px 14px 6px 8px;background:rgba(243,240,230,.96);border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.cartao-b .num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pine);color:var(--ivory);font:400 22px/1 var(--serif)}
.cartao-b .meta{display:grid;gap:3px;font-size:13px;color:var(--ink)}
.cartao-b .meta>span{font-weight:600;white-space:nowrap}
.cartao-b .tees{display:flex;flex-wrap:nowrap;gap:4px 10px;font-size:12px;color:var(--muted)}
.cartao-b .tees span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.cartao-b .tees i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.35)}
.vistas{display:flex;gap:2px;padding:4px;background:rgba(16,39,31,.9);border:1px solid rgba(255,255,255,.1);border-radius:12px;align-self:center}
.vistas button{padding:7px 12px;border:0;border-radius:8px;background:none;color:var(--ivory);font:600 12px var(--sans);cursor:pointer;white-space:nowrap}
.vistas button[aria-selected=true]{background:var(--brass);color:var(--pine)}
.vistas button:disabled{opacity:.35;cursor:default}
.palco.em-3d .foto,.palco.em-3d .ferr,.palco.em-3d .zoom,.palco.em-3d .camadas,.palco.em-3d .dica,.palco.em-3d .menu-desenhar{display:none}
.tres{position:absolute;inset:0;background:#cfdde6}
.tres[hidden]{display:none}
.tres-cena{position:absolute;inset:0}
.tres-cena canvas{display:block}
.tres-cena .a-carregar{color:var(--pine)}
.tres-ctl{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:5px;background:rgba(16,39,31,.9);border-radius:12px}
.tres-ctl:empty{display:none}
.tres-ctl button{padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--ivory);font:600 13px var(--sans);cursor:pointer}
.tres-ctl button:hover{background:rgba(255,255,255,.12)}
.tres-ctl .relevo{display:flex;align-items:center;gap:6px;color:var(--ivory);font-size:12px;padding:0 6px 0 10px;border-left:1px solid rgba(255,255,255,.15)}
.tres-ctl select{width:auto;padding:4px 6px;font-size:12px;background:var(--ivory)}

/* revisão buraco a buraco */
.painel{grid-template-rows:auto auto minmax(0,1fr)}
.revisao{padding:14px 20px 12px;border-bottom:1px solid var(--line);display:grid;gap:8px;background:#FAF8F2}
.rev-topo{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--pine)}
.rev-barra{height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.rev-barra i{display:block;height:100%;background:var(--brass);border-radius:999px;transition:width .3s}
.rev-marcar{width:100%;text-align:center}
.rev-aprovar{width:100%;text-align:center;background:var(--brass);border-color:var(--brass);color:var(--pine)}
.rev-este{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#1F4A30}
.rev-este .link{margin-left:auto;font-weight:500;color:var(--muted)}
.rev-nota{margin:0;font-size:12px;color:var(--muted);line-height:1.45}
.rev-aprovado{margin:0;padding:10px 12px;border-radius:8px;background:#DCE7D6;color:#1F4A30;font-size:14px;font-weight:600}
.rail button.certo::before{content:"✓";position:absolute;top:4px;left:8px;font-size:11px;font-weight:700;color:#A5D6A7}
.rail button.certo[aria-current=true]::before{color:var(--pine)}
@media (max-width:1250px){.cartao-b .tees{display:none}}
@media (max-width:900px){.topo-palco{max-width:calc(100% - 80px);flex-wrap:wrap;justify-content:center}}
