/* Fotos do item, pontos numerados, resumo e campos */
  /* ---------- fotos do item ---------- */
  .photos-row{display:flex; flex-wrap:wrap; gap:8px; padding:0 2px 8px;}
  .photo-thumb{position:relative; width:64px; height:64px; border-radius:8px; overflow:hidden; border:1px solid var(--line); flex-shrink:0;}
  .photo-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
  .photo-thumb .rm{
    position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%;
    background:rgba(0,0,0,.65); color:#fff; border:none; font-size:11px; cursor:pointer; line-height:1;
  }
  .photo-thumb .mark{
    position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
    background:rgba(0,0,0,.65); color:#fff; border:none; font-size:10px; cursor:pointer; line-height:1;
    display:flex; align-items:center; justify-content:center;
  }
  .photo-add-label{
    width:64px; height:64px; border-radius:8px; border:1.5px dashed var(--gold); flex-shrink:0;
    display:flex; align-items:center; justify-content:center; color:var(--gold-dark); font-size:20px;
    cursor:pointer; background:#fff;
  }
  .photo-add-label input{display:none;}
  .photo-hint{font-size:10.5px; color:var(--muted); padding:0 2px 4px;}

  /* barra compacta: botão "Inserir foto" + contador — as miniaturas só
     aparecem quando o contador é clicado (evita crescer a lista toda vez) */
  .photos-bar{display:flex; align-items:center; gap:10px; padding:2px 2px 8px; flex-wrap:wrap;}
  .photo-insert-btn{
    display:inline-flex; align-items:center; gap:6px; border:1.5px dashed var(--gold); border-radius:8px;
    padding:6px 12px; color:var(--gold-dark); font-size:12.5px; font-family:var(--font-ui);
    cursor:pointer; background:#fff;
  }
  .photo-insert-btn input{display:none;}
  .photo-count-toggle{
    border:none; background:transparent; color:var(--muted); font-size:12px; font-family:var(--font-ui);
    cursor:pointer; padding:4px 2px; text-decoration:underline;
  }

  .btn-onDark{border-color:rgba(255,255,255,.25); color:#fff;}
  .btn-onDark:hover{background:rgba(255,255,255,.08);}

  .vistorias-wrap{position:relative;}
  .vistorias-panel{
    display:none; position:absolute; top:calc(100% + 8px); right:0; width:320px; max-height:420px;
    overflow-y:auto; background:#fff; border:1px solid var(--line); border-radius:12px;
    box-shadow:0 12px 30px rgba(0,0,0,.18); z-index:60; padding:10px;
  }
  .vistorias-panel.show{display:block;}
  .vp-head{font-family:var(--font-ui); font-weight:700; font-size:12px; text-transform:uppercase;
    letter-spacing:.05em; color:var(--muted); padding:4px 8px 8px;}
  .vp-empty{color:var(--muted); font-size:12.5px; padding:14px 8px; text-align:center;}
  .vp-footer{border-top:1px solid var(--line); margin-top:8px; padding:10px 8px 2px;}
  .vp-item{
    display:flex; align-items:center; gap:8px; padding:9px 8px; border-radius:8px; cursor:pointer;
  }
  .vp-item:hover{background:var(--paper);}
  .vp-item.current{background:var(--gold-light);}
  .vp-item .vp-info{flex:1; min-width:0;}
  .vp-item .vp-name{font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .vp-item .vp-sub{font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .vp-item .vp-del{    border:none; background:transparent; color:var(--bad); font-size:13px; cursor:pointer; padding:4px;
    border-radius:6px; flex-shrink:0;
  }
  .vp-item .vp-del:hover{background:var(--bad-bg);}
  .vp-item .vp-dl{
    border:none; background:transparent; color:var(--gold-dark); font-size:13px; cursor:pointer; padding:4px;
    border-radius:6px; flex-shrink:0;
  }
  .vp-item .vp-dl:hover{background:var(--gold-light);}

  .savebar{
    max-width:980px; margin:6px auto 0; padding:0 20px; font-size:11px; color:var(--muted);
    text-align:right; opacity:0; transition:opacity .3s ease; height:14px;
  }
  .savebar.show{opacity:1;}

  @media (max-width:640px){
    .topbar{flex-direction:column; align-items:flex-start;}
    .stat-pill{flex-wrap:wrap;}
    .room-head .roomname{max-width:150px;}
    .vistorias-panel{right:auto; left:0; width:280px;}
  }

  /* ---------- pontos numerados nas fotos (descrição de cada número) ---------- */
  .obs-pontos{margin:2px 0 12px; padding-bottom:10px; border-bottom:1px dashed rgba(0,0,0,.12);}
  .obs-pontos-title{
    font-family:var(--font-ui); font-size:10px; font-weight:700; text-transform:uppercase;
    letter-spacing:.1em; color:var(--bad); margin:0 0 6px;
  }
  .obs-pontos-hint{font-size:11px; color:var(--muted); margin:0 0 8px;}
  .ponto-row{display:flex; align-items:flex-start; gap:8px; padding:3px 0;}
  .ponto-num{
    width:24px; height:24px; flex-shrink:0; border-radius:50%; background:#e02424; color:#fff;
    border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.28); font-family:var(--font-ui);
    font-weight:700; font-size:11.5px; display:flex; align-items:center; justify-content:center;
    padding:0; line-height:1; margin-top:3px;
  }
  button.ponto-num{cursor:pointer;}
  button.ponto-num:hover{transform:scale(1.08);}
  .ponto-text{
    flex:1; min-width:0; min-height:32px; resize:none; overflow:hidden; border:1px solid rgba(0,0,0,.18);
    background:#fff; border-radius:6px; padding:6px 9px; font-family:var(--font-ui); font-size:12.5px;
    color:#3a1815; outline:none; line-height:1.45;
  }
  .ponto-text:focus{border-color:var(--gold); box-shadow:0 0 0 2px var(--gold-light);}
  .ponto-meta{font-size:10.5px; color:var(--muted); white-space:nowrap; padding-top:9px;}
  .ponto-meta.orphan{color:#a9615a;}
  .ponto-rm{border:none; background:transparent; color:#c98a84; font-size:12px; cursor:pointer; padding:7px 4px 0;}
  .ponto-rm:hover{color:var(--bad);}

  /* lista de pontos dentro do modal de marcação */
  .annotate-pontos{margin-top:12px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:var(--paper);}
  .annotate-pontos-title{
    font-family:var(--font-ui); font-size:11px; font-weight:700; text-transform:uppercase;
    letter-spacing:.08em; color:var(--gold-dark); margin-bottom:6px;
  }
  .annotate-pontos-empty{font-size:12px; color:var(--muted); line-height:1.5;}
  .annotate-pontos .ponto-row{align-items:center;}
  .annotate-pontos .ponto-num{margin-top:0;}
  .annotate-pontos input.ponto-text{height:32px; min-height:0;}
  .annotate-pontos .ponto-rm{padding:0 4px;}

  /* Localização / Planta — pré-visualização maior, sem cortar a imagem */
  .desc-img-preview.big{height:230px;}
  .desc-img-preview.big img{object-fit:contain;}

  /* Resumo e pontos de atenção */
  .resumo-mode{display:flex; flex-direction:column; gap:8px; margin:0 0 16px;}
  .resumo-mode-opt{
    display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border:1px solid var(--line);
    border-radius:10px; cursor:pointer; font-size:13px; background:#fff; line-height:1.4;
  }
  .resumo-mode-opt:has(input:checked){border-color:var(--gold); background:var(--gold-light);}
  .resumo-mode-opt input{margin-top:3px; accent-color:var(--gold);}
  .rich-preview{
    border:1px solid var(--line); border-radius:10px; background:#fff; padding:16px 20px;
    font-size:13px; line-height:1.55; color:var(--ink);
  }
  .rich-preview h4{
    font-family:var(--font-ui); font-size:12px; text-transform:uppercase; letter-spacing:.06em;
    color:var(--gold-dark); margin:16px 0 6px; padding-bottom:4px; border-bottom:1px solid var(--gold-light);
  }
  .rich-preview h4:first-child{margin-top:0;}
  .rich-preview p{margin:0 0 8px;}
  .rich-preview ul{margin:4px 0 8px; padding-left:20px;}
  .rich-preview li{margin:3px 0;}
  .resumo-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;}
  .obs-editor ul,.obs-editor ol{margin:4px 0; padding-left:22px;}

  /* campos de texto do Orçamento: mesmo visual dos demais campos da ficha */
  .hero .oc-add-label{
    display:block; font-family:var(--font-ui); font-size:11px; font-weight:600; text-transform:uppercase;
    letter-spacing:.06em; color:var(--muted); margin:0 0 6px;
  }
  .field textarea.oc-autogrow, .hero .oc-add-field > textarea.oc-autogrow{
    padding:9px 11px; border-radius:8px; font-size:13.5px; color:var(--ink); background:#fff;
  }
  .field textarea.oc-autogrow:focus, .hero .oc-add-field > textarea.oc-autogrow:focus{outline:2px solid var(--gold-light); border-color:var(--gold);}

  .oc-card .oc-ck-toggle{
    border:none; background:transparent; color:var(--gold-dark); cursor:pointer; font-size:12px;
    font-family:var(--font-ui); text-decoration:underline; padding:2px 0;
  }

  /* fotos do item: tipo (geral / detalhe) e ordem */
  .photo-tools{display:flex; flex-direction:column; align-items:center; gap:2px; margin-top:3px;}
  .photo-tools .mv{display:flex; gap:4px;}
  .photo-tools .mv button{
    border:1px solid var(--line); background:#fff; color:var(--muted); border-radius:5px;
    font-size:9px; width:26px; height:16px; line-height:1; cursor:pointer; padding:0;
  }
  .photo-tools .mv button:disabled{opacity:.35; cursor:default;}
  .photo-role{
    width:64px; font-size:9.5px; border:1px solid var(--line); border-radius:5px; background:#fff;
    color:var(--muted); padding:1px 0; font-family:var(--font-ui);
  }
  .photo-role.geral{background:#eaf1fe; color:#2a4fa8; border-color:#b9cdf3;}
  .photo-role.detalhe{background:#fdf1e3; color:#a45a10; border-color:#efcf9d;}
  #annotatePinNum{font-size:12px; padding:3px 6px; border:1px solid var(--line); border-radius:6px; max-width:190px;}
