:root{--navy:#0B1B2E;--navy2:#132B46;--terra:#C5613A;--gold:#D4A32F;--off:#F3EFE8;--white:#fff;--ink:#182332;--muted:#6E747C;--line:#DED8CE;--soft:#FAF8F4;--danger:#A9433E;--success:#2D7750;--shadow:0 10px 28px rgba(11,27,46,.08)}
*{box-sizing:border-box}html{background:var(--off)}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(#f8f5f0,var(--off));color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(197,97,58,.22),transparent 30%),linear-gradient(145deg,var(--navy),#07111e)}.auth-card{width:min(450px,100%);background:var(--off);border:1px solid rgba(212,163,47,.55);border-radius:26px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.33);text-align:center}.platform-mark{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--navy);font-size:13px;letter-spacing:1.4px;margin-bottom:18px}.evox-dot{width:10px;height:10px;border-radius:50%;background:var(--terra);box-shadow:0 0 0 4px rgba(197,97,58,.13)}.auth-logo{width:128px;height:128px;object-fit:cover;border-radius:22px;box-shadow:0 10px 28px rgba(11,27,46,.16)}.auth-card h1{font-family:Georgia,serif;color:var(--navy);font-size:25px;margin:14px 0 5px}.platform-slogan{color:#5b6168;font-size:13px;margin:0 0 10px}.pilot-badge,.preview-pill{display:inline-flex;border-radius:999px;background:#f1e5d6;color:#7e452f;border:1px solid #e3c3ad;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.5px}.auth-card form{margin-top:18px}.auth-card label{text-align:left;display:block;margin:12px 0;font-size:12px;font-weight:800;color:var(--navy)}.auth-message{font-size:12px;min-height:18px;margin-top:10px;color:var(--danger)}.powered{display:block;margin-top:18px;color:#8a877f}.link-btn{border:0;background:transparent;color:var(--terra);font-weight:800;margin-top:8px}
.topbar{min-height:76px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 22px;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:20}.brand{display:flex;gap:11px;align-items:center}.brand img{width:54px;height:54px;object-fit:cover;border-radius:11px}.brand div{display:flex;flex-direction:column}.brand strong{color:#fff;font-family:Georgia,serif}.brand small{color:#e0bd63;font-weight:800}.user-box{display:grid;grid-template-columns:auto auto;gap:1px 10px;align-items:center;text-align:right}.user-box span{font-size:13px;font-weight:850}.user-box small{font-size:11px;color:#e6ded0}.user-box .btn{grid-row:1/3;grid-column:2}
.shell{max-width:1060px;margin:0 auto;padding:22px 16px 64px}.test-banner{display:flex;gap:12px;align-items:center;background:#fff4dc;border:1px solid #e7c778;color:#5e4a1b;padding:9px 13px;border-radius:12px;margin-bottom:14px;font-size:11px}.test-banner strong{white-space:nowrap;color:#7b5d13}
.hero-card{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border:1px solid var(--gold);border-radius:22px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(212,163,47,.23);border-radius:50%;right:-80px;top:-80px}.hero-main{display:flex;align-items:center;gap:24px;position:relative;z-index:2}.hero-logo{width:130px;height:130px;object-fit:cover;border-radius:20px;border:1px solid rgba(255,255,255,.18)}.hero-copy h1{font-family:Georgia,serif;font-size:34px;margin:4px 0;color:#fff}.hero-copy p{margin:0 0 11px;color:#eee6da}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:900;color:var(--gold)}.eyebrow.dark{color:var(--terra)}.church-meta{display:flex;flex-wrap:wrap;gap:5px 13px;font-size:11px;color:#d9d4ca}.hero-status{position:absolute;right:20px;bottom:18px;font-size:10px;color:#ded7cb;display:flex;align-items:center;gap:6px;z-index:2}.status-dot{width:7px;height:7px;background:#6fd19b;border-radius:50%}
.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:26px 2px 12px}.section-title.compact{margin-top:28px}.section-title h2{margin:3px 0 0;color:var(--navy);font-size:22px}.section-title small{color:var(--muted);max-width:420px;text-align:right}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.module-card{min-height:116px;border:1px solid var(--line);background:#fff;border-radius:17px;padding:17px;display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;text-align:left;box-shadow:var(--shadow);color:var(--navy);transition:.15s}.module-card:hover{transform:translateY(-2px);border-color:#c8b59a}.module-card.refc{background:linear-gradient(135deg,var(--navy),#173452);color:#fff;border-color:var(--gold)}.module-icon{width:56px;height:56px;border-radius:15px;background:#f4e9dd;display:grid;place-items:center;font-size:26px;color:var(--terra)}.refc .module-icon{background:var(--gold);color:var(--navy)}.module-copy{display:flex;flex-direction:column;gap:5px}.module-copy strong{font-size:17px}.module-copy small{color:#77766f;line-height:1.35}.refc .module-copy small{color:#ded8cc}.module-arrow{font-size:24px;color:var(--gold)}.module-tag{font-size:9px;font-weight:900;letter-spacing:.4px;border:1px solid #e2cbbf;background:#fff3ec;color:#92533b;border-radius:999px;padding:5px 7px}.module-card.locked{opacity:.47;filter:saturate(.5);cursor:not-allowed}
.admin-area{margin-top:8px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:15px;display:grid;grid-template-columns:42px 1fr 20px;gap:10px;text-align:left;align-items:center;color:var(--navy);box-shadow:var(--shadow)}.admin-card>span{width:40px;height:40px;border-radius:11px;background:#eef0f2;display:grid;place-items:center}.admin-card div{display:flex;flex-direction:column}.admin-card small{color:var(--muted);margin-top:3px}.app-footer{display:flex;justify-content:space-between;color:#85827b;font-size:10px;padding:28px 4px 0}.app-footer strong{color:var(--navy)}
.screen-head{display:flex;gap:16px;align-items:flex-start;margin:4px 0 17px}.screen-head h1{margin:2px 0;color:var(--navy);font-size:26px}.screen-head p{margin:3px 0;color:var(--muted);font-size:13px}.back-btn{border:0;background:transparent;color:var(--terra);font-weight:850;padding:6px 0;white-space:nowrap}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.quick-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;display:flex;flex-direction:column;text-align:left;color:var(--navy);box-shadow:var(--shadow)}.quick-card>span{font-size:26px;color:var(--terra);margin-bottom:8px}.quick-card small{color:var(--muted);margin-top:4px}.policy-panel .rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rule-grid div{background:#f8f6f2;border:1px solid #e7e1d8;border-radius:10px;padding:10px;font-size:12px;color:#4d555d}
.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow);margin-bottom:15px}.panel h2{display:flex;gap:9px;align-items:center;color:var(--navy);margin:0 0 18px}.panel h2>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f3e5d5;color:var(--terra);font-size:14px}.panel h3,.dialog h2,.dialog h3{color:var(--navy)}.panel hr{border:0;border-top:1px solid var(--line);margin:22px 0}.panel-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.panel-title-row h2{margin-bottom:12px}.grid{display:grid;gap:13px;margin-bottom:13px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-size:12px;font-weight:780;color:#414b55}input,select,textarea{width:100%;margin-top:5px;min-height:44px;border:1px solid #d7d4ce;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:var(--ink)}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,163,47,.14)}.align-end{display:flex;align-items:flex-end}.progress{margin-bottom:14px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.progress-meta strong{color:var(--navy)}.progress-track{height:8px;border-radius:20px;background:#e7e2da;overflow:hidden}.progress-bar{height:100%;width:25%;background:linear-gradient(90deg,var(--terra),var(--gold));transition:.2s}.total-card{background:linear-gradient(145deg,var(--navy),var(--navy2));border:1px solid var(--gold);border-radius:14px;padding:20px;text-align:center;color:#fff}.total-card small{color:#efd687}.total-card strong{display:block;font-size:32px;color:#fff;margin:5px}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.actions.right{justify-content:flex-end}.btn{min-height:42px;border:1px solid transparent;border-radius:10px;padding:9px 15px;font-weight:850}.btn.primary{background:var(--terra);color:#fff}.btn.secondary{background:#fff;color:var(--navy);border-color:var(--gold)}.btn.outline{background:#fff;color:var(--navy);border-color:#cfc7bd}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.btn.pdf{background:#f8edcf;color:#6e5310;border-color:var(--gold)}.btn.full{width:100%}.btn.tiny{min-height:32px;font-size:11px;padding:6px 9px}.btn:disabled{opacity:.55}
.staff-card{border:1px solid var(--line);background:#fbfaf8;border-radius:12px;padding:14px;margin-bottom:12px}.staff-head{display:flex;justify-content:space-between;margin-bottom:10px}.staff-head strong{color:var(--navy)}.remove-staff{border:0;background:transparent;color:var(--danger);font-weight:800}.signature-group{margin-top:12px}.signature-box{position:relative;border:1px dashed #b9b3aa;background:#fff;border-radius:12px;overflow:hidden}.signature-canvas{display:block;width:100%;height:170px;background:#fff;touch-action:none;cursor:crosshair}.signature-box small{position:absolute;left:0;right:0;bottom:7px;text-align:center;color:#aaa49b;pointer-events:none}.readonly-callout{margin-top:14px;border:1px solid #e5c67b;background:#fff7e3;color:#6f571c;border-radius:10px;padding:10px;font-size:12px}.review{border-top:1px solid var(--line)}.review-title{padding:15px 0 7px;color:var(--navy);font-weight:900;text-transform:uppercase;font-size:11px;border-bottom:1px solid var(--gold)}.review-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.review-row span{color:var(--muted)}.review-row strong{text-align:right}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats-grid.mini{margin-bottom:14px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{display:block;color:var(--navy);font-size:24px;margin-top:3px}.history-list{display:flex;flex-direction:column;gap:10px}.history-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow)}.history-summary{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.history-card strong{color:var(--navy)}.history-card p{margin:5px 0 0;color:var(--muted);font-size:12px}.history-total{text-align:right;color:var(--navy);font-weight:900}.history-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.empty{padding:28px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:13px;color:var(--muted)}
.room-preview{display:grid;gap:9px;margin-bottom:14px}.room-row{display:grid;grid-template-columns:1fr 140px 140px;gap:10px;align-items:center;background:#f9f6f1;border:1px solid #e7dfd4;border-radius:11px;padding:10px}.room-row strong{color:var(--navy)}.room-row small{display:block;color:var(--muted)}.upload-preview{min-height:58px;border:1px dashed #c9bcae;background:#faf6f0;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#786c60;font-size:12px;padding:10px}.form-block{border-top:1px solid var(--line);padding-top:12px;margin-top:10px}.form-block h3{font-size:14px;margin:0 0 9px}.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-chip{border:1px solid var(--line);border-radius:11px;padding:11px;background:#faf9f6}.role-chip strong{display:block;color:var(--navy)}.role-chip small{color:var(--muted)}.permission-list{display:flex;flex-wrap:wrap;gap:7px}.permission-chip{border-radius:999px;background:#eef1f4;color:#344250;padding:6px 9px;font-size:10px;font-weight:800}.audit-card{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.audit-card .module-label{text-transform:uppercase;color:var(--terra);font-size:10px;font-weight:900;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.audit-card>div{min-width:0}.audit-card strong,.audit-card small{display:block;min-width:0}.audit-card small{color:var(--muted);overflow-wrap:anywhere}
.dialog{width:min(760px,94vw);max-height:88vh;border:0;border-radius:16px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.dialog::backdrop{background:rgba(11,27,46,.58)}.dialog-close{position:absolute;right:10px;top:5px;border:0;background:transparent;color:var(--navy);font-size:30px}.toast{display:none;position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100;background:var(--navy);color:#fff;padding:11px 14px;border-radius:10px;max-width:92vw;font-size:13px}
@media(max-width:760px){.topbar{padding:9px 11px}.brand strong{font-size:12px}.brand img{width:46px;height:46px}.shell{padding:15px 10px 48px}.test-banner{align-items:flex-start;flex-direction:column;gap:3px}.hero-main{flex-direction:column;text-align:center}.hero-copy h1{font-size:29px}.church-meta{justify-content:center}.hero-status{position:static;justify-content:center;margin-top:14px}.module-grid,.admin-grid,.quick-grid,.grid.two,.grid.three,.stats-grid,.roles-grid,.policy-panel .rule-grid{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column;gap:4px}.section-title small{text-align:left}.screen-head{flex-direction:column;gap:4px}.room-row{grid-template-columns:1fr}.user-box{max-width:150px}.review-row{gap:8px}.history-summary{grid-template-columns:1fr}.history-total{text-align:left}.history-actions{justify-content:flex-start}.app-footer{flex-direction:column;gap:3px}}

/* Fase 3B — REFC funcional */
.danger-soft{border-color:#c5613a!important;color:#9f3e24!important;background:#fff8f4!important}
.delete-request-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e6ded2}
.delete-request-card:last-child{border-bottom:0}
.delete-request-card small{display:block;color:#6e747c;margin-top:4px}
.compact-empty{padding:12px 0!important}
.edit-dialog{max-width:850px;width:min(94vw,850px)}
.edit-dialog form>p{color:#6e747c;margin-top:-4px}
@media(max-width:720px){.delete-request-card{align-items:flex-start;flex-direction:column}.edit-dialog{width:96vw}}

.audit-card-button{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.audit-card-button:hover{border-color:var(--gold);box-shadow:0 5px 18px rgba(11,27,46,.07)}
.audit-detail-meta{margin:12px 0 18px}
.audit-changes{display:grid;gap:8px;margin-top:10px}
.audit-change{display:grid;grid-template-columns:minmax(150px,.8fr) 1.5fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#faf9f6}
.audit-change span{color:var(--muted);font-size:12px}
.audit-change strong{color:var(--navy);font-size:13px}
.audit-change b{color:var(--terra);padding:0 5px}
.audit-note{border:1px solid var(--line);border-radius:11px;padding:12px;background:#faf9f6;color:var(--navy)}
.audit-safe{margin-top:10px;padding:9px 11px;border-radius:9px;background:#eef7ef;color:#315e3a;font-weight:700;font-size:12px}
@media(max-width:700px){.audit-change{grid-template-columns:1fr}.audit-card{grid-template-columns:minmax(82px,100px) minmax(0,1fr) auto;gap:9px}.audit-card .module-label{font-size:9px}}

.active-tag,.active-pill{background:#eef7ef!important;color:#315e3a!important;border-color:#c9dfcc!important}
.panel-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.result-info{font-size:12px;color:var(--muted);margin:8px 0 10px}
.consolidation-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px}
.consolidation-table{width:100%;border-collapse:collapse;min-width:900px;background:#fff}
.consolidation-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;padding:11px 12px;background:#faf9f6;border-bottom:1px solid var(--line)}
.consolidation-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:13px}
.consolidation-table tbody tr:last-child td{border-bottom:0}
.consolidation-table td strong{display:block;color:var(--navy)}
.consolidation-table td small{display:block;color:var(--muted);margin-top:2px}
.status-chip{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;border:1px solid var(--line)}
.status-active{background:#eef7ef;color:#315e3a;border-color:#c9dfcc}
.status-inactive{background:#f5f5f5;color:#676767}
.status-completed{background:#fff6df;color:#77570d;border-color:#ead39a}
@media(max-width:760px){.export-actions .btn{width:100%}.consolidation-filters{grid-template-columns:1fr!important}}

/* Fase 4A.2 — filtros da Auditoria */
.audit-filter-panel{margin-bottom:14px}
.audit-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.audit-filter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.audit-filter-actions .btn{min-width:150px}
#auditResultInfo{margin-top:12px}
@media(max-width:980px){.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.audit-filter-grid{grid-template-columns:1fr}.audit-filter-actions .btn{width:100%}}

/* Fase 4A.3 — Gestão de Usuários */
.user-create-panel{margin-bottom:14px}
.user-role-block{margin:14px 0}
.user-role-block>strong{display:block;color:var(--navy);font-size:13px}
.user-role-block>small{display:block;color:var(--muted);font-size:11px;margin:3px 0 9px}
.user-role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.user-role-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:11px;padding:10px;background:#faf9f6;cursor:pointer}
.user-role-option input{width:auto;margin-top:2px}
.user-role-option span{display:block}
.user-role-option strong{display:block;font-size:12px;color:var(--navy)}
.user-role-option small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.toggle-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:10px 0}
.toggle-row input{width:auto}
.users-list{display:grid;gap:9px}
.user-admin-card{display:grid;grid-template-columns:44px minmax(0,1.5fr) minmax(170px,.8fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px}
.user-avatar{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:17px}
.user-admin-main{min-width:0}
.user-admin-main>strong{display:block;color:var(--navy)}
.user-admin-main>small{display:block;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.user-role-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.user-role-tags span{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px;background:#eef1f4;color:#344250}
.user-admin-meta{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.user-admin-meta small{font-size:10px;color:var(--muted)}
.status-pill{font-size:9px;font-weight:900;border-radius:999px;padding:5px 8px}
.status-pill.active{background:#e9f5ea;color:#2f6638}
.status-pill.inactive{background:#f2eeee;color:#7b5c5c}
.password-reset-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.user-edit-dialog hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.functional-pill{background:#eef7ef;color:#315e3a;border-color:#cfe3d2}
@media(max-width:900px){
  .user-role-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-admin-card{grid-template-columns:44px 1fr auto}
  .user-admin-meta{grid-column:2/3}
  .user-edit-btn{grid-row:1/3;grid-column:3/4}
}
@media(max-width:620px){
  .user-role-options{grid-template-columns:1fr}
  .user-admin-card{grid-template-columns:40px 1fr}
  .user-admin-meta{grid-column:2}
  .user-edit-btn{grid-column:1/-1;grid-row:auto;width:100%}
  .password-reset-row{grid-template-columns:1fr}
}

/* Fase 5A — Kids funcional */
.active-tag{background:#eaf6ec!important;color:#2e6537!important;border-color:#cbe2cf!important}
.kids-room-admin{margin-bottom:14px}
.kids-rooms-admin-list{display:grid;gap:8px;margin-top:14px}
.kids-room-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#faf9f6}
.kids-room-admin-card strong{display:block;color:var(--navy)}
.kids-room-admin-card small{display:block;color:var(--muted);margin-top:2px}
.kids-report-room{grid-template-columns:minmax(150px,1.3fr) minmax(80px,.55fr) minmax(90px,.65fr) minmax(130px,1fr) minmax(150px,1.2fr)}
.kids-report-room .room-info{align-self:center}
.kids-report-room label{margin:0}
.kids-total-box{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:9px 0 18px;padding:10px 14px;border-radius:11px;background:var(--navy);color:#fff}
.kids-total-box span{font-size:12px}
.kids-total-box strong{font-size:24px;color:var(--gold)}
.kids-issues{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.kids-issues label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#faf9f6}
.kids-issues input{width:auto}
.kids-history-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
.kids-history-card>div:first-child strong{display:block;color:var(--navy)}
.kids-history-card>div:first-child small{display:block;color:var(--muted);margin-top:3px}
.status-draft{background:#fff5de;color:#7a5a13}
.status-submitted{background:#e9f5ea;color:#2f6638}
.status-frozen{background:#edf0f4;color:#455260}
.kids-detail-rooms{display:grid;gap:7px;margin:8px 0 15px}
.kids-detail-rooms>div{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:9px;padding:8px 10px}
.kids-detail-rooms span{color:var(--muted);font-size:11px}
.kids-detail-dialog h3{margin-top:18px}
@media(max-width:1050px){
  .kids-report-room{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kids-report-room .room-info{grid-column:1/-1}
  .kids-room-notes-label{grid-column:1/-1}
}
@media(max-width:720px){
  .kids-room-admin-card,.kids-history-card{grid-template-columns:1fr}
  .kids-report-room{grid-template-columns:1fr}
  .kids-room-notes-label,.kids-report-room .room-info{grid-column:auto}
  .kids-detail-rooms>div{flex-direction:column}
}

/* Fase 5B — Fotos privadas do Kids */
.kids-photo-manager{margin:14px 0;border:1px solid var(--line);border-radius:13px;padding:14px;background:#faf9f6}
.kids-photo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.kids-photo-head strong{display:block;color:var(--navy);font-size:15px}
.kids-photo-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.privacy-badge{font-size:9px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:6px 9px;background:#e9eef4;color:#23374b;white-space:nowrap}
.kids-photo-upload-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}
.kids-photo-upload-row input[type=file]{background:#fff}
.kids-photo-help{display:block;color:var(--muted);font-size:10px;margin-top:7px}
.kids-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.kids-photo-card{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;min-width:0}
.kids-photo-open{display:block;width:100%;height:150px;padding:0;border:0;background:#eef1f4;cursor:pointer}
.kids-photo-open img{width:100%;height:100%;object-fit:cover;display:block}
.kids-photo-loading{height:150px;display:grid;place-items:center;text-align:center;padding:12px;color:var(--muted);font-size:11px;background:#eef1f4}
.kids-photo-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px}
.kids-photo-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.btn.danger{border-color:#d76955;color:#a94735;background:#fff}
.btn.danger:hover{background:#fff0ec}
@media(max-width:800px){
  .kids-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .kids-photo-grid{grid-template-columns:1fr}
  .kids-photo-upload-row{grid-template-columns:1fr}
  .kids-photo-upload-row .btn{width:100%}
}


/* ============================================================
   Fase 6A — Pequenos Grupos
   ============================================================ */
.pg-group-list,.pg-participant-list{display:grid;gap:10px}
.pg-group-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px}
.pg-group-cover{width:92px;height:70px;border-radius:10px;background:#f0ece5;display:grid;place-items:center;font-size:26px;color:var(--muted);overflow:hidden}
.pg-group-cover img{width:100%;height:100%;object-fit:cover;display:block}
.pg-group-card-main{min-width:0}
.pg-group-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pg-group-card-main>small{display:block;color:var(--muted);margin-bottom:6px}
.pg-group-meta{display:flex;flex-wrap:wrap;gap:7px}
.pg-group-meta span{font-size:10px;background:#f7f5f1;border:1px solid var(--line);border-radius:999px;padding:4px 7px;color:var(--muted)}
.pg-cover-preview{margin-top:10px}
.pg-cover-open{display:block;width:min(100%,460px);height:230px;border:0;padding:0;border-radius:13px;overflow:hidden;cursor:pointer;background:#eef1f4}
.pg-cover-open img{display:block;width:100%;height:100%;object-fit:cover}
.pg-cover-loading{width:min(100%,460px);height:230px;display:grid;place-items:center;background:#eef1f4;border-radius:13px;color:var(--muted)}
.pg-participant-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px}
.pg-participant-card strong,.pg-participant-card small{display:block}
.pg-participant-card small{color:var(--muted);margin-top:3px}
.pg-inline-toggle{align-self:end;min-height:44px}
.pg-report-panel .form-block{margin-top:15px}
.pg-photo-manager{margin-top:8px}
.pg-history-card{grid-template-columns:minmax(0,1fr) auto auto}
.pg-detail-dialog{max-width:820px}
.pg-detail-dialog h3{margin-top:20px}
@media(max-width:760px){
  .pg-group-card{grid-template-columns:72px minmax(0,1fr)}
  .pg-group-cover{width:72px;height:64px}
  .pg-group-card>.btn{grid-column:1/-1;width:100%}
  .pg-participant-card{grid-template-columns:1fr auto}
  .pg-participant-card>.btn{grid-column:1/-1;width:100%}
  .pg-history-card{grid-template-columns:1fr}
}


/* Fase 7A — Staff / Diaconato */
.staff-module .module-icon{font-size:23px}
.staff-function-list,.staff-member-list,.staff-assignment-list,.staff-occurrence-list{display:grid;gap:9px;margin-top:10px}
.staff-simple-card,.staff-member-card,.staff-occurrence-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px}
.staff-simple-card strong,.staff-simple-card small,.staff-member-card strong,.staff-member-card small,.staff-occurrence-card strong,.staff-occurrence-card small,.staff-assignment-person strong,.staff-assignment-person small{display:block}
.staff-simple-card small,.staff-member-card small,.staff-occurrence-card small,.staff-assignment-person small{color:var(--muted);margin-top:3px}
.staff-functions-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}
.staff-functions-fieldset legend{padding:0 7px;font-size:12px;font-weight:800;color:var(--navy)}
.staff-function-checks{display:flex;flex-wrap:wrap;gap:8px}
.staff-function-check{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px}
.staff-function-check input{margin:0}.staff-inline-toggle{align-self:end;min-height:44px}
.staff-assignment-builder{border:1px solid var(--line);background:#faf9f6;border-radius:13px;padding:13px;margin:14px 0}.staff-assignment-builder h3{margin-top:0}
.staff-assignment-card{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(160px,1fr) auto;gap:9px;align-items:end;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px}.staff-assignment-card label{margin:0}.staff-assignment-card select,.staff-assignment-card input{margin-top:4px}
.staff-history-card{grid-template-columns:minmax(0,1fr) auto auto}.staff-occurrence-card{grid-template-columns:minmax(0,1fr) auto}.staff-occurrence-card.severity-attention{border-left:4px solid #d6a43f}.staff-occurrence-card.severity-important{border-left:4px solid #b85445}
.staff-detail-dialog{max-width:820px}.staff-detail-dialog h3{margin-top:18px}.staff-detail-assignments{display:grid;gap:8px}.staff-detail-assignment{grid-template-columns:1fr;align-items:center}
@media(max-width:900px){.staff-assignment-card{grid-template-columns:1fr 1fr}.staff-assignment-card>.btn{grid-column:1/-1;width:100%}}
@media(max-width:760px){.staff-simple-card,.staff-member-card,.staff-occurrence-card,.staff-history-card,.staff-assignment-card{grid-template-columns:1fr}.staff-simple-card>.btn,.staff-member-card>.btn,.staff-assignment-card>.btn{width:100%}}


/* ============================================================
   Fase 7C — Relatório mensal Staff / Diaconato
   ============================================================ */
.staff-monthly-panel{overflow:hidden}
.staff-monthly-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin:12px 0 8px;
}
.staff-monthly-kpi{
  border:1px solid var(--line);
  border-radius:11px;
  background:#faf9f6;
  padding:10px;
}
.staff-monthly-kpi span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.staff-monthly-kpi strong{
  display:block;
  color:var(--navy);
  font-size:20px;
  margin-top:4px;
}
.staff-monthly-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
  margin-top:10px;
  background:#fff;
}
.staff-monthly-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
  font-size:11px;
}
.staff-monthly-table th{
  text-align:left;
  background:#f4f1eb;
  color:var(--navy);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.03em;
  padding:9px;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.staff-monthly-table td{
  padding:9px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.staff-monthly-table tr:last-child td{border-bottom:0}
.staff-monthly-table td:not(:first-child),.staff-monthly-table th:not(:first-child){text-align:center}
.staff-monthly-table td strong{display:block}
.staff-monthly-inactive,.staff-monthly-pending{
  display:block;
  color:var(--muted);
  font-size:8px;
  margin-top:2px;
}
.staff-count{
  display:inline-grid;
  place-items:center;
  min-width:25px;
  min-height:25px;
  border-radius:999px;
  padding:0 6px;
  font-weight:800;
}
.staff-count-present{background:#edf7ef;color:#2c6b38}
.staff-count-absent{background:#fff0ed;color:#a94938}
.staff-count-excused{background:#fff8e7;color:#896a1e}
.staff-rate{
  display:inline-block;
  border-radius:999px;
  padding:4px 8px;
  background:#eef2f5;
  color:var(--navy);
  font-weight:800;
}
.staff-rate-empty{color:var(--muted);font-weight:600}
@media(max-width:950px){
  .staff-monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .staff-monthly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .staff-monthly-panel .panel-title-row>.btn{width:100%}
}


/* ============================================================
   Fase 8A — Membresia / Gestão de Pessoas
   ============================================================ */
.public-membership-screen{min-height:100vh;background:linear-gradient(180deg,#0b1b2e 0,#102a45 46%,#f3efe8 46%);padding:28px 16px}
.public-membership-shell{width:min(100%,520px);margin:0 auto;min-height:calc(100vh - 56px);display:grid;place-items:center}
.public-membership-card{width:100%;background:#fff;border-radius:20px;padding:28px;box-shadow:0 18px 55px rgba(0,0,0,.18)}
.public-membership-logo{width:92px;height:92px;object-fit:cover;border-radius:18px;display:block;margin:18px auto 12px}
.public-membership-eyebrow{display:block;text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--terra)}
.public-membership-card h1{text-align:center;color:var(--navy);margin:7px 0}
.public-membership-card>p{text-align:center;color:var(--muted);margin:0 0 18px}
.public-membership-card form{display:grid;gap:12px}
.public-consent-row{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:9px!important;background:#faf9f6;border:1px solid var(--line);border-radius:12px;padding:11px}
.public-consent-row input{margin-top:3px;width:auto!important}
.public-consent-row span{font-size:10px;line-height:1.5;color:var(--muted)}
.public-membership-message{margin-top:12px;padding:0;text-align:center;font-size:12px}
.public-membership-message.success,.public-membership-message.error{padding:11px;border-radius:10px}
.public-membership-message.success{background:#edf7ef;color:#2e6b39}
.public-membership-message.error{background:#fff0ed;color:#a94938}
.membership-public-link-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.membership-public-link-row input{background:#f7f5f1;font-family:monospace;font-size:10px}
.membership-people-list{display:grid;gap:9px;margin-top:10px}
.membership-person-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 13px}
.membership-person-main small{display:block;color:var(--muted);margin-top:4px;font-size:10px}
.membership-person-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.membership-status-pending{background:#fff8e7!important;color:#85661a!important}
.membership-status-visitor{background:#eef4fb!important;color:#315d88!important}
.membership-status-congregant{background:#f2eff9!important;color:#634b8a!important}
.membership-status-member{background:#edf7ef!important;color:#2e6b39!important}
.membership-status-inactive,.membership-status-transferred{background:#f1f1f1!important;color:#696969!important}
.membership-origin-box{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0;background:#faf9f6}
.membership-origin-box span{color:var(--muted);font-size:10px;text-transform:uppercase}
.membership-status-history{display:grid;gap:7px;max-height:250px;overflow:auto;margin:8px 0 16px}
.membership-history-item{display:flex;justify-content:space-between;gap:12px;border-left:3px solid var(--gold);background:#faf9f6;border-radius:8px;padding:8px 10px}
.membership-history-item strong,.membership-history-item small{display:block}
.membership-history-item small{color:var(--muted);font-size:9px;margin-top:2px}
.membership-edit-dialog{max-width:760px}
@media(max-width:650px){.membership-public-link-row{grid-template-columns:1fr}.membership-public-link-row .btn{width:100%}.membership-person-card{grid-template-columns:1fr}.membership-person-card>.btn{width:100%}.public-membership-card{padding:22px 17px}}

.public-membership-message.duplicate{
  padding:11px;
  border-radius:10px;
  background:#fff0ed;
  color:#a9433e;
  font-weight:900;
  border:1px solid #efc8c3;
}


/* ============================================================
   Fase 8B — Membresia: relatórios e aniversariantes
   ============================================================ */
.membership-birthday-panel{overflow:hidden}
.membership-birthday-help{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:52px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 11px;
  background:#faf9f6;
}
.membership-birthday-help span{
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.membership-birthday-help strong{
  color:var(--navy);
  font-size:10px;
  margin-top:3px;
}
.membership-birthday-actions{
  align-items:flex-end;
  justify-content:flex-end;
  margin:0;
}
.membership-birthday-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.membership-birthday-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px;
  background:#fff;
}
.membership-birthday-date{
  display:grid;
  place-items:center;
  min-height:54px;
  border-radius:10px;
  background:#f4f1eb;
  color:var(--navy);
}
.membership-birthday-date strong{
  display:block;
  font-size:20px;
  line-height:1;
}
.membership-birthday-date span{
  display:block;
  color:var(--terra);
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
  margin-top:3px;
}
.membership-birthday-person strong{display:block;color:var(--navy)}
.membership-birthday-person small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.membership-export-actions{margin-top:13px;margin-bottom:4px}
.membership-filter-actions{margin-top:5px}
@media(max-width:820px){
  .membership-birthday-list{grid-template-columns:1fr}
  .membership-birthday-actions{justify-content:flex-start}
}
@media(max-width:650px){
  .membership-birthday-actions .btn,
  .membership-export-actions .btn{width:100%}
}


/* ============================================================
   Fase 8C — Perfil completo da pessoa
   ============================================================ */
.membership-profile-dialog{
  width:min(1120px,96vw);
  max-width:1120px;
  max-height:94vh;
  padding:22px;
}
.membership-profile-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding-right:28px;
  margin-bottom:14px;
}
.membership-profile-head h2{margin:3px 0}
.membership-profile-head p{margin:0;color:var(--muted)}
.membership-profile-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:12px 0 16px;
}
.membership-profile-link{
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px;
  background:#faf9f6;
}
.membership-profile-link span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.membership-profile-link strong{
  display:block;
  color:var(--navy);
  margin-top:4px;
}
.membership-profile-link small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:4px;
  line-height:1.4;
}
.membership-profile-link.loading{grid-column:1/-1}
.membership-profile-section{
  border-top:1px solid var(--line);
  padding-top:15px;
  margin-top:15px;
}
.membership-profile-section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:11px;
}
.membership-profile-section-title h3{margin:0;color:var(--navy)}
.membership-profile-section-title small{display:block;color:var(--muted);margin-top:3px}
.membership-profile-section .membership-origin-box{margin:0;min-width:145px}
.membership-address-wide{grid-column:span 2}
.membership-family-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.membership-family-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  padding:10px;
}
.membership-family-card strong{display:block;color:var(--navy)}
.membership-family-card small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.membership-family-form{
  border:1px dashed var(--line);
  border-radius:12px;
  padding:12px;
  background:#faf9f6;
}
.membership-profile-dialog input:disabled,
.membership-profile-dialog select:disabled,
.membership-profile-dialog textarea:disabled{
  background:#f2f2f2;
  color:#6f747b;
  cursor:not-allowed;
}
@media(max-width:850px){
  .membership-profile-links{grid-template-columns:1fr}
  .membership-family-list{grid-template-columns:1fr}
}
@media(max-width:700px){
  .membership-profile-dialog{padding:15px}
  .membership-profile-head,.membership-profile-section-title{flex-direction:column}
  .membership-address-wide{grid-column:span 1}
}


/* ============================================================
   FASE 8C.1 — PERFIL COMPLETO: AJUSTE VISUAL DA FICHA INDIVIDUAL
   Mantém todos os IDs e funcionalidades da Fase 8C.
   ============================================================ */

/* Janela principal */
.membership-profile-dialog{
  width:min(1180px,96vw);
  max-width:1180px;
  max-height:94vh;
  padding:0;
  overflow:auto;
  border:0;
  border-radius:20px;
  background:#f7f4ee;
  box-shadow:0 24px 70px rgba(11,27,46,.22);
}

/* Cabeçalho */
.membership-profile-dialog > .dialog-close{
  position:sticky;
  top:14px;
  float:right;
  margin:14px 14px 0 0;
  z-index:8;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 3px 12px rgba(11,27,46,.08);
}

.membership-profile-head{
  margin:0;
  padding:26px 72px 20px 26px;
  background:#fff;
  border-bottom:1px solid var(--line);
  align-items:center;
}

.membership-profile-head > div:first-child{
  min-width:0;
}

.membership-profile-head h2{
  margin:4px 0 5px;
  font-size:24px;
  line-height:1.15;
  color:var(--navy);
  overflow-wrap:anywhere;
}

.membership-profile-head p{
  margin:0;
  color:var(--muted);
  font-size:11px;
}

.membership-profile-head .status-chip{
  flex:0 0 auto;
  max-width:220px;
  white-space:normal;
  text-align:center;
  line-height:1.25;
}

/* Vínculos principais */
.membership-profile-links{
  margin:16px 20px 0;
  gap:10px;
}

.membership-profile-link{
  position:relative;
  min-width:0;
  padding:13px 14px 13px 16px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 2px 8px rgba(11,27,46,.035);
}

.membership-profile-link::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--terra);
}

.membership-profile-link span{
  padding-left:2px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
}

.membership-profile-link strong{
  margin-top:5px;
  font-size:15px;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.membership-profile-link small{
  margin-top:5px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Corpo da ficha */
#membershipEditForm,
.membership-profile-dialog > .membership-profile-section{
  margin-left:20px;
  margin-right:20px;
}

#membershipEditForm{
  margin-top:14px;
}

.membership-profile-section{
  margin-top:12px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 2px 8px rgba(11,27,46,.025);
}

.membership-profile-section + .membership-profile-section{
  margin-top:12px;
}

.membership-profile-section-title{
  min-height:48px;
  margin-bottom:14px;
  align-items:center;
}

.membership-profile-section-title > div:first-child{
  min-width:0;
}

.membership-profile-section-title h3{
  margin:0;
  font-size:16px;
  line-height:1.2;
}

.membership-profile-section-title small{
  margin-top:4px;
  font-size:9px;
  line-height:1.4;
}

/* Campos */
.membership-profile-dialog label{
  min-width:0;
}

.membership-profile-dialog input,
.membership-profile-dialog select,
.membership-profile-dialog textarea{
  width:100%;
  min-width:0;
}

.membership-profile-dialog textarea{
  resize:vertical;
}

/* Card Origem — correção principal */
.membership-profile-section .membership-origin-box,
.membership-profile-section .membership-origin-card{
  flex:0 1 235px;
  min-width:180px;
  max-width:280px;
  min-height:62px;
  margin:0;
  padding:10px 13px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
  background:#faf8f3;
  border:1px solid var(--line);
  border-radius:12px;
  box-sizing:border-box;
  overflow:hidden;
}

.membership-origin-box span,
.membership-origin-card span{
  display:block;
  width:100%;
  margin:0;
  color:var(--muted);
  font-size:8px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:normal;
}

.membership-origin-box strong,
.membership-origin-card strong{
  display:block;
  width:100%;
  margin:0;
  color:var(--navy);
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Jornada */
.membership-profile-section textarea#membershipEditNotes{
  margin-top:4px;
}

/* Barra de ações */
#membershipEditActions{
  position:sticky;
  bottom:0;
  z-index:6;
  margin:14px -20px 0;
  padding:12px 20px;
  background:rgba(247,244,238,.96);
  border-top:1px solid var(--line);
  backdrop-filter:blur(7px);
}

/* Família */
.membership-family-section{
  margin-top:14px !important;
}

.membership-family-card{
  min-width:0;
  align-items:flex-start;
  border-radius:13px;
  box-shadow:0 1px 5px rgba(11,27,46,.025);
}

.membership-family-card > div{
  min-width:0;
}

.membership-family-card strong,
.membership-family-card small{
  overflow-wrap:anywhere;
}

.membership-family-form{
  padding:14px;
  border-radius:13px;
  background:#faf8f3;
}

/* Histórico */
.membership-status-history{
  display:grid;
  gap:7px;
}

.membership-history-item{
  border-radius:11px;
}

/* Espaço inferior */
.membership-profile-dialog > .membership-profile-section:last-child{
  margin-bottom:22px;
}

/* Desktop largo */
@media(min-width:1000px){
  .membership-profile-dialog .grid.three{
    gap:12px;
  }

  .membership-profile-dialog .grid.four{
    gap:12px;
  }
}

/* Tablet */
@media(max-width:900px){
  .membership-profile-links{
    grid-template-columns:1fr;
  }

  .membership-profile-section-title{
    align-items:flex-start;
  }

  .membership-profile-section .membership-origin-box,
  .membership-profile-section .membership-origin-card{
    max-width:100%;
    width:100%;
    flex-basis:auto;
  }
}

/* Mobile */
@media(max-width:700px){
  .membership-profile-dialog{
    width:100vw;
    max-width:100vw;
    max-height:100vh;
    min-height:100vh;
    border-radius:0;
  }

  .membership-profile-dialog > .dialog-close{
    top:10px;
    margin:10px 10px 0 0;
  }

  .membership-profile-head{
    padding:22px 58px 18px 16px;
    flex-direction:column;
    align-items:flex-start;
  }

  .membership-profile-head .status-chip{
    margin-top:7px;
  }

  .membership-profile-links,
  #membershipEditForm,
  .membership-profile-dialog > .membership-profile-section{
    margin-left:12px;
    margin-right:12px;
  }

  .membership-profile-section{
    padding:14px;
    border-radius:14px;
  }

  .membership-profile-section-title{
    flex-direction:column;
    align-items:stretch;
    gap:9px;
  }

  .membership-profile-section .membership-origin-box,
  .membership-profile-section .membership-origin-card{
    width:100%;
    min-width:0;
    max-width:none;
  }

  #membershipEditActions{
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
  }

  #membershipEditActions .btn{
    flex:1 1 auto;
  }
}


/* ============================================================
   FASE 8D — BATISMO E INTEGRAÇÃO
   ============================================================ */
.journey-module .module-icon{
  background:#f4ede4;
  color:var(--terra);
}
.journey-tabs{
  display:flex;
  gap:8px;
  margin:14px 0;
  padding:5px;
  width:max-content;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.journey-tab{
  border:0;
  border-radius:9px;
  padding:9px 18px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.journey-tab.active{
  background:var(--navy);
  color:#fff;
}
.journey-list{
  display:grid;
  gap:9px;
  margin-top:12px;
}
.journey-card{
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.journey-card-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.journey-card-main strong{
  display:block;
  color:var(--navy);
  font-size:14px;
}
.journey-card-main small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.journey-card-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.journey-card-meta span{
  min-width:0;
  padding:7px 9px;
  border-radius:9px;
  background:#faf8f3;
  color:var(--muted);
  font-size:9px;
  overflow-wrap:anywhere;
}
.journey-card-meta b{
  color:var(--navy);
}
.journey-card-note{
  margin:9px 0 0;
  padding:8px 10px;
  border-left:3px solid var(--gold);
  background:#fffaf0;
  border-radius:0 8px 8px 0;
  color:#5f6670;
  font-size:10px;
}
.journey-status{
  flex:0 0 auto;
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  background:#eef1f4;
  color:var(--navy);
}
.journey-status-in_progress,
.journey-status-preparation{
  background:#fff7df;
  color:#7a5c0e;
}
.journey-status-completed,
.journey-status-baptized,
.journey-status-approved{
  background:#eaf6ed;
  color:#2f6e3b;
}
.journey-status-scheduled{
  background:#eaf1fb;
  color:#315d8b;
}
.journey-status-paused,
.journey-status-postponed{
  background:#fff1e8;
  color:#94562e;
}
.journey-status-cancelled{
  background:#fff0ed;
  color:#a9433e;
}
.journey-step-list{
  display:grid;
  gap:7px;
  margin-top:13px;
}
.journey-step-item{
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#faf9f6;
}
.journey-step-item strong{
  display:block;
  color:var(--navy);
}
.journey-step-item small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:3px;
}
@media(max-width:850px){
  .journey-card-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .journey-tabs{
    width:100%;
  }
  .journey-tab{
    flex:1;
    padding:9px 10px;
  }
  .journey-card-main{
    flex-direction:column;
  }
  .journey-card-meta{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   FASE 9A — AGENDA & EVENTOS
   ============================================================ */
.calendar-module .module-icon{
  background:#edf2f7;
  color:var(--navy);
}
.calendar-main-panel{overflow:hidden}
.calendar-head-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.calendar-head-actions strong{
  min-width:150px;
  text-align:center;
  color:var(--navy);
  font-size:12px;
}
.calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:1px;
  margin-top:12px;
  background:var(--line);
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  overflow:hidden;
}
.calendar-weekdays span{
  padding:8px 4px;
  text-align:center;
  background:#f4f1eb;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.calendar-month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:0 0 12px 12px;
  overflow:hidden;
}
.calendar-day{
  min-height:112px;
  padding:7px;
  background:#fff;
  position:relative;
}
.calendar-day-out{
  background:#faf9f6;
  color:#a8a9ab;
}
.calendar-day-today{
  box-shadow:inset 0 0 0 2px var(--gold);
}
.calendar-day-number{
  font-size:10px;
  font-weight:900;
  color:var(--navy);
  margin-bottom:6px;
}
.calendar-day-out .calendar-day-number{color:#a8a9ab}
.calendar-day-events{
  display:grid;
  gap:4px;
}
.calendar-mini-event{
  width:100%;
  min-width:0;
  border:0;
  border-left:3px solid var(--terra);
  border-radius:6px;
  padding:4px 5px;
  background:#faf7f2;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.calendar-mini-event span{
  display:block;
  color:var(--muted);
  font-size:7px;
  line-height:1.1;
}
.calendar-mini-event strong{
  display:block;
  margin-top:2px;
  color:var(--navy);
  font-size:8px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-mini-worship{border-left-color:#9c6bc0}
.calendar-mini-meeting{border-left-color:#5e84b2}
.calendar-mini-small_group{border-left-color:#57916a}
.calendar-mini-baptism{border-left-color:#5599c2}
.calendar-mini-integration{border-left-color:#d0a43b}
.calendar-mini-kids{border-left-color:#d98465}
.calendar-mini-staff{border-left-color:#9a7e61}
.calendar-more{
  color:var(--muted);
  font-size:7px;
  padding-left:3px;
}
.calendar-event-list{
  display:grid;
  gap:9px;
  margin-top:12px;
}
.calendar-event-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:12px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.calendar-event-date{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:60px;
  border-radius:10px;
  background:#f4f1eb;
  color:var(--navy);
}
.calendar-event-date strong{
  font-size:22px;
  line-height:1;
}
.calendar-event-date span{
  color:var(--terra);
  font-size:8px;
  font-weight:900;
  margin-top:3px;
}
.calendar-event-content{min-width:0}
.calendar-event-title-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.calendar-event-title-row strong{
  display:block;
  color:var(--navy);
  font-size:13px;
}
.calendar-event-title-row small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:3px;
}
.calendar-event-content p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:10px;
}
.calendar-event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:8px;
  color:var(--muted);
  font-size:9px;
}
.calendar-event-meta b{color:var(--navy)}
.calendar-status{
  flex:0 0 auto;
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.calendar-status-draft{background:#eef1f4;color:#59636f}
.calendar-status-published{background:#eaf6ed;color:#2f6e3b}
.calendar-status-completed{background:#eaf1fb;color:#315d8b}
.calendar-status-cancelled{background:#fff0ed;color:#a9433e}
.calendar-check-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:9px 11px;
  min-height:43px;
}
.calendar-check-label input{
  width:auto;
  min-width:auto;
}
@media(max-width:900px){
  .calendar-month-grid,.calendar-weekdays{min-width:760px}
  .calendar-main-panel{overflow-x:auto}
}
@media(max-width:650px){
  .calendar-head-actions{
    width:100%;
    flex-wrap:wrap;
  }
  .calendar-head-actions strong{
    order:-1;
    width:100%;
  }
  .calendar-event-card{
    grid-template-columns:48px minmax(0,1fr);
  }
  .calendar-event-title-row{
    flex-direction:column;
  }
}


/* ============================================================
   FASE 9B — RECORRÊNCIA E PARTICIPANTES
   ============================================================ */
.calendar-weekly-days{
  margin:10px 0 13px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#faf9f6;
}
.calendar-weekly-days>span{
  display:block;
  color:var(--navy);
  font-size:10px;
  font-weight:900;
  margin-bottom:7px;
}
.calendar-weekly-days>small{
  display:block;
  color:var(--muted);
  font-size:8px;
  margin-top:7px;
}
.calendar-weekday-checks{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.calendar-weekday-checks label{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:auto;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:9px;
  cursor:pointer;
}
.calendar-weekday-checks input{
  width:auto;
  min-width:auto;
}
.calendar-series-info{
  margin:10px 0 13px;
  padding:10px 12px;
  border-left:4px solid var(--gold);
  border-radius:0 10px 10px 0;
  background:#fffaf0;
}
.calendar-series-info strong{
  display:block;
  color:var(--navy);
  font-size:10px;
}
.calendar-series-info span,
.calendar-series-info small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
.calendar-participants-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.calendar-participant-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.calendar-participant-card>div{
  min-width:0;
}
.calendar-participant-card strong{
  display:block;
  color:var(--navy);
}
.calendar-participant-card small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:3px;
  overflow-wrap:anywhere;
}
.calendar-participant-card span{
  display:inline-block;
  margin-top:5px;
  padding:4px 7px;
  border-radius:999px;
  background:#eef2f5;
  color:var(--navy);
  font-size:8px;
  font-weight:900;
}
@media(max-width:720px){
  .calendar-participants-list{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   FASE 10A — COMUNICAÇÃO / NOTIFICAÇÕES
   ========================================================== */
.communications-module .module-icon{font-size:1.45rem}
.communication-channel-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.communication-channel{background:#fff;border:1px solid var(--line,#ddd5ca);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 7px 20px rgba(11,27,46,.04)}
.communication-channel strong{color:var(--navy);font-size:.94rem}.communication-channel small{color:#73777c;font-size:.76rem}
.communication-channel.active{border-color:rgba(74,134,92,.45);background:#f6fbf7}.communication-channel.active strong{color:#327247}
.communication-channel.future{opacity:.72}
.communication-template-create{margin:0 0 18px;border:1px dashed #d7cec1;border-radius:14px;padding:0 15px;background:#faf8f4}
.communication-template-create summary{cursor:pointer;font-weight:800;color:var(--navy);padding:14px 0}
.communication-template-create form{padding:0 0 16px}
.communication-template-list,.communication-history-list,.communication-inbox{display:grid;gap:12px}
.communication-template-card,.communication-history-card,.communication-inbox-card{border:1px solid #e0d9cf;border-radius:15px;background:#fff;padding:15px;box-shadow:0 6px 18px rgba(11,27,46,.035)}
.communication-template-card.inactive{opacity:.62}.communication-template-card-head,.communication-history-head,.communication-inbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.communication-template-card-head>div,.communication-history-head>div{display:flex;flex-direction:column;gap:3px}.communication-template-card small,.communication-history-card small,.communication-inbox-card small{color:#777b80}
.communication-template-card p,.communication-history-card p,.communication-inbox-card p{margin:9px 0;white-space:pre-wrap;line-height:1.5;color:#303944}
.communication-template-actions,.communication-history-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.communication-history-meta{padding-top:9px;border-top:1px solid #eee8df;color:#6d737a;font-size:.78rem}
.communication-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;background:#eef1f4;color:#53606c}
.communication-status-completed{background:#edf8ef;color:#38704a}.communication-status-draft{background:#f1f1f1;color:#62676b}.communication-status-scheduled{background:#fff5dd;color:#87610d}.communication-status-cancelled{background:#fff0ef;color:#a44942}
.communication-inbox-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px}.communication-inbox-card.unread{border-left:4px solid var(--gold);background:#fffdf8}.communication-inbox-card.read{opacity:.78}.communication-inbox-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0ece6;color:var(--navy);font-weight:900}.communication-inbox-card.unread .communication-inbox-icon{background:#fff0c7;color:#8b6500}.communication-inbox-copy{min-width:0}.communication-inbox-head span{font-size:.72rem;color:#85898e;white-space:nowrap}.communication-inbox-head strong{color:var(--navy)}
.communication-readonly .communication-template-actions [data-communication-toggle-template]{display:none}
@media(max-width:900px){.communication-channel-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-inbox-card{grid-template-columns:auto 1fr}.communication-inbox-card>button{grid-column:2;justify-self:start}}
@media(max-width:560px){.communication-channel-strip{grid-template-columns:1fr}.communication-inbox-head{flex-direction:column;gap:2px}.communication-inbox-head span{white-space:normal}}


/* FASE 10A.1 — DADOS DINÂMICOS DOS TEMPLATES */
.communication-dynamic-context{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid rgba(212,163,47,.38);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,250,235,.86),rgba(255,255,255,.94));
}
.communication-context-heading{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.communication-context-heading strong{display:block;color:var(--navy);font-size:.96rem}
.communication-context-heading small{display:block;margin-top:4px;color:#667085;line-height:1.45}
.communication-variable-help{display:block;margin-top:6px;color:#7a6031;font-size:.78rem;line-height:1.45}
.communication-dynamic-context select{background:#fff}
@media(max-width:700px){.communication-context-heading{flex-direction:column}.communication-context-heading .preview-pill{align-self:flex-start}}


/* ==========================================================
   FASE 10B — GATILHOS AUTOMÁTICOS
   ========================================================== */
.communication-automation-note{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 15px;
  padding:13px 15px;
  border:1px solid #dfe8df;
  border-radius:14px;
  background:#f7fbf7;
}
.communication-automation-note strong{
  color:#327247;
  white-space:nowrap;
}
.communication-automation-note span{
  color:#68726b;
  font-size:.8rem;
  line-height:1.45;
}
.communication-automation-rules{
  display:grid;
  gap:11px;
}
.communication-automation-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:14px;
  border:1px solid #e0d9cf;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 18px rgba(11,27,46,.035);
}
.communication-automation-card.inactive{
  opacity:.68;
  background:#fafafa;
}
.communication-automation-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f6f1e8;
  font-size:1.15rem;
}
.communication-automation-copy{
  min-width:0;
}
.communication-automation-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.communication-automation-card-head strong{
  display:block;
  color:var(--navy);
}
.communication-automation-card-head small{
  display:block;
  margin-top:3px;
  color:#777b80;
  font-size:.74rem;
}
.communication-automation-copy p{
  margin:7px 0;
  color:#4c5661;
  font-size:.82rem;
  line-height:1.45;
}
.communication-automation-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  color:#757b80;
  font-size:.72rem;
}
.communication-automation-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 8px;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
}
.communication-automation-state.on{
  background:#edf8ef;
  color:#38704a;
}
.communication-automation-state.off{
  background:#f1f1f1;
  color:#6b7075;
}
.communication-automation-history{
  margin-top:16px;
  border-top:1px solid #eee8df;
  padding-top:12px;
}
.communication-automation-history summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:800;
}
.communication-automation-runs{
  display:grid;
  gap:8px;
  margin-top:9px;
}
.communication-automation-run{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e8e2d9;
  border-radius:11px;
  background:#fff;
}
.communication-automation-run strong{
  display:block;
  color:var(--navy);
  font-size:.82rem;
}
.communication-automation-run small{
  display:block;
  margin-top:3px;
  color:#7a7f84;
  font-size:.7rem;
}
@media(max-width:700px){
  .communication-automation-note{
    flex-direction:column;
    gap:5px;
  }
  .communication-automation-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  .communication-automation-card>button{
    grid-column:2;
    justify-self:start;
  }
  .communication-automation-card-head{
    flex-direction:column;
    gap:6px;
  }
}


/* ==========================================================
   FASE 10C — REGRAS CONFIGURÁVEIS
   ========================================================== */
.communication-automation-card{
  align-items:flex-start;
}
.communication-automation-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:stretch;
  min-width:108px;
}
.communication-automation-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:12px;
  max-width:330px;
}
.communication-automation-field>span{
  color:#4a5560;
  font-size:.73rem;
  font-weight:800;
}
.communication-automation-field select,
.communication-automation-field input{
  width:100%;
  min-height:38px;
  border:1px solid #d8d0c4;
  border-radius:10px;
  background:#fff;
  color:var(--navy);
  padding:8px 10px;
  font:inherit;
  font-size:.8rem;
}
.communication-automation-field-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.communication-automation-field-grid
.communication-automation-field{
  margin-top:0;
  max-width:none;
}
.communication-automation-number-wrap{
  display:grid;
  grid-template-columns:minmax(70px,100px) 1fr;
  align-items:center;
  gap:7px;
}
.communication-automation-number-wrap small{
  color:#777d82;
  font-size:.71rem;
}
.communication-automation-card.inactive
.communication-automation-field{
  opacity:.8;
}
@media(max-width:850px){
  .communication-automation-field-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .communication-automation-actions{
    grid-column:2;
    flex-direction:row;
    flex-wrap:wrap;
    min-width:0;
  }
}


/* ==========================================================
   FASE 10D — CANAIS E PREFERÊNCIAS
   ========================================================== */
.communication-channel-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.communication-channel-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid #e2dbd1;
  border-radius:15px;
  background:#fff;
}
.communication-channel-card.enabled{
  border-color:#cfe1d1;
  background:#fbfefb;
}
.communication-channel-card-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f6f1e8;
  font-size:1.15rem;
}
.communication-channel-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.communication-channel-card-head strong{
  color:var(--navy);
}
.communication-channel-card-copy p{
  margin:7px 0;
  color:#58616b;
  font-size:.8rem;
  line-height:1.45;
}
.communication-channel-card-copy small{
  color:#7d8186;
  font-size:.7rem;
}
.communication-channel-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:.61rem;
  font-weight:900;
  white-space:nowrap;
}
.communication-channel-state.on{
  background:#edf8ef;
  color:#327247;
}
.communication-channel-state.waiting{
  background:#f6f1e8;
  color:#8b6d3f;
}
.communication-preference-selector{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.communication-preference-person-info{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  margin-bottom:12px;
  border:1px solid #e4ddd3;
  border-radius:13px;
  background:#faf9f7;
}
.communication-preference-person-info strong{
  display:block;
  color:var(--navy);
}
.communication-preference-person-info small{
  display:block;
  margin-top:3px;
  color:#73787e;
  font-size:.74rem;
}
.communication-preference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.communication-preference-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 14px;
  border:1px solid #e2dbd2;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
}
.communication-preference-card.internal{
  background:#fbfefb;
  border-color:#d5e4d6;
}
.communication-preference-card strong{
  display:block;
  color:var(--navy);
}
.communication-preference-card small{
  display:block;
  margin-top:4px;
  color:#747a80;
  font-size:.7rem;
  line-height:1.35;
}
.communication-preference-card input{
  width:20px;
  height:20px;
  accent-color:#8a5b2b;
  flex:0 0 auto;
}
.communication-consent-warning{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid #ead9b8;
  border-radius:12px;
  background:#fffaf0;
}
.communication-consent-warning strong{
  color:#815f28;
  white-space:nowrap;
}
.communication-consent-warning span{
  color:#6f6658;
  font-size:.75rem;
  line-height:1.45;
}
.communication-consent-history-wrap{
  margin-top:14px;
  padding-top:11px;
  border-top:1px solid #eee8df;
}
.communication-consent-history-wrap summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:800;
}
.communication-consent-history{
  display:grid;
  gap:7px;
  margin-top:8px;
}
.communication-consent-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 11px;
  border:1px solid #e7e1d8;
  border-radius:11px;
  background:#fff;
}
.communication-consent-row strong{
  display:block;
  color:var(--navy);
  font-size:.8rem;
}
.communication-consent-row small{
  display:block;
  margin-top:3px;
  color:#7a7f84;
  font-size:.68rem;
}
.communication-consent-action{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:.63rem;
  font-weight:900;
}
.communication-consent-action.positive{
  background:#edf8ef;
  color:#337048;
}
.communication-consent-action.negative{
  background:#f8eeee;
  color:#90504f;
}
@media(max-width:800px){
  .communication-channel-cards,
  .communication-preference-grid,
  .communication-preference-selector{
    grid-template-columns:1fr;
  }
  .communication-channel-card-head{
    flex-direction:column;
  }
  .communication-consent-warning{
    flex-direction:column;
    gap:4px;
  }
}


/* ==========================================================
   FASE 10E — CONFIGURAÇÃO DO WHATSAPP
   ========================================================== */
.communication-whatsapp-security-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:13px 14px;
  margin-bottom:14px;
  border:1px solid #d6e3d7;
  border-radius:13px;
  background:#f7fbf7;
}
.communication-whatsapp-security-note strong{
  color:#39734b;
  white-space:nowrap;
}
.communication-whatsapp-security-note span{
  color:#5d685f;
  font-size:.76rem;
  line-height:1.45;
}
.communication-whatsapp-settings-form{
  display:grid;
  gap:14px;
}
.communication-whatsapp-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.communication-whatsapp-mode-card{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px;
  border:1px solid #e0d9cf;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
}
.communication-whatsapp-mode-card:has(input:checked){
  border-color:#c8a66b;
  background:#fffaf2;
  box-shadow:0 0 0 2px rgba(180,137,65,.08);
}
.communication-whatsapp-mode-card input{
  margin-top:2px;
  width:18px;
  height:18px;
  accent-color:#8a5b2b;
}
.communication-whatsapp-mode-card strong{
  display:block;
  color:var(--navy);
}
.communication-whatsapp-mode-card small{
  display:block;
  margin-top:4px;
  color:#747a80;
  font-size:.7rem;
  line-height:1.4;
}
.communication-whatsapp-fields-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.communication-whatsapp-fields-grid .span-2{
  grid-column:1/-1;
}
.communication-whatsapp-api-box{
  padding:14px;
  border:1px solid #e2dbd1;
  border-radius:14px;
  background:#faf9f7;
}
.communication-whatsapp-api-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.communication-whatsapp-api-head strong{
  display:block;
  color:var(--navy);
}
.communication-whatsapp-api-head small{
  display:block;
  margin-top:3px;
  color:#747a80;
  font-size:.71rem;
}
.communication-whatsapp-status-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.communication-whatsapp-status-summary>div{
  padding:10px 11px;
  border:1px solid #e4ddd3;
  border-radius:11px;
  background:#fff;
}
.communication-whatsapp-status-summary span{
  display:block;
  color:#7d8186;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.communication-whatsapp-status-summary strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
  font-size:.78rem;
}
@media(max-width:800px){
  .communication-whatsapp-mode-grid,
  .communication-whatsapp-fields-grid,
  .communication-whatsapp-status-summary{
    grid-template-columns:1fr;
  }
  .communication-whatsapp-fields-grid .span-2{
    grid-column:auto;
  }
  .communication-whatsapp-security-note,
  .communication-whatsapp-api-head{
    flex-direction:column;
  }
}


/* ============================================================
   FASE 10H — PAINEL DE INTEGRAÇÃO WHATSAPP
   ============================================================ */
.communication-whatsapp-integration-panel{overflow:hidden}
.communication-whatsapp-integration-banner{
  display:flex;align-items:flex-start;gap:13px;padding:15px 16px;margin:0 0 16px;
  border-radius:15px;border:1px solid #dfd5c7;background:#fbf8f2
}
.communication-whatsapp-integration-banner.waiting{border-color:#e7d9b1;background:#fffaf0}
.communication-whatsapp-integration-banner.attention{border-color:#e9c9a7;background:#fff7ef}
.communication-whatsapp-integration-banner.ok{border-color:#b9d9c0;background:#f3faf5}
.communication-whatsapp-integration-banner-icon{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 34px;
  background:#efe6d7;color:var(--navy);font-weight:900
}
.communication-whatsapp-integration-banner strong{display:block;color:var(--navy);font-size:.95rem}
.communication-whatsapp-integration-banner span{display:block;color:#636b73;font-size:.8rem;line-height:1.45;margin-top:3px}

.communication-whatsapp-health-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 16px
}
.communication-whatsapp-health-card{
  border:1px solid #e2dcd3;border-radius:14px;padding:13px 14px;background:#fff;
  display:flex;flex-direction:column;gap:4px;min-height:92px
}
.communication-whatsapp-health-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#777f87;font-weight:800}
.communication-whatsapp-health-card strong{font-size:.92rem;color:var(--navy)}
.communication-whatsapp-health-card small{font-size:.72rem;color:#7c8288;line-height:1.35}
.communication-whatsapp-health-card.ok{border-color:#bfdcc6;background:#f7fbf8}
.communication-whatsapp-health-card.ok strong{color:#347247}
.communication-whatsapp-health-card.waiting{border-color:#e3d6bd;background:#fffdf8}
.communication-whatsapp-health-card.waiting strong{color:#8a6519}

.communication-whatsapp-integration-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-bottom:14px
}
.communication-whatsapp-integration-box{
  border:1px solid #e0d9cf;border-radius:15px;background:#fff;padding:15px
}
.communication-whatsapp-integration-box-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px
}
.communication-whatsapp-integration-box-head strong{display:block;color:var(--navy)}
.communication-whatsapp-integration-box-head small{display:block;color:#7b8086;font-size:.75rem;margin-top:3px}
.communication-whatsapp-detail-list{display:grid;gap:0}
.communication-whatsapp-detail-list>div{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;
  border-top:1px solid #eee9e2
}
.communication-whatsapp-detail-list>div:first-child{border-top:0}
.communication-whatsapp-detail-list span{color:#70777e;font-size:.78rem}
.communication-whatsapp-detail-list strong{color:#283440;font-size:.8rem;text-align:right;word-break:break-word}

.communication-whatsapp-message-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.communication-whatsapp-message-stats>div{
  border:1px solid #ece6de;border-radius:12px;padding:11px;background:#faf9f7;
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.communication-whatsapp-message-stats span{font-size:.76rem;color:#727980}
.communication-whatsapp-message-stats strong{font-size:1rem;color:var(--navy)}

.communication-whatsapp-runtime-error{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:14px;
  border:1px solid #ecc0bc;border-radius:13px;background:#fff4f3
}
.communication-whatsapp-runtime-error strong{color:#9e413b;white-space:nowrap}
.communication-whatsapp-runtime-error span{color:#784f4b;font-size:.79rem;line-height:1.45}

.communication-whatsapp-log-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.communication-whatsapp-log-box{
  border:1px solid #e0d9cf;border-radius:15px;background:#fff;padding:15px;min-width:0
}
.communication-whatsapp-log-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;
  border-bottom:1px solid #eee8e0
}
.communication-whatsapp-log-head strong{display:block;color:var(--navy)}
.communication-whatsapp-log-head small{display:block;color:#7d8288;font-size:.74rem;margin-top:3px;line-height:1.4}
.communication-whatsapp-log-list{display:grid;gap:0;max-height:420px;overflow:auto}
.communication-whatsapp-log-row{
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px 0;
  border-bottom:1px solid #f0ebe4
}
.communication-whatsapp-log-row:last-child{border-bottom:0}
.communication-whatsapp-log-icon{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1eee9;
  color:var(--navy);font-weight:900
}
.communication-whatsapp-log-copy{min-width:0;display:grid;gap:3px}
.communication-whatsapp-log-title{
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px
}
.communication-whatsapp-log-title strong{font-size:.79rem;color:#303b46;min-width:0;overflow:hidden;text-overflow:ellipsis}
.communication-whatsapp-log-copy small{font-size:.7rem;color:#7d8388;word-break:break-word}
.communication-whatsapp-log-error{color:#a34740!important}
.communication-whatsapp-log-status{
  flex:0 0 auto;border-radius:999px;padding:4px 7px;font-size:.62rem;font-weight:900;
  background:#eef1f3;color:#56626d
}
.communication-whatsapp-log-status.ok{background:#edf8ef;color:#347247}
.communication-whatsapp-log-status.waiting{background:#fff5dd;color:#87610d}
.communication-whatsapp-log-status.error{background:#fff0ef;color:#a44942}

.communication-whatsapp-integration-footnote{
  display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:13px;
  border:1px solid #d9e1e8;background:#f7f9fb
}
.communication-whatsapp-integration-footnote strong{color:var(--navy);white-space:nowrap}
.communication-whatsapp-integration-footnote span{font-size:.78rem;color:#67727d;line-height:1.45}
.span-all{grid-column:1/-1}

@media(max-width:900px){
  .communication-whatsapp-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .communication-whatsapp-integration-grid,.communication-whatsapp-log-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .communication-whatsapp-health-grid{grid-template-columns:1fr}
  .communication-whatsapp-integration-banner,.communication-whatsapp-integration-footnote{flex-direction:column}
  .communication-whatsapp-integration-box-head,.communication-whatsapp-log-head,.communication-whatsapp-log-title{flex-direction:column}
  .communication-whatsapp-message-stats{grid-template-columns:1fr}
  .communication-whatsapp-detail-list>div{align-items:flex-start;flex-direction:column;gap:3px}
  .communication-whatsapp-detail-list strong{text-align:left}
}


/* ============================================================
   FASE 9C — INSCRIÇÕES E CHECK-IN
   ============================================================ */
.calendar-registration-stats{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  margin-bottom:15px
}
.calendar-registration-stat{
  border:1px solid #e2dcd3;
  border-radius:13px;
  background:#faf9f7;
  padding:11px 12px;
  min-width:0
}
.calendar-registration-stat span{
  display:block;
  color:#767d83;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:800
}
.calendar-registration-stat strong{
  display:block;
  color:var(--navy);
  font-size:1.15rem;
  margin-top:4px
}

.calendar-registration-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:18px
}
.calendar-registration-settings-card,
.calendar-registration-add-card{
  border:1px solid #e0d9cf;
  border-radius:15px;
  background:#fff;
  padding:15px
}
.calendar-registration-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid #eee8e0
}
.calendar-registration-card-head strong{
  display:block;
  color:var(--navy)
}
.calendar-registration-card-head small{
  display:block;
  color:#7c8288;
  font-size:.75rem;
  margin-top:3px
}
.calendar-registration-public-state{
  border-radius:999px;
  padding:5px 8px;
  font-size:.62rem;
  font-weight:900;
  white-space:nowrap
}
.calendar-registration-public-state.off{
  background:#fff2dd;
  color:#8a6415
}
.calendar-registration-public-state.on{
  background:#eaf6ed;
  color:#347247
}
.calendar-registration-public-note{
  border:1px solid #eadfc8;
  border-radius:11px;
  background:#fffaf1;
  padding:10px 11px;
  margin-top:10px;
  color:#6e6558;
  font-size:.75rem;
  line-height:1.4
}
.calendar-registration-capacity-info{
  min-height:36px;
  display:flex;
  align-items:center;
  padding:9px 11px;
  border-radius:10px;
  background:#f5f7f8;
  color:#5e6871;
  font-size:.75rem;
  margin-top:8px
}
.calendar-registration-capacity-info.full{
  background:#fff2ef;
  color:#a3453f;
  font-weight:800
}

.calendar-registration-list-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-top:1px solid #e8e1d8;
  padding-top:15px;
  margin-top:4px
}
.calendar-registration-list-head strong{
  display:block;
  color:var(--navy)
}
.calendar-registration-list-head small{
  display:block;
  margin-top:3px;
  color:#7c8288;
  font-size:.75rem
}
.calendar-registration-filters{
  margin:13px 0 5px
}
.calendar-registration-filter-info{
  display:flex;
  align-items:flex-end;
  min-height:100%
}
.calendar-registration-filter-info span{
  width:100%;
  padding:10px 11px;
  border:1px solid #e4ded6;
  border-radius:10px;
  background:#faf9f7;
  color:#727a81;
  font-size:.75rem
}
.calendar-registrations-list{
  display:grid;
  gap:9px;
  margin-top:12px
}
.calendar-registration-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  border:1px solid #e2dcd3;
  border-radius:14px;
  background:#fff;
  padding:13px 14px
}
.calendar-registration-card.checked-in{
  border-color:#b9d9c0;
  background:#f8fcf8
}
.calendar-registration-checkmark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f1eee9;
  color:#75808a;
  font-size:1.15rem;
  font-weight:900
}
.calendar-registration-card.checked-in .calendar-registration-checkmark{
  background:#dff1e3;
  color:#347247
}
.calendar-registration-copy{
  min-width:0
}
.calendar-registration-name-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px
}
.calendar-registration-name-row strong{
  display:block;
  color:var(--navy);
  font-size:.91rem
}
.calendar-registration-name-row small{
  display:block;
  color:#7a8187;
  font-size:.72rem;
  margin-top:3px
}
.calendar-registration-badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:5px
}
.calendar-registration-status,
.calendar-registration-presence{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 8px;
  font-size:.62rem;
  font-weight:900;
  white-space:nowrap
}
.calendar-registration-status-registered{
  background:#eef2f6;
  color:#52616d
}
.calendar-registration-status-confirmed{
  background:#eaf1fb;
  color:#315d8b
}
.calendar-registration-status-waitlist{
  background:#fff4dd;
  color:#886315
}
.calendar-registration-status-cancelled{
  background:#fff0ed;
  color:#a9433e
}
.calendar-registration-status-no_show{
  background:#f2eeee;
  color:#705b5b
}
.calendar-registration-presence{
  background:#e6f6e9;
  color:#2f7141
}
.calendar-registration-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:9px
}
.calendar-registration-meta span{
  color:#737a80;
  font-size:.7rem
}
.calendar-registration-meta b{
  color:#4c5862
}
.calendar-registration-actions{
  margin-top:10px
}
.calendar-registration-readonly form{
  opacity:.86
}

@media(max-width:1050px){
  .calendar-registration-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media(max-width:820px){
  .calendar-registration-layout{
    grid-template-columns:1fr
  }
}
@media(max-width:620px){
  .calendar-registration-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .calendar-registration-list-head,
  .calendar-registration-name-row{
    flex-direction:column
  }
  .calendar-registration-badges{
    justify-content:flex-start
  }
  .calendar-registration-card{
    grid-template-columns:34px minmax(0,1fr);
    padding:11px
  }
  .calendar-registration-checkmark{
    width:32px;height:32px
  }
}


/* ============================================================
   FASE 9D.1 — LINK PÚBLICO POR EVENTO
   ============================================================ */
.calendar-public-registration-config{
  margin-top:12px;
  border:1px solid #ddd5ca;
  border-radius:13px;
  background:#fbfaf8;
  padding:12px
}
.calendar-public-registration-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px
}
.calendar-public-registration-title-row strong{
  display:block;color:var(--navy)
}
.calendar-public-registration-title-row small{
  display:block;margin-top:3px;color:#747d84;font-size:.73rem
}
.calendar-public-toggle{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:7px;
  min-height:auto!important;
  font-size:.75rem!important;
  font-weight:800;
  color:#4f5962;
  white-space:nowrap
}
.calendar-public-toggle input{width:auto!important;margin:0}
.calendar-public-registration-fields{
  display:grid;
  gap:10px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e8e1d8
}
.calendar-public-link-box{
  border:1px solid #d9e1e8;
  background:#f7f9fb;
  border-radius:11px;
  padding:10px
}
.calendar-public-link-box>span{
  display:block;
  color:#58636d;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:6px
}
.calendar-public-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:6px
}
.calendar-public-link-row input{
  min-width:0;
  font-size:.72rem
}
.calendar-public-link-box small{
  display:block;
  margin-top:6px;
  color:#7a8289;
  font-size:.68rem
}
@media(max-width:680px){
  .calendar-public-registration-title-row{
    flex-direction:column
  }
  .calendar-public-link-row{
    grid-template-columns:1fr 1fr
  }
  .calendar-public-link-row input{
    grid-column:1/-1
  }
}


/* ============================================================
   FASE 9D.2 — AGENDA PÚBLICA
   ============================================================ */
.calendar-public-agenda-config{
  margin-top:12px;
  border:1px solid #d9e1e8;
  border-radius:13px;
  background:#f8fafb;
  padding:12px
}
.calendar-public-agenda-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px
}
.calendar-public-agenda-title-row strong{
  display:block;color:var(--navy)
}
.calendar-public-agenda-title-row small{
  display:block;margin-top:3px;color:#747d84;font-size:.73rem
}
.calendar-public-agenda-fields{
  display:grid;
  gap:10px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e2e7eb
}
.calendar-public-featured-toggle{
  justify-content:flex-start!important
}
.calendar-public-agenda-actions{
  display:flex;
  justify-content:flex-end
}
.calendar-public-agenda-note{
  border:1px solid #e4ded6;
  border-radius:10px;
  background:#fff;
  color:#6e767d;
  font-size:.72rem;
  line-height:1.45;
  padding:9px 10px
}
@media(max-width:680px){
  .calendar-public-agenda-title-row{
    flex-direction:column
  }
}


/* ============================================================
   FASE 9E.2 — QR CODE DO EVENTO
   ============================================================ */
.calendar-public-qr-actions{display:flex;justify-content:flex-end;margin-top:8px}
.calendar-public-qr-modal-card{width:min(92vw,560px)}
.calendar-public-qr-body{
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:center;padding:8px 0 18px
}
.calendar-public-qr-canvas{
  width:260px;min-height:260px;border:1px solid #e1dbd3;border-radius:16px;background:white;
  display:grid;place-items:center;padding:10px
}
.calendar-public-qr-canvas canvas,.calendar-public-qr-canvas img{max-width:100%;height:auto!important}
.calendar-public-qr-info{display:grid;gap:8px}
.calendar-public-qr-info strong{color:var(--navy);font-size:1rem}
.calendar-public-qr-info span{color:#6e7780;font-size:.78rem;line-height:1.45}
.calendar-public-qr-info input{font-size:.68rem}
@media(max-width:620px){
  .calendar-public-qr-body{grid-template-columns:1fr}
  .calendar-public-qr-canvas{width:100%;max-width:280px;margin:0 auto}
}


/* ============================================================
   FASE 9E.2.1 — CORREÇÃO DO MODAL DO QR CODE
   ============================================================ */
#calendarPublicQrModal.modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(11,27,46,.62);
  backdrop-filter:blur(3px);
}
#calendarPublicQrModal.modal.hidden{
  display:none!important;
}
#calendarPublicQrModal .modal-card{
  position:relative;
  width:min(92vw,560px);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border:1px solid #e2d8cc;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  padding:22px;
}
#calendarPublicQrModal .modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid #eee5dc;
}
#calendarPublicQrModal .modal-head h3{
  margin:0 0 4px;
}
#calendarPublicQrModal .modal-head small{
  color:#6f7780;
}
#calendarPublicQrModal .icon-btn{
  width:36px;
  height:36px;
  border:1px solid #e2d8cc;
  border-radius:10px;
  background:#fff;
  font-size:22px;
  line-height:1;
}
#calendarPublicQrModal .actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
#calendarPublicQrModal .actions.right{
  justify-content:flex-end;
}


/* ============================================================
   FASE 9E.3 — QR INDIVIDUAL DO PARTICIPANTE
   ============================================================ */
#calendarIndividualQrModal.modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(11,27,46,.64);
  backdrop-filter:blur(3px);
}
#calendarIndividualQrModal.modal.hidden{
  display:none!important;
}
#calendarIndividualQrModal .modal-card{
  position:relative;
  width:min(94vw,650px);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border:1px solid #e2d8cc;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  padding:22px;
}
#calendarIndividualQrModal .modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid #eee5dc;
}
#calendarIndividualQrModal .modal-head h3{
  margin:0 0 4px;
}
#calendarIndividualQrModal .modal-head small{
  color:#6f7780;
}
#calendarIndividualQrModal .icon-btn{
  width:36px;
  height:36px;
  border:1px solid #e2d8cc;
  border-radius:10px;
  background:#fff;
  font-size:22px;
  line-height:1;
}
.calendar-individual-qr-event{
  display:flex;
  gap:8px;
  align-items:baseline;
  flex-wrap:wrap;
  padding:10px 12px;
  margin-bottom:14px;
  border:1px solid #eee5dc;
  border-radius:12px;
  background:#faf8f5;
}
.calendar-individual-qr-event span{
  color:#7a8189;
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
}
.calendar-individual-qr-body{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:4px 0 18px;
}
.calendar-individual-qr-canvas{
  width:260px;
  min-height:260px;
  border:1px solid #e1dbd3;
  border-radius:16px;
  background:white;
  display:grid;
  place-items:center;
  padding:10px;
}
.calendar-individual-qr-canvas canvas,
.calendar-individual-qr-canvas img{
  max-width:100%;
  height:auto!important;
}
.calendar-individual-qr-info{
  display:grid;
  gap:10px;
}
.calendar-individual-qr-info > strong{
  color:var(--navy);
  font-size:1.02rem;
}
.calendar-individual-qr-info > span{
  color:#6e7780;
  font-size:.8rem;
  line-height:1.5;
}
.calendar-individual-qr-info label{
  display:grid;
  gap:6px;
  font-size:.72rem;
  font-weight:800;
  color:#69727b;
}
.calendar-individual-qr-info input{
  font-size:.7rem;
}
.calendar-individual-qr-security{
  padding:10px 12px;
  border-radius:12px;
  background:#f3f8f4;
  border:1px solid #d7e8da;
  color:#356344;
  font-size:.74rem;
  line-height:1.45;
}
#calendarIndividualQrModal .actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
#calendarIndividualQrModal .actions.right{
  justify-content:flex-end;
}
@media(max-width:680px){
  .calendar-individual-qr-body{
    grid-template-columns:1fr;
  }
  .calendar-individual-qr-canvas{
    width:100%;
    max-width:280px;
    margin:0 auto;
  }
}


/* ============================================================
   FASE 9E.4 — ACESSO AO SCANNER RÁPIDO
   ============================================================ */
#calendarOpenCheckinScannerBtn{
  white-space:nowrap;
}
@media(max-width:680px){
  #calendarRegistrationsPanel .panel-title-row{
    align-items:flex-start;
  }
  #calendarRegistrationsPanel .panel-title-row .history-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* ============================================================
   FASE 9E.5 — ATALHO GLOBAL DO SCANNER
   ============================================================ */
.home-quick-actions{
  margin:22px 0 26px;
}
.home-quick-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.home-quick-head h2{
  margin:3px 0 0;
}
.home-quick-head small{
  color:#78818b;
}
.home-scanner-card{
  width:100%;
  min-height:88px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  padding:16px 18px;
  border:1px solid rgba(197,97,58,.32);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#fffaf7 100%);
  color:var(--navy);
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(11,27,46,.06);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.home-scanner-card:hover{
  transform:translateY(-1px);
  border-color:rgba(197,97,58,.55);
  box-shadow:0 12px 28px rgba(11,27,46,.09);
}
.home-scanner-icon{
  width:52px;
  height:52px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#C5613A;
  color:white;
}
.home-scanner-copy{
  display:grid;
  gap:4px;
}
.home-scanner-copy strong{
  font-size:1rem;
}
.home-scanner-copy small{
  color:#687382;
  line-height:1.4;
}
.home-scanner-arrow{
  font-size:2rem;
  line-height:1;
  color:#C5613A;
}
.scanner-fab{
  position:fixed;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:8500;
  min-height:52px;
  display:none;
  align-items:center;
  gap:8px;
  padding:0 16px 0 13px;
  border:0;
  border-radius:999px;
  background:#C5613A;
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 34px rgba(11,27,46,.28);
  cursor:pointer;
}
.scanner-fab-icon{
  display:grid;
  place-items:center;
}
.scanner-fab.hidden,
.home-quick-actions.hidden{
  display:none!important;
}
@media(max-width:760px){
  .home-quick-head{
    display:block;
  }
  .home-quick-head small{
    display:block;
    margin-top:4px;
  }
  .home-scanner-card{
    min-height:80px;
    grid-template-columns:auto minmax(0,1fr) auto;
    padding:14px;
  }
  .home-scanner-icon{
    width:46px;
    height:46px;
    border-radius:13px;
  }
  .scanner-fab:not(.hidden){
    display:flex;
  }
  .app-footer{
    padding-bottom:76px;
  }
}


/* ============================================================
   FASE 10I.3 — DISTRIBUIÇÃO INTELIGENTE DE RESPONSABILIDADES
   ============================================================ */
.communication-intelligence-panel{
  border:1px solid rgba(212,163,47,.34);
  background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);
}
.communication-intelligence-safe-badge{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 10px;
  border-radius:999px;
  background:#f2f4f6;
  color:#5d6670;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}
.communication-intelligence-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.communication-intelligence-stats>div{
  display:grid;
  gap:3px;
  min-height:94px;
  padding:14px;
  border:1px solid #e7dfd5;
  border-radius:15px;
  background:#fff;
}
.communication-intelligence-stats span{
  color:#75808a;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.communication-intelligence-stats strong{
  color:var(--navy);
  font-size:1.6rem;
}
.communication-intelligence-stats small{
  color:#838b94;
}
.communication-intelligence-stat-attention{
  border-color:#e5c66c!important;
  background:#fffaf0!important;
}
.communication-intelligence-stat-attention strong{
  color:#9a6812!important;
}
.communication-intelligence-routing-note{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid #d9e2ea;
  border-radius:13px;
  background:#f7fafc;
}
.communication-intelligence-routing-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--navy);
  color:#fff;
  font-size:1.2rem;
  font-weight:900;
}
.communication-intelligence-routing-note strong{
  display:block;
  color:var(--navy);
  font-size:.8rem;
}
.communication-intelligence-routing-note span{
  display:block;
  margin-top:3px;
  color:#6d7781;
  font-size:.68rem;
  line-height:1.45;
}
.communication-intelligence-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
}
.communication-intelligence-block{
  min-width:0;
  padding:15px;
  border:1px solid #e5ddd4;
  border-radius:17px;
  background:#fff;
}
.communication-intelligence-block-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.communication-intelligence-block-head h3{
  margin:0 0 3px;
  color:var(--navy);
  font-size:1rem;
}
.communication-intelligence-block-head small{
  color:#78818a;
}
.communication-intelligence-filter{
  max-width:190px;
  padding:8px 9px;
  border:1px solid #ded6cd;
  border-radius:10px;
  background:#fff;
  font-size:.73rem;
}
.communication-intelligence-journeys,
.communication-intelligence-actions{
  display:grid;
  gap:10px;
}
.communication-intelligence-journey,
.communication-intelligence-action{
  border:1px solid #e9e2da;
  border-radius:14px;
  padding:13px;
  background:#fff;
}
.communication-intelligence-journey.disabled{
  opacity:.68;
  background:#fafafa;
}
.communication-intelligence-journey-head,
.communication-intelligence-action-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.communication-intelligence-title-line{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}
.communication-intelligence-journey-head strong,
.communication-intelligence-action-head strong{
  color:var(--navy);
}
.communication-intelligence-journey-head small,
.communication-intelligence-action-head small{
  display:block;
  margin-top:3px;
  color:#79838d;
}
.communication-intelligence-mode{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  background:#eef1f4;
  color:#65707a;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.04em;
}
.communication-intelligence-journey>p,
.communication-intelligence-action>p{
  margin:9px 0;
  color:#5e6974;
  font-size:.78rem;
  line-height:1.5;
}
.communication-intelligence-flow{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.communication-intelligence-step{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border-radius:10px;
  background:#f8f6f3;
}
.communication-intelligence-step>b{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#0B1B2E;
  color:#fff;
  font-size:.68rem;
}
.communication-intelligence-step strong{
  display:block;
  font-size:.74rem;
}
.communication-intelligence-step small{
  display:block;
  margin-top:2px;
  color:#7b858e;
  font-size:.65rem;
}
.communication-intelligence-switch{
  position:relative;
  width:40px;
  height:23px;
  flex:0 0 40px;
}
.communication-intelligence-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.communication-intelligence-switch span{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#d9dde1;
  cursor:pointer;
  transition:.18s ease;
}
.communication-intelligence-switch span:after{
  content:"";
  position:absolute;
  width:17px;
  height:17px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.18);
  transition:.18s ease;
}
.communication-intelligence-switch input:checked+span{
  background:#C5613A;
}
.communication-intelligence-switch input:checked+span:after{
  transform:translateX(17px);
}
.communication-intelligence-switch input:disabled+span{
  cursor:not-allowed;
}
.communication-intelligence-status{
  flex:0 0 auto;
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  font-size:.58rem;
  font-weight:900;
  text-transform:uppercase;
}
.communication-intelligence-status.ok{
  background:#edf8ef;
  color:#307447;
}
.communication-intelligence-status.waiting{
  background:#fff7e8;
  color:#8b6418;
}
.communication-intelligence-status.progress{
  background:#eaf1fb;
  color:#315d8b;
}
.communication-intelligence-status.attention{
  background:#fff2d8;
  color:#8a5c08;
}
.communication-intelligence-status.blocked{
  background:#f1f3f5;
  color:#5e6871;
}
.communication-intelligence-status.error{
  background:#fff0ee;
  color:#a34137;
}
.communication-intelligence-action-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  color:#76808a;
  font-size:.66rem;
}
.communication-intelligence-external-note{
  margin-top:9px;
  padding:8px 10px;
  border-radius:9px;
  background:#f3f5f6;
  color:#5e6871;
  font-size:.69rem;
  line-height:1.4;
}
.communication-intelligence-routing-state,
.communication-intelligence-progress-note,
.communication-intelligence-attention-note,
.communication-intelligence-completed-note{
  margin-top:9px;
  padding:8px 10px;
  border-radius:9px;
  font-size:.69rem;
  line-height:1.4;
}
.communication-intelligence-routing-state{
  background:#eef4fb;
  color:#315d8b;
}
.communication-intelligence-progress-note{
  background:#edf7ef;
  color:#2f6e3b;
}
.communication-intelligence-attention-note{
  background:#fff6df;
  color:#7a5b10;
  border:1px solid #ead39a;
}
.communication-intelligence-completed-note{
  background:#edf7ef;
  color:#2f6e3b;
}
.communication-intelligence-action.workflow-escalated{
  border-color:#e0bd63;
  box-shadow:0 5px 16px rgba(212,163,47,.08);
}
.communication-intelligence-action-tools{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
.communication-intelligence-activity{
  margin-top:14px;
  border:1px solid #e5ddd4;
  border-radius:15px;
  background:#fff;
  padding:12px 14px;
}
.communication-intelligence-activity summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:900;
}
.communication-intelligence-activity-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:12px 0 8px;
  color:#65717c;
  font-size:.74rem;
}
.communication-intelligence-signals{
  display:grid;
  gap:6px;
}
.communication-intelligence-signal{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:8px 2px;
  border-bottom:1px solid #f0ebe5;
}
.communication-intelligence-signal:last-child{
  border-bottom:0;
}
.communication-intelligence-signal-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#D4A32F;
}
.communication-intelligence-signal strong{
  display:block;
  font-size:.73rem;
}
.communication-intelligence-signal small{
  display:block;
  margin-top:2px;
  color:#818a93;
  font-size:.65rem;
}
.communication-intelligence-processed{
  color:#6e7881;
  font-size:.55rem;
  font-weight:900;
}
@media(max-width:900px){
  .communication-intelligence-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .communication-intelligence-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .communication-intelligence-routing-note{
    grid-template-columns:1fr;
  }
  .communication-intelligence-action-tools{
    justify-content:flex-start;
  }
  .communication-intelligence-block-head,
  .communication-intelligence-activity-head{
    display:grid;
  }
  .communication-intelligence-filter{
    width:100%;
    max-width:none;
  }
  .communication-intelligence-action-head{
    display:grid;
  }
  .communication-intelligence-status{
    justify-self:start;
  }
  .communication-intelligence-signal{
    grid-template-columns:10px minmax(0,1fr);
  }
  .communication-intelligence-processed{
    grid-column:2;
  }
}


/* ============================================================
   FASE 10I.3.1 — MINHAS RESPONSABILIDADES
   ============================================================ */
.responsibility-module .module-icon{background:#eef3f8;color:var(--navy);font-weight:900}
.responsibility-filter-row{display:flex;justify-content:flex-end;margin:8px 0 12px}
.responsibility-filter-row label{width:min(260px,100%)}
.responsibility-actions{display:grid;gap:10px}
.responsibility-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px}
.responsibility-card.attention{border-left:4px solid var(--terra)}
.responsibility-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.responsibility-card-head strong{display:block;color:var(--navy);font-size:14px}
.responsibility-card-head small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.responsibility-card p{margin:10px 0;color:#5e6974;font-size:11px;line-height:1.5}
.responsibility-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;background:#eef1f4;color:var(--navy);white-space:nowrap}
.responsibility-status.status-routed{background:#fff7df;color:#7a5c0e}
.responsibility-status.status-in_progress{background:#eaf1fb;color:#315d8b}
.responsibility-status.status-completed{background:#eaf6ed;color:#2f6e3b}
.responsibility-status.status-escalated{background:#fff0ed;color:#a9433e}
.responsibility-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--muted);font-size:9px}
.responsibility-meta b{color:var(--navy)}
.responsibility-actions-row{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.responsibility-escalated-note{font-size:9px;color:var(--danger);font-weight:800}
@media(max-width:650px){.responsibility-card-head{flex-direction:column}.responsibility-actions-row{justify-content:stretch}.responsibility-actions-row .btn{width:100%}.responsibility-filter-row label{width:100%}}

/* ============================================================
   FASE 10I.4 — PRAZOS, PRIORIDADES E ESCALONAMENTO AUTOMÁTICO
   ============================================================ */
.communication-intelligence-stats{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.intelligent-deadline-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:9px;
}
.intelligent-priority,
.intelligent-deadline{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  border-radius:999px;
  padding:4px 8px;
  border:1px solid var(--line);
  background:#f7f5f1;
  color:var(--navy);
  font-size:8px;
  font-weight:900;
  letter-spacing:.02em;
}
.intelligent-priority.priority-low{background:#f3f5f6;color:#69727a}
.intelligent-priority.priority-normal{background:#eef4fb;color:#315d88;border-color:#d5e1ee}
.intelligent-priority.priority-high{background:#fff5dd;color:#7a5a12;border-color:#ead7a2}
.intelligent-priority.priority-urgent{background:#fff0ed;color:#a9433e;border-color:#ecc9c2}
.intelligent-deadline.deadline-ok{background:#edf7ef;color:#2f6e3b;border-color:#cfe4d2}
.intelligent-deadline.deadline-soon{background:#fff5dd;color:#7a5a12;border-color:#ead7a2}
.intelligent-deadline.deadline-overdue{background:#fff0ed;color:#a9433e;border-color:#ecc9c2}
.intelligent-deadline.deadline-completed{background:#eef1f4;color:#4e5c69}
.intelligent-deadline.deadline-none{background:#f5f5f5;color:#777}
.intelligent-step-sla{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
}
.intelligent-step-sla .intelligent-priority{
  min-height:20px;
  padding:3px 6px;
  font-size:7px;
}
.responsibility-card.deadline-soon{border-color:#e3c36e}
.responsibility-card.deadline-overdue{border-color:#d98f82;box-shadow:0 0 0 2px rgba(169,67,62,.06)}
@media(max-width:980px){
  .communication-intelligence-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .communication-intelligence-stats{grid-template-columns:1fr 1fr}
  .intelligent-deadline-row{align-items:flex-start;flex-direction:column}
}

/* ============================================================
   FASE 10I.4.1 — LEGIBILIDADE DAS RESPONSABILIDADES
   Ajuste visual: amplia textos da fila sem alterar regras,
   permissões, prazos ou funcionamento do motor.
   ============================================================ */
.responsibility-card{
  padding:16px;
}
.responsibility-card-head{
  gap:12px;
}
.responsibility-card-head strong{
  font-size:16px;
  line-height:1.3;
}
.responsibility-card-head small{
  font-size:12px;
  line-height:1.45;
  margin-top:4px;
}
.responsibility-card p{
  margin:12px 0;
  font-size:13px;
  line-height:1.6;
}
.responsibility-status{
  padding:6px 10px;
  font-size:10px;
  line-height:1.2;
}
.responsibility-meta{
  gap:8px 16px;
  font-size:12px;
  line-height:1.55;
}
.responsibility-meta b{
  font-size:12px;
}
.intelligent-deadline-row{
  gap:8px;
  margin-top:11px;
}
.responsibility-card .intelligent-priority,
.responsibility-card .intelligent-deadline{
  min-height:28px;
  padding:5px 10px;
  font-size:10px;
  line-height:1.25;
}
.responsibility-card .responsibility-actions-row .btn.tiny{
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
}
.responsibility-escalated-note{
  font-size:11px;
  line-height:1.45;
}
@media(max-width:650px){
  .responsibility-card{padding:14px}
  .responsibility-card-head strong{font-size:15px}
  .responsibility-card-head small,
  .responsibility-meta{font-size:12px}
  .responsibility-card p{font-size:13px}
  .responsibility-card .intelligent-priority,
  .responsibility-card .intelligent-deadline{font-size:10px}
}

/* ============================================================
   FASE 10I.4.2 — HIERARQUIA DE TEXTO DAS RESPONSABILIDADES
   Ajuste visual solicitado: informações operacionais ganham
   leitura próxima ao título e o título recebe maior destaque.
   ============================================================ */
.responsibility-card-head strong{
  font-size:18px;
  line-height:1.3;
}
.responsibility-card-head small{
  font-size:15px;
  line-height:1.5;
}
.responsibility-card p{
  font-size:15px;
  line-height:1.6;
}
.responsibility-meta{
  font-size:15px;
  line-height:1.6;
  gap:9px 18px;
}
.responsibility-meta b{
  font-size:15px;
}
.responsibility-card .intelligent-priority,
.responsibility-card .intelligent-deadline{
  min-height:31px;
  padding:6px 11px;
  font-size:13px;
  line-height:1.25;
}
.responsibility-status{
  font-size:11px;
  padding:6px 10px;
}
@media(max-width:650px){
  .responsibility-card-head strong{font-size:17px}
  .responsibility-card-head small,
  .responsibility-card p,
  .responsibility-meta,
  .responsibility-meta b{font-size:14px}
  .responsibility-card .intelligent-priority,
  .responsibility-card .intelligent-deadline{font-size:12px}
}

/* ============================================================
   FASE 10I.4.3 — LEGIBILIDADE DA CENTRAL DE COMUNICAÇÃO INTELIGENTE
   Ajuste visual do painel administrativo. Amplia títulos, metadados,
   descrições, jornadas, etapas, status e avisos sem alterar lógica.
   ============================================================ */
.communication-intelligence-journey,
.communication-intelligence-action{
  padding:16px;
}
.communication-intelligence-journey-head strong,
.communication-intelligence-action-head strong{
  font-size:17px;
  line-height:1.3;
}
.communication-intelligence-journey-head small,
.communication-intelligence-action-head small{
  font-size:13px;
  line-height:1.45;
  margin-top:4px;
}
.communication-intelligence-mode{
  font-size:10px;
  padding:4px 8px;
}
.communication-intelligence-journey>p,
.communication-intelligence-action>p{
  font-size:14px;
  line-height:1.6;
  margin:11px 0;
}
.communication-intelligence-step{
  padding:10px 11px;
  gap:9px;
}
.communication-intelligence-step>b{
  width:27px;
  height:27px;
  font-size:12px;
}
.communication-intelligence-step strong{
  font-size:14px;
  line-height:1.35;
}
.communication-intelligence-step small{
  font-size:12px;
  line-height:1.45;
  margin-top:3px;
}
.communication-intelligence-status{
  font-size:10px;
  padding:6px 10px;
}
.communication-intelligence-action-meta{
  gap:8px 14px;
  font-size:12px;
  line-height:1.5;
}
.communication-intelligence-external-note,
.communication-intelligence-routing-state,
.communication-intelligence-progress-note,
.communication-intelligence-attention-note,
.communication-intelligence-completed-note{
  font-size:12px;
  line-height:1.5;
  padding:10px 11px;
}
.communication-intelligence-action-tools .btn.tiny{
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
}
.communication-intelligence-signal strong{
  font-size:13px;
}
.communication-intelligence-signal small{
  font-size:12px;
  line-height:1.45;
}
@media(max-width:650px){
  .communication-intelligence-journey,
  .communication-intelligence-action{padding:14px}
  .communication-intelligence-journey-head strong,
  .communication-intelligence-action-head strong{font-size:16px}
  .communication-intelligence-journey-head small,
  .communication-intelligence-action-head small{font-size:12px}
  .communication-intelligence-journey>p,
  .communication-intelligence-action>p{font-size:13px}
  .communication-intelligence-step strong{font-size:13px}
  .communication-intelligence-step small,
  .communication-intelligence-action-meta,
  .communication-intelligence-external-note,
  .communication-intelligence-routing-state,
  .communication-intelligence-progress-note,
  .communication-intelligence-attention-note,
  .communication-intelligence-completed-note{font-size:11px}
}


/* ============================================================
   FASE 10I.4.4 — AJUSTES VISUAIS CONSOLIDADOS
   1) Ficha individual: botão fechar alinhado
   2) Membresia: botão Copiar número na listagem
   3) Pequenos Grupos: melhor hierarquia, fontes e chips
   Inclui e preserva a legibilidade 10I.4.3 da Comunicação Inteligente.
   ============================================================ */

/* 1 — Ficha individual / botão fechar */
.membership-profile-dialog{
  position:relative;
}
.membership-profile-dialog > .dialog-close{
  position:sticky;
  top:14px;
  right:auto;
  float:none;
  margin:14px 14px -50px auto;
  width:40px;
  height:40px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:27px;
  line-height:1;
  z-index:12;
}

/* 2 — Membresia / Pessoas cadastradas */
.membership-person-card{
  padding:14px 15px;
  gap:14px;
}
.membership-person-title>strong{
  font-size:16px;
  line-height:1.35;
  color:var(--navy);
}
.membership-person-main small{
  font-size:12px;
  line-height:1.5;
  margin-top:5px;
}
.membership-person-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.membership-person-actions .btn.tiny{
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
  white-space:nowrap;
}

/* 3 — Pequenos Grupos */
.pg-group-list{
  gap:12px;
}
.pg-group-card{
  grid-template-columns:94px minmax(0,1fr) auto;
  gap:16px;
  padding:13px 14px;
  border-radius:15px;
  box-shadow:0 4px 14px rgba(11,27,46,.045);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.pg-group-card:hover{
  border-color:#cfb98f;
  box-shadow:0 7px 18px rgba(11,27,46,.07);
  transform:translateY(-1px);
}
.pg-group-cover{
  width:94px;
  height:74px;
  border-radius:12px;
}
.pg-group-card-title{
  gap:9px;
  margin-bottom:5px;
}
.pg-group-card-title>strong{
  font-size:17px;
  line-height:1.3;
  color:var(--navy);
}
.pg-group-card-title .status-pill{
  font-size:10px;
  padding:5px 8px;
}
.pg-group-card-main>small{
  font-size:13px;
  line-height:1.45;
  margin-bottom:9px;
  color:#68717a;
}
.pg-group-meta{
  gap:7px 8px;
}
.pg-group-meta span{
  font-size:12px;
  line-height:1.35;
  padding:6px 10px;
  background:#faf8f4;
  color:#59636f;
  border-color:#e3ddd4;
}
.pg-group-card>.btn.tiny{
  min-height:37px;
  padding:7px 12px;
  font-size:12px;
}

@media(max-width:760px){
  .membership-profile-dialog > .dialog-close{
    top:10px;
    margin:10px 10px -46px auto;
  }
  .membership-person-actions{
    width:100%;
    justify-content:flex-start;
  }
  .membership-person-actions .btn.tiny{
    flex:1 1 140px;
  }
  .pg-group-card{
    grid-template-columns:78px minmax(0,1fr);
    gap:12px;
    padding:12px;
  }
  .pg-group-cover{
    width:78px;
    height:68px;
  }
  .pg-group-card-title>strong{font-size:16px}
  .pg-group-card-main>small{font-size:12px}
  .pg-group-meta span{font-size:11px}
  .pg-group-card>.btn{grid-column:1/-1;width:100%}
}

/* ============================================================
   FASE 10I.4.5 — AJUSTE DO BOTÃO FECHAR DA FICHA INDIVIDUAL
   - círculo mais visível
   - X desenhado por CSS e matematicamente centralizado
   - preserva toda a Fase 10I.4.4
   ============================================================ */
.membership-profile-dialog > .dialog-close{
  position:sticky;
  top:14px;
  right:auto;
  float:none;
  margin:14px 14px -50px auto;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#ffffff;
  border:2px solid #d7dde4;
  box-shadow:0 5px 16px rgba(11,27,46,.14);
  color:transparent;
  font-size:0;
  line-height:0;
  overflow:hidden;
  z-index:20;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.membership-profile-dialog > .dialog-close::before,
.membership-profile-dialog > .dialog-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2.4px;
  border-radius:999px;
  background:var(--navy);
  transform-origin:center;
  pointer-events:none;
}

.membership-profile-dialog > .dialog-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}

.membership-profile-dialog > .dialog-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

.membership-profile-dialog > .dialog-close:hover{
  background:#fff7f2;
  border-color:var(--terra);
  box-shadow:0 6px 18px rgba(11,27,46,.18);
  transform:scale(1.04);
}

.membership-profile-dialog > .dialog-close:focus-visible{
  outline:3px solid rgba(212,163,47,.30);
  outline-offset:2px;
}



/* ============================================================
   FASE 10I.5 — CONFIGURAÇÃO DAS JORNADAS INTELIGENTES
   ============================================================ */
.communication-intelligence-config-note{
  display:flex;align-items:flex-start;gap:11px;margin:10px 0 16px;padding:12px 14px;
  border:1px solid #d9d3c9;border-radius:12px;background:#fffdf8;color:var(--navy)
}
.communication-intelligence-config-note-icon{
  width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;
  background:#f4e9dd;color:var(--terra);font-size:18px
}
.communication-intelligence-config-note strong{display:block;font-size:13px}
.communication-intelligence-config-note span{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}
.communication-intelligence-journey-head-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.communication-intelligence-config-btn{white-space:nowrap}
.communication-journey-config-dialog{width:min(940px,96vw);max-width:940px;padding:24px}
.communication-journey-config-dialog h2{margin:5px 0 4px;font-size:24px}
.communication-journey-config-intro{margin:0 36px 16px 0;color:var(--muted);font-size:12px;line-height:1.5}
.communication-journey-config-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.communication-journey-config-summary>div{border:1px solid var(--line);border-radius:12px;background:#faf9f6;padding:11px 13px}
.communication-journey-config-summary span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}
.communication-journey-config-summary strong{display:block;color:var(--navy);font-size:14px;margin-top:4px}
.communication-journey-enabled-row,.communication-journey-config-auto-row{
  display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;border:1px solid var(--line);
  border-radius:12px;padding:11px 13px;background:#fff
}
.communication-journey-enabled-row{margin:10px 0}
.communication-journey-enabled-row input,.communication-journey-config-auto-row input{width:auto;min-height:0;margin:3px 0 0}
.communication-journey-enabled-row strong,.communication-journey-config-auto-row strong{display:block;color:var(--navy);font-size:12px}
.communication-journey-enabled-row small,.communication-journey-config-auto-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}
.communication-journey-config-help{border-left:4px solid var(--gold);border-radius:0 10px 10px 0;background:#fff9e9;padding:10px 12px;margin:12px 0 14px}
.communication-journey-config-help strong{display:block;color:var(--navy);font-size:12px}
.communication-journey-config-help span{display:block;color:#6d6250;font-size:10.5px;line-height:1.55;margin-top:3px}
.communication-journey-config-steps{display:grid;gap:11px}
.communication-journey-config-step{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.communication-journey-config-step-head{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;margin-bottom:12px}
.communication-journey-config-step-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px;font-weight:900}
.communication-journey-config-step-head strong{display:block;color:var(--navy);font-size:14px}
.communication-journey-config-step-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.communication-journey-config-external{font-size:8px;font-weight:900;border-radius:999px;padding:5px 8px;background:#eef1f4;color:#566270;white-space:nowrap}
.communication-journey-config-grid{display:grid;grid-template-columns:1.45fr .75fr 1fr;gap:10px}
.communication-journey-config-grid label{font-size:11px}
.communication-journey-config-sla-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,.8fr);gap:7px}
.communication-journey-config-sla-row input,.communication-journey-config-sla-row select{margin-top:5px}
.communication-journey-config-auto-row{margin-top:10px;background:#faf9f6}
.communication-journey-config-auto-row:has(input:disabled){opacity:.58}
.communication-journey-config-external-note{margin-top:9px;padding:8px 10px;border-radius:9px;background:#f2f4f6;color:#566270;font-size:10px}
.communication-journey-config-safety{display:flex;flex-direction:column;gap:3px;margin-top:13px;padding:11px 12px;border-radius:11px;background:#edf5ef;color:#315e3a;border:1px solid #cfe1d2}
.communication-journey-config-safety strong{font-size:11px}.communication-journey-config-safety span{font-size:10px;line-height:1.45}
@media(max-width:760px){
  .communication-intelligence-journey-head-actions{align-items:flex-end;flex-direction:column-reverse}
  .communication-intelligence-config-btn{width:auto}
  .communication-journey-config-dialog{width:100vw;max-width:100vw;max-height:100vh;border-radius:0;padding:16px}
  .communication-journey-config-summary,.communication-journey-config-grid{grid-template-columns:1fr}
  .communication-journey-config-step-head{grid-template-columns:32px 1fr}.communication-journey-config-external{grid-column:1/-1;width:max-content}
}

/* ============================================================
   FASE 10I.5.1 — 10I.5 SOBRE A BASE CORRIGIDA DA 10I.4.6
   Preserva:
   - barra de rolagem independente da Fila de ações
   - filtro padrão "Abertas"
   - retenção operacional de 30 dias / arquivo de 12 meses
   ============================================================ */
.communication-intelligence-grid{
  align-items:start;
}
.communication-intelligence-retention-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 10px;
  padding:9px 10px;
  border:1px solid #e7e0d7;
  border-radius:10px;
  background:#faf8f4;
  color:#66717b;
}
.communication-intelligence-retention-note>span{
  flex:0 0 auto;
  color:var(--navy);
  font-size:11px;
  font-weight:900;
}
.communication-intelligence-retention-note>small{
  font-size:11px;
  line-height:1.45;
}
.communication-intelligence-actions{
  max-height:min(68vh,720px);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.communication-intelligence-actions::-webkit-scrollbar{
  width:10px;
}
.communication-intelligence-actions::-webkit-scrollbar-track{
  background:#f2eee8;
  border-radius:999px;
}
.communication-intelligence-actions::-webkit-scrollbar-thumb{
  background:#c9bfb3;
  border:2px solid #f2eee8;
  border-radius:999px;
}
.communication-intelligence-actions::-webkit-scrollbar-thumb:hover{
  background:#aa9b8c;
}
@media(max-width:900px){
  .communication-intelligence-actions{
    max-height:none;
    overflow:visible;
    padding-right:0;
    scrollbar-gutter:auto;
  }
  .communication-intelligence-retention-note{
    display:grid;
    gap:3px;
  }
}



/* ============================================================
   FASE 10I.6 — PAINEL GERENCIAL DA COMUNICAÇÃO INTELIGENTE
   Gestão por indicadores sem centralizar a execução.
   ============================================================ */
.communication-management-panel{
  margin:16px 0;
  padding:18px;
  border:1px solid #d9d3ca;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfaf7);
}
.communication-management-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.communication-management-head h3{
  margin:3px 0 4px;
  color:var(--navy);
  font-size:20px;
}
.communication-management-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.communication-management-filters{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.communication-management-filters label{
  font-size:11px;
}
.communication-management-filters select{
  min-height:40px;
  font-size:12px;
}
.communication-management-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:12px 0;
}
.communication-management-summary>div{
  min-height:92px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.communication-management-summary>div.attention{
  border-color:#e8c277;
  background:#fffaf0;
}
.communication-management-summary span{
  display:block;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.03em;
}
.communication-management-summary strong{
  display:block;
  margin-top:5px;
  color:var(--navy);
  font-size:24px;
  line-height:1.1;
}
.communication-management-summary small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}
.communication-management-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.communication-management-box,
.communication-management-exceptions-box{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.communication-management-exceptions-box{margin-top:12px}
.communication-management-box-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:10px;
}
.communication-management-box-head h4{
  margin:0;
  color:var(--navy);
  font-size:15px;
}
.communication-management-box-head small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.communication-management-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #ece7df;
  border-radius:10px;
}
.communication-management-table{
  width:100%;
  min-width:650px;
  border-collapse:collapse;
  background:#fff;
}
.communication-management-table th{
  padding:8px 9px;
  border-bottom:1px solid var(--line);
  background:#f7f5f1;
  color:var(--muted);
  font-size:9px;
  text-align:center;
  text-transform:uppercase;
}
.communication-management-table th:first-child,
.communication-management-table td:first-child{text-align:left}
.communication-management-table td{
  padding:9px;
  border-bottom:1px solid #eee9e2;
  color:#48535d;
  font-size:11px;
  text-align:center;
}
.communication-management-table tr:last-child td{border-bottom:0}
.communication-management-table td strong{color:var(--navy)}
.communication-management-exceptions{
  display:grid;
  gap:8px;
}
.communication-management-exception{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 10px;
  padding:10px 11px;
  border:1px solid #ecd39e;
  border-radius:10px;
  background:#fffaf0;
}
.communication-management-exception strong{
  display:block;
  color:var(--navy);
  font-size:12px;
}
.communication-management-exception small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.communication-management-exception p{
  grid-column:1/-1;
  margin:2px 0 0;
  color:#755c24;
  font-size:11px;
  line-height:1.45;
}
@media(max-width:980px){
  .communication-management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .communication-management-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .communication-management-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .communication-management-head{flex-direction:column}
  .communication-management-head .btn{width:100%}
  .communication-management-filters{grid-template-columns:1fr}
  .communication-management-summary{grid-template-columns:1fr 1fr}
}


/* FASE 10I.6 — versão enxuta: motor completo, primeira leitura simples */
.communication-management-summary-simple{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.communication-management-attention-box{
  margin-top:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.communication-management-attention-list{
  display:grid;
  gap:8px;
}
.communication-management-attention-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px solid #ead8b4;
  border-radius:10px;
  background:#fffaf0;
}
.communication-management-attention-item strong{
  display:block;
  color:var(--navy);
  font-size:13px;
}
.communication-management-attention-item span{
  display:block;
  margin-top:3px;
  color:#755c24;
  font-size:11px;
}
.communication-management-attention-arrow{
  color:var(--terracotta);
  font-size:24px!important;
  line-height:1;
}
.communication-management-all-clear{
  padding:14px;
  border:1px solid #d8e6d7;
  border-radius:10px;
  background:#f7fbf6;
}
.communication-management-all-clear strong{
  display:block;
  color:var(--navy);
  font-size:13px;
}
.communication-management-all-clear span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
}
.communication-management-details{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.communication-management-details>summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  color:var(--navy);
  font-size:12px;
  font-weight:900;
}
.communication-management-details>summary::-webkit-details-marker{display:none}
.communication-management-details>summary::after{
  content:'›';
  float:right;
  transform:rotate(90deg);
  transition:transform .15s ease;
  color:var(--terracotta);
  font-size:18px;
  line-height:1;
}
.communication-management-details[open]>summary::after{transform:rotate(-90deg)}
.communication-management-details-body{
  padding:0 12px 12px;
}
@media(max-width:780px){
  .communication-management-summary-simple{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .communication-management-summary-simple{grid-template-columns:1fr}
}


/* ============================================================
   FASE 10I.6.2 — AJUSTES MOBILE
   1) Indicadores da Central de Comunicação com cards legíveis.
   2) Scanner flutuante compacto no celular para não cobrir conteúdo.
   ============================================================ */

#communicationStats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

#communicationStats .stat{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(11,27,46,.035);
}

#communicationStats .stat span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}

#communicationStats .stat strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
  font-size:24px;
  line-height:1.1;
}

#communicationStats .stat small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
}

@media(max-width:760px){
  #communicationStats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #communicationsHubScreen{
    padding-bottom:72px;
  }

  .scanner-fab:not(.hidden){
    width:56px;
    height:56px;
    min-width:56px;
    min-height:56px;
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom));
    padding:0;
    justify-content:center;
    border-radius:50%;
  }

  .scanner-fab:not(.hidden) > span:last-child{
    display:none;
  }
}

@media(max-width:420px){
  .scanner-fab:not(.hidden){
    width:52px;
    height:52px;
    min-width:52px;
    min-height:52px;
  }
}


/* ============================================================
   FASE 10J.1 — HOJE NO EVOX CHURCH
   Bloco compacto de prioridades na Home.
   ============================================================ */
.home-today-panel{
  margin-top:18px;
  padding:18px;
  border:1px solid #dfd4c5;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fcfaf6);
  box-shadow:var(--shadow);
}
.home-today-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.home-today-head h2{
  margin:3px 0 2px;
  color:var(--navy);
  font-size:22px;
}
.home-today-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.home-today-loading{
  padding:14px;
  border:1px dashed #ded7cc;
  border-radius:12px;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}
.home-today-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.home-today-item{
  min-width:0;
  min-height:76px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  text-align:left;
  color:var(--navy);
}
.home-today-item:hover{
  border-color:#c8b59a;
  transform:translateY(-1px);
}
.home-today-item.tone-attention,
.home-today-item.tone-warning{
  border-color:#e5c16f;
  background:#fffaf0;
}
.home-today-item.tone-soon{
  background:#fffdf8;
}
.home-today-item.tone-event{
  background:#f8fbfd;
}
.home-today-item.tone-birthday{
  background:#fffaf7;
}
.home-today-icon{
  width:38px;
  height:38px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#f3ece4;
  color:var(--terra);
  font-size:17px;
  font-weight:900;
}
.tone-attention .home-today-icon,
.tone-warning .home-today-icon{
  background:#fff0c9;
  color:#8a5e00;
}
.home-today-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.home-today-copy strong{
  color:var(--navy);
  font-size:13px;
  line-height:1.3;
}
.home-today-copy small{
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
  white-space:normal;
}
.home-today-arrow{
  color:var(--terra);
  font-size:21px;
  line-height:1;
}
.home-today-all-clear{
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 14px;
  border:1px solid #cfe3cf;
  border-radius:13px;
  background:#f7fbf6;
}
.home-today-ok{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e1f2df;
  color:#327244;
  font-size:17px;
  font-weight:900;
}
.home-today-all-clear strong{
  display:block;
  color:var(--navy);
  font-size:13px;
}
.home-today-all-clear small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:10px;
}
@media(max-width:760px){
  .home-today-panel{
    padding:15px;
    margin-top:15px;
  }
  .home-today-head{
    align-items:flex-start;
  }
  .home-today-head h2{
    font-size:20px;
  }
  .home-today-list{
    grid-template-columns:1fr;
  }
  .home-today-item{
    min-height:72px;
  }
}
@media(max-width:480px){
  .home-today-head{
    flex-direction:column;
    gap:9px;
  }
  .home-today-head .btn{
    width:100%;
  }
}

/* ============================================================
   FASE 10K.1 — BUSCA GLOBAL
   ============================================================ */
.home-global-search-panel{
  margin:14px 0;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  position:relative;
  z-index:12;
}
.home-global-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.home-global-search-title{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.home-global-search-symbol{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#f7f1ea;
  color:var(--terra);
  font-size:27px;
  font-weight:900;
}
.home-global-search-title h2{
  margin:1px 0 0;
  color:var(--navy);
  font-size:19px;
  line-height:1.15;
}
.home-global-search-title p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
}
.home-global-search-box{
  position:relative;
  display:flex;
  align-items:center;
}
.home-global-search-box input{
  width:100%;
  min-height:48px;
  padding:0 46px 0 15px;
  border:1px solid #d9d1c6;
  border-radius:14px;
  background:#fbfaf8;
  color:var(--navy);
  font:inherit;
  font-size:14px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.home-global-search-box input:focus{
  border-color:var(--gold);
  background:#fff;
  box-shadow:0 0 0 3px rgba(212,163,47,.14);
}
.home-global-search-clear{
  position:absolute;
  right:9px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f0ebe4;
  color:var(--navy);
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.home-global-search-hint{
  margin-top:7px;
  color:var(--muted);
  font-size:11px;
}
.home-global-search-results{
  margin-top:9px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 30px rgba(11,27,46,.12);
}
.home-global-search-group+.home-global-search-group{
  border-top:1px solid var(--line);
}
.home-global-search-group-title{
  padding:8px 12px 5px;
  background:#faf8f5;
  color:var(--terra);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-global-search-result{
  width:100%;
  display:grid;
  grid-template-columns:86px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:0;
  border-top:1px solid #f0ebe5;
  background:#fff;
  text-align:left;
  color:var(--navy);
  cursor:pointer;
}
.home-global-search-result:hover,
.home-global-search-result:focus-visible{
  background:#fffaf3;
  outline:none;
}
.home-global-search-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
  background:#f6efe7;
  color:var(--terra);
}
.home-global-search-badge.pg{
  background:#eef4ef;
  color:#365d43;
}
.home-global-search-badge.event{
  background:#eef2f6;
  color:#38536d;
}
.home-global-search-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.home-global-search-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.home-global-search-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:11px;
}
.home-global-search-arrow{
  color:var(--terra);
  font-size:21px;
  text-align:right;
}
.home-global-search-empty{
  padding:15px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.home-global-search-empty strong{
  color:var(--navy);
  font-size:13px;
}
.home-global-search-empty small{
  color:var(--muted);
  font-size:11px;
}
.home-global-search-panel.hidden{
  display:none!important;
}

@media(max-width:700px){
  .home-global-search-panel{
    padding:14px;
    border-radius:16px;
  }
  .home-global-search-symbol{
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:24px;
  }
  .home-global-search-title h2{
    font-size:17px;
  }
  .home-global-search-title p{
    font-size:11px;
  }
  .home-global-search-box input{
    min-height:46px;
    font-size:13px;
  }
  .home-global-search-result{
    grid-template-columns:75px minmax(0,1fr) 15px;
    gap:8px;
    padding:10px;
  }
  .home-global-search-badge{
    font-size:8px;
    padding:4px 6px;
  }
}


/* ============================================================
   FASE 11C.3 — FINANCEIRO ESSENCIAL
   ============================================================ */
.module-card.finance-module{
  background:linear-gradient(135deg,#f7fbf8,#ffffff);
  border-color:#bdd7c8;
}
.finance-module .module-icon{
  background:#e8f3ec;
  color:#246143;
  font-size:18px;
  font-weight:950;
}

.finance-screen-head{
  align-items:flex-start;
}
.finance-head-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.finance-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow);
}
.finance-tab{
  border:0;
  background:transparent;
  color:var(--muted);
  border-radius:11px;
  padding:10px 14px;
  font:inherit;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.finance-tab:hover{
  background:#f7f3ed;
  color:var(--navy);
}
.finance-tab.active{
  background:var(--navy);
  color:#fff;
}
.finance-tab-panel{
  display:block;
}
.finance-filter-panel{
  margin-bottom:12px;
}

.finance-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-bottom:13px;
}
.finance-stat{
  min-height:104px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:15px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.finance-stat span{
  color:var(--muted);
  font-size:11px;
  font-weight:750;
}
.finance-stat strong{
  color:var(--navy);
  font-size:22px;
  line-height:1.1;
}
.finance-stat.income,
.finance-stat.positive,
.finance-stat.receivable{border-left:4px solid #4b956c}
.finance-stat.expense,
.finance-stat.negative,
.finance-stat.payable{border-left:4px solid var(--terra)}
.finance-stat.balance{border-left:4px solid var(--gold)}

.finance-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:13px;
}
.finance-account-balances,
.finance-cash-flow,
.finance-list,
.finance-setup-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.finance-balance-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  background:#fbfaf8;
}
.finance-balance-card strong{
  display:block;
  color:var(--navy);
  font-size:13px;
}
.finance-balance-card small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:10px;
}
.finance-balance-card b{
  color:var(--navy);
  font-size:15px;
}

.finance-flow-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.finance-flow-row>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
}
.finance-flow-bars{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.finance-flow-line{
  position:relative;
  min-height:21px;
  border-radius:8px;
  background:#f4f1ed;
  overflow:hidden;
}
.finance-flow-line i{
  position:absolute;
  inset:0 auto 0 0;
  min-width:4px;
  border-radius:8px;
  opacity:.28;
}
.finance-flow-line.income i{background:#3b8a5d}
.finance-flow-line.expense i{background:var(--terra)}
.finance-flow-line small{
  position:relative;
  z-index:1;
  display:block;
  padding:4px 7px;
  color:var(--navy);
  font-size:9px;
  font-weight:800;
}

.finance-list-spaced{
  margin-top:12px;
}
.finance-row-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:13px;
  padding:12px;
  background:#fff;
}
.finance-row-card.cancelled{
  opacity:.62;
  background:#f7f5f3;
}
.finance-row-main{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
.finance-kind{
  min-height:27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 8px;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.finance-kind.income,
.finance-kind.receivable{
  background:#e8f3ec;
  color:#276444;
}
.finance-kind.expense,
.finance-kind.payable{
  background:#faece7;
  color:#9b4f35;
}
.finance-row-copy{
  min-width:0;
}
.finance-row-copy strong{
  display:block;
  color:var(--navy);
  font-size:13px;
  margin-bottom:3px;
}
.finance-row-copy small{
  display:block;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.finance-row-value{
  min-width:150px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.finance-row-value>strong{
  color:var(--navy);
  font-size:14px;
}
.finance-row-card.income .finance-row-value>strong{color:#276444}
.finance-row-card.expense .finance-row-value>strong{color:#a64e31}

.finance-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 7px;
  background:#eef1f4;
  color:#4f5b66;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.finance-status.posted,
.finance-status.settled{
  background:#e8f3ec;
  color:#276444;
}
.finance-status.cancelled{
  background:#f1ece9;
  color:#825d50;
}
.finance-status.pending{
  background:#fff4d8;
  color:#8c6812;
}
.finance-due-overdue{
  color:#a5442f;
}
.finance-due-today{
  color:#8c6812;
}
.danger-outline{
  border-color:#e8b4a4!important;
  color:#a54e35!important;
  background:#fff!important;
}

.finance-create-section{
  border-top:3px solid var(--gold);
}
.finance-setup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.finance-setup-list{
  margin-top:12px;
  max-height:360px;
  overflow:auto;
  padding-right:3px;
}
.finance-setup-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px;
  background:#fbfaf8;
}
.finance-setup-row.inactive{
  opacity:.58;
}
.finance-setup-row strong{
  display:block;
  color:var(--navy);
  font-size:12px;
}
.finance-setup-row small{
  display:block;
  color:var(--muted);
  font-size:9px;
  margin-top:2px;
}
.finance-setup-row>div:last-child{
  display:flex;
  align-items:center;
  gap:6px;
}

.finance-dialog{
  width:min(520px,calc(100vw - 30px));
  border:0;
  border-radius:18px;
  padding:0;
  background:#fff;
  box-shadow:0 25px 80px rgba(11,27,46,.28);
}
.finance-dialog::backdrop{
  background:rgba(11,27,46,.56);
}
.finance-dialog form{
  padding:18px;
}
.finance-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.finance-dialog-head h2{
  margin:2px 0 0;
  color:var(--navy);
  font-size:20px;
}
.finance-dialog .icon-btn{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  font-size:20px;
  cursor:pointer;
}

@media(max-width:900px){
  .finance-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .finance-overview-grid,
  .finance-setup-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .finance-screen-head{
    display:block;
  }
  .finance-head-actions{
    margin:10px 0 0;
  }
  .finance-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .finance-tab{
    padding:9px 7px;
    font-size:10px;
  }
  .finance-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .finance-stat{
    min-height:92px;
    padding:12px;
  }
  .finance-stat strong{
    font-size:17px;
  }
  .finance-row-card{
    grid-template-columns:1fr;
  }
  .finance-row-main{
    grid-template-columns:70px minmax(0,1fr);
  }
  .finance-row-value{
    min-width:0;
    align-items:flex-start;
    padding-left:80px;
  }
  .finance-flow-row{
    grid-template-columns:64px minmax(0,1fr);
  }
  .finance-setup-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .finance-setup-row>div:last-child{
    width:100%;
    justify-content:space-between;
  }
}

@media(max-width:440px){
  .finance-stats-grid{
    grid-template-columns:1fr;
  }
  .finance-tabs{
    grid-template-columns:1fr 1fr;
  }
  .finance-row-main{
    grid-template-columns:1fr;
  }
  .finance-row-value{
    padding-left:0;
  }
  .finance-kind{
    justify-self:start;
  }
}


/* ============================================================
   FASE 11C.4 — INTEGRAÇÃO REFC -> FINANCEIRO
   ============================================================ */
.finance-refc-integration-panel{
  grid-column:1/-1;
  border-top:3px solid var(--terra);
}
.finance-integration-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  border-radius:999px;
  padding:5px 9px;
  background:#e8f3ec;
  color:#276444;
  font-size:9px;
  font-weight:950;
  letter-spacing:.04em;
}
.finance-integration-badge.paused{
  background:#f1ece9;
  color:#825d50;
}
.finance-refc-toggle-label{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.finance-switch-row{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fbfaf8;
}
.finance-switch-row input{
  width:18px;
  height:18px;
  accent-color:var(--terra);
}
.finance-switch-row strong{
  color:var(--navy);
  font-size:11px;
}
.finance-refc-rules{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.finance-refc-rules>div{
  border:1px solid var(--line);
  border-radius:11px;
  padding:10px;
  background:#fbfaf8;
}
.finance-refc-rules strong{
  display:block;
  color:var(--navy);
  font-size:12px;
}
.finance-refc-rules span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:9px;
}
.finance-refc-note{
  margin:10px 0;
  line-height:1.55;
}
.finance-integration-status{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 12px;
  border-radius:11px;
  background:#f3f7f4;
  border:1px solid #d6e8dd;
}
.finance-integration-status strong{
  color:#276444;
  font-size:11px;
}
.finance-integration-status span{
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}
.finance-refc-managed{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 7px;
  background:#eef3f8;
  color:#35536f;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.field-hint{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}

@media(max-width:700px){
  .finance-refc-rules{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   FASE 11C.5 — RELATÓRIOS E AUDITORIA FINANCEIRA
   ============================================================ */
.finance-report-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.finance-report-stats{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.finance-report-table-wrap{
  width:100%;
}
.finance-report-scroll{
  width:100%;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
}
.finance-report-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:#fff;
}
.finance-report-table th,
.finance-report-table td{
  padding:10px 11px;
  border-bottom:1px solid var(--line);
  text-align:left;
  font-size:10px;
  vertical-align:middle;
}
.finance-report-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f7f3ed;
  color:var(--navy);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.finance-report-table tr:last-child td{
  border-bottom:0;
}
.finance-report-value{
  font-weight:850;
  color:var(--navy);
  white-space:nowrap;
}

.finance-audit-info{
  margin:11px 0 8px;
  color:var(--muted);
  font-size:10px;
  font-weight:750;
}
.finance-audit-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.finance-audit-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfaf8;
}
.finance-audit-copy{
  min-width:0;
}
.finance-audit-copy>span{
  display:inline-flex;
  margin-bottom:4px;
  color:var(--terra);
  font-size:8px;
  font-weight:950;
  letter-spacing:.06em;
}
.finance-audit-copy strong{
  display:block;
  color:var(--navy);
  font-size:12px;
}
.finance-audit-copy small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.finance-audit-meta{
  text-align:right;
  min-width:150px;
}
.finance-audit-meta strong{
  display:block;
  color:var(--navy);
  font-size:10px;
}
.finance-audit-meta small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}

@media(max-width:1000px){
  .finance-report-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .finance-report-actions{
    width:100%;
  }
  .finance-report-actions .btn{
    flex:1;
  }
  .finance-report-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .finance-audit-card{
    grid-template-columns:1fr;
  }
  .finance-audit-meta{
    min-width:0;
    text-align:left;
  }
}
@media(max-width:440px){
  .finance-report-stats{
    grid-template-columns:1fr;
  }
}


/* FASE 12B.3 — MÓDULOS POR PLANO */
.plan-hidden{display:none!important}
.subscription-notice{
  width:min(1180px,calc(100% - 28px));
  margin:10px auto 0;
  border-radius:12px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}
.subscription-notice strong{color:var(--navy);font-size:11px;white-space:nowrap}
.subscription-notice span{color:var(--muted);font-size:10px}
.subscription-notice.warning{border-color:#ead6a6;background:#fffaf0}
.subscription-notice.blocked{border-color:#e2b2a4;background:#fff6f2}
.subscription-notice.blocked strong{color:#9e4931}
@media(max-width:700px){
  .subscription-notice{align-items:flex-start;flex-direction:column;gap:3px}
}


/* ============================================================
   FASE 12B.4 — LIMITES E CONSUMO
   ============================================================ */
.plan-usage-panel{
  margin:14px 0 16px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:15px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow);
}
.plan-usage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.plan-usage-head h2{margin:2px 0 3px;color:var(--navy);font-size:18px}
.plan-usage-head p{margin:0;color:var(--muted);font-size:11px}
.plan-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.plan-usage-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;min-width:0}
.plan-usage-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.plan-usage-card-top span{font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.plan-usage-card-top b{font-size:8px;border-radius:999px;padding:3px 6px;background:#eef1f4;color:#43505e}
.plan-usage-card>strong{display:block;color:var(--navy);font-size:18px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-usage-card>small{display:block;color:var(--muted);font-size:9px;min-height:24px;margin-top:3px}
.plan-usage-track{height:5px;border-radius:999px;background:#eceff1;overflow:hidden;margin-top:8px}
.plan-usage-track i{display:block;height:100%;border-radius:999px;background:var(--navy)}
.plan-usage-card.level-warning{border-color:#e7cf91;background:#fffcf4}
.plan-usage-card.level-warning .plan-usage-track i{background:#b48621}
.plan-usage-card.level-critical{border-color:#e2b16e;background:#fff8ee}
.plan-usage-card.level-critical .plan-usage-track i{background:#b86a20}
.plan-usage-card.level-full{border-color:#e0a593;background:#fff5f1}
.plan-usage-card.level-full .plan-usage-track i{background:#ae4934}
.plan-usage-card.level-full .plan-usage-card-top b{background:#f8ded6;color:#93402d}
.retention-card .plan-usage-card-top b{background:#edf5ef;color:#356440}
.plan-usage-alert{margin-top:12px;border-radius:10px;padding:9px 11px;font-size:10px;font-weight:700}
.plan-usage-alert.warning{background:#fff7df;border:1px solid #e8d297;color:#785e1e}
.plan-usage-alert.critical{background:#fff1df;border:1px solid #e7bd82;color:#8a5720}
.plan-usage-alert.full{background:#fff0eb;border:1px solid #e0ad9d;color:#98442f}
.plan-usage-footnote{display:block;margin-top:10px;color:var(--muted);font-size:9px}
.plan-usage-loading{grid-column:1/-1;color:var(--muted);font-size:11px;padding:8px}
.users-plan-limit-notice{margin:10px 0 14px;padding:9px 11px;border-radius:10px;font-size:10px;font-weight:700;border:1px solid var(--line);background:#f8fafb;color:#44515d}
.users-plan-limit-notice.available{background:#f1f8f2;border-color:#cfe2d2;color:#35633d}
.users-plan-limit-notice.full{background:#fff2ee;border-color:#e2b3a5;color:#97442f}
.users-plan-limit-notice.unlimited{background:#f4f6f8;border-color:#d8dfe5;color:#43505d}
@media(max-width:920px){.plan-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .plan-usage-panel{padding:12px}
  .plan-usage-head{align-items:flex-start}
  .plan-usage-grid{grid-template-columns:1fr 1fr;gap:8px}
  .plan-usage-card{padding:10px}
  .plan-usage-card>strong{font-size:15px}
}


/* ============================================================
   FASE 12C.3 — IDENTIDADE NO LOGIN POR DOMÍNIO
   ============================================================ */
.auth-card.domain-tenant,
.public-membership-card.domain-tenant{
  border-color:var(--gold);
}
#authChurchName{
  overflow-wrap:anywhere;
}
#authTenantBadge{
  max-width:100%;
  text-align:center;
  line-height:1.35;
}


/* FASE 13B.2.4A — CENTRAL DE PRIVACIDADE / LGPD */
.privacy-request-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border:1px solid var(--line,#e6e7e9);background:#fff;border-radius:16px;padding:16px 18px;cursor:pointer;margin-bottom:10px}.privacy-request-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.privacy-request-card>div{display:flex;flex-direction:column;gap:4px}.privacy-request-card strong{font-size:16px}.privacy-request-card span{font-size:14px}.privacy-request-card small{opacity:.7}.privacy-status-chip{white-space:nowrap;border-radius:999px;padding:7px 10px;background:rgba(11,27,46,.08);font-weight:700}.privacy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}.privacy-detail-grid>div{border:1px solid var(--line,#e6e7e9);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:5px}.privacy-detail-grid span{font-size:12px;opacity:.65}.privacy-detail-wide{grid-column:1/-1}.privacy-status-box{display:flex;align-items:end;gap:12px;padding:14px;border-radius:14px;background:rgba(11,27,46,.04);margin:12px 0 20px}.privacy-status-box label{flex:1}.privacy-event-row{border-left:3px solid var(--primary,#0B1B2E);padding:9px 12px;margin:8px 0;display:flex;flex-direction:column;gap:3px}.privacy-event-row small{opacity:.68}@media(max-width:720px){.privacy-detail-grid{grid-template-columns:1fr}.privacy-detail-wide{grid-column:auto}.privacy-status-box,.privacy-request-card{align-items:stretch;flex-direction:column}.privacy-status-chip{align-self:flex-start}}

/* FASE 13B.2.4B — Configurações de Privacidade */
#privacySettingsPanel summary{cursor:pointer;color:var(--navy);padding:10px 0;font-size:18px}
#privacySettingsFields{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0 0}
#privacySettingsFields legend{padding:0 8px;color:var(--navy);font-weight:800}
#privacySettingsPanel .privacy-settings-check{display:flex;align-items:center;gap:10px;margin:16px 0}
#privacySettingsPanel .privacy-settings-check input{width:18px;height:18px;margin:0;padding:0;flex:none}
#privacySettingsMessage{overflow-wrap:anywhere}
