/* Rev. 2.0 — Etapa 3: operação técnica (projetos, serviços, link externo, relatórios e verificação).
   Carregada antes de compact.css, que continua sendo a última folha. */
.text-danger { color: var(--coral) !important; }
.project-company-line { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; padding: 1px 0; }
.project-mini { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--line-2); }
.project-mini:last-child { border-bottom: 0; }
.project-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 2fr) !important; }
.project-grid .contact-notes { grid-column: auto !important; }
.phase-form select { min-width: 170px; }

/* Links de abertura externa */
.extlink { border: 1px solid var(--line-2); border-radius: 10px; padding: 9px 11px; margin-bottom: 8px; }
.extlink.off { opacity: .65; }
.extlink-url { width: 100%; margin-top: 6px; font-size: 11.5px !important; }

/* Identidade */
.branding-row { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.branding-preview { width: 180px; height: 90px; border: 1px dashed var(--line); border-radius: 10px; display: grid; place-items: center; background: #fff; padding: 8px; }
.branding-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Páginas públicas: abertura por link e verificação */
.public-card { max-width: 720px; margin: 0 auto; }
.public-title { font-size: 22px; margin: 0 0 6px; }
.public-logo { height: 34px; max-width: 120px; object-fit: contain; background: #fff; border-radius: 6px; padding: 2px 4px; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.public-form .form-grid { gap: 0 14px; }
.verify-result { border: 1px solid color-mix(in srgb, var(--leaf) 35%, var(--line)); background: var(--leaf-100); border-radius: 12px; padding: 14px; }
.verify-head { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; color: var(--leaf); }
.verify-head b { display: block; font-size: 16px; color: var(--ink); }
.verify-head small { color: var(--ink-3); }
.verify-result .kv { background: var(--panel); border-radius: 8px; padding: 10px; }
.verify-file { margin-top: 10px; padding: 9px 11px; border-radius: 8px; display: flex; gap: 8px; align-items: flex-start; font-size: 13px; }
.verify-file.match { background: var(--panel); color: var(--leaf); }
.verify-file.mismatch { background: var(--coral-100); color: var(--coral); }
@media (max-width: 760px) { .project-grid { grid-template-columns: minmax(0, 1fr) !important; } }
