.admin-body { min-height: 100vh; background: #f4f5f3; }
.admin-shell { min-height: 100vh; }
.admin-sidebar {
    position: fixed; z-index: 1100; inset: 0 auto 0 0; display: flex; width: min(300px, 88vw);
    flex-direction: column; padding: 1.1rem; color: #e8eee9; background: #293a33;
    transform: translateX(-102%); transition: transform .25s;
}
.admin-sidebar.open { transform: translateX(0); box-shadow: 20px 0 60px rgba(0,0,0,.25); }
.admin-brand { display: flex; align-items: center; gap: .8rem; padding: .8rem; color: #fff; text-decoration: none; }
.admin-brand small { color: #aebdb5; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-sidebar nav { display: grid; gap: .18rem; margin-top: 1rem; overflow-y: auto; }
.admin-sidebar nav a {
    padding: .66rem .8rem; border-radius: 9px; color: #cdd9d2; font-size: .87rem;
    font-weight: 650; text-decoration: none;
}
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { color: #fff; background: rgba(255,255,255,.10); }
.admin-sidebar nav a.active { box-shadow: inset 3px 0 #df9d78; }
.sidebar-bottom { display: grid; gap: .5rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); }
.sidebar-bottom a, .sidebar-bottom button { display: block; width: 100%; padding: .55rem .8rem; border: 0; color: #cdd9d2; background: transparent; font-size: .82rem; text-align: left; text-decoration: none; cursor: pointer; }
.admin-main { min-width: 0; }
.admin-topbar {
    position: sticky; z-index: 900; top: 0; display: flex; min-height: 66px; align-items: center;
    justify-content: space-between; padding: .7rem 1rem; border-bottom: 1px solid #dfe4e1;
    background: rgba(255,255,255,.9); backdrop-filter: blur(12px);
}
.admin-menu-toggle { min-height: 42px; padding: .5rem .7rem; border: 1px solid #d6ded9; border-radius: 9px; color: #34463e; background: #fff; cursor: pointer; }
.admin-topbar > div { display: grid; text-align: right; }
.admin-topbar strong { font-size: .82rem; }
.admin-topbar span { color: #7b8781; font-size: .69rem; }
.admin-content { width: min(1440px, 100%); margin: auto; padding: 1.25rem 1rem 4rem; }
.admin-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.admin-page-head h1 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 5vw, 2.65rem); font-weight: 400; line-height: 1.1; }
.admin-page-head p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .88rem; }
.metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.metric-card { display: block; min-width: 0; padding: 1rem; border: 1px solid #e0e5e2; border-radius: 15px; color: var(--ink); background: #fff; box-shadow: 0 5px 18px rgba(47,63,56,.04); text-decoration: none; }
.metric-card:hover { border-color: #aabbb2; }
.metric-label { display: block; min-height: 2.4em; color: var(--ink-soft); font-size: .72rem; font-weight: 720; line-height: 1.25; }
.metric-value { display: block; margin-top: .35rem; font-family: var(--serif); font-size: 1.75rem; line-height: 1; }
.metric-card.accent { color: #fff; border-color: var(--sage-dark); background: var(--sage-dark); }
.metric-card.accent .metric-label { color: #dce8e1; }
.admin-grid { display: grid; gap: 1rem; margin-top: 1.2rem; }
.admin-panel { min-width: 0; padding: 1rem; border: 1px solid #e0e5e2; border-radius: 16px; background: #fff; }
.admin-panel h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #e0e5e2; border-radius: 14px; background: #fff; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.admin-table th, .admin-table td { padding: .75rem .8rem; border-bottom: 1px solid #e7ebe8; text-align: left; vertical-align: top; }
.admin-table th { color: #66746d; background: #f7f8f7; font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-table a { font-weight: 720; }
.admin-table .actions { display: flex; flex-wrap: wrap; gap: .35rem; min-width: 170px; }
.status {
    display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .52rem;
    border-radius: 999px; color: #44564d; background: #e7eeea; font-size: .66rem; font-weight: 800; white-space: nowrap;
}
.status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-confirmado, .status-confirmado-integralmente, .status-aprovado, .status-pagamento-confirmado { color: #286044; background: #e0f2e7; }
.status-nao-comparecera, .status-recusado-integralmente, .status-rejeitado, .status-pagamento-recusado { color: #8b3f3f; background: #f7e3e3; }
.status-pendente, .status-parcialmente-respondido, .status-pagamento-pendente { color: #855f2b; background: #f7edd8; }
.status-respondido-misto { color: #5d4a84; background: #ece7f6; }
.status-nao-enviado, .status-arquivado, .status-oculto, .status-acesso-revogado { color: #646d68; background: #eaedeb; }
.filter-panel { margin-bottom: 1rem; padding: .9rem; border: 1px solid #e0e5e2; border-radius: 14px; background: #fff; }
.filter-grid { display: grid; gap: .7rem; }
.filter-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; }
.list-navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; margin: 0 0 1rem; padding: .7rem .9rem; border: 1px solid #e0e5e2; border-radius: 12px; background: #f8faf8; }
.list-navigation p { margin: 0; }
.per-page-form { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.per-page-form label { font-size: .76rem; font-weight: 800; }
.per-page-form select { width: auto; min-width: 76px; }
.pagination-navigation { margin-top: 1rem; }
.invitation-modality-options { display: grid; gap: .7rem; margin-bottom: 1rem; }
.choice-card { position: relative; display: flex; min-height: 64px; align-items: flex-start; gap: .7rem; padding: .85rem; border: 1px solid #cdd5d0; border-radius: 12px; background: #fff; cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--sage-dark); background: #edf5f0; box-shadow: 0 0 0 2px rgba(72, 99, 87, .12); }
.choice-card input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--sage-dark); }
.choice-card span { display: grid; gap: .18rem; min-width: 0; }
.choice-card small { color: var(--ink-soft); line-height: 1.45; }
.admin-form { display: grid; gap: 1rem; }
.admin-form fieldset { margin: 0; padding: 1rem; border: 1px solid #dfe5e1; border-radius: 14px; }
.admin-form legend { padding: 0 .5rem; font-weight: 800; }
.form-span-full { grid-column: 1 / -1; }
.notice { margin-top: .8rem; padding: .75rem .9rem; border-radius: 10px; font-size: .8rem; }
.notice-warning { border: 1px solid #ead3a7; color: #765321; background: #fff8e9; }
.linking-fieldset { min-width: 0; }
.linking-filters { display: grid; gap: .8rem; margin: 1rem 0; padding: .9rem; border: 1px solid #e2e7e4; border-radius: 12px; background: #f8faf8; }
.linking-filter-grid { margin: 0; }
.linking-columns { display: grid; gap: 1rem; align-items: stretch; }
.linking-panel { display: flex; min-width: 0; height: clamp(520px, 68vh, 720px); flex-direction: column; padding: .9rem; border: 1px solid #dfe5e1; border-radius: 13px; background: #fff; }
.linking-panel-selected { background: #f8faf8; }
.linking-panel-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .7rem; margin-bottom: .8rem; }
.linking-panel-head h2 { margin: 0; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.linking-panel-head p { margin: .25rem 0 0; }
.linking-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.guest-result-list, .selected-guest-list { display: grid; min-height: 0; flex: 1 1 auto; align-content: start; gap: .6rem; overflow-y: auto; padding-right: .2rem; }
.guest-result-card, .selected-guest-card { display: grid; gap: .7rem; align-items: start; padding: .8rem; border: 1px solid #e1e6e3; border-radius: 11px; background: #fff; }
.guest-result-card:has([data-group-member]:checked) { border-color: #9bb5a7; box-shadow: inset 3px 0 #6f9180; }
.guest-result-select { display: flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; cursor: pointer; }
.guest-result-select input, .responsible-choice input { width: 18px; height: 18px; accent-color: var(--sage-dark); }
.guest-result-main { min-width: 0; }
.guest-result-title { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.guest-result-title strong { min-width: 0; overflow-wrap: break-word; word-break: normal; hyphens: none; }
.guest-result-meta { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }
.guest-result-meta span { padding: .22rem .42rem; border-radius: 999px; color: #59665f; background: #edf1ef; font-size: .66rem; }
.transfer-note { margin: .45rem 0 0; padding: .5rem .6rem; border-left: 3px solid #d4aa6c; color: #725329; background: #fff8e9; font-size: .72rem; }
.selected-guest-card { background: #fff; }
.selected-guest-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .55rem; }
.responsible-choice { display: inline-flex; align-items: center; gap: .3rem; font-size: .76rem; font-weight: 700; }
.responsible-choice:has(input:disabled) { color: #7c8681; font-weight: 500; }
.selected-count { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.linking-panel .empty-state { margin: .5rem 0 0; padding: 1.4rem .8rem; font-size: .8rem; }
.linking-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #e3e8e5; font-size: .76rem; font-weight: 700; }
.linking-pagination button:disabled { opacity: .5; cursor: not-allowed; }
.guest-primary-grid > .field { min-width: 0; }
.guest-primary-grid input { width: 100%; min-height: 48px; }
.linking-panel [type="checkbox"]:focus-visible, .linking-panel [type="radio"]:focus-visible { outline: 3px solid rgba(72, 99, 87, .32); outline-offset: 3px; }
.linking-panel[aria-busy="true"] .guest-result-list { opacity: .72; }
.selected-guest-content { min-width: 0; }
@media (max-width: 819px) {
    .linking-panel { height: 540px; }
}

.member-editor { position: relative; display: grid; gap: .8rem; margin-top: .8rem; padding: 1rem; border: 1px solid #e0e5e2; border-radius: 13px; background: #fafbfa; }
.member-editor-header { display: flex; justify-content: space-between; gap: .5rem; }
.member-editor-header strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.icon-button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #d6ddd9; border-radius: 8px; color: var(--danger); background: #fff; cursor: pointer; }
.detail-grid { display: grid; gap: .7rem; }
.detail-item { padding: .9rem; border-radius: 12px; background: #f5f7f5; }
.detail-item dt { color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.detail-item dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.access-box { padding: 1rem; border: 1px solid #cbd8d1; border-radius: 14px; background: #eef5f1; }
.access-link { display: flex; flex-wrap: wrap; gap: .5rem; }
.access-link input { flex: 1 1 300px; min-width: 0; }
.action-cluster { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.danger-zone { margin-top: 2rem; padding: 1rem; border: 1px solid #edcaca; border-radius: 14px; background: #fff7f7; }
.history-list { display: grid; gap: .65rem; padding: 0; list-style: none; }
.history-list li { padding: .75rem; border-left: 3px solid var(--sage); background: #f7f9f7; font-size: .82rem; }
.history-list time { display: block; color: var(--ink-soft); font-size: .7rem; }
.json-preview { max-width: 440px; max-height: 100px; overflow: auto; padding: .5rem; border-radius: 7px; background: #f1f3f2; font-family: ui-monospace, monospace; font-size: .68rem; white-space: pre-wrap; }
.content-field { padding: 1rem; border: 1px solid #e0e5e2; border-radius: 13px; background: #fff; }
.content-field + .content-field { margin-top: .7rem; }
.content-field h3 { margin: 0 0 .7rem; font-size: .9rem; }
.qr-preview { max-width: 220px; padding: .5rem; border-radius: 12px; background: #fff; }
.auth-page { display: grid; min-height: 100vh; place-items: center; padding: 1rem; background: linear-gradient(145deg, #f2e5d8, #e1ebe5); }
.auth-card { width: min(460px, 100%); padding: clamp(1.4rem, 5vw, 2.4rem); border: 1px solid rgba(255,255,255,.65); border-radius: 26px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.auth-logo { display: block; margin-bottom: 1.5rem; color: var(--ink); text-align: center; text-decoration: none; }
.auth-logo .brand-mark { display: block; font-size: 2.5rem; }
.auth-card h1 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; text-align: center; }
.auth-card > p { margin: .5rem 0 1.5rem; color: var(--ink-soft); font-size: .88rem; text-align: center; }
.inline-form { display: inline; }

@media (min-width: 650px) {
    .admin-content { padding: 1.6rem 1.5rem 5rem; }
    .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-editor { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-editor-header { grid-column: 1 / -1; }
    .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .invitation-modality-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guest-result-card { grid-template-columns: auto minmax(0, 1fr) auto; }
    .selected-guest-card { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (min-width: 820px) {
    .linking-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1040px) {
    .admin-sidebar { width: 250px; transform: none; }
    .admin-main { margin-left: 250px; }
    .admin-menu-toggle { display: none; }
    .admin-topbar { justify-content: flex-end; padding-inline: 2rem; }
    .metric-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .admin-grid.two { grid-template-columns: 1fr 1fr; }
    .filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .linking-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .linking-filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


/* Bloco D1 — dashboard, filtros e auditoria */
.dashboard-section{background:#fff;border:1px solid var(--line,#ded8cf);border-radius:1rem;padding:1rem;margin-bottom:1rem}.dashboard-section h2{margin:0}.dashboard-section>p{margin:.35rem 0 1rem;color:var(--muted,#5f665f)}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.dashboard-metric{display:flex;min-width:0;min-height:112px;flex-direction:column;justify-content:center;gap:.25rem;padding:1rem;border:1px solid var(--line,#ded8cf);border-radius:.8rem;background:#fff;color:inherit;text-decoration:none}.dashboard-metric[href]:hover,.dashboard-metric[href]:focus-visible{border-color:var(--primary,#49675b);box-shadow:0 0 0 3px rgba(73,103,91,.15);transform:translateY(-1px)}.dashboard-metric.is-accent{background:#f1f6f3}.dashboard-metric__label{font-size:.86rem;overflow-wrap:anywhere}.dashboard-metric__value{font-size:1.65rem;line-height:1.1;overflow-wrap:anywhere}.dashboard-metric small{color:var(--muted,#5f665f)}.dashboard-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.progress-head{display:flex;justify-content:space-between;gap:1rem}.dashboard-progress-grid progress{width:100%;height:1rem;accent-color:var(--primary,#49675b)}.dashboard-section--simulated{border-style:dashed}.dashboard-support{margin-top:1rem}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.75rem 0;padding:.75rem;background:#f5f2ec;border-radius:.65rem}.active-filters span{padding:.2rem .5rem;border-radius:999px;background:#fff;border:1px solid var(--line,#ded8cf)}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.list-toolbar form{display:flex;gap:.5rem;align-items:center}.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-diff{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.5rem}.audit-diff pre{max-width:420px}.guest-field-pair{display:flex;flex-direction:column}.guest-field-pair input,.guest-field-pair select{min-height:44px}.guest-field-pair .help{min-height:1.2em}.guest-field-kinship-other[hidden]{display:none!important}
@media(max-width:900px){.dashboard-progress-grid,.audit-diff{grid-template-columns:1fr}.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dashboard-metrics,.audit-filter-grid{grid-template-columns:1fr}.dashboard-metric{min-height:92px}.audit-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block;width:100%}.audit-table tr{border-bottom:1px solid var(--line,#ded8cf);padding:.5rem 0}.audit-table td{display:grid;grid-template-columns:minmax(100px,35%) 1fr;gap:.5rem;border:0}.audit-table td::before{content:attr(data-label);font-weight:700}}

/* Revisão v1.6 — Visão Geral simétrica e relatórios */
:root{--dashboard-highlight:#36594a;--dashboard-confirmed:#dcece3;--dashboard-declined:#f3d8cf;--dashboard-pending:#f5e8ad;--dashboard-groom:#486357;--dashboard-bride:#b87a6a;--dashboard-both:#d0aa69}
.dashboard-row{display:grid;gap:.75rem;margin-top:.75rem}.dashboard-row--one{grid-template-columns:minmax(0,1fr)}.dashboard-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-row--four{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-row--six{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-row .dashboard-metric{height:100%;min-height:118px}.dashboard-metric.is-highlight{background:var(--dashboard-highlight);border-color:var(--dashboard-highlight);color:#fff}.dashboard-metric.is-highlight small{color:#e6f0eb}.dashboard-metric.is-highlight[href]:hover,.dashboard-metric.is-highlight[href]:focus-visible{border-color:#fff;box-shadow:0 0 0 3px rgba(54,89,74,.28)}.dashboard-metric.is-confirmed{background:var(--dashboard-confirmed);border-color:#a9c7b5}.dashboard-metric.is-declined{background:var(--dashboard-declined);border-color:#d7a797}.dashboard-metric.is-pending{background:var(--dashboard-pending);border-color:#d5bd58}.relationship-panel{margin-top:1rem;padding:1rem;border:1px solid var(--line,#ded8cf);border-radius:.9rem;background:#fafbf9}.relationship-panel__head{display:flex;align-items:stretch;justify-content:space-between;gap:1rem}.relationship-panel__head h3{margin:0}.relationship-panel__head p{margin:.25rem 0 0;color:var(--ink-soft)}.relationship-linked{display:flex;min-width:220px;flex-direction:column;justify-content:center;padding:.8rem 1rem;border-radius:.75rem;background:var(--dashboard-highlight);color:#fff;text-decoration:none}.relationship-linked strong{font-size:1.65rem}.relationship-linked:focus-visible{outline:3px solid rgba(54,89,74,.3);outline-offset:3px}.relationship-bar{display:flex;height:34px;margin-top:1rem;overflow:hidden;border-radius:999px;background:#e3e7e4}.relationship-bar--empty{align-items:center;justify-content:center;color:var(--ink-soft);font-size:.8rem}.relationship-segment{display:block;min-width:0}.relationship-segment--groom{background:var(--dashboard-groom)}.relationship-segment--bride{background:var(--dashboard-bride)}.relationship-segment--both{background:var(--dashboard-both)}.relationship-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:.8rem 0 0;padding:0;list-style:none;font-size:.8rem}.legend-swatch{display:inline-block;width:.85rem;height:.85rem;margin-right:.3rem;border-radius:3px;vertical-align:-.1rem}.report-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-config-section{padding:1rem;border:1px solid var(--line,#ded8cf);border-radius:.9rem;background:#fff}.report-config-section h2{margin-top:0}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.checkbox-option{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem;border:1px solid #e1e5e2;border-radius:.6rem}.report-summary{padding:.8rem;border-radius:.7rem;background:#f1f6f3}.button-dropdown{position:relative}.button-dropdown summary{list-style:none;cursor:pointer}.button-dropdown summary::-webkit-details-marker{display:none}.button-dropdown-menu{position:absolute;right:0;z-index:20;min-width:260px;margin-top:.35rem;padding:.45rem;border:1px solid var(--line,#ded8cf);border-radius:.7rem;background:#fff;box-shadow:var(--shadow)}.button-dropdown-menu a{display:block;padding:.65rem;border-radius:.45rem;color:inherit;text-decoration:none}.button-dropdown-menu a:hover,.button-dropdown-menu a:focus-visible{background:#eef4f0}.report-format-options{display:flex;flex-wrap:wrap;gap:.6rem}.report-format-options label{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;border:1px solid var(--line,#ded8cf);border-radius:.6rem}
@media(max-width:1100px){.dashboard-row--six{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-row--two,.dashboard-row--three,.dashboard-row--four,.dashboard-row--six,.report-config-grid,.checkbox-grid{grid-template-columns:1fr}.relationship-panel__head{flex-direction:column}.relationship-linked{min-width:0}.dashboard-row .dashboard-metric{min-height:94px}.button-dropdown-menu{position:static;min-width:0}}

/* v0.9.0 — gestão de conteúdos e mídia */
.content-sections { display:grid; gap:1rem; }
.content-section { border:1px solid var(--line); border-radius:16px; background:var(--panel); overflow:clip; }
.content-section > summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.2rem; cursor:pointer; font-weight:800; background:var(--panel-soft); }
.content-section > summary small { color:var(--ink-soft); font-family:monospace; font-weight:500; }
.content-section-body { display:grid; gap:1.2rem; padding:1.2rem; }
.content-section-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:1rem; }
.content-field { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:12px; background:#fff; }
.content-field h3 { margin-top:0; }
.content-field h3 small { color:var(--ink-soft); font-family:monospace; font-size:.72rem; font-weight:500; }
.style-token-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:.8rem; }
.style-token-grid label { display:grid; gap:.3rem; color:var(--ink-soft); font-size:.78rem; font-weight:700; }
.media-admin-card { display:grid; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:16px; background:var(--panel-soft); }
.media-admin-card h4 { margin:0; }
.media-admin-card p { margin:.25rem 0 0; color:var(--ink-soft); }
.media-preview img, .media-local-preview img { width:min(100%,420px); height:auto; border-radius:12px; object-fit:cover; }
.media-local-preview:empty { display:none; }
.media-upload-form.is-loading { opacity:.66; pointer-events:none; }
.gallery-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.media-admin-item { display:grid; gap:.7rem; padding:.8rem; border:1px solid var(--line); border-radius:14px; background:#fff; }
.media-admin-item.is-inactive { opacity:.65; }
.media-admin-item > img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; }
@media (max-width:700px) { .style-token-grid { grid-template-columns:1fr; } }

.gallery-batch-fields { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.gallery-batch-item { display:grid; gap:.65rem; padding:.85rem; border:1px solid var(--admin-border,#d8ddd9); border-radius:.85rem; background:#fff; }
.gallery-batch-item img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:.6rem; }
.gallery-batch-item label { display:grid; gap:.3rem; font-weight:600; }

/* Revisão v1.7.1 — CMS em quatro áreas e seletores visuais */
.cms-area-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0;padding:.45rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}
.cms-area-tabs button{min-height:46px;padding:.7rem .85rem;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font-weight:800;cursor:pointer}
.cms-area-tabs button[aria-selected="true"]{background:#fff;border-color:var(--primary);box-shadow:0 3px 12px rgba(36,52,45,.1)}
.cms-area-tabs button:focus-visible{outline:3px solid rgba(73,103,91,.28);outline-offset:2px}
.cms-area-panel[hidden]{display:none!important}.cms-area-panel{display:grid;gap:1rem}.cms-area-intro{padding:1rem 1.2rem;border-left:4px solid var(--primary);border-radius:0 12px 12px 0;background:#f5f8f6}.cms-area-intro h2{margin:0}.cms-area-intro p{margin:.35rem 0 0;color:var(--ink-soft)}
.content-section>summary small{max-width:55%;font-family:inherit;text-align:right}.content-field__head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.content-field__head h3{margin:0}.content-field__head small{color:var(--ink-soft);font-family:monospace}.visual-style-controls{display:grid;gap:.8rem;margin-top:1rem}.visual-token-group{min-width:0;margin:0;padding:.7rem;border:1px solid var(--line);border-radius:10px}.visual-token-group legend{padding:0 .35rem;font-weight:800}.token-card-grid{display:flex;flex-wrap:wrap;gap:.45rem}.token-card{position:relative;display:flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.token-card input{position:absolute;opacity:0;pointer-events:none}.token-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px rgba(73,103,91,.18);background:#eef5f1}.token-card:has(input:focus-visible){outline:3px solid rgba(73,103,91,.28);outline-offset:2px}.token-font-display{font-family:Georgia,'Times New Roman',serif;font-size:1.08rem}.token-font-serif{font-family:Georgia,'Times New Roman',serif}.token-font-sans{font-family:Arial,sans-serif}.color-swatch{width:1.3rem;height:1.3rem;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:var(--swatch,#f3efe8)}.content-local-preview{margin-top:1rem;padding:1rem;border:1px dashed var(--primary);border-radius:12px;background:#fbfcfb;overflow-wrap:anywhere}.hero-composite-preview{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2em;padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#f8f2e9,#eef4ef);font-family:Georgia,serif;font-size:clamp(2rem,6vw,4rem)}.media-cms-grid{display:grid;gap:1rem}.media-admin-card__head{display:flex;justify-content:space-between;gap:1rem}.media-status{align-self:start;padding:.3rem .55rem;border-radius:999px;background:#e7efe9;font-size:.75rem;font-weight:800}.media-current-actions{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem}.gallery-order-panel{padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.media-order-actions{display:flex;flex-wrap:wrap;gap:.4rem}.visibility-panel{padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.visibility-switch{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);cursor:pointer}.visibility-switch>input[type="checkbox"]{position:absolute;opacity:0}.visibility-switch__control{position:relative;flex:0 0 42px;width:42px;height:24px;border-radius:999px;background:#9aa7a0;transition:background .18s}.visibility-switch__control::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s}.visibility-switch input:checked~.visibility-switch__control{background:var(--primary)}.visibility-switch input:checked~.visibility-switch__control::after{transform:translateX(18px)}.visibility-switch input:focus-visible~.visibility-switch__control{outline:3px solid rgba(73,103,91,.3);outline-offset:3px}.visibility-switch small{display:block;color:var(--ink-soft)}
@media(max-width:850px){.cms-area-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.visibility-grid{grid-template-columns:1fr}.content-section>summary{align-items:flex-start;flex-direction:column}.content-section>summary small{max-width:none;text-align:left}}
@media(max-width:520px){.cms-area-tabs{grid-template-columns:1fr}.media-admin-card__head{flex-direction:column}}

/* Revisão v1.7.2 — diferenciação do CMS e cartões horizontais */
.cms-area-tabs{
    background:#dde7e1;
    border-color:#bac9c1;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.cms-area-tabs button:hover{background:rgba(255,255,255,.62);border-color:#b6c5bd}
.cms-area-tabs button[aria-selected="true"]{background:#fff;border-color:var(--primary);color:var(--primary);box-shadow:0 4px 14px rgba(36,52,45,.13)}
.visibility-panel{background:#e9f0ec;border-color:#bdcbc4;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.visibility-switch{background:#f7f9f8;border-color:#cbd5d0}
.visibility-switch:hover{border-color:#8ea398;background:#fff}
.visibility-switch:has(input:checked){background:#dcebe3;border-color:#6c8b7c;box-shadow:inset 4px 0 0 var(--primary)}
.visibility-switch:has(input:not(:checked)){background:#f1f3f2;color:#5f6b65}
.visibility-switch:has(input:focus-visible){outline:3px solid rgba(73,103,91,.3);outline-offset:2px}
.content-section-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.content-field{
    display:grid;
    grid-template-columns:minmax(170px,.72fr) minmax(250px,1.25fr) minmax(0,2.25fr);
    grid-template-areas:
        "identity input styles"
        "preview preview preview";
    align-items:start;
    gap:1rem;
    width:100%;
    padding:1.1rem;
}
.content-field__head{grid-area:identity;margin:0;align-self:center}
.content-field>input,.content-field>textarea{grid-area:input;width:100%;margin:0}
.content-field>.visual-style-controls{grid-area:styles;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0}
.content-field>.content-local-preview{grid-area:preview;width:100%;margin:0;padding:1rem 1.15rem;min-height:62px}
.visual-token-group{height:100%;padding:.65rem}
.token-card-grid{align-content:flex-start}
.token-card{min-height:38px;padding:.45rem .6rem}
.media-cms-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.gallery-canonical-panel{margin-top:1.25rem;padding:1rem;border:1px solid #bdcbc4;border-radius:16px;background:#e9f0ec}
.cms-area-intro--compact{margin-bottom:.75rem}
.cms-area-intro--compact h3{margin:.1rem 0 .35rem}
.gallery-slot-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:1/-1}
.media-admin-card--gallery-slot{background:#fff}
.media-preview--fixed{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#eef2ef}
.media-preview--fixed img{width:100%;height:100%;object-fit:cover}
.media-empty-state{display:grid;place-items:center;width:100%;height:100%;min-height:180px;border:1px dashed #9caf9f;color:var(--ink-soft);background:linear-gradient(135deg,#f8faf9,#e6eee9)}
.media-local-preview{grid-column:1/-1}
@media(max-width:1100px){
    .content-field{grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr);grid-template-areas:"identity input" "styles styles" "preview preview"}
    .media-cms-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .content-field{grid-template-columns:1fr;grid-template-areas:"identity" "input" "styles" "preview"}
    .content-field>.visual-style-controls{grid-template-columns:1fr}
    .gallery-slot-admin-grid{grid-template-columns:1fr}
    .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:auto}
}
@media(max-width:520px){
    .content-field{padding:.85rem;gap:.8rem}
    .token-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .token-card{min-width:0}
}

/* Revisão v1.7.3 — miniaturas, foco interativo e ferramentas em linha */
.visibility-switch__control{border:2px solid #425f51;box-shadow:0 0 0 1px rgba(255,255,255,.65) inset;}
.visibility-switch input:checked~.visibility-switch__control{border-color:#173f31;}
.visibility-switch input:not(:checked)~.visibility-switch__control{border-color:#52665c;}
.visibility-switch input:focus-visible~.visibility-switch__control{outline:3px solid #edb79d;outline-offset:3px;}

.layout-choice-group{grid-area:input / input / styles / styles;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:12px;}
.layout-choice-group legend{padding:0 .35rem;font-weight:800;}
.layout-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;}
.layout-choice-card{position:relative;display:grid;gap:.45rem;place-items:center;min-height:96px;padding:.75rem;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;text-align:center;}
.layout-choice-card input{position:absolute;opacity:0;}
.layout-choice-card:has(input:checked){border-color:var(--primary);background:#e9f2ed;box-shadow:0 0 0 2px rgba(73,103,91,.16);}
.layout-choice-card:has(input:focus-visible){outline:3px solid rgba(73,103,91,.34);outline-offset:2px;}
.layout-choice-sample{display:flex;align-items:center;justify-content:center;gap:.2rem;font-family:Georgia,serif;font-size:1.25rem;}
.layout-choice-sample--stacked{flex-direction:column;gap:0;line-height:.8;}
.layout-choice-sample i{font-style:normal;}
.hero-composite-preview--inline{flex-direction:row;}
.hero-composite-preview--stacked{flex-direction:column;align-items:center;line-height:.95;}

.visual-style-controls{grid-template-columns:repeat(3,minmax(190px,1fr));align-items:start;}
.visual-token-group{display:flex;flex-direction:column;min-height:100%;}
.visual-token-group .token-card-grid{display:flex;flex-direction:row;flex-wrap:wrap;}

.media-cms-grid{grid-template-columns:1fr;}
.media-admin-card{display:grid;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fff;}
.media-admin-card--horizontal{grid-template-columns:minmax(190px,.65fr) minmax(0,1.65fr);grid-template-areas:"head head" "preview controls";align-items:start;}
.media-admin-card__head{grid-area:head;}
.media-admin-card__preview{grid-area:preview;}
.media-admin-card__controls{grid-area:controls;display:grid;gap:1rem;min-width:0;}
.media-preview--compact{width:min(100%,320px);max-height:260px;overflow:hidden;border-radius:12px;background:#eef2ef;}
.media-preview--compact img{display:block;width:100%;height:100%;object-fit:cover;}
.media-ratio--4-3{aspect-ratio:4/3;}
.media-ratio--1-1{aspect-ratio:1/1;}
.media-ratio--16-9{aspect-ratio:16/9;}
.gallery-slot-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;}
.gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:span 2;}
.media-admin-card--gallery-slot .media-preview--compact{width:100%;max-height:210px;}
.media-admin-card--gallery-slot .focal-editor__surface{max-height:210px;}

.focal-editor{display:grid;gap:.65rem;min-width:0;}
.focal-editor__surface{position:relative;width:min(100%,420px);overflow:hidden;border:2px solid #6f8a7d;border-radius:12px;background:#edf2ef;cursor:crosshair;touch-action:none;}
.focal-editor__surface:focus-visible{outline:3px solid #e8ad91;outline-offset:3px;}
.focal-editor__surface img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none;}
.focal-editor__empty{display:grid;width:100%;height:100%;min-height:140px;place-items:center;padding:1rem;color:var(--ink-soft);text-align:center;}
.focal-editor__marker{position:absolute;width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:#8b493b;box-shadow:0 0 0 2px #283f35,0 2px 8px rgba(0,0,0,.28);transform:translate(-50%,-50%);pointer-events:none;}
.focal-editor__marker::before,.focal-editor__marker::after{content:"";position:absolute;background:#fff;}
.focal-editor__marker::before{left:50%;top:-8px;width:2px;height:34px;transform:translateX(-50%);}
.focal-editor__marker::after{top:50%;left:-8px;width:34px;height:2px;transform:translateY(-50%);}
.focal-editor__controls{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(2,minmax(105px,.7fr));gap:.65rem;}
.focal-coordinate-field input{min-width:0;}
.focal-update-form,.media-upload-form{display:grid;gap:.8rem;padding:.85rem;border:1px solid #d4ddd8;border-radius:14px;background:#f8faf9;}

@media(max-width:1100px){
    .visual-style-controls{grid-template-columns:repeat(2,minmax(180px,1fr));}
    .gallery-slot-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:1/-1;}
}
@media(max-width:760px){
    .visual-style-controls{grid-template-columns:1fr;}
    .media-admin-card--horizontal{grid-template-columns:1fr;grid-template-areas:"head" "preview" "controls";}
    .media-preview--compact{width:100%;}
    .focal-editor__controls{grid-template-columns:1fr 1fr;}
    .focal-editor__controls .field:first-child{grid-column:1/-1;}
    .gallery-slot-admin-grid{grid-template-columns:1fr;}
    .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:auto;}
}
@media(max-width:520px){
    .layout-choice-grid{grid-template-columns:1fr;}
    .focal-editor__controls{grid-template-columns:1fr;}
    .focal-editor__controls .field:first-child{grid-column:auto;}
}


/* Revisão v1.7.4 — consolidação final do CMS */
.content-section{border:1px solid #c8d2cd;background:#fff;box-shadow:0 3px 12px rgba(40,58,50,.045);overflow:hidden}
.content-section+ .content-section{margin-top:.1rem}
.content-section>summary{position:relative;min-height:58px;padding:1rem 3.2rem 1rem 1.15rem;border-bottom:1px solid transparent;background:#edf2ef;cursor:pointer;list-style:none;transition:background .18s,border-color .18s}
.content-section>summary::-webkit-details-marker{display:none}
.content-section>summary:hover{background:#e5ede8}
.content-section>summary:focus-visible{outline:3px solid rgba(73,103,91,.32);outline-offset:-3px}
.content-section[open]>summary{border-bottom-color:#c8d2cd;background:#e8efeb}
.content-section__chevron{position:absolute;right:1.15rem;top:50%;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#fff;color:var(--primary);font-size:1.3rem;line-height:1;transform:translateY(-50%) rotate(-90deg);transition:transform .18s}
.content-section[open] .content-section__chevron{transform:translateY(-50%) rotate(0deg)}
.content-section-body{background:#fff}

.content-field>.visual-style-controls,.visual-style-controls[data-horizontal-tool-strip]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;gap:.8rem;width:100%;margin:0}
.visual-style-controls[data-horizontal-tool-strip] .visual-token-group{display:flex;min-width:0;min-height:100%;flex-direction:column;padding:.75rem;border-color:#ced8d2;background:#fafcfb}
.visual-style-controls[data-horizontal-tool-strip] .token-card-grid{display:flex!important;flex:1;flex-flow:row wrap;align-content:flex-start;gap:.45rem}
.visual-style-controls[data-horizontal-tool-strip] .token-card{flex:1 1 88px;justify-content:center;min-width:0;text-align:center}

.signature-composite-preview{display:grid;gap:.7rem;width:100%;margin-top:1rem;padding:1rem 1.2rem;border:1px dashed #789084;border-radius:14px;background:linear-gradient(135deg,#fbf8f2,#eef4f0);text-align:center}
.signature-composite-preview__label{color:var(--ink-soft);font-size:.73rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.signature-composite-preview__composition{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.2em;min-width:0}
.signature-composite-preview--stacked .signature-composite-preview__composition{flex-direction:column;align-items:center;line-height:1}
.signature-composite-preview--header .signature-composite-preview__composition{min-height:54px}
.signature-composite-preview--hero .signature-composite-preview__composition{min-height:86px}
.signature-composite-preview--footer .signature-composite-preview__composition{min-height:58px}
.signature-composite-preview__segment{overflow-wrap:anywhere}

.visibility-switch__control{border:0!important;background:#75867d!important;box-shadow:inset 0 2px 4px rgba(23,43,34,.28),0 0 0 1px rgba(255,255,255,.55)!important}
.visibility-switch input:checked~.visibility-switch__control{border:0!important;background:#2f6a50!important;box-shadow:inset 0 2px 4px rgba(16,47,33,.3),0 0 0 1px rgba(255,255,255,.65)!important}
.visibility-switch input:not(:checked)~.visibility-switch__control{border:0!important;background:#7a817d!important}
.visibility-switch:hover .visibility-switch__control{filter:brightness(.93)}
.visibility-switch input:focus-visible~.visibility-switch__control{outline:3px solid #d78f69!important;outline-offset:3px}
.visibility-switch input:disabled~.visibility-switch__control{background:#b5bcb8!important;opacity:.72}

.media-admin-card{align-content:start}
.media-admin-card--horizontal{grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr);grid-template-areas:"head workspace";align-items:start}
.media-admin-card__workspace{grid-area:workspace;display:grid;gap:.8rem;min-width:0}
.media-admin-card__head{grid-area:head;display:grid;align-content:start;gap:.55rem}
.media-admin-card__head .media-status{justify-self:start}
.media-admin-card__preview{display:none!important}
.media-action-panel{display:grid;gap:.75rem;margin:0;padding:.8rem;border:1px solid #d7dfda;border-radius:13px;background:#f9fbfa}
.media-current-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}
.media-action-button{min-width:150px;justify-content:center}
.gallery-slot-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:span 2}
.media-admin-card--gallery-slot .media-admin-card__workspace{gap:.65rem}
.media-admin-card--gallery-slot .focal-editor__surface{width:100%;max-height:205px}
.media-admin-card--gallery-slot .media-action-button{min-width:0;width:100%}

.focal-editor--unified{display:grid;gap:.65rem;min-width:0}
.focal-editor__label-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;color:var(--ink)}
.focal-editor__label-row output{color:var(--ink-soft);font-size:.75rem;font-variant-numeric:tabular-nums}
.focal-editor__surface{width:min(100%,380px);border:1px solid #789084;background:#edf2ef;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.focal-editor__empty{min-height:120px}
.media-field--unified>.focal-editor{margin-top:.8rem}

@media(min-width:1101px){
    .content-field{grid-template-columns:minmax(165px,.65fr) minmax(260px,1.05fr) minmax(560px,2.3fr)}
}
@media(max-width:1100px){
    .content-field>.visual-style-controls,.visual-style-controls[data-horizontal-tool-strip]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .visual-style-controls[data-horizontal-tool-strip] .visual-token-group:last-child{grid-column:1/-1}
    .media-admin-card--horizontal{grid-template-columns:1fr;grid-template-areas:"head" "workspace"}
    .gallery-slot-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:1/-1}
}
@media(max-width:680px){
    .content-section>summary{align-items:flex-start;flex-direction:column;padding-right:3rem}
    .content-section>summary small{max-width:none;text-align:left}
    .content-field>.visual-style-controls,.visual-style-controls[data-horizontal-tool-strip]{grid-template-columns:1fr!important}
    .visual-style-controls[data-horizontal-tool-strip] .visual-token-group:last-child{grid-column:auto}
    .gallery-slot-admin-grid{grid-template-columns:1fr}
    .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child{grid-column:auto}
    .focal-editor__controls{grid-template-columns:1fr 1fr}
    .focal-editor__controls .field:first-child{grid-column:1/-1}
    .media-action-button{width:100%;min-width:0}
}
@media(max-width:430px){
    .content-section-body,.media-admin-card{padding:.85rem}
    .focal-editor__controls{grid-template-columns:1fr}
    .focal-editor__controls .field:first-child{grid-column:auto}
    .signature-composite-preview{padding:.85rem}
}
.signature-composite-preview--inline .signature-composite-preview__composition{flex-direction:row;align-items:baseline;justify-content:center}

/* v0.10.3 — revisão corretiva definitiva da apresentação do CMS */
#cms-home,
#cms-internal,
#cms-media,
.cms-editor-sections,
.cms-editor-section,
.cms-editor-section__body,
.cms-editor-form,
.cms-editor-fields {
    width: 100%;
    min-width: 0;
}

.cms-editor-sections {
    display: grid;
    gap: 1rem;
}

.cms-editor-section {
    border: 1px solid #c4d0ca;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(36, 52, 45, .055);
    overflow: hidden;
}

.cms-editor-section__summary {
    display: grid !important;
    grid-template-columns: minmax(210px, .9fr) minmax(260px, 1.5fr) 34px;
    align-items: center !important;
    gap: 1rem;
    width: 100%;
    min-height: 66px;
    padding: .95rem 1.1rem !important;
    background: #e9f0ec !important;
}

.cms-editor-section__summary:hover {
    background: #e1ebe5 !important;
}

.cms-editor-section__summary:focus-visible {
    outline: 3px solid rgba(73, 103, 91, .32);
    outline-offset: -3px;
}

.cms-editor-section__identity {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.cms-editor-section__number {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    box-shadow: inset 0 0 0 1px #c6d2cc;
    font-size: .78rem;
    font-weight: 900;
}

.cms-editor-section__title {
    color: var(--ink);
    font-size: 1rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.cms-editor-section__description {
    max-width: none !important;
    color: var(--ink-soft);
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: right !important;
}

.cms-editor-section__summary .content-section__chevron {
    position: static;
    justify-self: end;
    transform: rotate(-90deg);
}

.cms-editor-section[open] > .cms-editor-section__summary .content-section__chevron {
    transform: rotate(0deg);
}

.cms-editor-section__body {
    display: grid;
    gap: 1rem;
    padding: 1.15rem;
}

.cms-editor-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
}

.cms-editor-field {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
    gap: .9rem !important;
    width: 100%;
    min-width: 0;
    padding: 1rem 1.05rem !important;
    border: 1px solid #d4ddd8;
    border-radius: 14px;
    background: #fff;
}

.cms-editor-field__head,
.cms-editor-field__input,
.cms-editor-field__divider,
.cms-editor-field > .cms-format-grid,
.cms-editor-field__combined-preview {
    grid-area: auto !important;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
}

.cms-editor-field__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.cms-editor-field__label {
    display: block;
    color: var(--ink);
    font-size: .94rem;
    font-weight: 850;
    line-height: 1.35;
}

.cms-editor-field__technical {
    margin-top: .22rem;
    color: var(--ink-soft);
    font-size: .7rem;
}

.cms-editor-field__technical summary {
    width: max-content;
    cursor: pointer;
    color: #6f7d75;
    font-size: .68rem;
}

.cms-editor-field__technical code {
    display: inline-block;
    margin-top: .25rem;
    padding: .18rem .35rem;
    border-radius: 5px;
    background: #f0f4f2;
    color: #53625a;
    font-size: .68rem;
}

.cms-editor-field__input > input,
.cms-editor-field__input > textarea,
.cms-editor-field__input > select {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.cms-editor-field__input > input,
.cms-editor-field__input > select {
    min-height: 46px;
}

.cms-editor-field__input > textarea {
    min-height: 118px;
    resize: vertical;
}

.cms-editor-field__divider {
    position: relative;
    height: 18px;
}

.cms-editor-field__divider::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background: #d9e1dc;
}

.cms-editor-field__divider span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #d4ddd8;
    transform: translate(-50%, -50%);
}

.cms-format-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .85rem !important;
    align-items: stretch;
}

.cms-format-column {
    display: grid !important;
    grid-template-rows: auto auto minmax(3.2rem, auto) minmax(84px, 1fr);
    gap: .55rem;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    padding: .85rem !important;
    border: 1px solid #ccd7d1 !important;
    border-radius: 12px !important;
    background: #f9fbfa !important;
}

.cms-format-column__head {
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 28px;
}

.cms-format-column__head strong {
    color: var(--ink);
    font-size: .86rem;
}

.cms-format-column__icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 8px;
    background: #e3ece7;
    color: var(--primary);
    font-size: .75rem;
    font-weight: 900;
}

.cms-format-column__icon--color::before {
    content: "";
    width: 13px;
    height: 13px;
    border: 1px solid rgba(0, 0, 0, .18);
    border-radius: 50%;
    background: linear-gradient(135deg, #214c3b 0 35%, #8b493b 35% 68%, #c8a95d 68%);
}

.cms-format-column__control {
    display: block;
    width: 100%;
}

.cms-format-column__control select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #bdc9c3;
    border-radius: 10px;
    background: #fff;
}

.cms-format-column__control select:focus-visible {
    outline: 3px solid rgba(73, 103, 91, .28);
    outline-offset: 2px;
    border-color: var(--primary);
}

.cms-format-column__help {
    min-height: 3.2rem;
    margin: 0;
    color: var(--ink-soft);
    font-size: .74rem;
    line-height: 1.45;
}

.cms-format-column__preview {
    display: grid;
    min-width: 0;
    min-height: 84px;
    place-items: center;
    padding: .7rem;
    border: 1px dashed #91a39a;
    border-radius: 10px;
    background: #fff;
    text-align: center;
    overflow: hidden;
}

.cms-format-column__preview span {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow-wrap: anywhere;
}

.cms-editor-field__combined-preview {
    display: grid;
    gap: .45rem;
    min-height: 78px !important;
    padding: .85rem 1rem !important;
    border: 1px dashed #789084 !important;
    border-radius: 12px;
    background: linear-gradient(135deg, #fbfcfb, #f2f6f4) !important;
}

.cms-editor-field__combined-preview > small {
    color: var(--ink-soft);
    font-family: inherit !important;
    font-size: .68rem !important;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cms-editor-field__combined-preview [data-content-preview-text] {
    overflow-wrap: anywhere;
}

.cms-editor-field--layout .cms-editor-field__input,
.cms-editor-field--layout .layout-choice-group {
    width: 100%;
}

.cms-editor-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: .7rem;
    margin-top: .15rem;
}

.cms-editor-restore {
    justify-self: end;
}

/* Galeria administrativa: cartões equivalentes e ações alinhadas. */
#cms-media .gallery-slot-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

#cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot,
#cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child {
    display: flex;
    grid-column: auto;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: .95rem;
}

#cms-media .gallery-slot-admin-grid .media-admin-card__head {
    min-height: 132px;
}

#cms-media .gallery-slot-admin-grid .media-admin-card__workspace {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

#cms-media .gallery-slot-admin-grid .media-action-panel {
    width: 100%;
}

#cms-media .gallery-slot-admin-grid .media-current-actions {
    margin-top: auto;
}

#cms-media .gallery-slot-admin-grid .media-action-button {
    min-height: 42px;
}

#cms-media .media-admin-card--horizontal {
    grid-template-columns: minmax(230px, .72fr) minmax(0, 1.65fr);
    gap: 1rem;
    width: 100%;
}

#cms-media .media-admin-card--horizontal .media-admin-card__head {
    padding-right: .4rem;
}

#cms-media .media-current-actions {
    align-items: stretch;
    gap: .55rem;
}

#cms-media .media-current-actions > form {
    display: flex;
}

#cms-media .media-current-actions .media-action-button {
    height: 100%;
}

@media (min-width: 1180px) {
    .cms-format-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    #cms-media .gallery-slot-admin-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 700px) and (max-width: 1179px) {
    .cms-format-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .cms-format-column:last-child {
        grid-column: 1 / -1;
    }

    #cms-media .gallery-slot-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .cms-editor-section__summary {
        grid-template-columns: minmax(0, 1fr) 34px;
        gap: .55rem .8rem;
    }

    .cms-editor-section__description {
        grid-column: 1 / -1;
        grid-row: 2;
        text-align: left !important;
    }

    .cms-editor-section__summary .content-section__chevron {
        grid-column: 2;
        grid-row: 1;
    }

    #cms-media .media-admin-card--horizontal {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "head" "workspace";
    }
}

@media (max-width: 699px) {
    .cms-format-grid,
    #cms-media .gallery-slot-admin-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .cms-format-column:last-child {
        grid-column: auto;
    }

    .cms-editor-section__body,
    .cms-editor-field {
        padding: .85rem !important;
    }

    .cms-editor-form__actions,
    #cms-media .media-current-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cms-editor-form__actions .button,
    #cms-media .media-current-actions .button {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .cms-editor-section__summary {
        padding: .85rem .9rem !important;
    }

    .cms-editor-section__number {
        flex-basis: 1.8rem;
        width: 1.8rem;
        height: 1.8rem;
    }

    .cms-format-column {
        padding: .75rem !important;
    }
}

/* Ajustes de contenção da grade administrativa da galeria. */
#cms-media .gallery-slot-admin-grid .focal-editor__controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#cms-media .gallery-slot-admin-grid .focal-editor__controls .field:first-child {
    grid-column: 1 / -1;
}

#cms-media .gallery-slot-admin-grid .media-upload-form .field,
#cms-media .gallery-slot-admin-grid input[type="file"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

#cms-media .gallery-slot-admin-grid .media-action-panel {
    overflow: hidden;
}

@media (max-width: 430px) {
    #cms-media .gallery-slot-admin-grid .focal-editor__controls {
        grid-template-columns: minmax(0, 1fr);
    }

    #cms-media .gallery-slot-admin-grid .focal-editor__controls .field:first-child {
        grid-column: auto;
    }
}

@media (min-width: 1180px) {
    #cms-media .gallery-slot-admin-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    #cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot {
        grid-column: span 2;
    }

    #cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot:nth-child(4) {
        grid-column: 2 / span 2;
    }

    #cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot:nth-child(5) {
        grid-column: 4 / span 2;
    }
}

@media (min-width: 1180px) {
    #cms-media .gallery-slot-admin-grid .media-admin-card--gallery-slot:first-child {
        grid-column: span 2;
    }
}


/* Revisão v1.7.5 — opções visuais compactas e estados cromáticos. */
.cms-visual-select{position:relative;width:100%;min-width:0}
.cms-visual-select__trigger{display:none;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem .72rem;border:1px solid #bdc9c3;border-radius:10px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.cms-visual-select.is-enhanced .cms-visual-select__native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cms-visual-select.is-enhanced .cms-visual-select__trigger{display:flex}
.cms-visual-select__trigger:focus-visible,.cms-visual-option:focus-visible{outline:3px solid rgba(73,103,91,.28);outline-offset:2px;border-color:var(--primary)}
.cms-visual-select__current{display:block;min-width:0;flex:1}
.cms-visual-select__chevron{font-size:1rem;line-height:1;transition:transform .16s ease}
.cms-visual-select.is-open .cms-visual-select__chevron{transform:rotate(180deg)}
.cms-visual-select__list{position:absolute;z-index:50;top:calc(100% + .35rem);left:0;width:100%;max-height:230px;overflow:auto;padding:.35rem;border:1px solid #aebdb5;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(36,52,45,.18)}
.cms-visual-option{display:block;width:100%;min-height:40px;padding:.5rem .6rem;border:1px solid transparent;border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.cms-visual-option:hover{background:#eef4f1}
.cms-visual-option[aria-selected="true"]{border-color:#6f8a7d;background:#e2eee8;box-shadow:inset 3px 0 0 var(--primary)}
.cms-visual-option__content{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.65rem;line-height:1.25}
.cms-visual-option__content>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cms-visual-option__content--size b{font-size:clamp(.78rem,var(--visual-size,1rem),1.45rem);font-weight:700;line-height:1}
.cms-visual-option__content--color{justify-content:flex-start}
.cms-visual-option__content--color i{display:block;flex:0 0 1.2rem;width:1.2rem;height:1.2rem;border:1px solid rgba(0,0,0,.2);border-radius:50%;background:var(--visual-color,#24342d);box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(36,52,45,.12)}
.cms-format-column__preview{display:none!important}
.visibility-switch input:checked~.visibility-switch__control{background:#2f6a50!important}
.visibility-switch input:not(:checked)~.visibility-switch__control{background:#8b493b!important}
.visibility-switch:hover input:checked~.visibility-switch__control{background:#255b43!important}
.visibility-switch:hover input:not(:checked)~.visibility-switch__control{background:#773c31!important}
.focal-editor__local-state{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem .65rem;border:1px solid #d6c4a7;border-radius:10px;background:#fff8e9;color:#5c4a2d;font-size:.78rem}
.focal-editor__local-state[hidden]{display:none!important}
@media(max-width:520px){.focal-editor__local-state{align-items:stretch;flex-direction:column}.focal-editor__local-state .button{width:100%}}
