:root{--bg:#f5f6fa;--panel:#fff;--ink:#18202f;--muted:#7c8494;--line:#e8ebf1;--brand:#5b5ce2;--brand2:#8b5cf6;--sidebar:#121826;--radius:18px}*{box-sizing:border-box}body{margin:0;font:14px Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:272px;background:var(--sidebar);color:#aeb6c7;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;padding:22px 14px;z-index:20}.brand{height:54px;display:flex;align-items:center;gap:11px;padding:0 10px;color:white;font-weight:750;font-size:16px}.brand img{width:36px;height:36px;object-fit:contain}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:12px;color:white;font-size:20px}.sidebar nav{margin-top:24px;display:grid;gap:4px;overflow:auto}.nav-link,.nav-parent{height:46px;width:100%;border:0;background:none;color:inherit;border-radius:11px;display:flex;align-items:center;gap:12px;padding:0 13px;font:inherit;text-align:left;cursor:pointer}.nav-parent b{margin-left:auto;font-size:16px;transition:.2s}.nav-group.open .nav-parent b{transform:rotate(180deg)}.nav-link:hover,.nav-parent:hover,.nav-link.active{background:#20293a;color:white}.submenu{display:none;padding:3px 0 5px 45px}.nav-group.open .submenu{display:grid}.submenu a{padding:9px 0;color:#8791a5}.submenu a.active,.submenu a:hover{color:white}.sidebar-bottom{margin-top:auto;border-top:1px solid #263044;padding:14px 8px;display:grid;gap:14px}.user-mini{display:flex;align-items:center;gap:10px}.user-mini>div,.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#313d56;color:white;font-weight:bold}.user-mini span{display:grid;font-size:12px}.user-mini small{color:#818ca0}.sidebar-bottom>a{font-size:13px}.main{width:calc(100% - 272px);margin-left:272px}.topbar{height:94px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}h1{font-size:22px;margin:2px 0 0}.eyebrow{font-size:10px;letter-spacing:1.3px;color:var(--brand);font-weight:800;margin:0}.content{padding:30px 38px;max-width:1600px}.mobile-menu{display:none}.alert{padding:13px 18px;margin:18px 38px 0;border-radius:12px}.alert.success{background:#eaf8ef;color:#19733a}.alert.error{background:#ffedef;color:#b52237}.hero{background:linear-gradient(120deg,#20234d,#6258d9);min-height:230px;border-radius:22px;color:white;padding:38px 42px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero span{opacity:.7}.hero h2{font-size:29px;line-height:1.2;margin:10px 0}.hero p{opacity:.75}.hero-orb{font-size:120px;opacity:.2}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat,.panel,.module-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(24,32,47,.025)}.stat{padding:22px}.stat small{display:block;font-size:10px;font-weight:800;letter-spacing:.8px;color:var(--muted)}.stat strong{font-size:26px;display:block;margin:9px 0}.stat span{color:var(--muted);font-size:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel h3{margin:0 0 5px}.panel-head a{color:var(--brand);font-size:12px}.list-row{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.list-row b,.list-row span{display:block}.list-row span{color:var(--muted);font-size:12px;margin-top:4px}.date-box{width:43px;height:43px;border-radius:11px;background:#f0efff;color:var(--brand);font-weight:800;display:grid;place-content:center;text-align:center;line-height:1}.date-box small{font-size:8px;margin-top:3px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick a{border:1px solid var(--line);border-radius:11px;padding:15px;font-weight:650}.quick a:hover{border-color:var(--brand);color:var(--brand)}.page-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-block;text-align:center}.primary{background:var(--brand);color:white}.secondary{background:#eff0f7;color:var(--ink)}.full{width:100%}.search{display:flex;gap:8px}.search input{width:min(400px,60vw)}input,select,textarea{border:1px solid #dfe3eb;border-radius:10px;background:#fff;padding:11px 12px;width:100%;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #5b5ce21a}textarea{min-height:90px;resize:vertical}.search button{border:0;background:#e9ebf1;border-radius:10px;padding:0 15px}.table-panel{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left}th{font-size:10px;letter-spacing:.8px;color:var(--muted);background:#fafbfc}td small{display:block;color:var(--muted);margin-top:3px}.person{display:flex;align-items:center;gap:10px}.badge{background:#f0f1f5;border-radius:999px;padding:5px 9px;font-size:11px}.status{font-size:12px}.status:first-letter{color:#29a45b}.icon-btn{color:var(--brand);font-weight:700;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-card{padding:22px;border-top:3px solid var(--accent,var(--brand))}.module-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#f1f0ff;color:var(--accent,var(--brand));font-size:19px}.module-card h3{margin:16px 0 7px}.module-card p{color:var(--muted);line-height:1.5;min-height:42px}.module-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px}.modal{display:none;position:fixed;inset:0;background:#12182680;z-index:100;padding:25px;overflow:auto}.modal.show{display:grid;place-items:center}.modal-card{background:white;width:min(680px,100%);border-radius:20px;padding:26px;position:relative;max-height:calc(100vh - 50px);overflow:auto}.modal-card.wide{width:min(900px,100%)}.modal-card h2{margin:0 0 20px}.close{position:absolute;right:16px;top:14px;border:0;background:#f1f2f5;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-weight:650;font-size:12px}.form-grid .full{grid-column:1/-1}.timeline{display:grid;gap:10px}.timeline article{background:white;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;align-items:center;gap:15px}.timeline h3{margin:0}.timeline p{margin:5px 0 0;color:var(--muted)}.grow{flex:1}.finance-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.positive{color:#169451}.negative{color:#d13d4d}.permissions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 20px}.permissions label{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:2px 7px}.permissions small{grid-column:2;color:var(--muted)}.form-title{margin-top:22px}.settings-layout{display:grid;grid-template-columns:2fr 1fr;gap:18px}.logo-preview{max-width:140px;max-height:90px;object-fit:contain}.metric-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.empty.small{padding:25px}.login-page,.center-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f1f2fb,#e8e8fa)}.login-card{width:min(430px,calc(100% - 30px));background:white;border-radius:25px;padding:40px;box-shadow:0 20px 60px #31365a22;text-align:center}.login-card .brand-mark{margin:auto}.login-card h1{margin:17px 0 7px}.login-card p{color:var(--muted);margin-bottom:28px}.login-card form{display:grid;gap:14px;text-align:left}.login-card label{display:grid;gap:6px;font-weight:650;font-size:12px}.login-card small{display:block;color:var(--muted);margin-top:20px}.login-card .alert{margin:0 0 15px;text-align:left}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.mobile-open{transform:translateX(0);box-shadow:20px 0 50px #0005}.main{width:100%;margin:0}.mobile-menu{display:block;border:0;background:#f0f1f5;border-radius:9px;font-size:20px;margin-right:12px}.topbar{padding:0 18px}.topbar>div:first-of-type{margin-right:auto}.content{padding:20px 16px}.alert{margin:14px 16px 0}.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.permissions{grid-template-columns:1fr 1fr}.settings-layout{grid-template-columns:1fr}}@media(max-width:620px){.topbar{height:76px}.top-actions{display:none}.hero{min-height:210px;padding:28px 24px}.hero h2{font-size:24px}.hero-orb{display:none}.stats,.grid-2,.finance-summary,.cards{grid-template-columns:1fr}.page-actions{align-items:stretch;flex-direction:column}.search{width:100%}.search input{width:100%}.page-actions .btn{width:100%}.form-grid{grid-template-columns:1fr}.modal{padding:8px}.modal-card{border-radius:16px;padding:22px;min-height:auto}.permissions{grid-template-columns:1fr}.quick{grid-template-columns:1fr 1fr}.timeline article{align-items:flex-start}.date-box{flex:0 0 43px}}
/* V5 — Comunicação ocupa toda a área útil e não repete o título do topbar */
.main.page-communication .topbar,
.main.page-communication_settings .topbar,
.main.page-communication_manual .topbar,
.main.page-whatsapp_settings .topbar{display:none!important}
.main.page-communication .content,
.main.page-communication_settings .content,
.main.page-communication_manual .content,
.main.page-whatsapp_settings .content{width:100%!important;max-width:none!important;padding:30px 34px 42px!important;box-sizing:border-box!important}
@media(max-width:980px){
 .main.page-communication .content,.main.page-communication_settings .content,.main.page-communication_manual .content,.main.page-whatsapp_settings .content{padding:22px 16px 34px!important}
}
@media print{.sidebar,.topbar,.page-actions,.btn{display:none!important}.main{margin:0;width:100%}.content{padding:0}.panel{box-shadow:none}}
/* Compatibilidade com o menu nativo: não depende de JavaScript */
details.nav-group>summary{list-style:none}
details.nav-group>summary::-webkit-details-marker{display:none}
details.nav-group .submenu{max-height:0;overflow:hidden;opacity:0;transition:max-height .22s ease,opacity .18s ease}
details.nav-group[open] .submenu{display:grid;max-height:900px;opacity:1}
details.nav-group[open] .nav-parent b{transform:rotate(180deg)}
.message-modal{z-index:200}
.message-modal .modal-card{width:min(430px,100%);text-align:center}
.message-modal .modal-card p{color:var(--muted);margin:0 0 20px}

/* ==================== MÓDULO PESSOAS ==================== */
.people-header,.people-actions,.filter-main,.profile-title,.profile-actions,.profile-tabs,.detail-grid,.people-insights,.profile-grid{display:flex;gap:12px}
.people-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px}.people-header h2{margin:0 0 6px}
.people-insights{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.people-filter{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:18px;display:grid;gap:10px}
.filter-main{align-items:end;display:grid;grid-template-columns:minmax(200px,2fr) repeat(4,minmax(120px,1fr));gap:10px}.filter-main label{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}
.filter-main:nth-child(2){grid-template-columns:repeat(3,minmax(120px,1fr)) 150px 150px auto auto}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--status) 12%,white);border:1px solid color-mix(in srgb,var(--status) 30%,white);font-size:11px;font-weight:700}.status-pill:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--status)}
.mini-leader{font-size:9px;background:#fdf2f8;color:#be185d;border-radius:999px;padding:3px 6px;margin-left:5px}.table-actions{display:flex;gap:10px;white-space:nowrap}
.profile-hero{background:linear-gradient(120deg,#171d35,#3f3a88);border-radius:22px;color:#fff;padding:28px;display:flex;align-items:center;gap:18px}.profile-avatar{width:76px;height:76px;border-radius:24px;background:#ffffff20;border:1px solid #ffffff30;display:grid;place-items:center;font-size:28px;font-weight:800}.profile-title{align-items:center}.profile-title h2{margin:0}.profile-hero p{margin:7px 0 0;color:#d4d8e8}.profile-hero .badge{background:#ffffff18;color:#fff;border:1px solid #ffffff55}
.profile-actions{margin-left:auto}.profile-tabs{overflow:auto;margin:16px 0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px}.profile-tabs a{white-space:nowrap;padding:9px 12px;color:var(--muted);font-weight:650}.profile-tabs a:hover{color:var(--brand);background:#f4f3ff;border-radius:9px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;margin:18px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-grid small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-grid b{font-size:13px}.full-detail{grid-column:1/-1}.finance-person-total{font-size:28px;font-weight:800;padding:14px 0 18px;color:var(--brand)}.finance-person-total span{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:4px}.timeline-item{padding:14px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-item p{margin:6px 0;color:var(--ink);line-height:1.5}.timeline-item small{color:var(--muted)}
.form-section-title{grid-column:1/-1;padding-top:12px;margin-top:5px;border-top:1px solid var(--line);font-weight:800;color:var(--brand);font-size:12px;letter-spacing:.4px;text-transform:uppercase}.ministerio-select{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:8px}.min-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #f1f2f5}.min-row:last-child{border:0}.min-row label{font-weight:650}.min-row input[type=checkbox]{width:auto}
@media(max-width:1100px){.people-insights{grid-template-columns:repeat(2,1fr)}.filter-main,.filter-main:nth-child(2){grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.people-header{display:grid}.people-actions .btn{width:100%}.people-insights,.profile-grid{grid-template-columns:1fr}.filter-main,.filter-main:nth-child(2),.detail-grid,.min-row{grid-template-columns:1fr}.profile-hero{align-items:flex-start;flex-wrap:wrap;padding:22px}.profile-actions{margin-left:0;width:100%}.profile-actions .btn{flex:1;text-align:center}.profile-stats{grid-template-columns:1fr 1fr}.person-form{padding:18px}.profile-title{flex-wrap:wrap}}

.search-select{position:relative}.search-select>input{margin-bottom:6px}.search-select>select{width:100%}.search-select>select[size]{height:auto;max-height:220px}


/* Configurações modulares expansíveis */
.settings-accordion{display:grid;gap:12px;max-width:1100px}
.settings-expand-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;overflow:hidden;transition:.2s box-shadow,.2s border-color}
.settings-expand-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.05)}
.settings-expand-card[open]{border-color:var(--primary,#6366f1)}
.settings-expand-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}
.settings-expand-card summary::-webkit-details-marker{display:none}
.settings-expand-title{display:flex;align-items:center;gap:14px;min-width:0}
.settings-expand-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(99,102,241,.1);font-size:19px;flex:0 0 42px}
.settings-expand-title b{display:block;font-size:15px;margin-bottom:4px}
.settings-expand-title span{display:block;color:var(--muted,#6b7280);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.settings-expand-meta{display:flex;align-items:center;gap:16px;color:var(--muted,#6b7280);flex:0 0 auto}
.settings-expand-meta i{font-style:normal;font-size:22px;transition:.2s transform}
.settings-expand-card[open] .settings-expand-meta i{transform:rotate(180deg)}
.settings-expand-content{border-top:1px solid var(--border,#e5e7eb);padding:20px}
.settings-expand-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.settings-expand-toolbar h3{margin:0 0 4px;font-size:16px}
.settings-items{display:grid;gap:8px}
.settings-row-main{display:flex;align-items:center;gap:10px}
@media(max-width:650px){
  .settings-expand-card summary{padding:15px}
  .settings-expand-title span{white-space:normal}
  .settings-expand-meta small{display:none}
  .settings-expand-content{padding:15px}
  .settings-expand-toolbar{align-items:stretch;flex-direction:column}
  .settings-expand-toolbar .btn{width:100%;justify-content:center}
}

/* Células */
.filter-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;margin:0 0 18px;overflow:hidden}.filter-card summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.filter-card summary::-webkit-details-marker{display:none}.filter-title{display:flex;align-items:center;gap:10px}.filter-title small{color:var(--muted,#6b7280);font-weight:400}.filter-card[open] summary{border-bottom:1px solid var(--border,#e5e7eb)}.filter-card[open] summary i{transform:rotate(180deg)}.filter-card i{font-style:normal;font-size:20px}.filter-content{padding:16px 18px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.filter-actions{display:flex;gap:8px}.cell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cell-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:18px}.cell-card-top,.panel-head,.row-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.cell-card h3{margin:16px 0 5px}.cell-card-info{display:grid;gap:8px;margin:18px 0;font-size:13px;color:var(--muted,#6b7280)}.cell-card-info span{display:block}.section-gap{margin-top:18px}.profile-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px}.profile-tabs a{white-space:nowrap;padding:9px 14px;border:1px solid var(--border,#e5e7eb);border-radius:10px;text-decoration:none;color:inherit}.table-wrap{overflow:auto}.report-item{padding:16px 0;border-bottom:1px solid var(--border,#e5e7eb)}.report-item>div:first-child{display:flex;justify-content:space-between}.report-item small{color:var(--muted,#6b7280)}.report-numbers{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.report-numbers span{background:rgba(99,102,241,.08);padding:5px 8px;border-radius:8px;font-size:12px}@media(max-width:900px){.cell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-content{grid-template-columns:1fr 1fr}}@media(max-width:620px){.cell-grid{grid-template-columns:1fr}.filter-content{grid-template-columns:1fr}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.filter-title small{display:none}.row-actions{align-items:flex-end}.list-row{align-items:flex-start}}


/* Dashboard e visão geral de células */
.cell-dashboard-stats{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:14px;margin:18px 0}
.cell-stat-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:17px;display:flex;gap:13px;align-items:flex-start;min-width:0;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.cell-stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(99,102,241,.11);font-size:18px;flex:0 0 42px}
.cell-stat-card small,.cell-stat-card span{display:block;color:var(--muted,#64748b);font-size:12px}
.cell-stat-card strong{display:block;font-size:27px;line-height:1.05;margin:4px 0}
.cell-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px}
.cell-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cell-mini-card{border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:14px;background:var(--card,#fff)}
.cell-mini-card h4{margin:12px 0 5px}.cell-mini-card p{margin:0;color:var(--muted,#64748b);font-size:13px}.cell-mini-card>div:last-child{display:flex;gap:14px;margin-top:13px;font-size:13px}
.cell-mini-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.attention-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border,#e5e7eb);color:inherit;text-decoration:none}.attention-row:last-child{border-bottom:0}.attention-row small{display:block;color:var(--muted,#64748b);margin-top:3px}.attention-row span{font-size:12px;color:var(--muted,#64748b)}
/* Permissões organizadas */
.permission-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 20px}
.permission-module-card{border:1px solid var(--border,#e5e7eb);border-radius:15px;overflow:hidden;background:var(--card,#fff)}
.permission-module-head{padding:14px 15px;background:rgba(99,102,241,.055);border-bottom:1px solid var(--border,#e5e7eb)}.permission-module-head b,.permission-module-head small{display:block}.permission-module-head small{margin-top:3px;color:var(--muted,#64748b);font-size:12px}
.permission-module-items{padding:7px}.permission-module-items label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px;font-size:13px}.permission-module-items label:hover{background:rgba(99,102,241,.05)}
.permission-select-row{justify-content:space-between}.permission-select-row select{width:auto;padding:7px 8px;font-size:12px}
.card-actions{display:flex;gap:5px}.module-card footer{display:flex;justify-content:space-between;align-items:center}
.role-editor{margin-top:18px}.danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}
.table-actions .icon-btn{min-width:34px;text-align:center;font-size:15px}
@media(max-width:1200px){.cell-dashboard-stats{grid-template-columns:repeat(3,1fr)}.permission-module-grid{grid-template-columns:repeat(2,1fr)}.cell-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.cell-dashboard-layout{grid-template-columns:1fr}.cell-dashboard-stats{grid-template-columns:repeat(2,1fr)}.permission-module-grid{grid-template-columns:1fr}.cell-mini-grid{grid-template-columns:1fr}.cell-stat-card{padding:14px}.cell-stat-card strong{font-size:24px}}


/* Ajuste visual compacto de permissões e ações */
.permission-module-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
.permission-module-card{
  min-width:0;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.permission-module-head{padding:12px 14px!important}
.permission-module-items{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  padding:9px!important;
}
.permission-module-items label.permission-check,
.permission-module-items .permission-check{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 9px!important;
  min-height:44px!important;
  width:100%!important;
  border:1px solid transparent;
}
.permission-module-items label.permission-check:hover{
  border-color:rgba(91,92,226,.16)!important;
  background:#f7f7ff!important;
}
.permission-module-items input[type=checkbox]{
  width:16px!important;height:16px!important;margin:0!important;
  justify-self:end;
}
.permission-icon{
  width:30px;height:30px;border-radius:9px;
  display:grid!important;place-items:center;
  background:#f0f1ff;font-size:14px;
}
.permission-name{min-width:0!important;line-height:1.2!important}
.permission-select-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 96px!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 9px!important;
  min-height:46px!important;
}
.permission-select-row select{
  width:96px!important;
  min-width:96px!important;
  margin:0!important;
}
.permission-select-name{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0;
}
.permission-select-name i{
  width:28px;height:28px;display:grid;place-items:center;
  background:#f0f1ff;border-radius:8px;font-style:normal;flex:0 0 28px;
}
.permission-select-name b{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:12px;font-weight:650;
}
.table-actions,.card-actions{display:flex!important;align-items:center;gap:6px!important;white-space:nowrap}
.icon-btn{
  width:34px!important;height:34px!important;
  min-width:34px!important;padding:0!important;
  display:inline-grid!important;place-items:center!important;
  border:1px solid var(--line,#e8ebf1)!important;
  background:#fff!important;border-radius:9px!important;
  cursor:pointer!important;text-decoration:none!important;
}
.icon-btn:hover{border-color:var(--brand)!important;background:#f6f6ff!important;transform:translateY(-1px)}
.role-editor{overflow:hidden}
@media(max-width:700px){
 .permission-module-grid{grid-template-columns:1fr!important}
 .permission-select-row{grid-template-columns:minmax(0,1fr) 90px!important}
 .permission-select-row select{width:90px!important;min-width:90px!important}
}

/* Correções de ações e pessoas próximas */
.page-action-buttons{display:flex;gap:10px;align-items:center}
.nearby-card{overflow:hidden}
.nearby-list{display:grid}
.nearby-person{display:grid;grid-template-columns:minmax(0,1fr)80px auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.nearby-person:last-child{border-bottom:0}
.nearby-main{display:grid;gap:4px}
.nearby-main b{font-size:15px}
.nearby-main small{color:var(--muted)}
.nearby-distance{justify-self:end;color:#5d687a;font-size:12px}
.nearby-actions{display:flex;gap:7px;align-items:center}
.nearby-actions form{margin:0}
.nearby-toggle{font-size:12px;border:1px solid var(--line);padding:8px 10px;border-radius:10px;background:#f8fafc;white-space:nowrap}
.form-note{grid-column:1/-1;padding:11px 13px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#fafbff}
@media(max-width:700px){.nearby-person{grid-template-columns:minmax(0,1fr) auto}.nearby-actions{grid-column:1/-1}.nearby-distance{align-self:start}.nearby-toggle{margin-top:8px}.panel-head{flex-wrap:wrap}}

/* Pessoas 2026 - filtros, paginação e seletor de ministérios */
.filter-box{margin:14px 0;border:1px solid var(--line,#e8ebf1);border-radius:14px;background:#fff;overflow:hidden}
.filter-box>summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:700;display:flex;align-items:center;gap:10px}
.filter-box>summary::-webkit-details-marker{display:none}
.filter-box>summary span{font-weight:400;color:var(--muted);font-size:12px}
.filter-box[open]>summary{border-bottom:1px solid var(--line,#e8ebf1);background:#fafbff}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:15px}
.filter-grid label{display:grid;gap:6px;font-size:12px;font-weight:650}
.filter-grid .btn,.filter-grid>a{align-self:end}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px 2px;flex-wrap:wrap}
.pagination-info,.pagination-size{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}
.pagination-size select{width:auto;padding:6px 28px 6px 9px}
.pagination-pages{display:flex;gap:5px;align-items:center}
.page-number{min-width:32px;height:32px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;text-decoration:none;color:inherit;font-size:12px;background:#fff}
.page-number.active{background:var(--brand,#5b5ce2);border-color:var(--brand,#5b5ce2);color:#fff;font-weight:700}
.ministry-picker{border:1px solid var(--line,#e8ebf1);border-radius:13px;padding:12px;background:#fafbff}
.ministry-picker-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.ministry-picker-head b,.ministry-picker-head small{display:block}.ministry-picker-head small{color:var(--muted);font-size:11px;margin-top:3px}
.ministry-picker-head span{font-size:11px;font-weight:700;padding:6px 9px;border-radius:999px;background:#ececff;color:#4f46c8;white-space:nowrap}
.ministry-picker>input{width:100%;margin-bottom:8px}
.ministry-options{display:grid;gap:6px;max-height:210px;overflow:auto;padding-right:2px}
.ministry-option{display:grid!important;grid-template-columns:18px 10px minmax(0,1fr) 130px;align-items:center!important;gap:8px!important;padding:8px 9px!important;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}
.ministry-option:hover{border-color:#b9b8f3;background:#f8f8ff}
.ministry-option>input[type=checkbox]{width:16px!important;height:16px!important;margin:0!important}
.ministry-dot{width:9px;height:9px;border-radius:50%}
.ministry-cargo{min-width:0!important;padding:7px 8px!important;font-size:11px!important}
@media(max-width:1050px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ministry-option{grid-template-columns:18px 10px minmax(0,1fr)}.ministry-cargo{grid-column:3}.pagination{align-items:flex-start}}
@media(max-width:520px){.filter-grid{grid-template-columns:1fr}.pagination{display:grid}.pagination-size{order:2}}

/* Ajustes definitivos do perfil de pessoa */
.content:has(.person-profile-page){max-width:none;width:100%}
.person-profile-page{width:100%;max-width:none}
.person-profile-page .profile-hero,.person-profile-page .profile-tabs,.person-profile-page .profile-stats,.person-profile-page .profile-grid{width:100%;max-width:none}
.person-profile-page .profile-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.person-profile-page .profile-stats .stat{min-width:0;padding:16px}
.person-profile-page .profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.person-profile-page .profile-grid .panel{min-width:0}
@media(max-width:1100px){.person-profile-page .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.person-profile-page .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.person-profile-page .profile-grid{grid-template-columns:1fr}}
/* Picker de ministérios: somente seleção; a função fica em Liderança */
.ministry-option{grid-template-columns:auto 9px 1fr!important;align-items:center}
.ministry-option .ministry-cargo{display:none!important}

/* ==================== LIDERANÇA / MINISTÉRIOS V4 ==================== */
.leadership-page-head{margin-bottom:12px}
.leadership-tabs{margin:10px 0 12px}
.leadership-tabs .tab-btn{display:inline-flex;align-items:center;gap:7px}
.leadership-search{max-width:520px}
.leadership-search input{width:100%}
.icon-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.icon-actions .icon-btn,.module-actions .icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;padding:0}
.module-actions{display:flex;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.inline-form{display:inline}
.ministry-card{position:relative;min-width:0}
.ministry-card.is-inactive{opacity:.72}
.ministry-card .module-actions{justify-content:flex-end}
.leadership-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.leadership-people-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.leadership-people-cards .module-card{padding:16px;display:flex;align-items:center;gap:10px}
.leadership-people-cards .module-card span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.pagination>div:last-child{display:flex;gap:7px}
@media(max-width:1000px){.leadership-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-people-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.leadership-stats,.leadership-people-cards{grid-template-columns:1fr}.pagination{align-items:flex-start;flex-direction:column}}

/* Painel Acompanhamento - estilo analítico */
.people-analysis-head{margin-bottom:12px}
.analysis-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.analysis-tab{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:999px;background:#e8e9ec;color:#111827;text-decoration:none;font-size:13px;font-weight:700;border:1px solid transparent}
.analysis-tab:hover{background:#dedfe4}
.analysis-tab.active{background:var(--brand,#5b5ce2);color:#fff;border-color:var(--brand,#5b5ce2)}
.analysis-panel{background:#fff;border:1px solid var(--line,#e8ebf1);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.analysis-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.analysis-section-title h3{margin:0 0 4px;font-size:19px}.analysis-section-title .muted{font-size:12px}
.analysis-selection{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:10px;background:#f4f4ff;color:#4f46c8;font-size:12px}.analysis-selection a{font-size:18px;text-decoration:none;color:inherit}
.analysis-cards{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:12px}
.analysis-card{min-height:108px;border-radius:14px;background:var(--analysis-accent,#4f93e1);color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;text-align:center;box-shadow:0 5px 12px rgba(15,23,42,.10);border:2px solid transparent;transition:.15s transform,.15s box-shadow}
.analysis-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,23,42,.13)}
.analysis-card.selected{border-color:#111827;box-shadow:0 0 0 2px #fff,0 0 0 4px #11182722}
.analysis-card span{font-size:13px;font-weight:700;line-height:1.25}.analysis-card strong{font-size:27px;margin-top:6px;line-height:1}
.analysis-overview-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}.analysis-overview-card{padding:20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:inherit;background:#fafbff;display:grid;gap:6px}.analysis-overview-card span{font-size:22px}.analysis-overview-card b{font-size:14px}.analysis-overview-card small{color:var(--muted);font-size:11px}
.analysis-results{margin-top:14px}.analysis-results-head{padding:0 0 14px}.analysis-results-head h3{margin:0 0 3px}.analysis-results-head .muted{font-size:12px}
.analysis-results table td,.analysis-results table th{vertical-align:middle}.analysis-results .person{min-width:220px}.analysis-results .table-actions{justify-content:flex-start}
@media(max-width:1200px){.analysis-cards{grid-template-columns:repeat(4,minmax(130px,1fr))}.analysis-overview-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:760px){.analysis-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-section-title{align-items:flex-start;flex-direction:column}.analysis-results{overflow:auto}.analysis-results table{min-width:760px}}
@media(max-width:480px){.analysis-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.analysis-tab{padding:9px 8px}.analysis-cards,.analysis-overview-grid{grid-template-columns:1fr 1fr}.analysis-card{min-height:95px}}

/* V6 - Acompanhamento ocupa toda a área útil e nunca quebra os cards em duas linhas */
.content:has(.people-analysis-head){max-width:none;width:100%;padding-left:32px;padding-right:32px}
.people-analysis-head{width:100%}
.analysis-cards,.analysis-overview-grid{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 6px}
.analysis-card{flex:1 1 0;min-width:110px;min-height:98px;padding:10px 7px}
.analysis-card span{font-size:12px}
.analysis-card strong{font-size:24px}
.analysis-overview-card{flex:1 1 0;min-width:145px}
.analysis-panel{width:100%;box-sizing:border-box}
.analysis-results{width:100%;box-sizing:border-box}
@media(max-width:1100px){.content:has(.people-analysis-head){padding-left:18px;padding-right:18px}.analysis-card{min-width:120px}.analysis-overview-card{min-width:150px}}
@media(max-width:760px){.analysis-cards,.analysis-overview-grid{overflow-x:auto}.analysis-card{flex:0 0 145px}.analysis-overview-card{flex:0 0 160px}}

/* V7 - Espaçamento interno consistente nos títulos dos painéis */
.analysis-results > .analysis-results-head,
.table-panel > .analysis-results-head {
  padding: 18px 18px 12px !important;
  margin: 0 !important;
}
.analysis-results > .analysis-results-head h3,
.table-panel > .analysis-results-head h3 {
  margin: 0 0 4px !important;
  line-height: 1.25;
}
.analysis-results > .analysis-results-head .muted,
.table-panel > .analysis-results-head .muted {
  display: block;
}
/* Nenhum título de painel deve ficar colado na borda */
.panel > .panel-head:first-child,
.panel > h3:first-child,
.panel > .analysis-section-title:first-child {
  margin-top: 0;
}

/* ==================== FINANCEIRO V8 ==================== */
.finance-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0}
.finance-kpis .stat-card{min-width:0;padding:15px}
.finance-kpis .stat-card strong{font-size:22px;display:block;margin-top:4px}
.finance-kpis .stat-card span{font-size:11px;color:var(--muted)}
.finance-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.finance-bar{margin:13px 0}
.finance-bar>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}
.finance-bar>div span{color:var(--muted)}
.finance-bar i{height:7px;border-radius:99px;background:#eef0f6;display:block;overflow:hidden}
.finance-bar em{display:block;height:100%;background:var(--primary);border-radius:99px}
.commitment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.commitment-grid>div{border:1px solid var(--line);border-radius:12px;padding:16px}
.commitment-grid span,.commitment-grid b{display:block}
.commitment-grid span{font-size:12px;color:var(--muted);margin-bottom:8px}
.finance-head .page-actions-right{display:flex;gap:8px}
.finance-filter{margin:12px 0;padding:0;overflow:hidden}
.finance-filter .filter-trigger{padding:13px 16px;display:flex;align-items:center;gap:8px;cursor:pointer}
.finance-filter .filter-trigger span:nth-last-child(2){font-size:12px;color:var(--muted)}
.filter-chevron{margin-left:auto}
.filter-body{display:none;padding:14px 16px;border-top:1px solid var(--line)}
.filter-body.is-open{display:grid}
.finance-mode{display:grid;grid-template-columns:1.3fr .8fr 1fr 1fr;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px}
.finance-mode label{margin:0}
.finance-modal{max-width:850px}
.finance-person-field[hidden],.finance-other-field[hidden],.finance-qty[hidden],.finance-frequency[hidden],.finance-end-date[hidden]{display:none}
.settings-section-body{display:none}
.settings-section.is-open .settings-section-body{display:block}
.settings-section-trigger{width:100%;border:0;background:transparent;text-align:left;padding:17px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.settings-section-trigger span{display:flex;align-items:center;gap:10px}
.settings-section-trigger small{display:block;color:var(--muted);font-weight:400;margin-top:3px}
.settings-section{border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:10px;overflow:hidden}
.settings-section-body{border-top:1px solid var(--line);padding:14px 16px}
.section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--muted);font-size:12px}
.settings-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.settings-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
@media(max-width:1050px){.finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid-2{grid-template-columns:1fr}.finance-mode{grid-template-columns:1fr 1fr}.finance-head .page-actions-right{flex-wrap:wrap}}
@media(max-width:520px){.finance-kpis{grid-template-columns:1fr}.finance-mode{grid-template-columns:1fr}.settings-row{grid-template-columns:1fr auto}.settings-row .icon-actions{grid-column:1/-1;justify-content:flex-end}}

/* FINANCEIRO V9 */
.finance-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 14px}
.finance-highlight{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:17px 18px;min-width:0;box-shadow:0 5px 18px rgba(24,32,47,.025)}
.finance-highlight span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.45px;margin-bottom:9px}.finance-highlight b{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-highlight strong{display:block;font-size:22px;margin:5px 0}.finance-highlight small{color:var(--muted);font-size:11px}.finance-highlight.income{border-top:3px solid #16a34a}.finance-highlight.expense{border-top:3px solid #dc2626}.finance-highlight.neutral{border-top:3px solid var(--brand)}
.finance-type-display{border:1px solid var(--line);border-radius:10px;padding:11px 12px;display:grid;gap:3px;background:#fafbfc}.finance-type-display span{font-size:11px;color:var(--muted)}.finance-type-display b{font-size:13px}
.finance-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.finance-settings-grid .settings-section{margin:0}
@media(max-width:1000px){.finance-highlight-grid{grid-template-columns:1fr 1fr}.finance-settings-grid{grid-template-columns:1fr}}
@media(max-width:620px){.finance-highlight-grid{grid-template-columns:1fr}.finance-settings-grid{grid-template-columns:1fr}}

/* Financeiro V10 */
.finance-dashboard-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.finance-stat{min-width:0;padding:14px}.finance-stat .stat-icon{width:38px;height:38px}.finance-stat strong{font-size:20px}.finance-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.finance-feature-card{border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:flex-end;background:var(--card);box-shadow:var(--shadow)}.finance-feature-card small{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.finance-feature-card h3{margin:7px 0 2px;font-size:20px}.finance-feature-card strong{font-size:25px}.finance-feature-card>span{font-size:11px;padding:5px 9px;border-radius:999px;background:var(--soft)}.finance-feature-card.income{border-left:4px solid #16a34a}.finance-feature-card.expense{border-left:4px solid #dc2626}.finance-settings-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-settings-columns h4{margin:12px 4px}.finance-type-badge{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
@media(max-width:1100px){.finance-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.finance-dashboard-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.finance-dashboard-cards .finance-stat{min-width:190px;scroll-snap-align:start}.finance-feature-grid,.finance-settings-columns{grid-template-columns:1fr}}

/* ===== FINANCEIRO V11 — dashboard compacto + combobox + densidade ===== */
.finance-kpi-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:100%;margin:16px 0}
.finance-kpi-card{background:var(--panel,#fff)!important;border:1px solid var(--line,#e5e7eb)!important;border-radius:16px!important;padding:15px!important;display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important}
.finance-kpi-copy{min-width:0!important}.finance-kpi-copy strong{font-size:21px!important;white-space:nowrap!important}
.finance-combobox{position:relative;width:100%}
.finance-combobox-input{width:100%;box-sizing:border-box}
.finance-combobox-menu{position:absolute;z-index:500;left:0;right:0;top:calc(100% + 6px);display:none;max-height:250px;overflow:auto;padding:5px;background:var(--panel,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.finance-combobox.is-open .finance-combobox-menu{display:block}
.finance-combobox-option{padding:10px 11px;border-radius:9px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:13px}
.finance-combobox-option:hover{background:var(--soft,#f5f7fb)}
.finance-combobox-option small{color:var(--muted,#6b7280)}
.finance-combobox-empty{padding:12px;color:var(--muted,#6b7280);font-size:12px}
.finance-density{display:flex;gap:2px;padding:3px;background:var(--soft,#f5f7fb);border:1px solid var(--line,#e5e7eb);border-radius:10px}
.finance-density button{border:0;background:transparent;border-radius:7px;width:28px;height:28px;cursor:pointer;color:var(--muted,#6b7280);font-weight:800}
.finance-density button.active{background:var(--panel,#fff);color:var(--brand,#5b5bd6);box-shadow:0 2px 6px rgba(15,23,42,.08)}
.finance-density-compact .form-grid{gap:7px!important}.finance-density-comfortable .form-grid{gap:15px!important}
.finance-density-compact .finance-table td,.finance-density-compact .finance-table th{padding:8px 10px!important}
.finance-density-comfortable .finance-table td,.finance-density-comfortable .finance-table th{padding:15px 12px!important}
@media(max-width:1250px){.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.finance-kpi-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x proximity}.finance-kpi-card{min-width:210px;scroll-snap-align:start}.finance-page-head .page-actions-right{width:100%;flex-wrap:wrap}}

/* Finance V11 final visual refinement */
.content{max-width:none!important;width:100%;box-sizing:border-box}
.finance-page-head{width:100%}
.finance-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.finance-kpi-card{min-height:92px}
.finance-page-head .page-actions-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.finance-density~*{}
.search-select{position:relative;width:100%}
.search-select-menu{position:absolute;z-index:500;left:0;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 35px rgba(15,23,42,.15);padding:5px;display:none;max-height:230px;overflow:auto}
.search-select-menu.is-open{display:block}
.search-select-option{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:8px;cursor:pointer;font:inherit;color:inherit}
.search-select-option:hover{background:var(--soft)}
.search-select-empty{padding:10px;color:var(--muted);font-size:12px}
@media(max-width:1250px){.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:780px){.finance-kpi-grid{display:flex!important;overflow-x:auto!important}.finance-kpi-card{min-width:210px}.finance-page-head .page-actions-right{width:100%}}

/* FINANCEIRO V12 — KPI cards */
.finance-kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:16px 0!important;
}
.finance-kpi-card{
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  min-height:104px!important;
  padding:16px 15px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  overflow:hidden!important;
}
.finance-kpi-icon{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
}
.finance-kpi-copy{
  min-width:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
}
.finance-kpi-copy small{
  display:block!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
}
.finance-kpi-copy strong{
  display:block!important;
  margin:5px 0 3px!important;
  font-size:21px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.finance-kpi-copy span{
  display:block!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
  color:var(--muted)!important;
}
@media(max-width:1250px){
  .finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .finance-kpi-grid{
    display:flex!important;
    overflow-x:auto!important;
    gap:10px!important;
    padding-bottom:4px!important;
  }
  .finance-kpi-card{
    flex:0 0 220px!important;
    min-width:220px!important;
  }
}

/* Finance V14 */
.finance-scope-card{text-align:center;max-width:440px}
.finance-scope-icon{width:54px;height:54px;border-radius:16px;background:var(--soft);display:grid;place-items:center;font-size:24px;margin:0 auto 10px}
.finance-scope-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.icon-action-choice{height:58px;border:1px solid var(--line);border-radius:14px;background:var(--soft);font-size:22px;cursor:pointer;box-shadow:none}
.icon-action-choice:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.08)}
.finance-scope-labels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px;color:var(--muted);font-size:11px}
.edit-finance-other[hidden],.edit-finance-person[hidden]{display:none}
.search-select-menu{border-radius:14px!important}
.search-select-option{padding:10px 12px!important}

/* FINANCEIRO V15 — anexos */
.finance-attachment-field{padding:12px 13px;border:1px dashed var(--line);border-radius:12px;background:var(--soft)}
.finance-attachment-field input[type=file]{margin-top:7px;width:100%}
.finance-attachment-field small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.finance-view-modal{max-width:900px}
.finance-attachments-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.attachments-list{display:grid;gap:8px}
.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft)}
.attachment-info{display:flex;align-items:center;gap:10px;min-width:0}
.attachment-info>div{min-width:0}
.attachment-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}
.attachment-info small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.attachment-icon{width:34px;height:34px;border-radius:9px;background:var(--panel);display:grid;place-items:center}
@media(max-width:700px){.attachment-row{align-items:flex-start;flex-direction:column}.attachment-row .icon-actions{width:100%;justify-content:flex-end}.attachment-info{width:100%}.attachment-info b{max-width:70vw}}

/* FINANCEIRO V19 — dashboard em linha + status */
.finance-kpi-grid.finance-kpi-grid-7{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:11px!important;width:100%!important}
.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-card{min-height:96px!important;padding:13px!important}
.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:15px!important}
.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-copy small{font-size:10px!important}
.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-copy strong{font-size:18px!important}
.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-copy span{font-size:9.5px!important}
.finance-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.finance-status-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 13px;box-shadow:0 4px 12px rgba(15,23,42,.04);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px}
.finance-status-card span{font-size:11px;color:var(--muted)}
.finance-status-card b{font-size:16px;grid-row:1/3;align-self:center;white-space:nowrap}
.finance-status-card small{font-size:9px;color:var(--muted);margin-top:3px}
.finance-feature-card{min-width:0}
@media(max-width:1250px){.finance-kpi-grid.finance-kpi-grid-7{grid-template-columns:repeat(7,minmax(150px,1fr))!important;overflow-x:auto!important;display:flex!important}.finance-kpi-grid.finance-kpi-grid-7 .finance-kpi-card{flex:0 0 170px!important}.finance-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.finance-status-strip{grid-template-columns:1fr}}

/* FINANCEIRO V20 — controle Tabela/Pizza sem estilo nativo */
.finance-section-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:14px 18px!important;
  margin:14px 0!important;
  border:1px solid var(--line,#e5e7eb)!important;
  border-radius:14px!important;
  background:var(--panel,#fff)!important;
}
.finance-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.finance-toggle-copy b{font-size:14px;line-height:1.2}
.finance-toggle-copy span{font-size:11px;color:var(--muted,#6b7280)}
.view-toggle{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid var(--line,#e5e7eb)!important;
  border-radius:12px!important;
  background:var(--soft,#f5f7fb)!important;
  flex:0 0 auto;
}
.view-toggle-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--muted,#6b7280)!important;
  font:600 12px/1.1 system-ui,-apple-system,Segoe UI,sans-serif!important;
  height:34px!important;
  padding:0 13px!important;
  border-radius:9px!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  box-shadow:none!important;
}
.view-toggle-btn span{font-size:14px}
.view-toggle-btn.active{
  background:var(--panel,#fff)!important;
  color:var(--brand,#5b5bd6)!important;
  box-shadow:0 3px 8px rgba(15,23,42,.10)!important;
}
.view-toggle-btn:hover:not(.active){background:rgba(255,255,255,.65)!important;color:var(--text,#111827)!important}
.finance-distribution-card{min-width:0!important}
.finance-data-table{overflow:auto}
.finance-data-table table{width:100%;border-collapse:separate;border-spacing:0}
.finance-data-table th,.finance-data-table td{padding:13px 14px;border-bottom:1px solid var(--line,#e5e7eb);text-align:left;vertical-align:middle}
.finance-data-table td{font-size:14px;line-height:1.35;color:var(--text,#111827)}
.finance-data-table td b{font-size:14px}
.finance-data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--text,#334155);background:var(--soft,#f8fafc);white-space:nowrap}
.finance-data-table tr:last-child td{border-bottom:0}
@media(max-width:650px){
  .finance-section-toggle{align-items:flex-start;flex-direction:column}
  .view-toggle{width:100%}
  .view-toggle-btn{flex:1}
}

/* FINANCEIRO V21 — display switching must override grid display */
.finance-visual-block[hidden]{display:none!important}
.finance-visual-block:not([hidden]){display:grid!important}
.view-toggle-btn{user-select:none}

/* FINANCEIRO V22 — gráficos de pizza reais em CSS */
.finance-pie-view{align-items:stretch!important}
.finance-pie-view .pie-panel{min-height:330px!important}
.finance-pie-view .pie-wrap{
  display:grid!important;
  grid-template-columns:minmax(210px,280px) 1fr!important;
  gap:22px!important;
  align-items:center!important;
  min-height:235px!important;
}
.finance-pie-chart{display:grid;place-items:center;min-height:230px}
.finance-pie-chart .finance-pie{
  width:200px!important;
  height:200px!important;
  border-radius:50%!important;
  position:relative!important;
  flex:0 0 200px!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06),0 8px 20px rgba(15,23,42,.07)!important;
}
.finance-pie-chart .finance-pie:after{
  content:"";
  position:absolute;
  width:92px;height:92px;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--panel,#fff);
  box-shadow:0 0 0 1px rgba(15,23,42,.05);
}
.finance-pie-chart .finance-pie:before{
  content:"";
  position:absolute;
  width:12px;height:12px;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--brand,#5b5bd6);
  z-index:2;
}
.pie-legend{display:grid!important;gap:9px!important}
.pie-legend>div{
  display:grid!important;
  grid-template-columns:10px 1fr auto!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 10px!important;
  border:1px solid var(--line,#e5e7eb)!important;
  border-radius:10px!important;
  background:var(--soft,#f8fafc)!important;
}
.pie-legend>div i{
  width:9px!important;height:9px!important;border-radius:50%!important;
  background:var(--brand,#5b5bd6)!important;
}
.pie-legend>div span{font-size:12px!important;color:var(--text,#111827)!important}
.pie-legend>div b{font-size:12px!important;white-space:nowrap!important}
.finance-section-toggle + .finance-visual-block{margin-top:12px}
@media(max-width:900px){
  .finance-pie-view .pie-wrap{grid-template-columns:1fr!important}
  .finance-pie-chart .finance-pie{width:175px!important;height:175px!important}
}

.pie-legend>div:nth-child(1) i{background:#4f46e5!important}
.pie-legend>div:nth-child(2) i{background:#06b6d4!important}
.pie-legend>div:nth-child(3) i{background:#84cc16!important}
.pie-legend>div:nth-child(4) i{background:#f59e0b!important}
.pie-legend>div:nth-child(5) i{background:#ef4444!important}
.pie-legend>div:nth-child(6) i{background:#8b5cf6!important}
.pie-legend>div:nth-child(7) i{background:#14b8a6!important}
.pie-legend>div:nth-child(8) i{background:#64748b!important}

/* FINANCEIRO V23 — pizza limpa e legenda compacta */
.finance-pie-chart .finance-pie:before{display:none!important}
.finance-pie-chart .finance-pie:after{width:86px!important;height:86px!important}
.pie-legend>div{min-height:34px!important;padding:7px 9px!important}
.pie-legend>div span{font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pie-legend>div b.pie-value-hover{
  font-size:11px!important;color:transparent!important;
  transition:color .15s ease!important;
  user-select:none!important;
}
.pie-legend>div:hover b.pie-value-hover{color:var(--muted,#64748b)!important}
.pie-legend>div:hover{background:var(--panel,#fff)!important;box-shadow:0 2px 8px rgba(15,23,42,.05)!important}
.finance-forecast-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.finance-forecast-grid .finance-feature-card{min-height:118px!important}
@media(max-width:900px){.finance-forecast-grid{grid-template-columns:1fr!important}}

/* AGENDA V25 — seleção múltipla */
.agenda-scale-card{position:relative}
.scale-select{position:absolute;left:10px;top:10px;z-index:2}
.scale-select input{width:16px;height:16px}
.agenda-scale-card .agenda-card-date{margin-left:10px}

/* AGENDA V26 — dashboard */
.agenda-kpis-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:16px 0!important}
.agenda-kpis-dashboard .agenda-kpi{min-height:92px!important;display:flex!important;align-items:center!important;gap:12px!important;padding:14px 16px!important}
.agenda-kpi-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#f1f2ff;font-size:19px}
.agenda-kpi-copy{display:grid;gap:2px;min-width:0}.agenda-kpi-copy span{font-size:11px;color:var(--muted,#64748b);white-space:nowrap}.agenda-kpi-copy b{font-size:23px;line-height:1.05}.agenda-kpi-copy small{font-size:10px;color:var(--muted,#64748b)}
.agenda-dashboard-filter{margin:12px 0!important}
.agenda-dashboard-events{margin-top:12px!important}
.agenda-dashboard-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.agenda-dashboard-bottom{margin-top:14px!important}
.agenda-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agenda-summary-grid>div{border:1px solid var(--line,#e5e7eb);border-radius:12px;background:var(--soft,#f8fafc);padding:13px;display:grid;gap:2px}
.agenda-summary-grid small{font-size:10px;color:var(--muted,#64748b)}.agenda-summary-grid b{font-size:22px}.agenda-summary-grid span{font-size:10px;color:var(--muted,#64748b)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 2px;border-top:1px solid var(--line,#e5e7eb);margin-top:8px;font-size:11px;color:var(--muted,#64748b)}
.pagination-actions{display:flex;align-items:center;gap:7px}.pagination-actions b{font-size:11px;color:var(--text,#111827)}
@media(max-width:1100px){.agenda-kpis-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:800px){.agenda-dashboard-event-cards{grid-template-columns:1fr!important}.agenda-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.agenda-kpis-dashboard{grid-template-columns:1fr!important}.agenda-summary-grid{grid-template-columns:1fr}.pagination{align-items:flex-start;flex-direction:column}}

/* ================= AGENDA V27 — REDESIGN COMPLETO ================= */
.agenda-page{width:100%;max-width:none;margin:0;padding:0 4px 34px}
.agenda-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:0 0 20px;padding:2px 0}
.agenda-page-head h2{font-size:25px;letter-spacing:-.02em;margin:3px 0 6px}
.agenda-page-head .muted{font-size:12px}
.agenda-head-actions{display:flex;gap:8px;align-items:center}
.agenda-action-btn{
  appearance:none;border:1px solid #e4e7ef;border-radius:11px;background:#fff;color:#111827;
  min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  font:700 12px/1 system-ui,-apple-system,Segoe UI,sans-serif;text-decoration:none;cursor:pointer;
  box-shadow:0 5px 15px rgba(15,23,42,.05);transition:.16s ease;
}
.agenda-action-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.agenda-primary{background:#5b5bd6;color:#fff;border-color:#5b5bd6}.agenda-danger{color:#dc2626;background:#fff;border-color:#fecaca}.agenda-secondary{background:#f6f7fb;color:#374151}
.agenda-info-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 15px}
.agenda-info-card,.agenda-legend-card{
  background:#fff;border:1px solid #e5e7eb;border-radius:16px;min-height:94px;
  box-shadow:0 8px 24px rgba(15,23,42,.045);padding:14px 15px;display:flex;align-items:center;gap:12px;
}
.agenda-info-icon{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#f1f2ff;display:grid;place-items:center;font-size:18px}
.agenda-info-card>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.agenda-info-card small{font-size:10px;color:#64748b}.agenda-info-card strong{font-size:24px;line-height:1.05;color:#0f172a}.agenda-info-card span{font-size:9px;color:#94a3b8}
.agenda-legend-card{justify-content:center;gap:14px;flex-wrap:wrap}
.agenda-legend-card span{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#64748b}
.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.legend-dot.green{background:#16a34a}.legend-dot.red{background:#ef4444}.legend-dot.yellow{background:#eab308}
.agenda-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:15px;box-shadow:0 8px 20px rgba(15,23,42,.035);margin-bottom:15px;overflow:hidden}
.agenda-filter-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:13px 16px;font-size:12px}
.agenda-filter-card summary::-webkit-details-marker{display:none}
.agenda-filter-card summary small{color:#94a3b8;font-weight:500}.agenda-filter-card summary em{font-style:normal;margin-left:auto;color:#94a3b8}
.agenda-filter-body{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:10px;padding:13px 15px 15px;border-top:1px solid #eef0f4}
.agenda-filter-body label{display:grid;gap:5px;font-size:10px;color:#64748b;font-weight:700}
.agenda-filter-body input,.agenda-filter-body select{height:39px;border:1px solid #dfe3eb;border-radius:10px;padding:0 11px;background:#fff;font:500 12px system-ui}
.agenda-panel{background:#fff;border:1px solid #e5e7eb;border-radius:17px;box-shadow:0 8px 24px rgba(15,23,42,.045);padding:15px}
.agenda-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agenda-panel-head h3{margin:0;font-size:15px}.agenda-panel-head span{font-size:10px;color:#94a3b8}
.agenda-scale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.agenda-scale-item{
  position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center;
  min-width:0;background:#fff;border:1px solid #e5e7eb;border-radius:15px;padding:13px;
  box-shadow:0 5px 16px rgba(15,23,42,.035);overflow:hidden;
}
.agenda-scale-item.green{border:2px solid #16a34a}.agenda-scale-item.red{border:2px solid #ef4444}.agenda-scale-item.yellow{border:2px solid #eab308}
.agenda-scale-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.agenda-scale-item.green .agenda-scale-accent{background:#16a34a}.agenda-scale-item.red .agenda-scale-accent{background:#ef4444}.agenda-scale-item.yellow .agenda-scale-accent{background:#eab308}
.agenda-scale-date{width:58px;text-align:center;border-radius:12px;background:#f7f8fc;border:1px solid #e9ebf1;padding:8px 4px;display:flex;flex-direction:column;gap:2px}
.agenda-scale-date strong{font-size:21px;line-height:1;color:#111827}.agenda-scale-date small{font-size:9px;font-weight:800;color:#6366f1}.agenda-scale-date span{font-size:9px;color:#64748b}
.agenda-scale-main{min-width:0}.agenda-scale-topline{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.agenda-chip{display:inline-flex;align-items:center;max-width:170px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-status-pill{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}.agenda-status-pill.green{background:#dcfce7;color:#166534}.agenda-status-pill.red{background:#fee2e2;color:#991b1b}.agenda-status-pill.yellow{background:#fef3c7;color:#92400e}
.agenda-scale-main h3{font-size:14px;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-scale-main p{margin:0 0 3px;font-size:10px;color:#64748b}.agenda-scale-main>small{font-size:9px;color:#94a3b8}
.agenda-scale-actions{display:flex;align-items:center;gap:5px}.agenda-icon-btn{width:34px;height:34px;border:1px solid #e1e5ed;background:#fff;border-radius:9px;display:inline-grid;place-items:center;text-decoration:none;color:#475569;cursor:pointer;font-size:13px}
.agenda-icon-btn:hover{background:#f8fafc;transform:translateY(-1px)}.agenda-check{display:grid;place-items:center;width:34px;height:34px}
.agenda-check input{width:15px;height:15px}
.agenda-empty{border:1px dashed #dfe3eb;border-radius:12px;padding:24px;text-align:center;color:#94a3b8;font-size:11px;grid-column:1/-1}
.agenda-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid #edf0f4;font-size:10px;color:#94a3b8}
.agenda-pagination>div{display:flex;align-items:center;gap:7px}.agenda-pagination b{font-size:10px;color:#334155}.agenda-pagination a[aria-disabled="true"]{opacity:.35;pointer-events:none}
.scale-steps{display:flex;align-items:center;gap:7px;padding:11px 12px;background:#f8f9ff;border:1px solid #e7e9f8;border-radius:12px;margin-bottom:14px;font-size:10px;color:#64748b}
.scale-steps span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e5e7eb;color:#64748b;font-weight:800}.scale-steps span.active{background:#5b5bd6;color:#fff}.scale-steps i{height:1px;flex:1;background:#dfe3eb}
.field-step{display:inline-grid!important;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:800;margin-right:6px}
.agenda-selected-event{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e3e7ef;border-radius:11px;background:#f8fafc;font-size:11px}.agenda-selected-event span{color:#64748b}
.replicate-header{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #edf0f4;margin-bottom:14px}.replicate-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef2ff}
.replicate-card{display:grid;grid-template-columns:52px 1fr 38px;align-items:center;gap:11px;padding:11px;border:1px solid #e5e7eb;border-radius:13px;background:#fff;box-shadow:0 4px 13px rgba(15,23,42,.035)}
.replicate-card:hover{border-color:#c7c9f8;box-shadow:0 8px 20px rgba(15,23,42,.07)}.replicate-date{width:48px;height:48px;border-radius:12px;background:#f4f5ff;display:grid;place-items:center;text-align:center}.replicate-date b{display:block;font-size:18px}.replicate-date small{font-size:8px;color:#6366f1}
.agenda-detail-box{border:1px solid #e5e7eb;border-radius:13px;overflow:hidden;background:#fff}.agenda-detail-box h3{padding:12px 14px;margin:0;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:13px}.agenda-person-row{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid #edf0f4;font-size:11px}.agenda-person-row:last-child{border-bottom:0}.agenda-person-row small{color:#94a3b8}
.agenda-modal .modal-card,.modal-card.agenda-modal{border-radius:18px}
.agenda-page .modal-card{max-height:88vh;overflow:auto}
.agenda-page .scale-people-picker{background:#fafbff;border:1px solid #e5e7eb;border-radius:13px}
.agenda-page .scale-person{background:#fff}
.agenda-page .agenda-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.agenda-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-scale-grid,.agenda-page .agenda-event-cards{grid-template-columns:1fr}.agenda-filter-body{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-filter-body label:first-of-type{grid-column:1/-1}}
@media(max-width:650px){.agenda-page-head{flex-direction:column}.agenda-head-actions{width:100%}.agenda-action-btn{flex:1}.agenda-info-cards{grid-template-columns:1fr}.agenda-filter-body{grid-template-columns:1fr}.agenda-scale-item{grid-template-columns:54px 1fr}.agenda-scale-actions{grid-column:2;justify-content:flex-start}.agenda-scale-date{width:50px}.agenda-pagination{flex-direction:column;align-items:flex-start;gap:8px}}

/* AGENDA V27 — eventos/presença no mesmo padrão visual */
.agenda-event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.agenda-card{position:relative!important;display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;background:#fff!important;border:1px solid #e6e8ef!important;border-radius:15px!important;padding:13px!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important;min-width:0}
.agenda-card:hover{border-color:#cfd3f7!important;box-shadow:0 10px 24px rgba(15,23,42,.07)!important;transform:translateY(-1px)}
.agenda-card .agenda-card-date{width:54px!important;min-height:56px!important;background:#f5f6ff!important;border:1px solid #e6e8f3!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:7px 3px!important}
.agenda-card .agenda-card-date b{font-size:21px!important;color:#111827!important}.agenda-card .agenda-card-date small{font-size:8px!important;color:#5b5bd6!important;font-weight:800!important}
.agenda-card .eyebrow{font-size:8px!important;margin-bottom:4px!important}.agenda-card h3{font-size:14px!important;margin:0 0 4px!important;color:#0f172a!important}.agenda-card p{font-size:10px!important;color:#64748b!important;margin:0 0 3px!important}.agenda-card small{font-size:9px!important;color:#94a3b8!important}
.agenda-card .card-actions{display:flex!important;gap:5px!important}
.attendance-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.attendance-card{display:grid!important;grid-template-columns:58px 1fr auto auto!important;align-items:center!important;gap:12px!important;background:#fff!important;border:1px solid #e6e8ef!important;border-radius:15px!important;padding:13px!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important}
.attendance-card:hover{border-color:#cfd3f7!important}
.attendance-card h3{font-size:14px!important;margin:0 0 4px!important}.attendance-card strong{font-size:11px!important;color:#334155!important;white-space:nowrap!important}
.filter-box.agenda-filter{margin:0 0 14px!important;border:1px solid #e5e7eb!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(15,23,42,.035)!important}
.filter-box.agenda-filter summary{padding:13px 15px!important;font-size:12px!important;list-style:none!important}
.filter-box.agenda-filter summary::-webkit-details-marker{display:none!important}
@media(max-width:800px){.agenda-event-cards,.attendance-list{grid-template-columns:1fr!important}.agenda-card,.attendance-card{grid-template-columns:54px 1fr auto!important}.agenda-card .card-actions{grid-column:2}}

/* AGENDA V28 — correções definitivas de layout */
.content .agenda-dashboard-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:18px 0!important;
}
.content .agenda-dashboard-kpis > .agenda-kpi{
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:94px!important;
  box-sizing:border-box!important;
  padding:16px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  box-shadow:0 7px 22px rgba(15,23,42,.055)!important;
}
.content .agenda-dashboard-kpis .agenda-kpi-icon{
  flex:0 0 42px!important;width:42px!important;height:42px!important;
}
.content .agenda-dashboard-kpis .agenda-kpi-copy{
  display:grid!important;min-width:0!important;gap:2px!important;
}
.content .agenda-dashboard-events .agenda-dashboard-event-cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
}
.content .agenda-dashboard-events .agenda-card{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.content .agenda-dashboard-bottom{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.content .agenda-dashboard-bottom > .panel{min-width:0!important}
.agenda-action-btn.agenda-primary{min-width:112px}
.agenda-page .page-actions{margin-bottom:12px}
.agenda-page .page-actions h2{margin:0 0 4px}
@media(max-width:1100px){
 .content .agenda-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .content .agenda-dashboard-kpis,.content .agenda-dashboard-events .agenda-dashboard-event-cards,.content .agenda-dashboard-bottom{grid-template-columns:1fr!important}
}

/* V29 — botoes dos modais de exclusao lado a lado */
.compact-modal .modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
}
.compact-modal .modal-actions form{
  display:inline-flex!important;
  margin:0!important;
}
.compact-modal .modal-actions .agenda-action-btn{
  min-width:132px!important;
  min-height:40px!important;
}
@media(max-width:560px){
  .compact-modal .modal-actions .agenda-action-btn{min-width:0!important;flex:1 1 auto!important}
}

/* V30 — campos de recorrência realmente ocultos quando Repetir = Não */
.recurrence-end[hidden],
.agenda-form .recurrence-end[hidden],
form .recurrence-only[hidden]{display:none!important}

.scale-add-btn{cursor:pointer!important;position:relative;z-index:20!important;pointer-events:auto!important}
.modal.show{display:flex!important}

/* V33 — campos de recorrência */
.weekly-only[hidden],.recurrence-end[hidden]{display:none!important}

/* V34 — Presença no mesmo padrão dos cards de Agenda */
.attendance-dashboard-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.attendance-dashboard-card{
  display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;align-items:center;gap:13px;
  padding:13px;background:#fff;border:1px solid #e5e7eb;border-radius:15px;
  box-shadow:0 6px 18px rgba(15,23,42,.045);min-width:0;
}
.attendance-dashboard-card:hover{border-color:#cdd2f5;box-shadow:0 10px 22px rgba(15,23,42,.07)}
.attendance-count{display:flex;flex-direction:column;align-items:center;min-width:58px;padding:8px 10px;border-radius:11px;background:#f8fafc;border:1px solid #e9edf2}
.attendance-count b{font-size:20px;line-height:1}.attendance-count small{font-size:9px;color:#64748b}
@media(max-width:800px){.attendance-dashboard-cards{grid-template-columns:1fr}.attendance-dashboard-card{grid-template-columns:54px minmax(0,1fr) auto}}

/* V35 — todos os modais da Agenda centralizados */
.agenda-page .modal,
body .agenda-page .modal,
.modal.agenda-modal{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  min-height:100vh!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
  padding:24px!important;
  box-sizing:border-box!important;
  overflow:auto!important;
}
.agenda-page .modal.show,
body .agenda-page .modal.show,
.modal.agenda-modal.show{
  display:flex!important;
}
.agenda-page .modal .modal-card,
.modal.agenda-modal .modal-card{
  margin:0 auto!important;
  width:min(900px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  box-sizing:border-box!important;
}
.agenda-page .recurrence-only[hidden],
.agenda-page .recurrence-end[hidden],
.agenda-page .weekly-only[hidden]{display:none!important}
@media(max-width:600px){
  .agenda-page .modal,
  .modal.agenda-modal{padding:12px!important}
  .agenda-page .modal .modal-card,
  .modal.agenda-modal .modal-card{width:100%!important;max-height:calc(100vh - 24px)!important}
}

/* V36 — seletor de período futuro/anterior */
.agenda-event-mode{display:flex;gap:8px;margin:-3px 0 12px}
.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#64748b;text-decoration:none;font-size:11px;font-weight:700}
.mode-pill.active{background:#eef2ff;border-color:#c7c9f8;color:#4f46e5}
.mode-pill:hover{border-color:#c7c9f8}
.agenda-attendance-modal{width:min(980px,calc(100vw - 40px))!important}
.attendance-modal-head{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid #edf0f4;margin-bottom:15px}
.attendance-modal-icon{width:44px;height:44px;border-radius:13px;background:#eef7f1;display:grid;place-items:center;font-size:20px}
.attendance-modal-head h2{margin:2px 0 4px;font-size:20px}
.attendance-controls{display:grid;grid-template-columns:240px 1fr;gap:12px;margin-bottom:12px}
.attendance-controls label{display:grid;gap:6px;font-size:10px;color:#64748b;font-weight:700}
.attendance-controls select,.attendance-controls input{height:42px;border:1px solid #dfe4ed;border-radius:11px;padding:0 12px;background:#fff;font:500 12px system-ui}
.attendance-picker-results{border:1px solid #e3e7ef;border-radius:12px;max-height:265px;overflow:auto;background:#fff}
.attendance-results-empty{padding:22px;text-align:center;color:#94a3b8;font-size:11px}
.attendance-result{width:100%;border:0;border-bottom:1px solid #edf0f4;background:#fff;display:grid;grid-template-columns:1fr auto 28px;gap:10px;align-items:center;padding:11px 13px;text-align:left;cursor:pointer;font:600 11px system-ui;color:#1e293b}
.attendance-result:last-child{border-bottom:0}.attendance-result:hover{background:#f8fafc}
.attendance-result small{color:#94a3b8;font-size:9px;font-weight:500}.attendance-result b{width:25px;height:25px;border-radius:7px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}
.attendance-selected-list{margin:12px 0;border:1px solid #e5e7eb;border-radius:12px;background:#fafbfe;padding:9px}
.selected-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:10px;color:#64748b}
.selected-title span{min-width:23px;height:23px;border-radius:999px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-weight:800}
#attendanceSelectedItems{display:flex;flex-wrap:wrap;gap:6px}
.selected-person{display:flex;align-items:center;gap:7px;border:1px solid #e2e6ef;background:#fff;border-radius:9px;padding:6px 7px 6px 9px;font-size:10px;color:#334155}
.selected-person small{color:#94a3b8}.remove-attendance{border:0;background:#f1f2f5;border-radius:6px;width:21px;height:21px;cursor:pointer;color:#64748b}
@media(max-width:700px){.attendance-controls{grid-template-columns:1fr}.attendance-modal-head h2{font-size:18px}.agenda-event-mode{overflow:auto}}

/* V37 — polimento final da Agenda */
.agenda-page .agenda-modal{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  display:none!important;align-items:center!important;justify-content:center!important;
  padding:24px!important;box-sizing:border-box!important;
  background:rgba(15,23,42,.48)!important;z-index:9999!important;
}
.agenda-page .agenda-modal.show{display:flex!important}
.agenda-page .agenda-modal>.modal-card{
  position:relative!important;left:auto!important;top:auto!important;transform:none!important;
  margin:0!important;max-width:980px!important;width:min(980px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;overflow:auto!important;
}
.agenda-page .scale-person{
  display:grid!important;grid-template-columns:22px minmax(0,1fr) 150px!important;
  align-items:center!important;gap:10px!important;
  padding:9px 10px!important;border-bottom:1px solid #edf0f4!important;
  background:#fff!important;
}
.agenda-page .scale-person:last-child{border-bottom:0!important}
.agenda-page .scale-person>input[type="checkbox"]{width:17px!important;height:17px!important;margin:0!important}
.agenda-page .scale-person>span{
  min-width:0!important;font-size:11px!important;font-weight:700!important;color:#1e293b!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.agenda-page .scale-person .scale-function{
  width:100%!important;height:34px!important;box-sizing:border-box!important;
  border:1px solid #e1e5ec!important;border-radius:9px!important;padding:0 10px!important;
  font-size:10px!important;background:#fff!important;
}
.agenda-page .scale-person .scale-function::placeholder{color:#a1a9b6!important}
.agenda-page .scale-people-picker{overflow:hidden!important}
.agenda-page .scale-people-picker .picker-head{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  padding:9px 10px!important;background:#f7f8fc!important;border-bottom:1px solid #e5e8ef!important;
  font-size:10px!important;
}
.agenda-page .scale-steps{font-size:10px!important}
.agenda-page .agenda-selected-event{margin-top:4px!important}
.agenda-page .agenda-modal .close{position:sticky!important;top:0!important;float:right!important;z-index:3!important}
@media(max-width:640px){
  .agenda-page .agenda-modal{padding:10px!important}
  .agenda-page .agenda-modal>.modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
  .agenda-page .scale-person{grid-template-columns:22px minmax(0,1fr)!important}
  .agenda-page .scale-person .scale-function{grid-column:2!important}
}

/* V37.1 — qualquer modal renderizado dentro da Agenda permanece centralizado */
.agenda-page .modal,
.agenda-page .modal.show{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  box-sizing:border-box!important;align-items:center!important;justify-content:center!important;
  padding:24px!important;z-index:9999!important;
}
.agenda-page .modal{display:none!important;background:rgba(15,23,42,.48)!important}
.agenda-page .modal.show{display:flex!important}
.agenda-page .modal>.modal-card{
  position:relative!important;inset:auto!important;left:auto!important;top:auto!important;
  margin:0!important;transform:none!important;
}

/* V38 — correção definitiva da hierarquia dos modais da Agenda */
.agenda-page .modal.agenda-modal{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  padding:24px!important;
  box-sizing:border-box!important;
  background:rgba(15,23,42,.50)!important;
  z-index:10000!important;
  align-items:center!important;
  justify-content:center!important;
}
.agenda-page .modal.agenda-modal.show{
  display:flex!important;
}
.agenda-page .modal.agenda-modal > .modal-card{
  display:block!important;
  position:relative!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  margin:0!important;
  width:min(980px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  background:#fff!important;
  z-index:10001!important;
}

/* V39 — seletor de evento elegante + modais centralizados globalmente */
.modal.agenda-modal{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;height:100vh!important;
  padding:22px!important;
  box-sizing:border-box!important;
  align-items:center!important;justify-content:center!important;
  background:rgba(15,23,42,.52)!important;
  z-index:10000!important;
}
.modal.agenda-modal.show{display:flex!important}
.modal.agenda-modal>.modal-card{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  margin:0 auto!important;
  width:min(980px,calc(100vw - 44px))!important;
  max-height:calc(100vh - 44px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}

/* Combobox de eventos */
.agenda-combobox{position:relative}
.agenda-combo-input-wrap{
  height:45px;display:flex;align-items:center;gap:8px;
  border:1px solid #dfe4ed;border-radius:11px;background:#fff;
  padding:0 12px;box-sizing:border-box;transition:.15s ease;
}
.agenda-combo-input-wrap:focus-within{
  border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)
}
.agenda-combo-input-wrap>span{font-size:13px}
.agenda-combo-input-wrap input{
  border:0!important;outline:0!important;background:transparent!important;
  width:100%!important;height:100%!important;padding:0!important;
  box-shadow:none!important;font-size:12px!important;font-weight:600!important;color:#1e293b!important;
}
.agenda-combo-options{
  position:absolute;left:0;right:0;top:calc(100% + 6px);
  display:none;z-index:30;
  background:#fff;border:1px solid #e2e6ee;border-radius:12px;
  box-shadow:0 16px 35px rgba(15,23,42,.14);
  overflow:auto;max-height:330px;padding:6px;
}
.agenda-combo-options.open{display:block}
.agenda-combo-option{
  width:100%;display:grid;grid-template-columns:48px 1fr;
  gap:10px;align-items:center;border:0;background:#fff;
  padding:9px;border-radius:9px;text-align:left;cursor:pointer;
}
.agenda-combo-option:hover{background:#f6f7fb}
.agenda-combo-option .date{
  height:38px;border-radius:9px;background:#f0f2ff;color:#4f46e5;
  display:grid;place-items:center;font-size:10px;font-weight:800;text-transform:uppercase;
}
.agenda-combo-option .body{display:grid;gap:2px;min-width:0}
.agenda-combo-option .body b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-combo-option .body small{font-size:9px;color:#94a3b8}
.agenda-combo-empty{padding:18px;text-align:center;font-size:10px;color:#94a3b8}
.existing-scales-card{
  border:1px solid #e5e7eb;border-radius:13px;background:#f8fafc;overflow:hidden;
}
.existing-scales-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#fff;
}
.existing-scales-head b{display:block;font-size:11px}.existing-scales-head small{display:block;margin-top:2px;color:#94a3b8;font-size:9px}
.existing-scales-head>span{min-width:24px;height:24px;border-radius:999px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:10px;font-weight:800}
.existing-scale-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:9px 12px;border-bottom:1px solid #edf0f4;background:#fff}
.existing-scale-row:last-child{border-bottom:0}.existing-scale-row strong{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){
  .modal.agenda-modal{padding:10px!important}
  .modal.agenda-modal>.modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
}

/* V40 — escalas: seleção profissional e replicação compacta */
.agenda-scale-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important}
.agenda-scale-actions .agenda-icon-btn{flex:0 0 34px!important}
.agenda-check{display:inline-grid!important;place-items:center!important;width:28px!important;height:34px!important}
.agenda-check input{width:15px!important;height:15px!important}
.scale-choice-modal{width:min(560px,calc(100vw - 44px))!important}
.scale-choice-modal h2{margin:3px 0 4px!important}
.choice-icon{width:42px;height:42px;border-radius:12px;background:#eef2ff;display:grid;place-items:center;font-size:18px;margin-bottom:11px}
.choice-icon.danger{background:#fef2f2}
.choice-list{display:grid;gap:7px;margin-top:14px;max-height:48vh;overflow:auto}
.choice-scale-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:10px 11px;background:#fff;border:1px solid #e6e9ef;border-radius:11px;text-decoration:none;color:#1e293b}
.choice-scale-row:hover{background:#f8fafc;border-color:#d8dcf3}
.choice-scale-row .grow{display:grid;gap:2px;min-width:0}
.choice-scale-row b{font-size:11px}.choice-scale-row small{font-size:9px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.choice-dot{width:9px;height:9px;border-radius:50%;background:#5b5bd6}.choice-dot.danger{background:#ef4444}
.choice-scale-row form{margin:0}
.replicate-modal-card{width:min(700px,calc(100vw - 44px))!important;max-height:calc(100vh - 44px)!important}
.replicate-selection-list{display:grid;gap:6px;max-height:54vh;overflow:auto;padding:2px 2px 4px}
.replicate-select-card{display:grid;grid-template-columns:20px 46px 1fr 18px;align-items:center;gap:9px;padding:8px 10px;border:1px solid #e4e8ef;border-radius:11px;background:#fff;cursor:pointer}
.replicate-select-card:hover{background:#fafbff;border-color:#d7daf1}
.replicate-select-card:has(input:checked){background:#f4f6ff;border-color:#bfc4f5;box-shadow:0 0 0 2px rgba(91,91,214,.07)}
.replicate-select-card>input{width:16px;height:16px;accent-color:#5b5bd6}
.replicate-select-card .replicate-date{width:42px;height:42px;padding:0;border-radius:10px}
.replicate-select-card .replicate-date b{font-size:16px}.replicate-select-card .replicate-date small{font-size:7px}
.replicate-select-card .grow{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;row-gap:2px;min-width:0}
.replicate-select-card .grow .agenda-chip{grid-column:1/-1;width:max-content}
.replicate-select-card .grow>b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.replicate-select-card .grow>small{font-size:8px;color:#94a3b8;white-space:nowrap}
.replicate-check{opacity:0;color:#16a34a;font-weight:900;font-size:15px}
.replicate-select-card:has(input:checked) .replicate-check{opacity:1}
.replicate-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:11px;margin-top:9px;border-top:1px solid #edf0f4}
.replicate-footer>span{font-size:10px;color:#64748b}.replicate-footer>div{display:flex;gap:7px}
@media(max-width:650px){
 .replicate-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
 .replicate-footer{align-items:stretch;flex-direction:column}.replicate-footer>div{width:100%}.replicate-footer .agenda-action-btn{flex:1}
}

/* V40 final — detalhes da escala */
.scale-view-modal{width:min(620px,calc(100vw - 44px))!important}
.view-scale-head{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid #edf0f4;margin-bottom:12px}
.view-scale-icon{width:42px;height:42px;border-radius:12px;background:#eef2ff;display:grid;place-items:center}
.view-scale-head h2{margin:2px 0 4px;font-size:18px}
.view-scale-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.view-scale-meta span{display:grid;gap:2px;padding:9px 11px;border:1px solid #e7e9ee;border-radius:10px;background:#f8fafc}
.view-scale-meta small{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.view-scale-meta b{font-size:11px}
.agenda-page .replicate-selection-list{max-height:48vh!important}
.agenda-page .replicate-modal-card{max-height:calc(100vh - 36px)!important}

/* V41 — escalas vinculadas ao evento */
.scale-event-view-modal{width:min(650px,calc(100vw - 44px))!important}
.event-scales-accordion{display:grid;gap:7px;margin-top:13px;max-height:58vh;overflow:auto}
.event-scale-accordion{border:1px solid #e5e8ef;border-radius:11px;background:#fff;overflow:hidden}
.event-scale-accordion summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 11px;cursor:pointer;list-style:none}
.event-scale-accordion summary::-webkit-details-marker{display:none}
.event-scale-accordion summary strong{font-size:10px;color:#64748b}
.event-scale-people{padding:8px 11px;border-top:1px solid #edf0f4;background:#fafbfc;display:grid;gap:5px}
.event-scale-people>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #e9ecf1}
.event-scale-people>div:last-child{border-bottom:0}
.event-scale-people b{font-size:10px}.event-scale-people small{font-size:9px;color:#94a3b8}

/* Minha agenda */
.my-agenda-list{display:grid;gap:7px}
.my-agenda-item{display:grid;grid-template-columns:46px minmax(0,1fr) 26px;align-items:center;gap:9px;padding:8px 9px;border:1px solid #e5e8ef;border-radius:10px;background:#fff}
.my-agenda-item:hover{border-color:#cfd4ef;box-shadow:0 5px 14px rgba(15,23,42,.05)}
.my-agenda-date{width:40px;height:40px;border-radius:10px;background:#eef2ff;display:grid;place-items:center;align-content:center;line-height:1}
.my-agenda-date b{font-size:15px}.my-agenda-date small{font-size:7px;color:#4f46e5;font-weight:800}
.my-agenda-item .grow{display:grid;gap:2px;min-width:0}
.my-agenda-item .grow>b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.my-agenda-item .grow>span{font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.my-agenda-item .grow>small{font-size:8px;color:#94a3b8}
.my-agenda-check{width:24px;height:24px;border-radius:8px;background:#ecfdf5;color:#16a34a;display:grid;place-items:center;font-weight:900;font-size:12px}
.agenda-more-link{display:inline-flex;margin-top:8px;font-size:9px;font-weight:800;color:#4f46e5;text-decoration:none}

/* Toast/modal de mensagem sempre central */
.message-modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(15,23,42,.48)!important;z-index:11000!important}
.message-modal.show{display:flex!important}
.message-modal>.modal-card{position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;margin:0 auto!important;transform:none!important}

/* V41 refinamento final */
.agenda-event-mode{min-height:42px!important;display:flex!important;align-items:center!important;gap:8px!important;margin:6px 0 10px!important}
.agenda-event-mode .mode-pill{height:34px!important;box-sizing:border-box!important}
.agenda-page .agenda-combo-toolbar{display:flex;gap:6px;padding:6px;border:1px solid #e8ebf2;border-top:0;background:#fafbfe;border-radius:0 0 11px 11px}
.agenda-page .agenda-combo-tab{border:1px solid transparent;background:transparent;color:#64748b;border-radius:8px;padding:7px 9px;font:700 9px system-ui;cursor:pointer}
.agenda-page .agenda-combo-tab.active{background:#fff;border-color:#e0e4ec;color:#4f46e5;box-shadow:0 2px 6px rgba(15,23,42,.04)}
.agenda-page .agenda-combo-options{top:calc(100% + 2px)!important;border-top-left-radius:10px!important;border-top-right-radius:10px!important}
.agenda-page .scale-choice-modal{width:min(560px,calc(100vw - 44px))!important}
.agenda-page .scale-event-view-modal{width:min(650px,calc(100vw - 44px))!important}

/* V43 — função em Minha agenda mais legível */
.my-agenda-item .grow>small{
  display:block!important;
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.25!important;
  color:#64748b!important;
  font-weight:600!important;
}

/* V44 — centralização definitiva dos modais da Agenda */
body .agenda-page .modal.agenda-modal.compact-modal,
body .agenda-page .modal.agenda-modal.show,
body .agenda-page .modal.agenda-modal{
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  padding:24px!important;
  margin:0!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  justify-items:center!important;
  background:rgba(15,23,42,.50)!important;
  z-index:100000!important;
}
body .agenda-page .modal.agenda-modal:not(.show){
  display:none!important;
}
body .agenda-page .modal.agenda-modal.show>.modal-card,
body .agenda-page .modal.agenda-modal>.modal-card{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0 auto!important;
  float:none!important;
}
body .agenda-page .modal.agenda-modal.compact-modal>.modal-card{
  width:min(680px,calc(100vw - 48px))!important;
  max-width:680px!important;
  max-height:calc(100vh - 48px)!important;
}

/* V45 — Dashboard financeiro inspirado em painéis gerenciais, mantendo a identidade visual */
.finance-dashboard-shell{width:100%;max-width:none}
.finance-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.finance-dashboard-head h2{margin:2px 0 5px}
.finance-dashboard-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.finance-top-btn,.finance-outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #e2e6ef;border-radius:10px;background:#fff;color:#334155;text-decoration:none;font-size:10px;font-weight:800}
.finance-top-btn.primary{background:#5b5bd6;color:#fff;border-color:#5b5bd6}
.finance-outline-btn{background:#f8f8ff;color:#4f46e5;border-color:#dfe1fb}
.finance-tabs{display:flex;gap:6px;align-items:center;border-bottom:1px solid #e5e8ef;margin:16px 0 14px;padding-bottom:7px;overflow:auto}
.finance-tab{border:0;background:transparent;color:#64748b;border-radius:9px;padding:9px 13px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.finance-tab.active{background:#eef0ff;color:#4f46e5;box-shadow:inset 0 -2px 0 #5b5bd6}
.finance-tab-panel{display:none}
.finance-tab-panel.active{display:block}
.finance-kpi-grid-7{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important}
.finance-modern-kpi{min-width:0;display:flex;align-items:center;gap:9px;padding:11px 10px;border:1px solid #e5e8ef;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.03)}
.finance-modern-kpi-icon{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#f0f1ff;display:grid;place-items:center;font-size:14px}
.finance-modern-kpi>div{min-width:0;display:grid;gap:2px}
.finance-modern-kpi span{font-size:8px;color:#64748b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-modern-kpi strong{font-size:15px;line-height:1.1;white-space:nowrap}
.finance-modern-kpi small{font-size:7px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.finance-status-grid{margin-top:8px}
.finance-status-mini{padding:9px 10px;border:1px solid #e5e8ef;border-radius:10px;background:#fff;display:grid;gap:3px}
.finance-status-mini>div{display:flex;gap:5px;align-items:center;font-size:9px;color:#475569}
.finance-status-mini strong{font-size:15px}.finance-status-mini small{font-size:7px;color:#94a3b8}
.finance-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.finance-highlight{min-height:90px;padding:12px 14px;border:1px solid #e4e8ef;border-left:4px solid #5b5bd6;border-radius:12px;background:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.finance-highlight.income{border-left-color:#16a34a}.finance-highlight.expense{border-left-color:#ef4444}
.finance-highlight small,.finance-forecast-card small{font-size:8px;letter-spacing:.08em;color:#64748b;font-weight:800}
.finance-highlight h3{margin:4px 0 2px;font-size:16px}.finance-highlight strong{font-size:21px}
.finance-highlight>span{font-size:8px;color:#94a3b8;white-space:nowrap}
.finance-mini-grid,.finance-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.finance-card{border:1px solid #e4e8ef;border-radius:12px;background:#fff;padding:12px 13px;box-shadow:0 3px 10px rgba(15,23,42,.025)}
.finance-card.wide{margin-top:8px}
.finance-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}
.finance-card-head h3{margin:0;font-size:13px}.finance-card-head p{margin:3px 0 0;font-size:9px;color:#94a3b8}
.finance-count{min-width:23px;height:23px;border-radius:8px;background:#f3f4ff;color:#5b5bd6;display:grid;place-items:center;font-size:9px;font-weight:800}
.finance-rank-row{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:7px 0;border-bottom:1px solid #f0f2f5}
.finance-rank-row:last-child{border-bottom:0}
.finance-rank-row>div:first-child{display:flex;justify-content:space-between;gap:8px;min-width:0}
.finance-rank-row b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-rank-row small{font-size:8px;color:#94a3b8}.finance-rank-row strong{font-size:10px}
.finance-rank-bar{grid-column:1/-1;height:5px;background:#eef0f5;border-radius:999px;overflow:hidden}.finance-rank-bar i{display:block;height:100%;background:#5b5bd6;border-radius:999px}.finance-rank-bar.expense i{background:#ef4444}
.finance-subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:2px 0 10px}
.finance-subhead h3{margin:2px 0 3px;font-size:18px}.finance-subhead .eyebrow{margin-bottom:2px}
.finance-metric-row{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:4px 8px;padding:8px 0;border-bottom:1px solid #f0f2f5}
.finance-metric-row:last-child{border-bottom:0}
.metric-label{display:flex;align-items:center;gap:6px;font-size:9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-label .finance-dot{width:7px;height:7px;border-radius:50%;background:#5b5bd6;flex:0 0 auto}.metric-label .finance-dot.expense{background:#ef4444}
.finance-metric-row strong{font-size:10px;white-space:nowrap}
.finance-meter{grid-column:1/-1;height:6px;background:#eef0f5;border-radius:999px;overflow:hidden}.finance-meter i{display:block;height:100%;border-radius:999px;background:#20a45a}.finance-meter.alt i{background:#4f8ee8}.finance-meter.expense i{background:#ef4444}
.finance-empty-state{padding:28px 8px;text-align:center;color:#94a3b8;font-size:9px}
.finance-view-panel[hidden]{display:none!important}
.finance-pie-layout{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;min-height:180px}
.finance-pie-big{width:150px;height:150px;border-radius:50%;position:relative;margin:auto}
.finance-pie-big:after{content:"";position:absolute;inset:30%;background:#fff;border-radius:50%;box-shadow:0 0 0 1px #f2f3f6}
.finance-pie-list{display:grid;gap:7px}
.finance-pie-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e7eaf0;background:#fafbfc;border-radius:9px;font-size:9px}
.finance-pie-list b{white-space:nowrap}
.finance-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.finance-forecast-card{min-height:104px;padding:12px 14px;border:1px solid #e4e8ef;border-left:4px solid #16a34a;border-radius:12px;background:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.finance-forecast-card.expense{border-left-color:#ef4444}.finance-forecast-card.neutral{border-left-color:#5b5bd6}
.finance-forecast-card h3{margin:4px 0 1px;font-size:15px}.finance-forecast-card strong{font-size:20px}.finance-forecast-card>span{font-size:8px;color:#94a3b8;max-width:165px;text-align:right}
.finance-commitment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.finance-commitment-grid>div{padding:9px;border:1px solid #eceef3;border-radius:9px;background:#fafbfc;display:grid;gap:3px}.finance-commitment-grid span{font-size:8px;color:#64748b}.finance-commitment-grid strong{font-size:14px}
.finance-callout{display:grid;gap:2px;padding:10px 11px;border:1px solid #e7eaf0;border-radius:10px;background:#fafbfc;margin-top:7px}.finance-callout span{font-size:8px;color:#64748b}.finance-callout b{font-size:11px}.finance-callout strong{font-size:15px}.finance-callout.expense strong{color:#ef4444}
.center{text-align:center}

@media(max-width:1250px){
 .finance-kpi-grid-7{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
 .finance-dashboard-head,.finance-subhead{align-items:flex-start;flex-direction:column}
 .finance-kpi-grid-7{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .finance-highlight-grid,.finance-mini-grid,.finance-chart-grid{grid-template-columns:1fr}
 .finance-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance-forecast-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .finance-section-grid{grid-template-columns:1fr}
 .finance-dashboard-actions{width:100%;justify-content:flex-start}
 .finance-top-btn{flex:1}
 .finance-pie-layout{grid-template-columns:1fr}
}

/* V46 — Novo evento sempre centralizado */
.agenda-page .modal,
body .agenda-page .modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.50)!important;
  z-index:100000!important;
}
.agenda-page .modal.show,
body .agenda-page .modal.show{display:flex!important}
.agenda-page .modal:not(.show),
body .agenda-page .modal:not(.show){display:none!important}
.agenda-page .modal>.modal-card,
body .agenda-page .modal>.modal-card{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
  transform:none!important;
  margin:0 auto!important;
  width:min(900px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
}

/* V47 — Dashboard da Agenda: Novo evento fora do wrapper agenda-page */
body .modal.agenda-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(15,23,42,.50)!important;
  z-index:100000!important;
}
body .modal.agenda-modal.show{
  display:flex!important;
}
body .modal.agenda-modal > .modal-card{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
  transform:none!important;
  margin:0 auto!important;
  width:min(900px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}

/* V48 — Usuários: vínculo de pessoa pesquisável */
.user-person-binding>small{display:block;color:#94a3b8;font-weight:500;font-size:9px;line-height:1.35}
.user-person-combo{position:relative}
.user-person-combo>input[type="search"]{width:100%;box-sizing:border-box}
.user-person-options{
  position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:50;
  display:none;padding:6px;background:#fff;border:1px solid #e3e7ee;border-radius:11px;
  box-shadow:0 16px 35px rgba(15,23,42,.14);max-height:250px;overflow:auto;
}
.user-person-options.open{display:grid;gap:3px}
.user-person-options button{
  border:0;background:#fff;border-radius:8px;text-align:left;padding:9px 10px;
  cursor:pointer;font:600 11px system-ui;color:#1e293b;
}
.user-person-options button:hover{background:#f6f7fb}
.user-person-options button span{color:#64748b;font-size:9px;font-weight:700}

/* V49 — REGRA GLOBAL: TODOS os modais do sistema centralizados */
body .modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
  background:rgba(15,23,42,.50)!important;
  z-index:100000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
}
body .modal.show{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body .modal:not(.show){
  display:none!important;
}
body .modal > .modal-card{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  float:none!important;
  transform:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  max-width:calc(100vw - 48px)!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
}

/* Mantém modais grandes ou especializados responsivos */
body .modal > .modal-card.wide{width:min(900px,calc(100vw - 48px))!important}
body .modal > .modal-card.finance-modal{max-width:min(980px,calc(100vw - 48px))!important}
body .modal > .modal-card.scale-event-view-modal{width:min(650px,calc(100vw - 48px))!important}
body .modal > .modal-card.scale-view-modal{width:min(620px,calc(100vw - 48px))!important}

/* V50 — Financeiro: hierarquia visual e legibilidade */
.finance-dashboard-head-compact{
  margin-top:-6px!important;
  margin-bottom:14px!important;
}
.finance-dashboard-head-compact .muted{
  font-size:13px!important;
  line-height:1.4!important;
}

/* Todos os textos internos do financeiro um nível maiores */
.finance-dashboard-shell{
  font-size:13px!important;
}
.finance-dashboard-shell .finance-tab{
  font-size:12px!important;
  padding:10px 14px!important;
}
.finance-dashboard-shell .finance-modern-kpi{
  padding:14px 12px!important;
  gap:10px!important;
}
.finance-dashboard-shell .finance-modern-kpi-icon{
  width:32px!important;height:32px!important;
  font-size:15px!important;
}
.finance-dashboard-shell .finance-modern-kpi span{
  font-size:10px!important;
  line-height:1.2!important;
}
.finance-dashboard-shell .finance-modern-kpi strong{
  font-size:18px!important;
  line-height:1.15!important;
  margin:2px 0!important;
}
.finance-dashboard-shell .finance-modern-kpi small{
  font-size:9px!important;
  line-height:1.25!important;
}
.finance-dashboard-shell .finance-status-mini{
  padding:12px!important;
  gap:5px!important;
}
.finance-dashboard-shell .finance-status-mini>div{
  font-size:11px!important;
}
.finance-dashboard-shell .finance-status-mini strong{
  font-size:17px!important;
}
.finance-dashboard-shell .finance-status-mini small{
  font-size:9px!important;
}
.finance-dashboard-shell .finance-highlight{
  min-height:106px!important;
  padding:15px 16px!important;
}
.finance-dashboard-shell .finance-highlight small,
.finance-dashboard-shell .finance-forecast-card small{
  font-size:9px!important;
}
.finance-dashboard-shell .finance-highlight h3{
  font-size:18px!important;
}
.finance-dashboard-shell .finance-highlight strong{
  font-size:23px!important;
}
.finance-dashboard-shell .finance-highlight>span{
  font-size:9px!important;
}
.finance-dashboard-shell .finance-card{
  padding:15px 16px!important;
}
.finance-dashboard-shell .finance-card-head h3{
  font-size:15px!important;
}
.finance-dashboard-shell .finance-card-head p{
  font-size:10px!important;
}
.finance-dashboard-shell .finance-rank-row{
  padding:9px 0!important;
}
.finance-dashboard-shell .finance-rank-row b{
  font-size:11px!important;
}
.finance-dashboard-shell .finance-rank-row small{
  font-size:9px!important;
}
.finance-dashboard-shell .finance-rank-row strong{
  font-size:12px!important;
}
.finance-dashboard-shell .finance-rank-bar{
  height:6px!important;
}
.finance-dashboard-shell .finance-subhead h3{
  font-size:19px!important;
}
.finance-dashboard-shell .finance-subhead .muted,
.finance-dashboard-shell .finance-subhead p{
  font-size:10px!important;
}
.finance-dashboard-shell .finance-metric-row{
  padding:10px 0!important;
}
.finance-dashboard-shell .metric-label{
  font-size:11px!important;
}
.finance-dashboard-shell .finance-metric-row strong{
  font-size:12px!important;
}
.finance-dashboard-shell .finance-empty-state{
  font-size:10px!important;
  padding:34px 10px!important;
}
.finance-dashboard-shell .finance-pie-list>div{
  font-size:11px!important;
  padding:9px 11px!important;
}
.finance-dashboard-shell .finance-forecast-grid{
  margin-bottom:18px!important;
}
.finance-dashboard-shell .finance-forecast-card{
  min-height:120px!important;
  padding:15px 16px!important;
}
.finance-dashboard-shell .finance-forecast-card h3{
  font-size:19px!important;
}
.finance-dashboard-shell .finance-forecast-card strong{
  font-size:23px!important;
}
.finance-dashboard-shell .finance-forecast-card>span{
  font-size:10px!important;
  line-height:1.3!important;
}
.finance-dashboard-shell .finance-commitment-grid{
  gap:9px!important;
}
.finance-dashboard-shell .finance-commitment-grid>div{
  padding:11px!important;
}
.finance-dashboard-shell .finance-commitment-grid span{
  font-size:10px!important;
}
.finance-dashboard-shell .finance-commitment-grid strong{
  font-size:16px!important;
}
.finance-dashboard-shell .finance-callout{
  padding:11px 12px!important;
}
.finance-dashboard-shell .finance-callout span{
  font-size:9px!important;
}
.finance-dashboard-shell .finance-callout b{
  font-size:12px!important;
}
.finance-dashboard-shell .finance-callout strong{
  font-size:16px!important;
}

/* Separação clara entre previsão e compromissos na aba Projeções */
.finance-dashboard-shell [data-fin-panel="projecoes"] .finance-section-grid{
  margin-top:18px!important;
}

/* Filtros também precisam permanecer legíveis */
.finance-dashboard-shell .filter-trigger{
  font-size:12px!important;
  min-height:40px!important;
}
.finance-dashboard-shell .filter-trigger span{
  font-size:10px!important;
}
.finance-dashboard-shell .filter-body label{
  font-size:10px!important;
}
.finance-dashboard-shell .filter-body input,
.finance-dashboard-shell .filter-body select{
  font-size:11px!important;
  min-height:38px!important;
}

/* V51 — Logo da igreja na tela de login */
.login-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:82px;
  margin-bottom:10px;
}
.login-logo{
  display:block;
  width:auto;
  max-width:190px;
  max-height:82px;
  object-fit:contain;
}
.login-brand .brand-mark{
  margin:0;
}

/* V52 — Telegram settings */
.telegram-settings{display:grid;gap:12px}
.telegram-settings .settings-accordion{background:#fff;border:1px solid #e5e8ef;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(15,23,42,.03)}
.telegram-settings .settings-accordion>summary{display:grid;grid-template-columns:28px minmax(0,auto) 1fr 20px;align-items:center;gap:8px;padding:13px 15px;cursor:pointer;list-style:none}
.telegram-settings .settings-accordion>summary::-webkit-details-marker{display:none}
.telegram-settings .settings-accordion>summary>span{width:28px;height:28px;border-radius:9px;background:#eef2ff;display:grid;place-items:center}
.telegram-settings .settings-accordion>summary>b{font-size:12px}
.telegram-settings .settings-accordion>summary>small{font-size:9px;color:#94a3b8}
.telegram-settings .settings-accordion>summary>i{justify-self:end;font-style:normal;color:#64748b}
.telegram-settings .settings-accordion-body{padding:0 15px 15px;border-top:1px solid #edf0f4}
.telegram-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.telegram-test-form{display:flex;gap:7px;align-items:center}
.telegram-test-form select{min-width:180px}
.section-toolbar{display:flex;justify-content:flex-end;margin:10px 0}
.telegram-list{display:grid;gap:5px}
.telegram-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border:1px solid #e8ebf0;border-radius:10px;background:#fbfcfe}
.telegram-row>b,.telegram-row>div>b{font-size:11px}.telegram-row small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}
.telegram-table-wrap{overflow:auto;margin-top:10px}
.telegram-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e7eaf0;border-radius:10px;overflow:hidden}
.telegram-table th,.telegram-table td{text-align:left;padding:8px 9px;border-bottom:1px solid #edf0f4;font-size:9px;vertical-align:middle}
.telegram-table th{background:#f7f8fb;color:#64748b;font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.telegram-table tr:last-child td{border-bottom:0}.telegram-table td small{display:block;color:#9aa3b2;margin-top:2px;font-size:7px}
.status-pill.success{color:#15803d;background:#ecfdf5;border:1px solid #bbf7d0;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}
.status-pill.danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}
.telegram-settings code{background:#f4f5f8;border:1px solid #e5e7eb;border-radius:5px;padding:1px 4px;font-size:8px}
.telegram-settings textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.45}

/* V53 — Telegram ocupa toda a largura disponível e recebe tipografia legível */
.main .content:has(.telegram-settings){
  max-width:none!important;
  width:100%!important;
  padding:30px 34px 42px!important;
  box-sizing:border-box!important;
}
.main .content:has(.telegram-settings) .page-actions{
  width:100%!important;
  margin-bottom:22px!important;
}
.main .content:has(.telegram-settings) .telegram-settings{
  width:100%!important;
  max-width:none!important;
}
.main .content:has(.telegram-settings) .settings-accordion{
  width:100%!important;
}
.main .content:has(.telegram-settings) .settings-accordion>summary{
  min-height:58px!important;
  padding:14px 18px!important;
  grid-template-columns:36px minmax(170px,auto) 1fr 24px!important;
}
.main .content:has(.telegram-settings) .settings-accordion>summary>span{
  width:34px!important;height:34px!important;font-size:16px!important;
}
.main .content:has(.telegram-settings) .settings-accordion>summary>b{
  font-size:14px!important;
  line-height:1.25!important;
}
.main .content:has(.telegram-settings) .settings-accordion>summary>small{
  font-size:11px!important;
}
.main .content:has(.telegram-settings) .settings-accordion>summary>i{
  font-size:15px!important;
}
.main .content:has(.telegram-settings) .settings-accordion-body{
  padding:18px!important;
}
.main .content:has(.telegram-settings) label{
  font-size:12px!important;
  line-height:1.25!important;
}
.main .content:has(.telegram-settings) input,
.main .content:has(.telegram-settings) select,
.main .content:has(.telegram-settings) textarea{
  font-size:13px!important;
  line-height:1.4!important;
  min-height:42px!important;
}
.main .content:has(.telegram-settings) textarea{
  min-height:150px!important;
}
.main .content:has(.telegram-settings) .btn{
  font-size:12px!important;
  min-height:42px!important;
  padding:10px 15px!important;
}
.main .content:has(.telegram-settings) .telegram-row{
  padding:13px 14px!important;
  min-height:54px!important;
}
.main .content:has(.telegram-settings) .telegram-row>b,
.main .content:has(.telegram-settings) .telegram-row>div>b{
  font-size:13px!important;
}
.main .content:has(.telegram-settings) .telegram-row small{
  font-size:11px!important;
  line-height:1.4!important;
}
.main .content:has(.telegram-settings) .telegram-table th{
  font-size:10px!important;
  padding:11px 12px!important;
}
.main .content:has(.telegram-settings) .telegram-table td{
  font-size:12px!important;
  padding:12px!important;
}
.main .content:has(.telegram-settings) .telegram-table td small{
  font-size:10px!important;
  line-height:1.35!important;
}
.main .content:has(.telegram-settings) .telegram-table .icon-btn{
  width:40px!important;
  height:40px!important;
}
.main .content:has(.telegram-settings) .status-pill{
  font-size:10px!important;
  padding:5px 9px!important;
}
.main .content:has(.telegram-settings) .muted{
  font-size:12px!important;
}
.main .content:has(.telegram-settings) .small{
  font-size:11px!important;
}

/* Em telas largas, a tabela usa integralmente a área disponível. */
.main .content:has(.telegram-settings) .telegram-table-wrap{
  width:100%!important;
}
.main .content:has(.telegram-settings) .telegram-table{
  width:100%!important;
}

/* Mantém boa leitura em monitores menores sem perder a largura total. */
@media(max-width:900px){
  .main .content:has(.telegram-settings){
    padding:20px 16px 30px!important;
  }
  .main .content:has(.telegram-settings) .settings-accordion>summary{
    grid-template-columns:34px minmax(0,1fr) 22px!important;
  }
  .main .content:has(.telegram-settings) .settings-accordion>summary>small{
    grid-column:2;
  }
}

/* V54 — Telegram: largura total real do módulo */
.main.page-telegram{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
}
.main.page-telegram .content{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.main.page-telegram .telegram-settings,
.main.page-telegram .telegram-settings>*{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.main.page-telegram .telegram-table-wrap,
.main.page-telegram .telegram-table{
  width:100%!important;
  max-width:none!important;
}
.main.page-telegram .telegram-table{
  table-layout:fixed!important;
}
.main.page-telegram .settings-accordion{
  width:100%!important;
}

/* V56 — Corrige a largura do módulo Telegram sem passar por baixo do menu */
.main.page-telegram{
  width:calc(100% - 272px)!important;
  max-width:none!important;
  margin-left:272px!important;
  box-sizing:border-box!important;
  min-width:0!important;
}
.main.page-telegram .content{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media(max-width:980px){
  .main.page-telegram{
    width:100%!important;
    margin-left:0!important;
  }
}

/* V57 — Catálogo de variáveis do Telegram */
.telegram-variable-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  padding:8px 0 12px!important;
  border-bottom:1px solid #edf0f4!important;
}
.telegram-variable-tab{
  border:1px solid #e2e6ee!important;
  background:#f7f8fb!important;
  color:#475569!important;
  border-radius:9px!important;
  padding:9px 12px!important;
  font:600 11px/1.2 inherit!important;
  cursor:pointer!important;
}
.telegram-variable-tab:hover{background:#eef2ff!important;color:var(--brand)!important}
.telegram-variable-tab.active{background:#eef2ff!important;color:var(--brand)!important;border-color:#cfd5ff!important}
.telegram-variable-panel{display:none}
.telegram-variable-panel.active{display:block}
.telegram-variable-table-wrap{overflow:auto;margin-top:14px}
.telegram-variable-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #e7eaf0!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
.telegram-variable-table th,
.telegram-variable-table td{
  padding:11px 12px!important;
  border-bottom:1px solid #edf0f4!important;
  font-size:11px!important;
  text-align:left!important;
}
.telegram-variable-table th{
  background:#f7f8fb!important;
  color:#64748b!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  font-size:9px!important;
}
.telegram-variable-table tr:last-child td{border-bottom:0!important}
.telegram-variable-table code{
  font-size:10px!important;
  background:#f4f5f8!important;
  border:1px solid #e5e7eb!important;
  border-radius:6px!important;
  padding:4px 6px!important;
  color:#4338ca!important;
}

/* V58 — Cabeçalho do Telegram sem repetição + descrição no topo */
.page-telegram .topbar-description{
  margin:5px 0 0!important;
  font-size:13px!important;
  line-height:1.4!important;
  color:#667085!important;
}
.page-telegram .telegram-settings{
  width:100%!important;
  max-width:none!important;
}
.page-telegram .settings-accordion{
  width:100%!important;
}

/* V59 — Templates organizados por módulo */
.telegram-template-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:4px 0 14px;border-bottom:1px solid #edf0f4;margin-bottom:14px}
.telegram-template-tab{appearance:none;border:1px solid #e1e6ef;background:#f7f8fb;color:#475467;border-radius:10px;padding:9px 12px;font:600 11px/1.2 inherit;cursor:pointer;transition:.15s ease}
.telegram-template-tab:hover{background:#eef2ff;color:var(--brand);border-color:#d5d9ff}
.telegram-template-tab.active{background:#eef2ff;color:var(--brand);border-color:#c8ceff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.telegram-template-panel{display:none}
.telegram-template-panel.active{display:block}

/* V60 — Envios automáticos organizados por módulo */
.telegram-route-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:4px 0 14px;
  border-bottom:1px solid #edf0f4;
  margin-bottom:14px;
}
.telegram-route-tab{
  appearance:none;
  border:1px solid #e1e6ef;
  background:#f7f8fb;
  color:#475467;
  border-radius:10px;
  padding:9px 12px;
  font:600 11px/1.2 inherit;
  cursor:pointer;
  transition:.15s ease;
}
.telegram-route-tab:hover{
  background:#eef2ff;
  color:var(--brand);
  border-color:#d5d9ff;
}
.telegram-route-tab.active{
  background:#eef2ff;
  color:var(--brand);
  border-color:#c8ceff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.telegram-route-panel{display:none}
.telegram-route-panel.active{display:block}
.main.page-telegram .telegram-route-panel .telegram-table{
  width:100%!important;
}
.main.page-telegram .telegram-route-panel .telegram-table th,
.main.page-telegram .telegram-route-panel .telegram-table td{
  font-size:12px!important;
  padding:12px 13px!important;
}
.main.page-telegram .telegram-route-panel .telegram-table td small{
  display:block;
  margin-top:3px;
  font-size:10px!important;
  color:#8a94a6;
}

/* V61 — vínculo de usuário pode usar qualquer tipo de pessoa disponível */
.user-person-options button .user-person-type{
  color:#64748b;
  font-size:10px;
  font-weight:600;
  margin-left:4px;
}
.user-person-options button{
  display:block;
  width:100%;
  text-align:left;
  padding:9px 12px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.user-person-options button:hover{background:#f5f7fb}
/* V64 — Inventário integrado ao visual do sistema */
.inventory-shell{width:100%;max-width:none}.inventory-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px}.inventory-head h2{margin:3px 0 6px;font-size:24px}.inventory-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.inventory-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.inventory-kpis article{background:#fff;border:1px solid #e4e8f0;border-radius:15px;padding:16px 17px;box-shadow:0 4px 18px rgba(15,23,42,.04)}.inventory-kpis span,.inventory-kpis small,.inventory-category-card span,.inventory-category-card p{display:block;color:#667085}.inventory-kpis span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.inventory-kpis strong{display:block;font-size:24px;margin:7px 0 2px}.inventory-kpis strong.red{color:#dc3545}.inventory-kpis strong.green{color:#159447}.inventory-kpis small{font-size:11px}.inventory-panel,.inventory-category-strip{background:#fff;border:1px solid #e4e8f0;border-radius:16px;box-shadow:0 4px 18px rgba(15,23,42,.04);overflow:hidden;margin-bottom:18px}.inventory-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #edf0f4}.inventory-panel-head h3{margin:0 0 4px;font-size:16px}.inventory-panel-head span{color:#7b8495;font-size:11px}.inventory-panel-tabs{display:flex;gap:5px;background:#f5f7fb;padding:4px;border-radius:10px}.inventory-panel-tabs a{padding:7px 11px;border-radius:8px;font-size:11px;font-weight:700;color:#64748b;text-decoration:none}.inventory-panel-tabs a.active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px rgba(15,23,42,.08)}.inventory-filterbar{border-bottom:1px solid #edf0f4}.inventory-filter-trigger{width:100%;border:0;background:#fff;text-align:left;padding:14px 20px;display:flex;align-items:center;gap:9px;cursor:pointer;color:#0f172a}.inventory-filter-trigger span{font-size:11px;color:#8a94a6;font-weight:500}.inventory-filterbody{display:none;grid-template-columns:2fr 1.2fr 1.2fr 1fr 1fr .9fr auto;gap:10px;padding:0 20px 16px}.inventory-filterbody.open{display:grid}.inventory-filterbody label{font-size:10px;font-weight:700;color:#344054}.inventory-filterbody input,.inventory-filterbody select{margin-top:5px}.inventory-filter-actions{display:flex;align-items:end;gap:6px}.inventory-table-wrap{overflow:auto}.inventory-table{width:100%;border-collapse:collapse}.inventory-table th{background:#f7f8fb;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:9px;padding:10px 14px;text-align:left}.inventory-table td{padding:12px 14px;border-top:1px solid #edf0f4;font-size:11px;color:#263043;vertical-align:middle}.inventory-table td small{display:block;color:#8a94a6;font-size:9px;margin-top:3px}.inv-name b{font-size:12px}.inv-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#eef2f7;color:#475467}.inv-status.disponível,.inv-status.disponivel,.inv-status.concluída,.inv-status.concluida{background:#eaf8ef;color:#198754}.inv-status.em-uso{background:#eef4ff;color:#3167d8}.inv-status.em-manutenção,.inv-status.em-manutencao,.inv-status.pendente{background:#fff5db;color:#a66a00}.inv-status.baixado{background:#fdecec;color:#b42318}.inventory-pager{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:10px;color:#667085;border-top:1px solid #edf0f4}.inventory-pager>div{display:flex;gap:4px}.inventory-pager a{min-width:28px;height:28px;display:grid;place-items:center;border:1px solid #e0e5ed;border-radius:8px;color:#667085;text-decoration:none;font-weight:700}.inventory-pager a.active{background:#5b5ce2;border-color:#5b5ce2;color:#fff}.inventory-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 18px}.inventory-cat-grid article{border:1px solid #e8ebf1;border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-cat-grid article b{font-size:12px}.inventory-cat-grid strong{font-size:12px}.inventory-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.inventory-category-card{position:relative;background:#fff;border:1px solid #e4e8f0;border-radius:16px;padding:17px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;box-shadow:0 4px 18px rgba(15,23,42,.04)}.inventory-category-icon{width:38px;height:38px;border-radius:11px;background:#eef0ff;color:#5b5ce2;display:grid;place-items:center;font-weight:800}.inventory-category-card h3{margin:0 0 5px;font-size:14px}.inventory-category-card p{margin:0 0 8px;font-size:10px;line-height:1.5}.inventory-category-card span{font-size:9px}.inventory-modal{width:min(820px,calc(100vw - 32px));max-height:88vh;overflow:auto}.inventory-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-detail-grid>div{background:#f8fafc;border:1px solid #edf0f4;border-radius:11px;padding:10px 11px}.inventory-detail-grid span{display:block;color:#7b8495;font-size:9px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.inventory-detail-grid b{font-size:11px}.inventory-maint-mini{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid #edf0f4}.inventory-maint-mini small{display:block;color:#8a94a6;font-size:9px;margin-top:3px}.inventory-maint-mini strong{font-size:11px}.inventory-table .icon-actions{white-space:nowrap}
@media(max-width:1100px){.inventory-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filterbody{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-cat-grid,.inventory-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.inventory-head{flex-direction:column}.inventory-head-actions{justify-content:flex-start}.inventory-kpis{grid-template-columns:1fr}.inventory-cat-grid,.inventory-category-grid{grid-template-columns:1fr}.inventory-detail-grid{grid-template-columns:1fr 1fr}.inventory-filterbody{grid-template-columns:1fr}.inventory-pager{gap:10px;align-items:flex-start;flex-direction:column}}

/* V68 — Inventário em páginas completas + fotos e múltiplos anexos */
.inventory-form-page,.inventory-view-page{max-width:1440px;margin:0 auto;padding-bottom:32px}
.inventory-form-card{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.05);overflow:hidden}
.inventory-form-section{padding:22px 24px;border-bottom:1px solid #edf0f4}
.inventory-form-section:last-child{border-bottom:0}
.inventory-form-section h3{margin:0;font-size:15px;color:#172033}
.inventory-form-section>.muted{margin:6px 0 15px}
.inventory-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.inventory-form-grid .full{grid-column:1/-1}
.inventory-form-grid label,.inventory-form-section label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#273044}
.inventory-form-grid input,.inventory-form-grid select,.inventory-form-grid textarea{width:100%;box-sizing:border-box}
.inventory-form-actions{display:flex;justify-content:flex-end;gap:9px;padding:18px 24px;background:#fafbfc}
.inventory-form-actions .btn{min-width:130px;justify-content:center}
.file-drop{border:1px dashed #cfd7e3;border-radius:12px;padding:15px;background:#fafbfc;cursor:pointer}
.file-drop:hover{background:#f5f7fb;border-color:#9aa8bb}
.file-drop input{margin-top:4px}
.file-drop small{font-size:10px;color:#7b8494;font-weight:500}
.inventory-photo-manager{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}
.inventory-photo-manager-item{position:relative;border:1px solid #e3e8f0;border-radius:10px;background:#fff;overflow:hidden;padding-bottom:9px}
.inventory-photo-manager-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.inventory-photo-manager-item label{padding:7px 9px 0;display:block!important;font-size:9px!important;font-weight:600!important;color:#667085!important}
.inventory-photo-manager-item input{width:auto!important;margin-right:4px}
.inventory-doc-list{display:flex;flex-direction:column;gap:7px;margin:0 0 12px}
.inventory-doc-list>div{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e3e8f0;border-radius:9px;background:#fff}
.inventory-doc-list>div span{flex:1;font-size:11px;min-width:0}
.inventory-doc-list>div a,.link-danger{font-size:10px;color:#4f46e5;background:none;border:0;text-decoration:none;cursor:pointer}
.link-danger{color:#dc2626}
.inventory-view-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.inventory-view-card{background:#fff;border:1px solid #e3e8f0;border-radius:15px;padding:18px;box-shadow:0 7px 22px rgba(15,23,42,.04);min-width:0}
.inventory-view-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.inventory-view-card-head h3{margin:0;color:#172033;font-size:15px}
.inventory-view-card-head span{color:#7b8494;font-size:10px}
.inventory-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.inventory-gallery-grid a{position:relative;border-radius:10px;overflow:hidden;border:1px solid #e3e8f0;background:#f8fafc;display:block}
.inventory-gallery-grid a.cover{box-shadow:inset 0 0 0 2px #5b5ce2}
.inventory-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.inventory-gallery-grid span{position:absolute;left:6px;top:6px;padding:4px 6px;border-radius:999px;background:#fff;color:#4f46e5;font-size:8px;font-weight:800;box-shadow:0 2px 5px rgba(0,0,0,.08)}
.inventory-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.inventory-detail-grid>div{min-width:0}
.inventory-detail-grid span{display:block;color:#8b95a5;font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.inventory-detail-grid b{display:block;color:#172033;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.inventory-prose{font-size:11px;color:#475467;line-height:1.6}
.inventory-document-grid{display:flex;flex-direction:column;gap:7px}
.inventory-document-grid a{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e3e8f0;border-radius:9px;text-decoration:none;color:#172033;background:#fafbfc}
.inventory-document-grid a>span{font-size:18px}
.inventory-document-grid b{display:block;font-size:11px}
.inventory-document-grid small{display:block;margin-top:2px;color:#8993a3;font-size:9px}
.inventory-history-list{display:flex;flex-direction:column;gap:7px}
.inventory-history-list>div{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border:1px solid #e3e8f0;border-radius:9px}
.inventory-history-list b{display:block;font-size:11px}
.inventory-history-list small{display:block;margin-top:3px;color:#8993a3;font-size:9px}
.inventory-history-list strong{font-size:11px}
.icon-actions a.icon-btn{display:inline-grid;place-items:center}
@media(max-width:1000px){
 .inventory-view-grid{grid-template-columns:1fr}
 .inventory-photo-manager{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
 .inventory-form-grid{grid-template-columns:1fr}
 .inventory-form-grid .full{grid-column:auto}
 .inventory-photo-manager{grid-template-columns:repeat(3,minmax(0,1fr))}
 .inventory-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inventory-detail-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .inventory-photo-manager{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inventory-gallery-grid{grid-template-columns:1fr}
 .inventory-form-actions{flex-direction:column}
 .inventory-form-actions .btn{width:100%}
}

/* V69 — acabamento do formulário de Controle */
.inventory-form-page .inventory-head{margin-bottom:18px}
.inventory-form-page .inventory-head h2,.inventory-view-page .inventory-head h2{font-size:25px;letter-spacing:-.02em;margin:3px 0 5px}
.inventory-form-page .inventory-head .muted,.inventory-view-page .inventory-head .muted{font-size:12px}
.inventory-form-card{border-radius:18px;box-shadow:0 12px 34px rgba(15,23,42,.06)}
.inventory-form-section{padding:25px 28px}
.form-section-title{display:flex;align-items:center;gap:11px;margin-bottom:20px}
.form-section-title .section-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef0ff;color:#5856d6;font-weight:800;font-size:11px}
.form-section-title h3{font-size:16px;margin:0}
.form-section-title p{margin:3px 0 0;color:#7b8494;font-weight:500;font-size:11px}
.inventory-form-grid{gap:17px 18px}
.inventory-form-grid label,.inventory-form-section label{font-size:11px;color:#344054}
.inventory-form-grid input,.inventory-form-grid select,.inventory-form-grid textarea{min-height:42px;border:1px solid #d9dfeb;border-radius:10px;background:#fff;font-size:12px;padding:10px 12px;box-shadow:inset 0 1px 1px rgba(15,23,42,.02)}
.inventory-form-grid textarea{min-height:104px;resize:vertical}
.inventory-form-grid input:focus,.inventory-form-grid select:focus,.inventory-form-grid textarea:focus{border-color:#7a78e8;box-shadow:0 0 0 3px rgba(99,102,241,.10);outline:0}
.inventory-form-grid .field-locked input{background:#f3f5f8;color:#667085;font-weight:700;border-style:dashed;cursor:not-allowed}
.inventory-form-grid .field-locked small{font-size:9px;color:#98a2b3;font-weight:500;margin-top:-2px}
.inventory-form-grid .field-locked{opacity:.96}
.inventory-form-section:nth-of-type(2){background:#fbfcfe}
.file-drop{display:block;position:relative;transition:.15s ease;padding:17px 16px}
.file-drop input{min-height:auto;background:transparent;border:0;box-shadow:none;padding:2px 0}
.inventory-form-actions{padding:18px 28px;gap:10px;border-top:1px solid #edf0f4}
.inventory-form-actions .btn{height:42px;border-radius:10px}

/* V70 — galeria e acabamento patrimonial */
.inv-name-with-photo{display:flex;align-items:center;gap:10px;min-width:0}
.inv-table-thumb{width:46px;height:46px;flex:0 0 46px;object-fit:cover;border-radius:9px;border:1px solid #e0e6ef;background:#f6f8fb}
.inv-table-thumb-empty{display:grid;place-items:center;color:#6366f1;font-size:15px}
.inventory-photo-manager{grid-template-columns:repeat(5,minmax(130px,1fr));align-items:stretch}
.inventory-photo-manager-item{cursor:grab;user-select:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.inventory-photo-manager-item:active{cursor:grabbing}
.inventory-photo-manager-item.dragging{opacity:.55;transform:scale(.98);border-color:#6366f1;box-shadow:0 8px 22px rgba(99,102,241,.12)}
.inventory-photo-drag-handle{position:absolute;right:7px;top:7px;z-index:2;width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(17,24,39,.72);color:#fff;font-size:15px;cursor:grab}
.inventory-photo-meta{display:flex;align-items:center;gap:6px;padding:8px 9px 3px;color:#7b8494;font-size:9px;font-weight:600}
.photo-position{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#eef2ff;color:#4f46e5;font-size:9px;font-weight:800}
.inventory-photo-options{display:flex;gap:8px;padding:4px 9px 9px;flex-wrap:wrap}
.inventory-photo-options label{padding:3px 0}
.inventory-gallery-item{cursor:zoom-in}
.inventory-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(2,6,23,.92);display:none;align-items:center;justify-content:center;padding:40px}
.inventory-lightbox.open{display:flex}
.inventory-lightbox-content{position:relative;max-width:min(1120px,82vw);max-height:86vh;display:flex;align-items:center;justify-content:center}
.inventory-lightbox-content img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:12px;box-shadow:0 22px 70px rgba(0,0,0,.45)}
.inventory-lightbox-close{position:fixed;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}
.inventory-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;font-size:42px;line-height:1;cursor:pointer}
.inventory-lightbox-nav:hover,.inventory-lightbox-close:hover{background:rgba(255,255,255,.2)}
.inventory-lightbox-nav.prev{left:22px}
.inventory-lightbox-nav.next{right:22px}
.inventory-lightbox-caption{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:700}
body.inventory-lightbox-open{overflow:hidden}
@media(max-width:1050px){.inventory-photo-manager{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:850px){.inventory-photo-manager{grid-template-columns:repeat(3,minmax(110px,1fr))}.inventory-lightbox-nav.prev{left:8px}.inventory-lightbox-nav.next{right:8px}}
@media(max-width:620px){.inventory-photo-manager{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-lightbox{padding:20px}.inventory-lightbox-content{max-width:94vw}.inventory-lightbox-nav{width:42px;height:54px;font-size:34px}.inventory-lightbox-close{right:10px;top:10px}}

/* V72 — confirmação visual do salvamento */
.inventory-save-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:10px;color:#166534}
.inventory-save-notice>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#dcfce7;font-weight:800}
.inventory-save-notice b{display:block;font-size:11px}
.inventory-save-notice small{display:block;margin-top:2px;color:#4b5563;font-size:9px}
.inventory-save-notice button{margin-left:auto;border:0;background:none;color:#64748b;font-size:18px;cursor:pointer}

/* V73 — feedback visual do salvamento do Controle */
.inventory-form-card button[type="submit"]{min-width:150px}
.inventory-form-card.is-submitting button[type="submit"]{opacity:.7;pointer-events:none}

/* V74 — campos monetários */
.money-input{display:flex!important;flex-direction:row!important;align-items:stretch;gap:0!important;width:100%}
.money-input>span:first-child{display:flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid #d9dfeb;border-right:0;border-radius:10px 0 0 10px;background:#f6f8fb;color:#667085;font-size:12px;font-weight:800;min-width:38px}
.money-input input{border-radius:0 10px 10px 0!important;flex:1}
.money-input:focus-within>span:first-child{border-color:#7a78e8;box-shadow:0 0 0 3px rgba(99,102,241,.10)}

/* V75 — textos do Controle mais legíveis */
.inventory-save-notice b{font-size:12px}
.inventory-save-notice small{font-size:10px}
.inventory-card,.inventory-panel{font-size:12px}
.inventory-table th{font-size:10px!important}
.inventory-table td{font-size:11px!important}
.inv-status{font-size:9px!important}
.inventory-kpis span{font-size:10px!important}
.inventory-kpis strong{font-size:20px!important}
.inventory-kpis small{font-size:9px!important}
.inventory-panel-head h3{font-size:15px!important}
.inventory-panel-head span{font-size:10px!important}
.inventory-filter-trigger{font-size:11px!important}

/* V76 — resumo por categoria */
.inventory-category-strip{overflow:hidden}
.inventory-cat-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;padding:14px 16px 17px}
.inventory-cat-grid article{display:flex!important;align-items:center;justify-content:space-between;gap:16px!important;min-width:0;padding:11px 13px!important;border:1px solid #e1e6ef;border-radius:11px;background:#fff;box-sizing:border-box}
.inventory-cat-name{display:flex!important;align-items:baseline!important;gap:9px!important;min-width:0!important}
.inventory-cat-name b{font-size:11px!important;white-space:nowrap}
.inventory-cat-name small{font-size:9px!important;color:#7b8494;white-space:nowrap}
.inventory-cat-grid article strong{font-size:11px!important;white-space:nowrap;margin-left:auto}
@media(max-width:1050px){.inventory-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.inventory-cat-grid{grid-template-columns:1fr}.inventory-cat-name{gap:7px!important}}

.inventory-cat-name b{margin-right:8px!important}.inventory-cat-name small{margin-left:2px!important}

.inventory-cat-name b{font-size:12px!important}.inventory-cat-name small{font-size:10px!important}.inventory-cat-grid article strong{font-size:12px!important}

.inventory-cat-grid article{padding:12px 15px!important}
.inventory-cat-name{column-gap:12px!important}
.inventory-cat-name b{margin-right:6px!important}
.inventory-cat-name small{margin-left:0!important}

.inventory-cat-grid article{padding:12px 16px!important}.inventory-cat-name{display:flex!important;align-items:baseline!important;gap:10px!important}.inventory-cat-name b{margin-right:4px!important}.inventory-cat-name small{margin-left:0!important}

.inventory-save-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid #dbe2ea;border-radius:10px;background:#fff}
.inventory-save-notice>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:800;background:#eef2ff}
.inventory-save-notice b{font-size:12px;display:block}.inventory-save-notice small{font-size:10px;display:block;margin-top:2px;color:#667085}
.inventory-save-notice.telegram-error{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.inventory-save-notice.telegram-ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.inventory-save-notice button{margin-left:auto;border:0;background:none;color:#64748b;font-size:18px;cursor:pointer}

.inventory-cat-name{display:flex!important;align-items:baseline!important;gap:12px!important}.inventory-cat-name b{margin-right:0!important}.inventory-cat-name small{margin-left:0!important}

/* Ministérios — cards compactos, contagem e filtro */
.ministries-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.ministry-card.compact{padding:15px;border-top-width:3px;min-width:0}
.ministry-card.compact .module-icon{width:36px;height:36px;border-radius:10px;font-size:16px}
.ministry-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ministry-card.compact h3{font-size:15px;margin:12px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ministry-members{display:flex;align-items:baseline;gap:5px;padding:9px 10px;border-radius:11px;background:#f7f7fb;border:1px solid var(--line);margin-bottom:9px}
.ministry-members strong{font-size:23px;line-height:1}
.ministry-members span{font-size:12px;color:var(--muted)}
.ministry-meta{display:grid;gap:5px;color:var(--muted);font-size:11px}
.ministry-desc{font-size:11px!important;line-height:1.35!important;min-height:0!important;margin:9px 0 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ministry-card-actions{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.ministry-add-btn{font-size:11px;padding:7px 9px;margin-right:auto}
.ministry-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.pagination-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pagination-summary{font-size:12px;color:var(--muted)}
.page-num{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}
.page-num.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.ministry-member-search{margin-bottom:10px}
.ministry-member-list{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:6px}
.ministry-member-option{display:grid;grid-template-columns:auto 34px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border-radius:9px}
.ministry-member-option:hover{background:#f7f7fb}
.ministry-member-option input{width:auto}
.ministry-member-option b,.ministry-member-option small{display:block}
.ministry-member-option small{font-size:10px;color:var(--muted);margin-top:2px}
.avatar.small{width:30px;height:30px;font-size:11px}
@media(max-width:1250px){.ministries-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ministries-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ministry-pagination{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.ministries-cards{grid-template-columns:1fr}.ministry-add-btn{width:100%;margin-right:0}.ministry-card-actions .icon-btn{width:34px;height:34px}}

/* Ministérios — gestão compacta de pessoas */
.ministry-people-preview{display:grid;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line,#e8ebf1)}
.ministry-person-row{display:grid;grid-template-columns:24px minmax(0,1fr) 28px 28px;align-items:center;gap:5px;min-width:0;padding:4px 0}
.ministry-person-row .avatar.tiny{width:24px;height:24px;font-size:11px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef1f7;color:#263247;font-weight:800}
.ministry-person-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text,#172033)}
.ministry-person-name b{font-size:11px;font-weight:700}
.ministry-person-name small{display:block;font-size:10px;color:var(--muted,#718096);margin-top:1px}
.icon-btn.mini{width:27px;height:27px;min-width:27px;padding:0;border-radius:8px;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.ministry-more{font-size:10px;color:var(--muted,#718096);padding:4px 0 0 29px}
.ministry-more-btn{border:0;background:transparent;cursor:pointer;text-align:left;color:#4f46e5;font-weight:700}
.ministry-more-btn:hover{text-decoration:underline}
.ministry-manage-list{max-height:420px;overflow:auto;border:1px solid var(--line,#e8ebf1);border-radius:12px;padding:7px 10px}
.ministry-manage-list .ministry-person-row{grid-template-columns:30px minmax(0,1fr) 34px 34px;padding:8px 4px;border-bottom:1px solid var(--line,#eef0f5)}
.ministry-manage-list .ministry-person-row:last-child{border-bottom:0}
.ministry-manage-list .avatar.tiny{width:30px;height:30px}
@media(max-width:780px){.ministry-person-row{grid-template-columns:24px minmax(0,1fr) 28px 28px}.ministry-manage-list .ministry-person-row{grid-template-columns:30px minmax(0,1fr) 34px 34px}}

/* V93 — Ministérios: card sem lista de pessoas; gestão feita pelos atalhos/modais */
.ministry-card.compact{padding:14px 15px}
.ministry-card.compact h3{margin:10px 0 8px}
.ministry-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.ministry-card-actions .ministry-card-spacer{flex:1}
.ministry-card-actions .icon-btn{width:32px;height:32px;min-width:32px}
.ministry-card-actions .icon-btn.primary:first-child{font-size:17px}
.ministry-member-list.compact-list,
.ministry-manage-list.compact-list{max-height:210px;min-height:108px}
.ministry-member-list.compact-list{overflow:auto}
.ministry-manage-list.compact-list{overflow:auto}
.ministry-member-option{display:grid;grid-template-columns:auto 30px minmax(0,1fr);align-items:center;gap:8px;padding:8px}
.ministry-member-search input{width:100%}
.ministry-member-option[style*="display: none"],
.manage-person-option[style*="display: none"]{display:none!important}
@media(max-width:620px){
  .ministry-card-actions{flex-wrap:wrap}
  .ministry-card-actions .ministry-card-spacer{display:none}
}

/* V94 — remover pessoa: X vermelho visível */
.ministry-card-actions .ministry-remove-person{
  color:#dc2626!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1!important;
  font-family:Arial,sans-serif!important;
}
.ministry-card-actions .ministry-remove-person:hover{
  color:#b91c1c!important;
  background:#fef2f2!important;
  border-color:#fecaca!important;
}

.report-multi-picker{position:relative;width:100%;z-index:2}.report-multi-picker.is-open{z-index:10000!important}.report-multi-picker.is-open .report-multi-menu{z-index:10001!important}.report-filter label.report-picker-open{position:relative;z-index:10000!important}.report-multi-input-wrap{display:flex;align-items:center;gap:7px;min-height:40px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 9px;box-sizing:border-box}.report-multi-input-wrap>span{font-size:13px;color:#667085}.report-multi-input-wrap input{border:0!important;outline:0!important;min-height:36px!important;padding:0!important;flex:1!important;width:auto!important}.report-multi-clear{border:0;background:transparent;color:#98a2b3;font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}.report-multi-selected{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.report-multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#3f46b5;border:1px solid #dbe1ff;font-size:11px;font-weight:700}.report-multi-chip button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;font-size:14px;line-height:1}.report-multi-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:1000;max-height:230px;overflow:auto;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 12px 30px rgba(16,24,40,.14);padding:6px}.report-multi-menu.open{display:block}.report-multi-option{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;padding:8px 9px;border-radius:7px;font-weight:600!important;cursor:pointer}.report-multi-option:hover{background:#f5f7fa}.report-multi-option input{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;flex:0 0 16px!important}.report-multi-option span{color:#344054}.report-multi-no-results{padding:10px;color:#667085;font-size:12px}.report-multi-option[style*="display: none"]{display:none!important}

.finance-multi-picker{position:relative;width:100%}.finance-multi-input-wrap{display:flex;align-items:center;gap:7px;min-height:40px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:0 9px;box-sizing:border-box}.finance-multi-input-wrap>span{font-size:13px;color:#667085}.finance-multi-input-wrap input{border:0!important;outline:0!important;min-height:36px!important;padding:0!important;flex:1!important;width:auto!important}.finance-multi-clear{border:0;background:transparent;color:#98a2b3;font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}.finance-multi-selected{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.finance-multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#3f46b5;border:1px solid #dbe1ff;font-size:11px;font-weight:700}.finance-multi-chip button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;font-size:14px;line-height:1}.finance-multi-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:1000;max-height:230px;overflow:auto;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 12px 30px rgba(16,24,40,.14);padding:6px}.finance-multi-menu.open{display:block}.finance-multi-option{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;padding:8px 9px;border-radius:7px;font-weight:600!important;cursor:pointer}.finance-multi-option:hover{background:#f5f7fa}.finance-multi-option input{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;flex:0 0 16px!important}.finance-multi-option span{color:#344054}.finance-multi-no-results{padding:10px;color:#667085;font-size:12px}
.finance-tithe-panel{margin-top:14px}.finance-tithe-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.finance-tithe-summary article{background:#f8f9fc;border:1px solid #e5e7eb;border-radius:12px;padding:13px}.finance-tithe-summary span{display:block;color:#667085;font-size:12px}.finance-tithe-summary strong{display:block;font-size:22px;margin-top:3px}.finance-tithe-card{margin-top:0}.finance-tithe-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.finance-tithe-status.paid{background:#dcfce7;color:#166534}.finance-tithe-status.missing{background:#fee2e2;color:#991b1b}.finance-tithe-card .finance-data-table{overflow:auto}.finance-tithe-card table{min-width:850px}
@media(max-width:900px){.finance-tithe-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.finance-tithe-summary{grid-template-columns:1fr}}

/* V8 — pesquisa em tempo real: o atributo hidden precisa vencer os display!important das opções. */
.report-multi-menu .report-multi-option[hidden],
.finance-multi-menu .finance-multi-option[hidden]{display:none!important;}
.report-multi-menu .report-multi-no-results[hidden],
.finance-multi-menu .finance-multi-no-results[hidden]{display:none!important;}
.finance-filter-field{display:grid;gap:5px;position:relative;min-width:0;}
.finance-filter-field>span{font-size:10px;font-weight:700;color:#475569;}
.finance-dashboard-shell .finance-filter-field:focus-within{z-index:10000!important;}
.finance-dashboard-shell .finance-filter-field:focus-within .finance-multi-picker{z-index:10001!important;}
.finance-dashboard-shell .finance-filter-field:focus-within .finance-multi-menu{z-index:10002!important;}
.finance-summary-pie-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.finance-summary-pie-card{border:1px solid #e3e7ef;border-radius:14px;background:#fff;padding:14px;min-width:0;}
.finance-summary-pie-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.finance-summary-pie-head h3{margin:0;font-size:13px;}
.finance-summary-pie-head p{margin:3px 0 0;font-size:9px;color:#94a3b8;line-height:1.35;}
.finance-summary-pie-head>span{min-width:23px;height:23px;border-radius:8px;background:#f3f4ff;color:#5b5bd6;display:grid;place-items:center;font-size:9px;font-weight:800;}
.finance-summary-pie-wrap{display:grid;grid-template-columns:112px 1fr;gap:11px;align-items:center;margin-top:12px;}
.finance-summary-pie{width:106px;height:106px;border-radius:50%;position:relative;display:grid;place-items:center;}
.finance-summary-pie-hole{width:43px;height:43px;background:#fff;border-radius:50%;box-shadow:0 0 0 1px #f0f2f5;}
.finance-summary-pie-legend{display:grid;gap:6px;min-width:0;}
.finance-summary-pie-legend>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:5px;font-size:8px;min-width:0;}
.finance-summary-pie-legend b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.finance-summary-pie-legend span:last-child{color:#64748b;white-space:nowrap;font-size:7px;}
.finance-summary-pie-dot{width:7px;height:7px;border-radius:50%;display:block;}
.finance-summary-pie-empty{padding:34px 5px;text-align:center;color:#94a3b8;font-size:9px;}
@media(max-width:1250px){.finance-summary-pie-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.finance-summary-pie-grid{grid-template-columns:1fr;}.finance-summary-pie-wrap{grid-template-columns:100px 1fr;}}

/* FINANCEIRO V25 — gráficos do resumo com leitura confortável, sem exagero de escala */
.finance-summary-pie-grid{
  gap:12px!important;
}
.finance-summary-pie-card{
  padding:15px!important;
  min-height:220px!important;
}
.finance-summary-pie-head h3{
  font-size:14px!important;
  line-height:1.2!important;
}
.finance-summary-pie-head p{
  font-size:10px!important;
  line-height:1.35!important;
}
.finance-summary-pie-head>span{
  min-width:25px!important;
  height:25px!important;
  font-size:10px!important;
}
.finance-summary-pie-wrap{
  grid-template-columns:136px 1fr!important;
  gap:12px!important;
  margin-top:13px!important;
}
.finance-summary-pie{
  width:124px!important;
  height:124px!important;
}
.finance-summary-pie-hole{
  width:50px!important;
  height:50px!important;
}
.finance-summary-pie-legend{
  gap:7px!important;
}
.finance-summary-pie-legend>div{
  grid-template-columns:9px 1fr auto!important;
  gap:6px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.finance-summary-pie-legend b{
  font-size:10.5px!important;
}
.finance-summary-pie-legend span:last-child{
  font-size:10px!important;
  font-weight:700!important;
  color:#334155!important;
}
.finance-summary-pie-dot{
  width:8px!important;
  height:8px!important;
}
@media(max-width:1250px){
  .finance-summary-pie-wrap{grid-template-columns:130px 1fr!important}
  .finance-summary-pie{width:118px!important;height:118px!important}
  .finance-summary-pie-hole{width:48px!important;height:48px!important}
}
@media(max-width:700px){
  .finance-summary-pie-wrap{grid-template-columns:120px 1fr!important}
  .finance-summary-pie{width:112px!important;height:112px!important}
  .finance-summary-pie-hole{width:45px!important;height:45px!important}
  .finance-summary-pie-legend>div,
  .finance-summary-pie-legend b,
  .finance-summary-pie-legend span:last-child{font-size:10px!important}
}

/* ==================== FOTO DE PERFIL DO USUÁRIO ==================== */
.user-mini-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;display:grid;place-items:center;background:#313d56;color:#fff;font-weight:800;overflow:hidden;object-fit:cover}
.user-mini-photo{background:#fff;border:1px solid #263044}
.profile-photo-editor{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fafbfe}
.profile-photo-preview{width:76px;height:76px;min-width:76px;border-radius:50%;background:#313d56;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800;overflow:hidden;position:relative}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-info{display:grid;gap:8px;flex:1}.profile-photo-info small{color:var(--muted);font-weight:500}
@media(max-width:620px){.profile-photo-editor{align-items:flex-start;flex-direction:column}.profile-photo-info{width:100%}}


/* Auditoria */
.audit-page-head{align-items:center}.audit-total-badge{background:#eef2ff;color:#4338ca;border:1px solid #dfe4ff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;white-space:nowrap}.audit-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:14px 0}.audit-kpi{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:13px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 18px rgba(15,23,42,.04)}.audit-kpi>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f4f3ff;font-size:18px}.audit-kpi b{display:block;font-size:18px;line-height:1.05}.audit-kpi small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.audit-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-filter-grid .filter-actions{grid-column:1/-1}.audit-panel{overflow:hidden}.audit-table-wrap{overflow:auto}.audit-table{width:100%;border-collapse:separate;border-spacing:0;min-width:950px}.audit-table th{background:#f8fafc;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800;text-align:left;padding:12px 14px;border-bottom:1px solid var(--line,#e5e7eb)}.audit-table td{padding:12px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle;font-size:12px}.audit-table tbody tr:hover{background:#fafbff}.audit-table td:first-child b{display:block;font-size:12px}.audit-table td small{display:block;color:#94a3b8;font-size:10px;margin-top:2px}.audit-user{display:flex;align-items:center;gap:9px;min-width:180px}.audit-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-weight:800;font-size:13px;flex:0 0 auto}.audit-avatar-photo{object-fit:cover;object-position:center;border:1px solid #e2e8f0;background:#fff}.audit-user b{font-size:12px}.audit-area-badge,.audit-action-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.audit-area-badge{background:#f1f5f9;color:#334155}.audit-action-badge{background:#eef2ff;color:#4338ca}.audit-action-badge.success{background:#ecfdf5;color:#047857}.audit-action-badge.danger{background:#fef2f2;color:#b91c1c}.audit-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:3px 6px}.audit-pagination{margin:0;padding:14px 16px}.audit-footnote{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;color:#64748b}.audit-footnote span{font-size:18px}.audit-footnote p{margin:0;font-size:11px;line-height:1.5}.audit-footnote b{color:#334155}@media(max-width:1100px){.audit-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.audit-page-head{align-items:flex-start}.audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-grid{grid-template-columns:1fr}.audit-filter-grid .filter-actions{grid-column:auto}}

/* Gestão avançada */
.top-global-search{display:flex;align-items:center;gap:0;margin-right:10px;background:var(--panel,#fff);border:1px solid var(--line,#e5e7eb);border-radius:11px;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.03)}
.top-global-search input{border:0!important;outline:0!important;background:transparent!important;width:210px;padding:9px 10px!important;margin:0!important;font-size:12px!important}.top-global-search button{border:0;background:transparent;padding:8px 10px;cursor:pointer;font-size:16px;color:var(--brand,#5b5bd6)}
.advanced-page-head{margin-bottom:18px}.advanced-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 18px}.advanced-kpi{display:flex;align-items:center;gap:13px;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:16px;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(15,23,42,.035)}.advanced-kpi>span,.advanced-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:rgba(99,102,241,.10);font-size:19px;flex:0 0 auto}.advanced-kpi small{display:block;color:var(--muted,#64748b);font-size:11px}.advanced-kpi strong{display:block;font-size:23px;margin-top:3px}.advanced-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.attention-panel{min-width:0}.attention-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line,#edf0f4);text-decoration:none;color:inherit}.attention-row:last-child{border-bottom:0}.attention-row small{display:block;color:var(--muted,#64748b);margin-top:3px;font-size:11px}.attention-row span{font-size:11px;color:var(--muted,#64748b)}
.dashboard-attention-panel{margin-bottom:20px}.dashboard-attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dashboard-attention-grid a{border:1px solid var(--line,#e5e7eb);border-radius:13px;padding:13px;text-decoration:none;color:inherit;background:var(--soft,#f7f8fb)}.dashboard-attention-grid span{display:block;font-size:18px}.dashboard-attention-grid b{display:block;font-size:20px;margin-top:6px}.dashboard-attention-grid small{color:var(--muted,#64748b);font-size:10px}
.global-search-panel{max-width:1000px}.global-search-form{display:flex;gap:10px;margin-bottom:16px}.global-search-form input{flex:1}.global-result-list{display:grid;gap:6px}.global-result-list a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line,#e5e7eb);border-radius:12px;text-decoration:none;color:inherit}.global-result-list a:hover{border-color:rgba(99,102,241,.35);background:rgba(99,102,241,.03)}.global-result-list small{display:block;color:var(--muted,#64748b);margin-top:3px}.global-result-type{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--brand,#5b5bd6);font-weight:800}
.communication-card{max-width:950px}.communication-intro{display:flex;gap:14px;align-items:center;margin-bottom:16px}.communication-intro h3{margin:0}.document-grid{display:grid;gap:10px;margin-top:16px}.document-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:var(--card,#fff)}.document-card-icon{width:46px;height:46px;border-radius:12px;background:rgba(99,102,241,.08);display:grid;place-items:center;font-size:21px}.document-card-body h3{margin:6px 0 3px}.document-card-body p{margin:0 0 4px;color:var(--muted,#64748b);font-size:12px}.document-card-body small{color:var(--muted,#64748b);font-size:10px}.document-card-actions{display:flex;gap:6px}.backup-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.backup-card{min-height:190px}.backup-card h3{margin:12px 0 5px}.backup-note{font-size:12px;color:var(--muted,#64748b)}
.scale-person-view{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line,#edf0f4)}.scale-person-view:last-child{border-bottom:0}.scale-person-view small{display:block;color:var(--muted,#64748b);margin-top:2px}.scale-confirm-wrap{display:flex;align-items:center;gap:6px}.scale-confirm-pendente{background:#fff7d6!important;color:#9a6700!important}.scale-confirm-confirmado{background:#dcfce7!important;color:#166534!important}.scale-confirm-nao{background:#fee2e2!important;color:#991b1b!important}.inline-form{display:inline-flex;gap:4px}
@media(max-width:1050px){.advanced-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-attention-grid{grid-template-columns:repeat(2,1fr)}.backup-grid{grid-template-columns:1fr}}
@media(max-width:760px){.top-global-search{display:none}.advanced-grid-2{grid-template-columns:1fr}.global-search-form{flex-direction:column}.document-card{grid-template-columns:auto 1fr}.document-card-actions{grid-column:1/-1;justify-content:flex-end}.advanced-kpis{grid-template-columns:1fr}.dashboard-attention-grid{grid-template-columns:1fr 1fr}}
.tithe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tithe-card{border:1px solid var(--line,#e5e7eb);border-radius:13px;padding:13px;background:var(--soft,#f7f8fb)}.tithe-card span,.tithe-card small{display:block;color:var(--muted,#64748b)}.tithe-card span{font-weight:700;font-size:12px}.tithe-card b{display:block;font-size:18px;margin:6px 0 3px}.tithe-card small{font-size:10px}
.qr-card{max-width:900px}.qr-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.qr-content{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center;margin-top:18px}.qr-content #qrcode{width:250px;height:250px;padding:12px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:14px;display:grid;place-items:center}.qr-info h3{font-size:24px;margin:10px 0 6px}.qr-info p{margin:8px 0;color:var(--muted,#64748b)}.qr-url{display:block;margin-top:14px;padding:10px;background:var(--soft,#f7f8fb);border-radius:9px;color:var(--muted,#64748b);word-break:break-all}
@media(max-width:900px){.tithe-grid{grid-template-columns:repeat(2,1fr)}.qr-content{grid-template-columns:1fr}.qr-content #qrcode{margin:0 auto}}
@media(max-width:520px){.tithe-grid{grid-template-columns:1fr}.qr-head{flex-direction:column}.qr-head .btn{width:100%}}
@media print{.sidebar,.topbar,.qr-head .btn{display:none!important}.main{margin:0!important}.qr-card{box-shadow:none!important;border:0!important}.qr-content{grid-template-columns:1fr 1fr}}

/* Fotos das pessoas */
.person-avatar-photo{object-fit:cover;object-position:center;border:1px solid #e2e8f0;background:#fff}.person-avatar-fallback{flex:0 0 auto}.profile-avatar-photo-wrap{overflow:hidden;position:relative}.profile-avatar-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.profile-avatar-fallback{width:100%;height:100%;display:grid;place-items:center}.person-photo-editor{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fafbfe}.person-photo-preview{width:92px;height:92px;min-width:92px;border-radius:22px;background:#313d56;color:#fff;display:grid;place-items:center;font-size:32px;font-weight:800;overflow:hidden;position:relative}.person-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.person-photo-info{display:grid;gap:8px;flex:1}.person-photo-info>label{display:grid;gap:6px}.person-photo-info small{color:var(--muted);font-weight:500;line-height:1.45}.pastoral-tithe-panel{margin:22px 0}.advanced-grid-2{gap:22px;margin-bottom:22px}.advanced-kpis{margin-bottom:22px}.advanced-grid-2 + .advanced-grid-2{margin-top:22px}.person-profile-page .profile-hero{margin-bottom:22px}.person-profile-page .profile-tabs{margin-bottom:22px}.person-profile-page .profile-grid{gap:22px;margin-bottom:22px}.person-profile-page .panel{margin-bottom:0}.profile-stats{gap:18px!important;margin-bottom:22px!important}

/* Mensagens de erro detalhadas: leitura sem cortes ou rolagem horizontal. */
.message-modal .modal-card{width:min(760px,calc(100vw - 32px));max-height:min(80vh,680px);overflow:auto;}
.message-modal .modal-card p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.6;color:var(--muted);}
.message-modal .modal-card h2{margin-bottom:14px;}
#personSaveButton:disabled{opacity:.7;cursor:wait;}

/* Painel pastoral refinado */
.pastoral-alert-grid{align-items:stretch}
.pastoral-card{margin-bottom:0;overflow:hidden}
.pastoral-section-head{align-items:flex-start!important;gap:16px}
.pastoral-section-head h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pastoral-count{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:800}
.pastoral-card-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pastoral-card-nav>span{font-size:10px;color:var(--muted,#64748b);font-weight:700;margin-right:2px}
.pastoral-nav-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line,#e5e7eb);border-radius:9px;background:#fff;color:#334155;text-decoration:none;font-weight:800;font-size:14px}
.pastoral-nav-btn:hover{border-color:#c7d2fe;background:#f8faff;color:#4f46e5}
.pastoral-nav-btn.disabled{pointer-events:none;opacity:.35}
.pastoral-person-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line,#edf0f4)}
.pastoral-person-row:last-child{border-bottom:0}
.pastoral-person-main{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:inherit;flex:1}
.pastoral-person-main b{display:block;font-size:12px;line-height:1.25}
.pastoral-person-main small{display:block;color:var(--muted,#64748b);margin-top:3px;font-size:10px;line-height:1.3}
.pastoral-avatar,.pastoral-avatar-fallback{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden}
.pastoral-avatar{object-fit:cover;object-position:center;border:1px solid #e2e8f0;background:#fff}
.pastoral-avatar-fallback{background:#eef2ff;color:#4338ca;font-weight:800;font-size:14px}
.pastoral-row-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.pastoral-row-actions .icon-btn{width:32px;height:32px;padding:0;display:grid;place-items:center}
.pastoral-row-actions .icon-btn.disabled{opacity:.35;pointer-events:none}
.pastoral-row-actions .compact{padding:7px 9px;font-size:10px}
.pastoral-inline-form{margin:0}
.pastoral-link-row{color:inherit;text-decoration:none}
.pastoral-link-row:hover{background:#fafbff}
.pastoral-row-side{font-size:10px;color:var(--muted,#64748b);white-space:nowrap}
.pastoral-event-icon{width:38px;height:38px;min-width:38px;border-radius:11px;display:grid;place-items:center;background:#f4f3ff;font-size:18px}
.page-pastoral_dashboard .advanced-page-head{display:none!important}
.page-pastoral_dashboard .topbar{padding-bottom:13px}
.page-pastoral_dashboard .topbar-description{margin:4px 0 0;color:var(--muted,#64748b);font-size:12px}
.page-pastoral_dashboard .main-content>div:first-child{margin-top:0}
@media(max-width:1000px){.pastoral-section-head{flex-direction:column}.pastoral-card-nav{justify-content:flex-start}}
@media(max-width:650px){.pastoral-card-nav .btn{width:auto}.pastoral-person-row{align-items:flex-start}.pastoral-row-actions{padding-top:2px}.pastoral-row-actions .btn{white-space:nowrap}.pastoral-alert-grid{gap:16px!important}}

/* V53 — Presença: visual profissional, multi-seleção e modais */
.attendance-page .attendance-page-head{margin-bottom:18px!important}
.attendance-page .attendance-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:16px!important}
.attendance-page .attendance-events-panel{margin-top:16px!important}
.attendance-dashboard-cards{display:grid!important;gap:12px!important}
.attendance-event-card{display:grid!important;grid-template-columns:88px minmax(0,1fr) auto auto!important;align-items:center!important;gap:18px!important;padding:16px 18px!important;border:1px solid #e5e8ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(15,23,42,.045)!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important}
.attendance-event-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.07)!important;border-color:#d8ddec!important}
.attendance-event-card.selected{border-color:#6366f1!important;box-shadow:0 0 0 2px rgba(99,102,241,.10)!important}
.attendance-event-date{width:82px;min-height:82px;border-radius:16px;background:linear-gradient(145deg,#f3f5ff,#eef1fb);display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;line-height:1.05!important;border:1px solid #e2e6f0!important}
.attendance-event-date strong{font-size:28px!important;font-weight:800!important;color:#111827!important}
.attendance-event-date span{text-transform:capitalize;font-size:12px!important;font-weight:800!important;color:#4f46e5!important;margin-top:5px!important}
.attendance-event-date small{font-size:9px!important;color:#7c879b!important;margin-top:5px!important;text-transform:capitalize!important}
.attendance-event-main{min-width:0!important}
.attendance-event-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.attendance-event-status{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px}
.attendance-event-status.future{background:#eefbf4;color:#15803d}
.attendance-event-status.done{background:#f2f4f7;color:#64748b}
.attendance-event-main h3{margin:0 0 5px!important;font-size:17px!important;color:#0f172a!important}
.attendance-event-main p{margin:0 0 3px!important;font-size:11px!important;color:#64748b!important}
.attendance-event-main small{font-size:10px!important;color:#94a3b8!important}
.attendance-count{min-width:176px;display:flex;align-items:stretch;justify-content:center;gap:8px}
.attendance-count>span{min-width:76px;padding:8px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:11px;border:1px solid transparent}
.attendance-count>span:first-child{background:rgba(239,68,68,.09);border-color:rgba(239,68,68,.16)}
.attendance-count>span:last-child{background:rgba(34,197,94,.09);border-color:rgba(34,197,94,.16)}
.attendance-count>span:first-child b{color:#dc2626!important}
.attendance-count>span:last-child b{color:#16a34a!important}
.attendance-count>span:first-child small{color:#b91c1c!important}
.attendance-count>span:last-child small{color:#15803d!important}
.attendance-count b{font-size:20px!important;line-height:1}
.attendance-count small{font-size:9px!important;font-weight:800!important;white-space:nowrap}
.attendance-card-actions{display:flex;align-items:center;gap:6px!important}
.attendance-card-actions .agenda-icon-btn{width:36px!important;height:36px!important}
.attendance-view-modal{width:min(690px,calc(100vw - 34px))!important;max-height:calc(100vh - 34px)!important;padding:20px!important}
.attendance-view-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.attendance-view-summary span{padding:8px 11px;border:1px solid #e6e9f0;border-radius:10px;background:#fafbfe;font-size:10px;color:#64748b}
.attendance-view-summary b{font-size:13px;color:#111827}
.attendance-group{border:1px solid #e6e9f0;border-radius:13px;overflow:hidden;margin-top:12px;background:#fff}
.attendance-group-head{padding:10px 12px;background:#f8f9fc;border-bottom:1px solid #eceff4}
.attendance-group-head>div{display:flex;justify-content:space-between;align-items:center;gap:8px}
.attendance-group-head small{font-size:9px;color:#94a3b8;font-weight:700}
.attendance-view-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef1f5}
.attendance-view-row:last-child{border-bottom:0}
.attendance-person-avatar{width:38px;height:38px;border-radius:12px;overflow:hidden;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-weight:800}
.attendance-person-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.attendance-view-row .grow{display:grid;gap:2px}
.attendance-view-row .grow b{font-size:12px;color:#0f172a}
.attendance-view-row .grow small{font-size:9px;color:#94a3b8}
.attendance-delete-form{display:flex}
.attendance-empty-state{display:grid;place-items:center;text-align:center;padding:34px 16px;color:#94a3b8;gap:6px}
.attendance-empty-state>div{font-size:28px}
.attendance-empty-state b{font-size:13px;color:#475569}
.attendance-empty-state span{font-size:10px}
.agenda-attendance-modal{width:min(760px,calc(100vw - 34px))!important;max-height:calc(100vh - 34px)!important}
.attendance-picker-results{max-height:260px!important;border:1px solid #e4e8ef!important;border-radius:12px!important;overflow:auto!important}
.attendance-result{padding:12px 13px!important;font-size:11px!important}
.attendance-result small{font-size:9px!important}
.attendance-result b{width:28px!important;height:28px!important;border-radius:8px!important}
.attendance-selected-list{margin:12px 0 14px!important;max-height:190px;overflow:auto}
.attendance-page .agenda-filter-body{gap:10px!important}
@media(max-width:1100px){.attendance-page .attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.attendance-event-card{grid-template-columns:76px minmax(0,1fr) auto!important}.attendance-card-actions{grid-column:3;grid-row:1/3}}
@media(max-width:700px){.attendance-page .attendance-kpis{grid-template-columns:1fr!important}.attendance-event-card{grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important}.attendance-event-date{width:64px;min-height:70px}.attendance-event-date strong{font-size:22px!important}.attendance-event-main h3{font-size:15px!important}.attendance-count{grid-column:2;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:12px}.attendance-count>span{flex-direction:row;align-items:baseline;gap:4px;min-width:auto}.attendance-count b{font-size:18px!important}.attendance-count small{font-size:9px!important}.attendance-card-actions{grid-column:2;grid-row:auto;justify-content:flex-end}.attendance-view-row{grid-template-columns:34px minmax(0,1fr) auto}.attendance-person-avatar{width:34px;height:34px}}
@media(max-width:700px){.attendance-view-row:has(.attendance-reason-view-btn){grid-template-columns:34px minmax(0,1fr) 30px 30px}.attendance-reason-view-btn{width:30px;height:30px}.attendance-delete-form .agenda-icon-btn{width:30px!important;height:30px!important}}

/* Perfil da pessoa - refinamentos */
.person-profile-page .profile-avatar-clickable{border:1px solid rgba(255,255,255,.24);padding:0;cursor:zoom-in;position:relative;overflow:hidden}
.person-profile-page .profile-avatar-clickable:after{content:'⌕';position:absolute;right:8px;bottom:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(10,14,28,.62);color:#fff;font-size:14px}
.person-profile-page #celulas{align-self:start;height:fit-content;max-height:235px;overflow:auto}
.person-profile-page #celulas .list-row{padding:9px 0;min-height:auto}
.person-profile-page #celulas .list-row span{font-size:11px}
.person-profile-page .profile-scales-panel{margin-top:18px}
.person-profile-page #financeiro{margin-top:18px}
.profile-photo-modal{max-width:760px}
.profile-photo-modal-head{margin-bottom:12px}
.profile-photo-large{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:18px;background:#f4f6fb;border:1px solid var(--line)}
.profile-photo-large-fallback{min-height:420px;display:grid;place-items:center;font-size:92px;font-weight:800;color:#fff;background:#313d56}
.profile-section-switch{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:6px}
.profile-section-switch a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:12px;font-weight:700}
.profile-section-switch a.active{background:#eef0ff;color:var(--brand);border-color:#dfe2ff}
.profile-section-count{margin-left:auto;color:var(--muted);font-size:11px;font-weight:600}
.profile-scale-row{padding:10px 0}
.profile-mini-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding-top:9px;margin-top:5px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);font-weight:700}
@media(max-width:780px){.profile-section-count{width:100%;margin-left:0}.profile-photo-large-fallback{min-height:260px}}
/* Telegram — lembretes automáticos */
.reminder-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;border:1px solid #e7eaf0;border-radius:14px;background:linear-gradient(135deg,#fafbff,#f5f7ff);margin-bottom:12px}
.reminder-toolbar>div:first-child b{display:block;font-size:13px;color:#172033;margin-bottom:3px}.reminder-toolbar>div:first-child small{display:block;max-width:760px;color:#64748b;font-size:10px;line-height:1.5}
.reminder-row{min-height:54px}.reminder-row small{font-size:10px!important}.reminder-row .status-pill{font-size:9px;padding:4px 8px}.reminder-help{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e8edf3;color:#64748b;font-size:10px;line-height:1.5}.reminder-help b{color:#334155;white-space:nowrap}.reminder-modal{max-width:760px}
@media(max-width:700px){.reminder-toolbar{flex-direction:column;align-items:stretch}.reminder-toolbar .card-actions{justify-content:flex-start;flex-wrap:wrap}.reminder-row{align-items:flex-start}.reminder-row .card-actions{flex-wrap:wrap}.reminder-help{flex-direction:column}}

/* V60 - Comunicação */
.top-actions .top-global-search{display:none!important}
.nav-parent:has(> span:empty){grid-template-columns:1fr 18px!important}

/* V6 — Comunicação sem containers duplicados */
.main.page-communication .content > .comm-page,
.main.page-communication_settings .content > .comm-page,
.main.page-whatsapp_settings .content > .comm-page,
.main.page-communication_manual .content > .manual-page{width:100%;max-width:none;margin:0}
.main.page-communication .comm-shell,
.main.page-communication_settings .comm-shell,
.main.page-whatsapp_settings .comm-shell{width:100%;max-width:none}
.main.page-communication_settings .telegram-settings{width:100%;max-width:none}
.main.page-communication_settings .telegram-settings .settings-accordion{width:100%;box-sizing:border-box}
.main.page-communication_settings .telegram-settings .settings-accordion-body{box-sizing:border-box}

/* Painel pastoral: cinco colunas no desktop e leitura secundária dos valores. */
.pastoral-kpis .advanced-kpi{min-width:0}
.pastoral-kpi-secondary{display:block;margin-top:4px;font-size:10px;line-height:1.25;color:var(--muted,#64748b);font-style:normal;font-weight:700}
@media(max-width:1250px){.advanced-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* V95 — Ministérios: cards uniformes, botão Ver e remoção com X visível */
.ministry-card.compact{height:270px;min-height:270px;box-sizing:border-box;display:flex;flex-direction:column}
.ministry-card.compact .ministry-card-actions{margin-top:auto}
.ministry-card-spacer{flex:1 1 auto}
.ministry-remove-mini{color:#dc2626!important;font-weight:900!important;font-size:15px!important;font-family:Arial,sans-serif!important}
.ministry-remove-mini:hover{color:#b91c1c!important;background:#fef2f2!important;border-color:#fecaca!important}
.ministry-view-modal{max-width:850px}
.ministry-view-modal h2{margin:4px 0 8px}
.ministry-view-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.ministry-view-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfc}
.ministry-view-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}
.ministry-view-summary b{font-size:14px}
.ministry-view-description{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px}
.ministry-view-description h3,.ministry-view-members h3{margin:0 0 5px;font-size:14px}
.ministry-view-description p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.ministry-view-members{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px}
.ministry-view-list{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:5px}
.ministry-view-person{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line)}
.ministry-view-person:last-child{border-bottom:0}
.ministry-view-person b,.ministry-view-person small{display:block}
.ministry-view-person small{font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:620px){.ministry-card.compact{height:auto;min-height:270px}.ministry-view-summary{grid-template-columns:1fr}}

/* V54 — Cabeçalhos de páginas: compactos, sem áreas vazias e com ações na mesma linha */
.module-page-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:20px!important;
  margin:0 0 18px!important;
  min-height:0!important;
  padding:0!important;
}
.module-page-head>div:first-child{min-width:0;flex:1}
.module-page-head h2{margin:3px 0 6px!important;font-size:25px!important;line-height:1.15!important;letter-spacing:-.02em}
.module-page-head .muted{font-size:13px;line-height:1.45}
.module-page-head>.btn{flex:0 0 auto;white-space:nowrap;margin-top:4px}
.advanced-page-head{min-height:0!important;padding:0!important}
.page-actions:has(>div:only-child){min-height:0}

/* Dashboard de células: não reservar uma segunda linha só para o botão */
.page-cells_dashboard .module-page-head,
.page-cells .module-page-head{margin-bottom:18px!important}

/* Dashboard da agenda: título e ação no mesmo cabeçalho, sem bloco gigante */
.page-agenda_dashboard .module-page-head{margin-bottom:18px!important}
.page-agenda_dashboard .agenda-dashboard-kpis{margin-top:0!important}

@media(max-width:700px){
  .module-page-head{align-items:flex-start!important;gap:12px!important}
  .module-page-head>.btn{padding:9px 11px!important;font-size:12px!important}
}
@media(max-width:620px){
  .module-page-head{flex-direction:row!important;align-items:center!important}
  .module-page-head>.btn{width:auto!important;flex:0 0 auto!important}
  .module-page-head h2{font-size:22px!important}
}

/* Presença por escala — registro de presentes e faltas */
.attendance-ministry-picker{position:relative;min-width:0}
.attendance-ministry-trigger{width:100%;height:44px;border:1px solid #d8deea;border-radius:12px;background:#fff;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#0f172a;font-weight:700;cursor:pointer}
.attendance-ministry-trigger:hover{border-color:#aeb8ca}
.attendance-ministry-menu{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 6px);padding:8px;border:1px solid #dfe4ed;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.14);display:none}
.attendance-ministry-menu.show{display:block}
.attendance-ministry-search{display:flex;align-items:center;gap:7px;border:1px solid #dce2ed;border-radius:10px;padding:0 9px;background:#fbfcff;margin-bottom:6px}
.attendance-ministry-search input{border:0!important;outline:0!important;background:transparent!important;min-width:0!important;box-shadow:none!important;height:38px!important;flex:1}
.attendance-ministry-search button{border:0;background:none;color:#64748b;font-size:18px;cursor:pointer}
.attendance-ministry-option{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:9px;padding:9px 10px;font-size:12px;color:#243047;cursor:pointer}
.attendance-ministry-option:hover{background:#f2f4ff}
.attendance-scale-note{display:flex;align-items:center;gap:8px;margin:10px 0 8px;padding:9px 12px;border:1px solid #e4e8f0;border-radius:11px;background:#fafbfe;color:#64748b;font-size:11px}
.attendance-scale-note b{color:#0f172a}.attendance-scale-note small{margin-left:auto;color:#94a3b8}
.attendance-status-list{display:grid;gap:7px;border:0!important;max-height:310px!important;overflow:auto!important}
.attendance-scheduled-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e5e9f0;background:#fff;border-radius:11px;color:#0f172a;text-align:left;cursor:pointer}
.attendance-scheduled-row:hover{border-color:#c8d0df;background:#fafbff}
.attendance-scheduled-status{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12px;background:#f1f4f8;color:#94a3b8}
.attendance-scheduled-status.present{background:#eaf9f0;color:#15803d}.attendance-scheduled-status.absent{background:#fff0f0;color:#dc2626}
.attendance-scheduled-row small{display:block;color:#94a3b8;font-size:9px;margin-top:2px}.attendance-scheduled-row strong{font-size:10px;color:#64748b}
.attendance-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f4}
.attendance-record-main{min-width:0;display:grid;gap:2px}.attendance-record-main b{font-size:12px;color:#0f172a}.attendance-record-main small{font-size:9px;color:#94a3b8}
.attendance-record-status{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#64748b}.attendance-record-row.is-present .attendance-record-status{background:#eaf9f0;color:#15803d}.attendance-record-row.is-absent .attendance-record-status{background:#fff0f0;color:#dc2626}
.attendance-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.attendance-status-btn,.attendance-reason-btn,.attendance-remove-btn{border:1px solid #dfe4ed;border-radius:9px;background:#fff;padding:6px 8px;font-size:9px;font-weight:800;color:#64748b;cursor:pointer}
.attendance-status-btn.active{border-color:#86d6a5;background:#eaf9f0;color:#15803d}.attendance-status-btn.absent.active{border-color:#f3a1a1;background:#fff0f0;color:#dc2626}.attendance-reason-btn{color:#4f46e5}.attendance-remove-btn{width:28px;height:28px;padding:0;color:#94a3b8}
.attendance-view-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-view-column{border:1px solid #e6eaf1;border-radius:12px;overflow:hidden;background:#fff}
.attendance-chip-absent{background:#fff0f0!important;color:#dc2626!important}.attendance-status-pill{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px}.attendance-status-pill.present{background:#eaf9f0;color:#15803d}
.attendance-chip-confirmed{background:#eaf9f0!important;color:#15803d!important}.attendance-reason-view-btn{border:1px solid #dfe4ed;background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer;color:#4f46e5}.attendance-view-row:has(.attendance-reason-view-btn){grid-template-columns:38px minmax(0,1fr) auto auto}.attendance-delete-form{display:flex;align-items:center;justify-content:center;margin:0}.attendance-delete-form .agenda-icon-btn{width:30px!important;height:30px!important}.attendance-column-empty{padding:20px;text-align:center;color:#94a3b8;font-size:10px}.attendance-reason-modal-layer{z-index:2147483000!important}.attendance-reason-modal-layer.show{z-index:2147483000!important}.attendance-reason-modal-layer>.modal-card{position:relative;z-index:2147483001!important}
.attendance-reason-content{white-space:pre-wrap;padding:12px 13px;border:1px solid #e5e9f0;border-radius:11px;background:#fafbfe;color:#334155;font-size:12px;line-height:1.5}
.profile-scales-presence-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.profile-presence-panel .panel-head{align-items:flex-start}.presence-summary-mini{display:flex;gap:8px;margin:0 0 10px}.presence-summary-mini span{display:grid;gap:1px;padding:7px 10px;border:1px solid #e5e9f0;border-radius:10px;background:#fafbfe}.presence-summary-mini b{font-size:15px;color:#0f172a}.presence-summary-mini small{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:800}.presence-summary-mini .absent b{color:#dc2626}.profile-presence-row .module-icon{background:#eef2ff;color:#4f46e5}.profile-presence-row:has(.icon-btn) .module-icon{background:#fff0f0;color:#dc2626}
@media(max-width:900px){.profile-scales-presence-grid{grid-template-columns:1fr}.attendance-view-columns{grid-template-columns:1fr}.attendance-record-row{grid-template-columns:minmax(0,1fr) auto}.attendance-row-actions{grid-column:1/-1;justify-content:flex-start}.attendance-scale-note{align-items:flex-start;flex-wrap:wrap}.attendance-scale-note small{margin-left:0;width:100%}}
/* Seletor de ministério na presença: lista pesquisável, no máximo 5 opções visíveis. */
.attendance-ministry-menu{z-index:2000;max-height:290px;overflow-y:auto;overflow-x:hidden}
.attendance-ministry-search{position:sticky;top:0;z-index:2;background:#fbfcff}
.attendance-ministry-option[hidden]{display:none!important}


/* V54 — Presença: modal de registro e lista de eventos com leitura rápida */
.attendance-page .agenda-attendance-modal{
  width:min(920px,calc(100vw - 40px))!important;
  max-width:920px!important;
  padding:24px!important;
  border-radius:22px!important;
}
.attendance-page .agenda-attendance-modal .attendance-modal-head{
  padding-bottom:18px!important;
  margin-bottom:18px!important;
}
.attendance-page .agenda-attendance-modal .attendance-modal-icon{
  width:50px!important;height:50px!important;border-radius:15px!important;font-size:23px!important;
}
.attendance-page .agenda-attendance-modal .attendance-modal-head h2{
  font-size:22px!important;line-height:1.2!important;
}
.attendance-page .attendance-controls{grid-template-columns:260px minmax(0,1fr)!important;gap:14px!important}
.attendance-page .attendance-picker-results{
  max-height:330px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  padding:6px!important;
}
.attendance-page .attendance-result{
  min-height:62px!important;
  padding:11px 12px!important;
  border:1px solid #e5e9f0!important;
  border-radius:11px!important;
  margin-bottom:6px!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  background:#fff!important;
}
.attendance-page .attendance-result:last-child{margin-bottom:0!important}
.attendance-page .attendance-result:hover{background:#fbfcff!important;border-color:#d7dcef!important}
.attendance-page .attendance-result b{
  width:34px!important;height:34px!important;border-radius:10px!important;font-size:14px!important;
}
.attendance-page .attendance-result .grow{min-width:0!important}
.attendance-page .attendance-result .grow b{display:block!important;width:auto!important;height:auto!important;background:none!important;color:#0f172a!important;place-items:initial!important;font-size:13px!important;line-height:1.25!important}
.attendance-page .attendance-result small{font-size:10px!important;line-height:1.25!important}
.attendance-page .attendance-result strong{font-size:10px!important;white-space:nowrap!important}
.attendance-page .attendance-selected-list{
  margin:14px 0 16px!important;
  padding:12px!important;
  border-radius:14px!important;
  background:#fafbfe!important;
}
.attendance-page #attendanceSelectedItems{display:grid!important;gap:8px!important}
.attendance-page .attendance-record-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  padding:12px 13px!important;
  border:1px solid #e5e9f0!important;
  border-radius:11px!important;
  background:#fff!important;
}
.attendance-page .attendance-record-main{min-width:0!important}
.attendance-page .attendance-record-main b{font-size:13px!important;line-height:1.25!important}
.attendance-page .attendance-record-main small{font-size:10px!important;line-height:1.3!important}
.attendance-page .attendance-row-actions{grid-column:1/-1!important;justify-content:flex-start!important;padding-top:2px!important}
.attendance-page .attendance-status-btn,.attendance-page .attendance-reason-btn,.attendance-page .attendance-remove-btn{
  min-height:32px!important;font-size:10px!important;padding:7px 10px!important;border-radius:9px!important;
}
.attendance-page .attendance-scale-note{
  margin:12px 0 9px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}
.attendance-page .attendance-scale-note b{font-size:12px!important}
@media(max-width:700px){
  .attendance-page .agenda-attendance-modal{width:calc(100vw - 20px)!important;padding:18px!important}
  .attendance-page .attendance-controls{grid-template-columns:1fr!important}
  .attendance-page .attendance-result{grid-template-columns:34px minmax(0,1fr)!important}
  .attendance-page .attendance-result strong{grid-column:2!important;justify-self:start!important}
}

/* Ordem cronológica dos eventos de presença */
.attendance-page .attendance-event-card{order:0}

/* V54.1 — Modal de motivo da falta sempre acima do modal principal de presença */
#attendanceAbsenceModal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  box-sizing:border-box!important;
  background:rgba(15,23,42,.58)!important;
  z-index:200000!important;
}
#attendanceAbsenceModal.show{display:flex!important}
#attendanceAbsenceModal>.modal-card{
  position:relative!important;
  z-index:200001!important;
  width:min(520px,calc(100vw - 40px))!important;
  max-height:calc(100vh - 40px)!important;
  margin:0!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}
#attendanceAbsenceModal textarea{
  width:100%!important;
  min-height:110px!important;
  box-sizing:border-box!important;
  resize:vertical!important;
  margin:8px 0 2px!important;
}
@media(max-width:640px){
  #attendanceAbsenceModal{padding:10px!important}
  #attendanceAbsenceModal>.modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
}

/* Substitutos pesquisados fora da escala */
.attendance-page .attendance-substitute-row{border-style:dashed!important;background:#fffdf7!important}
.attendance-page .attendance-substitute-row strong{color:#b45309!important}

/* Perfil da pessoa — filtros compartilhados e cards de escalas/presenças */
.profile-period-filter{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.profile-period-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.profile-period-form>div{display:grid;gap:3px;min-width:210px;margin-right:auto}
.profile-period-form>div small{font-size:9px;letter-spacing:.08em;color:#64748b;font-weight:800}
.profile-period-form>div strong{font-size:13px;color:#0f172a}
.profile-period-form label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#475569;min-width:150px}
.profile-period-form input{height:38px;border:1px solid #d8deea;border-radius:10px;padding:0 10px;background:#fff;color:#0f172a}
.profile-scales-presence-grid{align-items:stretch}
.profile-scales-panel,.profile-presence-panel{min-height:390px;display:flex;flex-direction:column}
.profile-scales-panel .profile-section-switch{margin-bottom:10px}
.profile-records-list{display:grid;gap:7px;min-height:265px;align-content:start}
.profile-scale-row,.profile-presence-row{min-height:48px;padding:9px 10px!important;border-radius:10px}
.profile-mini-pagination{margin-top:auto!important;padding-top:12px}
.profile-mini-pagination .icon-btn[aria-disabled="true"]{pointer-events:none;opacity:.35}
@media(max-width:700px){.profile-period-form{align-items:stretch}.profile-period-form>div{min-width:100%;margin-right:0}.profile-period-form label{flex:1;min-width:130px}.profile-period-form .btn{flex:1}}

/* Perfil — cards de Escalas e Presenças com altura uniforme */
.profile-scales-panel,
.profile-presence-panel{height:500px;min-height:500px;box-sizing:border-box}
.profile-scales-presence-grid{align-items:stretch}
@media(max-width:900px){
  .profile-scales-panel,
  .profile-presence-panel{height:auto;min-height:420px}
}

/* V96 — Perfil de membro: redesenho visual completo sem alterar funcionalidades */
.person-profile-page{
  width:min(1520px,100%);
  margin:0 auto;
  padding:8px 6px 42px;
  color:#111827;
}
.person-profile-page .profile-hero{
  position:relative;
  min-height:118px;
  padding:24px 28px;
  border-radius:24px;
  background:linear-gradient(135deg,#141a31 0%,#29275f 55%,#4f46b8 100%);
  box-shadow:0 18px 45px rgba(15,23,42,.16);
  gap:20px;
}
.person-profile-page .profile-avatar{width:82px;height:82px;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.person-profile-page .profile-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.person-profile-page .profile-title h2{font-size:28px;letter-spacing:-.02em}
.person-profile-page .profile-hero .profile-actions{margin-left:auto;display:flex;gap:8px}
.person-profile-page .profile-hero .profile-actions .btn{min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;border-radius:12px}

.person-profile-page .profile-tabs{
  display:flex;gap:7px;align-items:center;overflow:auto;scrollbar-width:none;
  padding:10px;margin:14px 0 16px;border:1px solid #e5e7eb;border-radius:16px;
  background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.person-profile-page .profile-tabs::-webkit-scrollbar{display:none}
.person-profile-page .profile-tabs a{
  flex:0 0 auto;padding:9px 12px;border:1px solid transparent;border-radius:10px;
  color:#64748b;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;transition:.18s ease;
}
.person-profile-page .profile-tabs a:hover{background:#f8fafc;color:#334155;border-color:#e2e8f0}
.person-profile-page .profile-tabs a:focus-visible{outline:2px solid #6366f1;outline-offset:2px}

.person-profile-page .profile-stats{gap:12px;margin-bottom:16px}
.person-profile-page .profile-stats .stat{
  min-height:105px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:18px;
  background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045);display:flex;flex-direction:column;justify-content:center;
}
.person-profile-page .profile-stats .stat small{font-size:9px;letter-spacing:.1em;color:#64748b;font-weight:900}
.person-profile-page .profile-stats .stat strong{font-size:24px;line-height:1.1;margin:5px 0;color:#111827;letter-spacing:-.02em}
.person-profile-page .profile-stats .stat span{font-size:11px;color:#94a3b8}

.person-profile-page .profile-grid{gap:16px;margin-bottom:16px}
.person-profile-page .profile-grid>.panel,
.person-profile-page .profile-period-filter,
.person-profile-page .profile-finance-card,
.person-profile-page .profile-equal-card{
  border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.person-profile-page .profile-grid>.panel{padding:20px}
.person-profile-page .panel-head{padding-bottom:10px;border-bottom:1px solid #eef1f5;margin-bottom:4px}
.person-profile-page .panel-head h3{font-size:16px}

/* Barra de período mais leve e compacta */
.person-profile-page .profile-period-filter{padding:14px 16px;margin:16px 0}
.person-profile-page .profile-period-form{display:grid;grid-template-columns:minmax(240px,1fr) 150px 150px auto auto;gap:10px;align-items:end}
.person-profile-page .profile-period-form>div{min-width:0;margin:0}
.person-profile-page .profile-period-form>div strong{font-size:13px}
.person-profile-page .profile-period-form label{min-width:0}
.person-profile-page .profile-period-form .btn{height:38px}

/* Financeiro: filtro integrado ao cabeçalho, sem card interno pesado */
.person-profile-page .profile-finance-card{overflow:visible;padding:22px 22px 18px}
.person-profile-page .profile-finance-head{align-items:center;padding:0 0 16px;border-bottom:1px solid #eef1f5}
.person-profile-page .profile-section-heading h3{font-size:18px;margin:2px 0 4px}
.person-profile-page .profile-section-heading p{font-size:12px}
.person-profile-page .profile-section-kicker{font-size:9px;letter-spacing:.16em}
.person-profile-page .profile-finance-toolbar{min-width:300px;align-items:center}
.person-profile-page .profile-finance-toolbar label{font-size:10px;min-width:250px}
.person-profile-page .profile-search-select{margin-top:5px}
.person-profile-page .profile-search-select-trigger{min-width:250px;height:40px;border-radius:10px;font-size:11px;box-shadow:none}
.person-profile-page .profile-search-select-menu{border-radius:12px;padding:8px;box-shadow:0 18px 40px rgba(15,23,42,.16)}
.person-profile-page .profile-search-select-input-wrap{margin-bottom:6px;padding:6px 9px}
.person-profile-page .profile-search-option{padding:9px 10px;font-size:11px}
.person-profile-page .finance-person-total{display:flex;align-items:end;gap:10px;margin:16px 0 12px;padding:0 2px}
.person-profile-page .finance-person-total{font-size:30px;font-weight:900;color:#4f46e5;letter-spacing:-.03em}
.person-profile-page .finance-person-total span{font-size:10px;color:#94a3b8;font-weight:600;letter-spacing:0;margin-bottom:4px}
.person-profile-page #financeiro .table-panel{border:0;background:transparent;box-shadow:none;overflow:hidden}
.person-profile-page #financeiro table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border:1px solid #e8ebf0;border-radius:14px;background:#fff}
.person-profile-page #financeiro thead th{background:#f8fafc;font-size:9px;letter-spacing:.06em;color:#64748b;padding:10px 12px;border-bottom:1px solid #e8ebf0}
.person-profile-page #financeiro tbody td{font-size:11px;padding:11px 12px;border-bottom:1px solid #f0f2f5;color:#334155}
.person-profile-page #financeiro tbody tr:last-child td{border-bottom:0}
.person-profile-page #financeiro tbody tr:hover td{background:#fafbff}
.person-profile-page .profile-mini-pagination{padding:12px 0 0;margin:0;border-top:0}

/* Escalas e presenças: exatamente mesma caixa/altura e rodapé alinhado */
.person-profile-page .profile-scales-presence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;grid-auto-rows:520px}
.person-profile-page .profile-scales-panel,
.person-profile-page .profile-presence-panel,
.person-profile-page .profile-scales-presence-grid .profile-equal-card{
  height:520px!important;min-height:520px!important;max-height:520px!important;box-sizing:border-box;
}
.person-profile-page .profile-equal-card{display:flex;flex-direction:column;overflow:hidden;padding:20px}
.person-profile-page .profile-equal-card .profile-card-list{flex:1;min-height:0;overflow:auto;padding:2px 3px 2px 0}
.person-profile-page .profile-card-list::-webkit-scrollbar{width:6px}
.person-profile-page .profile-card-list::-webkit-scrollbar-thumb{background:#d8dee8;border-radius:8px}
.person-profile-page .profile-card-pagination{flex:0 0 auto;margin-top:12px;padding-top:12px;border-top:1px solid #eef1f5}
.person-profile-page .profile-section-switch{margin:6px 0 8px}
.person-profile-page .profile-section-switch a{font-size:10px;padding:7px 10px;border-radius:9px}
.person-profile-page .profile-section-count{font-size:10px}
.person-profile-page .profile-scale-row,
.person-profile-page .profile-presence-row{min-height:50px;padding:9px 10px!important;border:1px solid #edf0f4!important;background:#fbfcfe;border-radius:12px!important;margin-bottom:7px}
.person-profile-page .profile-scale-row:hover,
.person-profile-page .profile-presence-row:hover{background:#fff;border-color:#e0e5ed!important}
.person-profile-page .profile-presence-row .icon-btn{margin-left:auto}

/* Acompanhamento + pedidos: mesma caixa e rodapé */
.person-profile-page .profile-lower-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;grid-auto-rows:500px;align-items:stretch;margin-top:16px}
.person-profile-page .profile-lower-cards .profile-equal-card{height:500px!important;min-height:500px!important;max-height:500px!important}
.person-profile-page .profile-lower-cards .timeline-item{padding:11px 12px;border:1px solid #edf0f4;border-radius:12px;background:#fbfcfe;margin-bottom:7px}
.person-profile-page .profile-lower-cards .timeline-item:hover{background:#fff;border-color:#e0e5ed}
.person-profile-page .profile-lower-cards .profile-count-top{position:absolute;right:22px;top:25px;margin:0}

@media(max-width:1100px){
 .person-profile-page .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .person-profile-page .profile-period-form{grid-template-columns:1fr 1fr}
 .person-profile-page .profile-period-form>div{grid-column:1/-1}
 .person-profile-page .profile-period-form .btn{width:auto}
}
@media(max-width:900px){
 .person-profile-page .profile-scales-presence-grid,.person-profile-page .profile-lower-cards{grid-template-columns:1fr;grid-auto-rows:auto}
 .person-profile-page .profile-scales-panel,.person-profile-page .profile-presence-panel,.person-profile-page .profile-scales-presence-grid .profile-equal-card,.person-profile-page .profile-lower-cards .profile-equal-card{height:auto!important;min-height:420px!important;max-height:none!important}
}
@media(max-width:700px){
 .person-profile-page{padding:0 0 28px}
 .person-profile-page .profile-hero{padding:20px;border-radius:18px;flex-wrap:wrap}
 .person-profile-page .profile-title h2{font-size:23px}
 .person-profile-page .profile-hero .profile-actions{width:100%;margin-left:0}
 .person-profile-page .profile-hero .profile-actions .btn{flex:1}
 .person-profile-page .profile-stats{grid-template-columns:1fr 1fr}
 .person-profile-page .profile-finance-head{flex-direction:column;align-items:stretch}
 .person-profile-page .profile-finance-toolbar{min-width:0;width:100%}
 .person-profile-page .profile-finance-toolbar label,.person-profile-page .profile-search-select-trigger{min-width:0;width:100%}
 .person-profile-page .finance-person-total{align-items:flex-start;flex-direction:column;gap:2px}
 .person-profile-page #financeiro{padding:18px}
}

/* =========================================================
   IGREJA NOVA — REDESIGN COMPLETO DO PERFIL DA PESSOA
   Visual-only override: mantém a marcação e funcionalidades existentes.
   ========================================================= */
.person-profile-page{
  --profile-bg:#f4f6fa;
  --profile-surface:#ffffff;
  --profile-border:#e6e9ef;
  --profile-ink:#162033;
  --profile-muted:#718096;
  --profile-brand:#5457e8;
  width:min(100%, 1480px)!important;
  margin:0 auto!important;
  padding:30px 30px 48px!important;
  background:transparent;
}
.content:has(.person-profile-page){background:var(--profile-bg)!important;max-width:none!important;width:100%!important;padding:0!important}

/* 1 — identidade */
.person-profile-page .profile-hero{
  position:relative;
  overflow:hidden;
  min-height:148px;
  margin:0 0 18px!important;
  padding:24px 26px!important;
  border:1px solid #dfe4ec!important;
  border-radius:24px!important;
  color:var(--profile-ink)!important;
  background:
    radial-gradient(circle at 78% 25%,rgba(84,87,232,.12),transparent 27%),
    linear-gradient(135deg,#ffffff 0%,#f9faff 58%,#eef0ff 100%)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
}
.person-profile-page .profile-hero:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,#5457e8,#7b61ff);
}
.person-profile-page .profile-avatar{
  width:94px!important;height:94px!important;min-width:94px!important;
  border-radius:28px!important;
  background:#eef0ff!important;color:#5457e8!important;
  border:1px solid #d9ddfa!important;
  box-shadow:0 8px 22px rgba(84,87,232,.12)!important;
}
.person-profile-page .profile-avatar-clickable:after{background:rgba(24,30,52,.82)!important}
.person-profile-page .profile-title{gap:12px!important}
.person-profile-page .profile-title h2{
  font-size:30px!important;line-height:1.1!important;letter-spacing:-.03em!important;color:#101828!important
}
.person-profile-page .profile-title .badge{
  background:#fff!important;color:#5457e8!important;border:1px solid #cfd4ff!important;
  border-radius:999px!important;padding:5px 10px!important;font-size:10px!important;font-weight:800!important
}
.person-profile-page .profile-hero p{color:#64748b!important;font-size:13px!important}
.person-profile-page .profile-hero .grow{padding-left:4px}
.person-profile-page .profile-actions{gap:8px!important}
.person-profile-page .profile-hero .profile-actions .btn{
  width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;
  border-radius:13px!important;border:1px solid #dfe4ec!important;
}
.person-profile-page .profile-hero .profile-actions .btn.secondary{background:#fff!important;color:#344054!important}
.person-profile-page .profile-hero .profile-actions .btn.primary{background:#5457e8!important;color:#fff!important;border-color:#5457e8!important}
.person-profile-page .profile-hero .profile-actions .btn.danger{background:#fff!important;color:#dc2626!important;border-color:#f1c8c8!important}

/* 2 — navegação */
.person-profile-page .profile-tabs{
  position:sticky;top:8px;z-index:20;
  display:flex!important;gap:5px!important;align-items:center;
  margin:0 0 20px!important;padding:7px!important;
  border:1px solid var(--profile-border)!important;border-radius:16px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(14px);
  box-shadow:0 8px 24px rgba(15,23,42,.05)!important;
}
.person-profile-page .profile-tabs a{
  border:0!important;border-radius:10px!important;
  padding:10px 13px!important;font-size:11px!important;font-weight:750!important;
  color:#667085!important;background:transparent!important;text-decoration:none!important;
}
.person-profile-page .profile-tabs a:hover{background:#f4f5ff!important;color:#4548cf!important}
.person-profile-page .profile-tabs a:first-child{background:#eef0ff!important;color:#4548cf!important}

/* 3 — indicadores */
.person-profile-page .profile-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;margin:0 0 20px!important;
}
.person-profile-page .profile-stats .stat{
  position:relative;overflow:hidden;min-height:112px!important;
  padding:18px 18px 16px!important;
  border:1px solid var(--profile-border)!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 7px 20px rgba(15,23,42,.045)!important;
}
.person-profile-page .profile-stats .stat:before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#dfe3ff;
}
.person-profile-page .profile-stats .stat:nth-child(1):before{background:#6366f1}
.person-profile-page .profile-stats .stat:nth-child(2):before{background:#22c55e}
.person-profile-page .profile-stats .stat:nth-child(3):before{background:#f59e0b}
.person-profile-page .profile-stats .stat:nth-child(4):before{background:#0ea5e9}
.person-profile-page .profile-stats .stat:nth-child(5):before{background:#a855f7}
.person-profile-page .profile-stats .stat small{font-size:9px!important;letter-spacing:.13em!important;color:#98a2b3!important}
.person-profile-page .profile-stats .stat strong{font-size:23px!important;color:#101828!important;margin:8px 0 5px!important}
.person-profile-page .profile-stats .stat span{font-size:11px!important;color:#98a2b3!important}

/* 4 — dados e vínculos */
.person-profile-page .profile-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;
  gap:16px!important;margin:0 0 20px!important;
}
.person-profile-page .profile-grid>.panel{
  margin:0!important;padding:22px!important;
  border:1px solid var(--profile-border)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 7px 20px rgba(15,23,42,.04)!important;
}
.person-profile-page .profile-grid>.panel .panel-head{
  margin:0 0 14px!important;padding:0 0 12px!important;
  border-bottom:1px solid #eef1f5!important;
}
.person-profile-page .profile-grid>.panel .panel-head h3{font-size:16px!important;color:#101828!important}
.person-profile-page .detail-grid{gap:0!important;row-gap:16px!important;column-gap:28px!important}
.person-profile-page .detail-grid>div{padding:2px 0}
.person-profile-page .detail-grid small{font-size:9px!important;letter-spacing:.09em!important;color:#98a2b3!important}
.person-profile-page .detail-grid b{font-size:12px!important;color:#172033!important;line-height:1.35!important}
.person-profile-page #ministerios .list-row,
.person-profile-page #celulas .list-row,
.person-profile-page .profile-grid .list-row{
  margin:0 0 8px;padding:12px!important;border:1px solid #edf0f4!important;
  border-radius:12px!important;background:#fafbfc!important;
}
.person-profile-page #ministerios .module-icon,
.person-profile-page #celulas .module-icon{width:36px;height:36px;border-radius:11px;background:#f0f1ff}

/* 5 — filtro global */
.person-profile-page .profile-period-filter{
  margin:0 0 18px!important;padding:14px 16px!important;
  border:1px solid #dfe4ec!important;border-radius:16px!important;background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
}
.person-profile-page .profile-period-form{
  display:grid!important;grid-template-columns:minmax(260px,1fr) 150px 150px auto auto!important;
  gap:10px!important;align-items:end!important;
}
.person-profile-page .profile-period-form>div{display:grid;gap:3px!important}
.person-profile-page .profile-period-form>div strong{font-size:12px!important;color:#344054!important}
.person-profile-page .profile-period-form>div small{font-size:9px!important;color:#98a2b3!important}
.person-profile-page .profile-period-form label{font-size:9px!important;color:#667085!important}
.person-profile-page .profile-period-form input{height:38px!important;border-radius:10px!important;background:#fbfcfe!important}

/* 6 — financeiro: novo bloco de destaque */
.person-profile-page .profile-finance-card{
  margin:0 0 18px!important;padding:0!important;overflow:visible!important;
  border:1px solid var(--profile-border)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
}
.person-profile-page .profile-finance-head{
  display:flex!important;justify-content:space-between!important;gap:18px!important;
  padding:22px!important;margin:0!important;border-bottom:1px solid #edf0f4!important;
}
.person-profile-page .profile-section-kicker{font-size:9px!important;letter-spacing:.14em!important;color:#8b93a4!important}
.person-profile-page .profile-section-heading h3{font-size:18px!important;color:#101828!important}
.person-profile-page .profile-section-heading p{font-size:12px!important;color:#7c8798!important}
.person-profile-page .profile-finance-toolbar{min-width:255px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}
.person-profile-page .profile-finance-toolbar label{min-width:250px!important;font-size:9px!important;color:#667085!important}
.person-profile-page .profile-search-select-trigger{width:250px!important;height:40px!important;border-radius:11px!important;background:#fff!important}
.person-profile-page .finance-person-total{
  margin:0!important;padding:20px 22px 14px!important;font-size:30px!important;
}
.person-profile-page .finance-person-total span{font-size:9px!important}
.person-profile-page #financeiro .table-panel{margin:0 22px!important;padding:0 0 18px!important}
.person-profile-page #financeiro table{border-radius:14px!important}

/* 7 — escalas e presenças: grade nova, altura idêntica */
.person-profile-page .profile-scales-presence-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:16px!important;align-items:stretch!important;grid-auto-rows:460px!important;
  margin:0 0 18px!important;
}
.person-profile-page .profile-scales-presence-grid>.profile-equal-card{
  height:460px!important;min-height:460px!important;max-height:460px!important;
  display:flex!important;flex-direction:column!important;
  padding:20px!important;margin:0!important;
  border:1px solid var(--profile-border)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
}
.person-profile-page .profile-scales-presence-grid .panel-head{padding-bottom:12px!important;margin-bottom:8px!important}
.person-profile-page .profile-card-list{flex:1!important;min-height:0!important;overflow:auto!important;padding:2px 2px 4px!important}
.person-profile-page .profile-scale-row,
.person-profile-page .profile-presence-row{
  min-height:58px!important;margin-bottom:8px!important;padding:10px 12px!important;
  border:1px solid #e9edf3!important;border-radius:13px!important;background:#fbfcfd!important;
}
.person-profile-page .profile-scale-row b,
.person-profile-page .profile-presence-row b{font-size:12px!important;color:#172033!important}
.person-profile-page .profile-scale-row span,
.person-profile-page .profile-presence-row span{font-size:10px!important;color:#7c8798!important}
.person-profile-page .profile-card-pagination{
  flex:0 0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important;
  gap:10px!important;margin-top:10px!important;padding-top:12px!important;border-top:1px solid #edf0f4!important;
}
.person-profile-page .profile-card-pagination span{font-size:10px!important;color:#667085!important}
.person-profile-page .profile-card-pagination .icon-btn{width:34px;height:34px;border-radius:9px}

/* 8 — acompanhamento + orações: mesma linguagem */
.person-profile-page .profile-lower-cards{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;
  grid-auto-rows:420px!important;margin:0!important;
}
.person-profile-page .profile-lower-cards .profile-equal-card{
  height:420px!important;min-height:420px!important;max-height:420px!important;
  margin:0!important;padding:20px!important;
  border:1px solid var(--profile-border)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
}
.person-profile-page .profile-lower-cards .timeline-item{
  padding:11px 12px!important;margin-bottom:8px!important;
  border:1px solid #e9edf3!important;border-radius:13px!important;background:#fbfcfd!important;
}
.person-profile-page .profile-lower-cards .timeline-item p{font-size:11px!important;line-height:1.45!important}
.person-profile-page .profile-count-top{top:22px!important;right:22px!important}

/* 9 — responsivo */
@media(max-width:1150px){
  .person-profile-page{padding:22px 20px 38px!important}
  .person-profile-page .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .person-profile-page .profile-grid{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .person-profile-page .profile-scales-presence-grid,
  .person-profile-page .profile-lower-cards{grid-template-columns:1fr!important}
  .person-profile-page .profile-scales-presence-grid{grid-auto-rows:auto!important}
  .person-profile-page .profile-scales-presence-grid>.profile-equal-card,
  .person-profile-page .profile-lower-cards .profile-equal-card{height:420px!important;min-height:420px!important;max-height:420px!important}
  .person-profile-page .profile-finance-head{flex-direction:column!important}
  .person-profile-page .profile-finance-toolbar{justify-content:flex-start!important}
}
@media(max-width:620px){
  .person-profile-page{padding:14px 12px 28px!important}
  .person-profile-page .profile-hero{padding:18px!important;min-height:0!important}
  .person-profile-page .profile-avatar{width:76px!important;height:76px!important;min-width:76px!important;border-radius:22px!important}
  .person-profile-page .profile-title h2{font-size:23px!important}
  .person-profile-page .profile-stats{grid-template-columns:1fr 1fr!important}
  .person-profile-page .profile-period-form{grid-template-columns:1fr 1fr!important}
  .person-profile-page .profile-period-form>div{grid-column:1/-1!important}
  .person-profile-page .profile-period-form .btn{width:auto!important}
  .person-profile-page .profile-finance-toolbar,.person-profile-page .profile-finance-toolbar label,.person-profile-page .profile-search-select-trigger{width:100%!important;min-width:0!important}
}

/* V98 — Perfil: largura integral do conteúdo, filtros sem recarga e controles alinhados */
.content:has(.person-profile-page){
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}
.person-profile-page{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px 18px 40px!important;
}
.person-profile-page .profile-period-filter{
  width:100%!important;
  margin:0 0 18px!important;
}
.person-profile-page .profile-finance-head{
  align-items:center!important;
}
.person-profile-page .profile-finance-toolbar{
  margin-left:auto!important;
  align-items:flex-end!important;
}
.person-profile-page .profile-finance-clear{
  height:40px!important;
  min-width:0!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.person-profile-page .profile-search-select-menu{
  max-height:300px!important;
  overflow:auto!important;
}
.person-profile-page .profile-search-option-list{
  max-height:220px!important;
  overflow:auto!important;
}
@media(max-width:1150px){
  .person-profile-page{padding:18px 16px 36px!important}
}
@media(max-width:820px){
  .person-profile-page{padding:14px 12px 30px!important}
  .person-profile-page .profile-finance-toolbar{margin-left:0!important;align-items:stretch!important}
}
/* Escalas automáticas */
.agenda-settings-page{padding-bottom:40px}.agenda-settings-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.agenda-settings-select{margin:0}.agenda-settings-select label{display:grid;gap:7px;min-width:280px;font-size:13px;font-weight:700}.agenda-settings-select select{height:42px}.agenda-settings-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e4e7ef;background:#fff;border-radius:12px}.agenda-settings-badge span{font-size:12px;color:#6b7280}.agenda-settings-badge b{font-size:13px}.agenda-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.agenda-settings-card{padding:20px}.compact-form{gap:12px}.check-line{display:flex!important;align-items:center;gap:9px;font-weight:600!important}.check-line input{margin:0}.tiny{font-size:11px!important}.agenda-settings-list{display:grid;gap:8px;margin-top:14px}.agenda-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e6e8ee;border-radius:12px;background:#fafbfc}.agenda-settings-row>div{display:grid;gap:2px}.agenda-settings-row small{color:#7b8496}.agenda-inline-edit{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.agenda-inline-edit input{width:78px;height:34px;padding:6px 8px}.agenda-inline-edit input[name="nome"]{width:150px}.agenda-inline-edit .icon-btn{width:34px;height:34px}.agenda-inline-edit .tiny{font-size:11px}.agenda-skill-grid{display:grid;gap:10px;margin-top:14px}.agenda-skill-card{display:grid;grid-template-columns:1.2fr .9fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #e6e8ee;border-radius:12px;background:#fafbfc}.agenda-skill-card>div{display:grid;gap:2px}.agenda-skill-card small{color:#7b8496}.agenda-result-card{margin-top:14px;padding:13px 14px;border:1px solid #dfe5f1;border-radius:12px;background:#f8faff}.agenda-result-metrics{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#667085;font-size:12px}.agenda-result-metrics strong{color:#111827}.agenda-result-card ul{margin:10px 0 0 18px;padding:0;color:#667085;font-size:12px}.agenda-settings-page .btn{min-height:40px}.agenda-settings-page .panel-head{margin-bottom:15px}.agenda-settings-page .panel-head h3{margin-bottom:3px}@media(max-width:1050px){.agenda-settings-grid{grid-template-columns:1fr}.agenda-settings-toolbar{align-items:stretch;flex-direction:column}.agenda-settings-select label{min-width:0}.agenda-skill-card{grid-template-columns:1fr 1fr}.agenda-skill-card .check-line{grid-column:span 2}.agenda-skill-card .btn{grid-column:span 2}}@media(max-width:650px){.agenda-settings-card{padding:14px}.agenda-skill-card{grid-template-columns:1fr}.agenda-skill-card .check-line,.agenda-skill-card .btn{grid-column:auto}.agenda-inline-edit input[name="nome"]{width:100%}}

/* ============================================================
   ADMINISTRAÇÃO — USUÁRIOS / PERFIS — INTERFACE NOVA
   ============================================================ */

.up{max-width:1500px;margin:auto;padding-bottom:80px;color:#172033}.up *{box-sizing:border-box}.up-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.up-back{width:38px;height:38px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:18px;color:#475569}.up-title{flex:1}.up-title .eyebrow{margin:0 0 3px}.up-title h2{margin:0;font-size:22px}.up-title p{margin:4px 0 0;color:#718096;font-size:12px}.up-user{display:flex;align-items:center;gap:9px;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:7px 11px}.up-avatar{width:36px;height:36px;border-radius:10px;background:#eeedff;color:#5956df;display:grid;place-items:center;font-weight:800}.up-user b{display:block;font-size:12px}.up-user small{display:block;color:#718096;font-size:10px;margin-top:2px}.up-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.up-stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:11px 13px}.up-stat small{display:block;color:#7b8494;font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.5px}.up-stat strong{display:block;font-size:18px;margin-top:4px}.up-toolbar{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:8px;margin-bottom:12px;position:sticky;top:8px;z-index:10;box-shadow:0 5px 20px #0f172a0d}.up-search{position:relative;flex:1}.up-search span{position:absolute;left:11px;top:11px;color:#98a2b3}.up-search input{height:38px!important;padding:0 10px 0 31px!important;border-radius:9px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;box-shadow:none!important}.up-filters{display:flex;gap:3px;background:#f1f2f6;padding:3px;border-radius:9px}.up-filters button,.up-tool{height:32px;border:0;background:transparent;border-radius:7px;padding:0 10px;font-size:10px;font-weight:750;cursor:pointer;color:#667085}.up-filters button.active{background:#fff;color:#5956df;box-shadow:0 1px 4px #0f172a12}.up-tool{border:1px solid #e5e7eb;background:#fff}.up-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.up-module{background:#fff;border:1px solid #e5e7eb;border-radius:13px;overflow:hidden}.up-module summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:11px 12px;background:#fafbfe}.up-module summary::-webkit-details-marker{display:none}.up-module summary:before{content:'›';width:20px;height:20px;border-radius:6px;background:#efefff;color:#5956df;display:grid;place-items:center;font-size:15px;font-weight:800}.up-module[open] summary:before{transform:rotate(90deg)}.up-module-title{flex:1;min-width:0}.up-module-title b{display:block;font-size:12px}.up-module-title small{display:block;color:#8a93a3;font-size:9px;margin-top:2px}.up-count{font-size:9px;color:#667085;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:4px 7px;white-space:nowrap}.up-items{padding:6px;display:grid;gap:4px}.up-row{display:grid;grid-template-columns:27px minmax(0,1fr) 86px;gap:7px;align-items:center;min-height:40px;padding:6px;border-radius:9px;border:1px solid transparent}.up-row:hover{background:#fafaff;border-color:#ececff}.up-icon{width:27px;height:27px;border-radius:8px;background:#f0f1ff;color:#5956df;display:grid;place-items:center;font-size:12px;font-weight:800}.up-name{min-width:0}.up-name b{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-name code{display:block;font-size:7.5px;color:#a0a7b5;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-row select{width:86px!important;min-width:86px!important;height:30px!important;padding:0 6px!important;border-radius:8px!important;font-size:10px!important;background:#fff!important}.up-save{position:fixed;bottom:12px;left:calc(50% + 136px);transform:translateX(-50%);width:min(720px,calc(100vw - 330px));background:#172033;color:#fff;border-radius:13px;padding:8px 9px 8px 14px;display:flex;align-items:center;gap:12px;z-index:25;box-shadow:0 12px 35px #0f172a33}.up-save div{flex:1}.up-save b{display:block;font-size:11px}.up-save span{display:block;color:#aeb8ca;font-size:9px;margin-top:2px}.up-save button{height:36px;border:0;border-radius:8px;background:#5956df;color:#fff;padding:0 16px;font-weight:800;font-size:10px;cursor:pointer}@media(max-width:1200px){.up-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.up-save{left:50%;width:min(720px,calc(100vw - 35px))}}@media(max-width:700px){.up-user{display:none}.up-stats{grid-template-columns:repeat(2,1fr)}.up-toolbar{position:static;flex-wrap:wrap}.up-search{flex-basis:100%}.up-grid{grid-template-columns:1fr}.up-save{width:calc(100vw - 20px);bottom:7px}.up-save span{display:none}}
/* Administração · Perfis — editor novo */
.rp{--rp-bg:#f7f8fc;--rp-card:#fff;--rp-border:#e7e9f0;--rp-text:#172033;--rp-muted:#70798b;--rp-primary:#5b57e6;max-width:1180px;margin:0 auto;padding:0 0 90px}
.rp-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 22px}.rp-hero-left{display:flex;align-items:center;gap:14px}.rp-back{width:40px;height:40px;border:1px solid var(--rp-border);border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--rp-text);text-decoration:none;font-size:18px}.rp-kicker{margin:0 0 4px;color:var(--rp-primary);font-size:10px;font-weight:800;letter-spacing:.13em}.rp-hero h2{margin:0;font-size:25px;letter-spacing:-.03em}.rp-hero p{margin:5px 0 0;color:var(--rp-muted);font-size:12px}.rp-hero-actions{display:flex;gap:8px}.rp-btn{height:40px;padding:0 15px;border-radius:10px;border:1px solid var(--rp-border);background:#fff;color:var(--rp-text);font-weight:750;font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.rp-btn.primary{background:var(--rp-primary);border-color:var(--rp-primary);color:#fff}.rp-btn.danger{background:#fff0f1;border-color:#ffd7db;color:#c92f42}
.rp-profile{background:#fff;border:1px solid var(--rp-border);border-radius:16px;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;box-shadow:0 8px 24px rgba(20,28,55,.04)}.rp-profile-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);gap:14px}.rp-field{display:grid;gap:6px}.rp-field label{font-size:10px;font-weight:800;color:#687286;text-transform:uppercase;letter-spacing:.06em}.rp-field input{height:42px!important;border:1px solid #dfe3eb!important;border-radius:10px!important;background:#fff!important;padding:0 12px!important;font-size:13px!important;box-shadow:none!important}.rp-field input:focus{border-color:#a8a4f5!important;box-shadow:0 0 0 3px #5b57e615!important}
.rp-toolbar{position:sticky;top:10px;z-index:20;margin:14px 0 12px;padding:9px;background:rgba(247,248,252,.94);backdrop-filter:blur(10px);border:1px solid var(--rp-border);border-radius:13px;display:flex;gap:8px;align-items:center}.rp-search{position:relative;flex:1}.rp-search span{position:absolute;left:12px;top:11px;color:#8992a3}.rp-search input{width:100%;height:38px!important;border:1px solid #dfe3eb!important;border-radius:9px!important;padding:0 12px 0 32px!important;background:#fff!important;box-shadow:none!important;font-size:12px!important}.rp-filter{height:38px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;padding:0 10px;font-size:11px;font-weight:700;color:#4f5869}.rp-toolbar-spacer{width:1px;height:24px;background:#e1e4eb}.rp-toolbar button{height:36px!important}
.rp-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.rp-module{background:#fff;border:1px solid var(--rp-border);border-radius:14px;overflow:hidden}.rp-module summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 14px}.rp-module summary::-webkit-details-marker{display:none}.rp-chevron{width:24px;height:24px;border-radius:7px;background:#f0efff;color:var(--rp-primary);display:grid;place-items:center;font-weight:900;transition:.15s}.rp-module[open] .rp-chevron{transform:rotate(90deg)}.rp-module-title{flex:1}.rp-module-title b{display:block;font-size:12px;color:var(--rp-text)}.rp-module-title small{display:block;color:#8a93a4;font-size:9px;margin-top:2px}.rp-module-count{font-size:9px;font-weight:800;color:#697286;background:#f6f7fa;border:1px solid #e7e9ef;border-radius:999px;padding:4px 7px}.rp-module-actions{display:none;gap:5px}.rp-module[open] .rp-module-actions{display:flex}.rp-mini{height:28px!important;padding:0 8px!important;font-size:9px!important;border-radius:7px!important}.rp-items{padding:0 8px 8px;display:grid;gap:3px}.rp-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 7px;border-radius:9px;border:1px solid transparent}.rp-item:hover{background:#fafaff;border-color:#ededf5}.rp-icon{width:27px;height:27px;border-radius:8px;background:#f1f2ff;color:var(--rp-primary);display:grid;place-items:center;font-size:11px;font-weight:900}.rp-name b{display:block;font-size:11px;color:#20293a}.rp-name code{display:block;font-size:8px;color:#a0a7b4;margin-top:2px}.rp-check{width:19px;height:19px;accent-color:var(--rp-primary);cursor:pointer}.rp-empty{padding:22px;color:var(--rp-muted);font-size:12px;text-align:center}.rp-save{position:fixed;left:calc(50% + 130px);bottom:14px;transform:translateX(-50%);width:min(760px,calc(100vw - 350px));background:#182033;color:#fff;border-radius:14px;padding:9px 10px 9px 15px;display:flex;align-items:center;gap:14px;z-index:50;box-shadow:0 15px 40px rgba(20,28,55,.22)}.rp-save-copy{flex:1}.rp-save-copy b{display:block;font-size:11px}.rp-save-copy small{display:block;color:#aeb7c9;font-size:9px;margin-top:2px}.rp-save .rp-btn{height:36px;background:var(--rp-primary);border-color:var(--rp-primary);color:#fff}.rp-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rp-card{background:#fff;border:1px solid var(--rp-border);border-radius:15px;padding:16px;min-height:135px;display:flex;flex-direction:column}.rp-card-top{display:flex;justify-content:space-between;gap:10px}.rp-avatar{width:34px;height:34px;border-radius:10px;background:#f0efff;color:var(--rp-primary);display:grid;place-items:center;font-weight:900}.rp-card h3{margin:12px 0 4px;font-size:14px}.rp-card p{margin:0;color:var(--rp-muted);font-size:10px;line-height:1.5}.rp-card footer{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;color:#7b8495;font-size:10px}.rp-actions{display:flex;gap:5px}.rp-section-head{display:flex;justify-content:space-between;align-items:end;margin:20px 0 10px}.rp-section-head h3{margin:0;font-size:14px}.rp-section-head p{margin:3px 0 0;color:var(--rp-muted);font-size:10px}.rp-badge{border:1px solid #e5e7ed;border-radius:999px;padding:5px 8px;font-size:9px;color:#697286;background:#fff}
@media(max-width:1000px){.rp-modules{grid-template-columns:1fr}.rp-list{grid-template-columns:repeat(2,1fr)}.rp-save{left:50%;width:min(760px,calc(100vw - 30px))}}
@media(max-width:680px){.rp{padding-bottom:80px}.rp-hero{align-items:flex-start}.rp-hero-actions .rp-btn span{display:none}.rp-profile{grid-template-columns:1fr}.rp-profile-grid{grid-template-columns:1fr}.rp-toolbar{position:static;flex-wrap:wrap}.rp-search{flex-basis:100%}.rp-toolbar-spacer{display:none}.rp-list{grid-template-columns:1fr}.rp-item{grid-template-columns:28px minmax(0,1fr) 19px}.rp-module-actions{display:none!important}.rp-save{width:calc(100vw - 18px);bottom:7px}.rp-save-copy small{display:none}}
/* Dashboard: datas em português, sem abreviações/locale em inglês. */
.date-box.date-box-long{width:112px;height:43px;padding:0 8px;font-size:11px;line-height:1.2;white-space:nowrap}
@media(max-width:620px){.date-box.date-box-long{width:100px;font-size:10px}}

/* Auditoria — ações do cabeçalho */
.audit-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.audit-cron-form{margin:0}
.audit-cron-btn{white-space:nowrap;min-height:42px;padding:0 16px;font-weight:700}
@media (max-width:720px){.audit-page-head{align-items:flex-start}.audit-head-actions{width:100%}.audit-cron-form,.audit-cron-btn{width:100%}}
/* Configuração de funções/vagas por dia da semana */
.agcfg-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.agcfg-day-panel{border:1px solid #e3e7f2;border-radius:14px;background:#fff;overflow:hidden}
.agcfg-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:#f8f9fd;border-bottom:1px solid #e7eaf2;cursor:pointer;user-select:none}
.agcfg-day-head:focus-visible{outline:2px solid #5b5ce2;outline-offset:-2px}
.agcfg-day-title{display:flex;align-items:center;gap:9px;min-width:0}
.agcfg-day-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#eef0ff;color:#5556d9;font-size:17px;line-height:1;transition:transform .18s ease}
.agcfg-day-panel.is-open .agcfg-day-chevron{transform:rotate(180deg)}
.agcfg-day-head b{display:block;font-size:15px}.agcfg-day-head small{display:block;color:#718096;margin-top:3px}
.agcfg-day-functions{padding:8px 12px 12px;transition:opacity .15s ease;display:none}
.agcfg-day-panel.is-open .agcfg-day-functions{display:block}
.agcfg-day-personalize-label{cursor:pointer}
.agcfg-day-function-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 70px;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #edf0f6}
.agcfg-day-function-row:last-child{border-bottom:0}.agcfg-day-vagas{font-size:12px;color:#526079}.agcfg-day-vagas input{width:100%;margin-top:4px;padding:7px 8px;border:1px solid #d8deeb;border-radius:8px}
.agcfg-day-function-row>small{font-size:11px;color:#8a94a6;text-align:right}.agcfg-day-card .agcfg-info{margin-bottom:8px}
@media(max-width:800px){.agcfg-day-grid{grid-template-columns:1fr}.agcfg-day-function-row{grid-template-columns:minmax(0,1fr) 78px 58px}.agcfg-day-function-row>small{font-size:10px}}
/* PWA e notificações */
.top-actions{display:flex!important;align-items:center;gap:10px}.pwa-install-btn,.notif-btn{border:1px solid #dfe3ec;background:#fff;color:#293247;border-radius:10px;min-height:36px;padding:0 11px;font-weight:750;cursor:pointer}.notif-btn{width:40px;padding:0;position:relative;font-size:17px}.notif-btn b{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#e5484d;color:#fff;font-size:9px;display:grid;place-items:center}.notification-drawer{position:fixed;right:22px;top:72px;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 95px));background:#fff;border:1px solid #e4e7ef;border-radius:16px;box-shadow:0 22px 60px rgba(15,23,42,.2);z-index:10050;display:none;overflow:hidden}.notification-drawer.open{display:block}.notification-head{display:flex;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid #edf0f5}.notification-head b{display:block;font-size:14px}.notification-head small{display:block;color:#7a8395;font-size:10px;margin-top:3px}.notification-head button{border:0;background:transparent;color:#5557d8;font-size:10px;font-weight:800;cursor:pointer}.notification-list{overflow:auto;max-height:540px;background:#fff}.notification-item{position:relative;display:block;padding:13px 15px 12px 17px;border-bottom:1px solid #eef1f5;text-decoration:none;color:inherit;background:#fff;transition:background .15s ease}.notification-item:hover{background:#f8f9fc}.notification-item.unread{background:#fff}.notification-item.unread:before{content:'';position:absolute;left:8px;top:14px;bottom:14px;width:3px;border-radius:99px;background:#5b5be7}.notification-item.unread b{font-weight:850}.notification-item b{display:block;font-size:12px;line-height:1.35;color:#1f2937;padding-right:4px}.notification-item p{margin:4px 0 6px;color:#667085;font-size:11px;line-height:1.45}.notification-item time{display:block;font-size:10px;color:#98a0b0;line-height:1.2}.notification-empty{padding:35px 18px;text-align:center;color:#8a93a4;font-size:11px}.remember-login{display:flex;align-items:center;gap:8px;margin:8px 0 12px;font-size:12px;color:#667085}.remember-login input{width:16px;height:16px}@media(max-width:700px){.notification-drawer{right:10px;top:62px}.pwa-install-btn{font-size:10px;padding:0 8px}.top-actions>span{display:none}}

/* V99 — Dashboard financeiro: tabelas paginadas e responsividade mobile */
.finance-detail-card{min-width:0;overflow:hidden}
.finance-detail-card .finance-data-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.finance-detail-card .finance-data-table table{min-width:1180px}
.finance-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #edf0f4;color:#64748b;font-size:11px}
.finance-pagination-info{font-weight:700;color:#667085}
.finance-pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.finance-pagination-controls label{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:#667085}
.finance-pagination-controls select{height:34px;min-width:64px;padding:0 8px;border:1px solid #dfe3eb;border-radius:8px;background:#fff;font-size:11px}
.finance-page-btn{height:34px;padding:0 11px;border:1px solid #dfe3eb;border-radius:8px;background:#fff;color:#334155;font-size:10px;font-weight:800;cursor:pointer}
.finance-page-btn:disabled{opacity:.45;cursor:not-allowed}
.finance-page-current{min-width:42px;text-align:center;font-size:10px;font-weight:800;color:#4f46e5}

/* Um seletor aberto sempre fecha o seletor anterior. */
.finance-dashboard-shell .finance-multi-picker.is-open{z-index:10001!important}
.finance-dashboard-shell .finance-multi-picker.is-open .finance-multi-menu{z-index:10002!important}

@media(max-width:900px){
  .finance-dashboard-shell{min-width:0;overflow:hidden}
  .finance-dashboard-head{gap:10px}
  .finance-dashboard-head h2{font-size:21px}
  .finance-dashboard-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .finance-dashboard-actions .finance-top-btn{width:100%;box-sizing:border-box}
  .finance-four-graphs{grid-template-columns:1fr!important}
  .finance-detail-card{padding:12px!important}
  .finance-detail-card .finance-card-head{align-items:flex-start}
}
@media(max-width:600px){
  .finance-dashboard-shell{width:100%;max-width:100%;overflow:hidden}
  .finance-dashboard-head{margin-bottom:10px!important}
  .finance-dashboard-head h2{font-size:20px!important}
  .finance-dashboard-head-compact .muted{font-size:11px!important}
  .finance-dashboard-actions{grid-template-columns:1fr;gap:6px}
  .finance-top-btn{min-height:38px!important;font-size:11px!important}
  .finance-tabs{margin:10px -2px 12px;padding-bottom:6px;overflow-x:auto;scrollbar-width:thin}
  .finance-tab{padding:9px 12px!important;font-size:11px!important;flex:0 0 auto}
  .finance-kpi-grid.finance-kpi-grid-7{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important}
  .finance-kpi-grid.finance-kpi-grid-7 .finance-modern-kpi{min-width:0!important;width:auto!important;padding:11px 9px!important;gap:8px!important}
  .finance-kpi-grid.finance-kpi-grid-7 .finance-modern-kpi-icon{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:13px!important}
  .finance-kpi-grid.finance-kpi-grid-7 .finance-modern-kpi span{font-size:9px!important}
  .finance-kpi-grid.finance-kpi-grid-7 .finance-modern-kpi strong{font-size:15px!important}
  .finance-kpi-grid.finance-kpi-grid-7 .finance-modern-kpi small{font-size:8px!important}
  .finance-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .finance-status-mini{min-width:0;padding:10px!important}
  .finance-status-mini strong{font-size:16px!important}
  .finance-highlight-grid,.finance-mini-grid,.finance-chart-grid,.finance-forecast-grid{grid-template-columns:1fr!important}
  .finance-highlight{min-width:0;min-height:92px!important}
  .finance-card{min-width:0}
  .finance-subhead{gap:8px!important}
  .finance-subhead h3{font-size:17px!important}
  .finance-outline-btn{width:100%;box-sizing:border-box;min-height:38px;font-size:10px}
  .finance-table-pagination{align-items:stretch;flex-direction:column;gap:9px}
  .finance-pagination-controls{width:100%;justify-content:space-between}
  .finance-pagination-controls label{order:0}
  .finance-page-btn{flex:0 0 auto}
  .finance-detail-card .finance-card-head h3{font-size:14px!important}
  .finance-detail-card .finance-card-head p{font-size:10px!important;line-height:1.35}
  .finance-detail-card .finance-data-table{margin:0 -1px}
  .finance-detail-card .finance-data-table table{min-width:1180px}
  .finance-filter .filter-body{grid-template-columns:1fr!important}
  .finance-dashboard-shell .finance-multi-menu{max-width:calc(100vw - 44px)!important}
}

/* QR Code de presença - voluntários */
.attendance-qr-page{padding-bottom:70px}.attendance-qr-hero{margin-top:10px}.attendance-qr-card{background:#fff;border:1px solid #e4e7ef;border-radius:22px;padding:28px;display:grid;grid-template-columns:420px minmax(0,1fr);gap:30px;box-shadow:0 12px 35px rgba(20,27,50,.06);align-items:center}.attendance-qr-preview{border:1px solid #e5e8ef;border-radius:18px;padding:24px;background:#f8f9fc;text-align:center}.attendance-qr-title{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}.attendance-qr-title>div{display:grid;text-align:left}.attendance-qr-title b{font-size:16px}.attendance-qr-title span:last-child{font-size:11px;color:#7a8497;margin-top:2px}.attendance-qr-icon{width:36px;height:36px;border-radius:10px;background:#5b57e6;color:#fff;display:grid;place-items:center;font-weight:900}.attendance-qr-code{width:320px;height:320px;max-width:100%;margin:0 auto;background:#fff;border-radius:14px;padding:8px;display:grid;place-items:center}.attendance-qr-code img,.attendance-qr-code canvas{max-width:100%;height:auto;display:block}.attendance-qr-event-label{display:block;font-size:10px;letter-spacing:.1em;color:#677185;margin-top:18px}.attendance-qr-info h3{margin:10px 0 6px;font-size:26px;color:#182033}.attendance-qr-info>p{margin:0;color:#6d7789;line-height:1.65;font-size:13px;max-width:700px}.attendance-qr-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.attendance-qr-rules>div{padding:13px;border:1px solid #e8eaf0;border-radius:12px;background:#fafbfc}.attendance-qr-rules b{display:block;font-size:12px;color:#212b3c}.attendance-qr-rules span{display:block;font-size:10px;color:#8891a2;line-height:1.45;margin-top:3px}.attendance-qr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.attendance-qr-url{display:block;margin-top:14px;color:#9aa2af;font-size:9px;word-break:break-all;background:#f7f8fb;border-radius:10px;padding:9px}.attendance-qr-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.attendance-qr-how>div{background:#fff;border:1px solid #e4e7ef;border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:30px 1fr;column-gap:10px}.attendance-qr-how span{width:30px;height:30px;border-radius:9px;background:#f0efff;color:#5b57e6;display:grid;place-items:center;font-weight:900;grid-row:span 2}.attendance-qr-how b{font-size:12px}.attendance-qr-how small{font-size:10px;color:#8590a2;line-height:1.45;margin-top:3px}.attendance-qr-top-btn{font-weight:800}
@media(max-width:950px){.attendance-qr-card{grid-template-columns:1fr}.attendance-qr-preview{max-width:470px;margin:0 auto;width:100%}}
@media(max-width:680px){.attendance-qr-page .attendance-page-head{align-items:flex-start}.attendance-qr-page .agenda-head-actions{width:100%;display:grid;grid-template-columns:1fr;gap:7px}.attendance-qr-page .agenda-head-actions .agenda-action-btn,.attendance-qr-page .agenda-head-actions form,.attendance-qr-page .agenda-head-actions form button{width:100%}.attendance-qr-card{padding:14px;border-radius:16px;gap:16px}.attendance-qr-preview{padding:16px;border-radius:14px}.attendance-qr-code{width:min(280px,100%);height:auto;min-height:280px}.attendance-qr-rules{grid-template-columns:1fr}.attendance-qr-info h3{font-size:22px}.attendance-qr-how{grid-template-columns:1fr}.attendance-qr-how>div{grid-template-columns:30px 1fr}}
@media print{body{background:#fff!important}.sidebar,.topbar,.attendance-page-head,.attendance-qr-info,.attendance-qr-how,.attendance-qr-top-btn,.agenda-head-actions,.attendance-qr-actions,.attendance-qr-url{display:none!important}.main{margin:0!important;padding:0!important}.content{padding:0!important}.attendance-qr-page{padding:0!important}.attendance-qr-hero{margin:0!important}.attendance-qr-card{box-shadow:none!important;border:0!important;display:block!important;padding:18mm!important;text-align:center}.attendance-qr-preview{border:0!important;background:#fff!important;padding:0!important}.attendance-qr-title{justify-content:center!important}.attendance-qr-code{width:120mm!important;height:120mm!important;padding:3mm!important;margin:12mm auto!important}.attendance-qr-event-label{font-size:12px!important}}

/* Fluxo de confirmação de presença por QR */
.qr-confirm-modal{z-index:120}.qr-confirm-card{width:min(460px,calc(100vw - 30px));text-align:center;padding:34px 30px;border-radius:22px}.qr-confirm-card h2{margin:8px 0 10px;font-size:27px;color:#182033}.qr-confirm-card p:not(.eyebrow){margin:0 auto 18px;color:#697487;line-height:1.65;font-size:13px}.qr-confirm-success-icon,.qr-confirm-warning-icon,.qr-confirm-neutral-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 16px;font-size:30px;font-weight:900}.qr-confirm-success-icon{background:#e9f9ef;color:#119447}.qr-confirm-warning-icon{background:#fff2e8;color:#d76a00}.qr-confirm-neutral-icon{background:#f0efff;color:#5b57e6}.qr-confirm-event{display:block;color:#8a93a4;font-size:11px;margin:-6px 0 18px}.qr-confirm-cancel{display:block;margin-top:13px;color:#7b8495;text-decoration:none;font-size:11px;font-weight:700}.qr-confirm-cancel:hover{text-decoration:underline}.qr-confirm-screen{min-height:360px}
@media(max-width:680px){.qr-confirm-card{padding:28px 20px;border-radius:18px}.qr-confirm-card h2{font-size:23px}}

/* V100 — início do app mobile para voluntários */
.mobile-home-shell{width:min(760px,100%);margin:0 auto;padding:18px 16px 40px;box-sizing:border-box;color:#172033}
.mobile-home-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 16px}
.mobile-home-brand{display:flex;align-items:center;gap:10px;min-width:0}.mobile-home-brand small{display:block;color:#8790a1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.mobile-home-brand b{display:block;font-size:17px;margin-top:2px}
.mobile-home-logo{width:40px;height:40px;border-radius:12px;background:#eef0ff;display:grid;place-items:center;overflow:hidden;flex:0 0 40px}.mobile-home-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.mobile-home-logo span{font-size:18px;color:#5b5be7}
.mobile-home-header-actions{display:flex;align-items:center;gap:8px}.mobile-home-notif,.mobile-home-user{border:1px solid #e4e8f0;background:#fff;cursor:pointer}.mobile-home-notif{position:relative;width:40px;height:40px;border-radius:12px;font-size:17px}.mobile-home-notif b{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#e5484d;color:#fff;font-size:9px;display:grid;place-items:center}.mobile-home-user-wrap{position:relative}.mobile-home-user{width:42px;height:42px;border-radius:50%;overflow:hidden;padding:0;background:#eef0ff}.mobile-home-user img,.mobile-home-user>span{display:block;width:100%;height:100%;object-fit:cover}.mobile-home-user>span{display:grid!important;place-items:center;color:#5658d8;font-weight:900}
.mobile-home-user-menu{position:absolute;right:0;top:50px;width:min(330px,calc(100vw - 32px));background:#fff;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 20px 55px rgba(20,31,55,.18);padding:8px;display:none;z-index:12000}.mobile-home-user-menu.show{display:block}.mobile-home-user-menu-head{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #edf0f4;margin-bottom:4px}.mobile-home-user-menu-head img,.mobile-home-user-menu-head>span{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#eef0ff}.mobile-home-user-menu-head>span{display:grid!important;place-items:center;font-weight:900;color:#5558d5}.mobile-home-user-menu-head b,.mobile-home-user-menu-head small{display:block}.mobile-home-user-menu-head b{font-size:12px}.mobile-home-user-menu-head small{font-size:9px;color:#8a94a7;margin-top:2px}.mobile-home-user-menu>a{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:11px 10px;border-radius:12px;text-decoration:none;color:inherit}.mobile-home-user-menu>a:hover{background:#f7f8ff}.mobile-home-user-menu>a>span{width:30px;height:30px;border-radius:9px;background:#f0f1ff;display:grid;place-items:center;color:#5b5be7}.mobile-home-user-menu>a b,.mobile-home-user-menu>a small{display:block}.mobile-home-user-menu>a b{font-size:11px}.mobile-home-user-menu>a small{font-size:9px;color:#8993a6;margin-top:2px}.mobile-home-user-menu>a i{font-style:normal;color:#9aa3b2}.mobile-home-user-menu>a.logout{border-top:1px solid #edf0f4;margin-top:4px;color:#b42318}
.mobile-home-user-menu>a.is-home{background:#f7f8ff}.mobile-home-user-menu>a.is-home>span{background:#e9eaff}
.mobile-home-greeting{padding:8px 0 16px}.mobile-home-greeting .eyebrow{margin:0 0 6px}.mobile-home-greeting h1{margin:0;font-size:27px;letter-spacing:-.03em}.mobile-home-greeting>p:last-child{margin:7px 0 0;color:#748097;font-size:12px;line-height:1.5;max-width:540px}
.mobile-home-feature{margin-top:2px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#5a5ae1 0%,#6c63ee 55%,#7d6cf4 100%);color:#fff;box-shadow:0 16px 34px rgba(91,92,226,.2)}
.mobile-home-feature.is-absent{background:linear-gradient(135deg,#5f6673,#818999)}.mobile-home-feature-top{display:flex;justify-content:space-between;align-items:center}.mobile-home-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.14);font-size:9px;font-weight:800;letter-spacing:.05em}.mobile-home-feature-dot{font-size:14px;opacity:.8}.mobile-home-feature-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin:20px 0 17px}.mobile-home-feature-time{font-size:37px;font-weight:900;letter-spacing:-.05em;line-height:1}.mobile-home-feature-copy small{display:block;color:rgba(255,255,255,.72);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mobile-home-feature-copy h2{margin:4px 0 5px;font-size:23px;line-height:1.15}.mobile-home-feature-copy p{margin:0;color:rgba(255,255,255,.8);font-size:10px;line-height:1.45}.mobile-home-feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-home-feature-actions form{margin:0}.mobile-home-primary,.mobile-home-secondary,.mobile-home-danger{min-height:42px;border-radius:12px;padding:0 14px;font-size:10px;font-weight:900;cursor:pointer}.mobile-home-primary{width:100%;border:0;background:#fff;color:#5558d5}.mobile-home-secondary{border:1px solid #dce2eb;background:#fff;color:#454f63}.mobile-home-feature .mobile-home-secondary{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff}.mobile-home-state{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.13);font-size:10px;font-weight:800}.mobile-home-state.success{background:rgba(255,255,255,.14)}.mobile-home-state.danger{background:rgba(0,0,0,.12)}
.mobile-home-empty-feature{display:flex;align-items:center;gap:13px;border:1px solid #e4e8f0;background:#fff;border-radius:19px;padding:16px;box-shadow:0 6px 18px rgba(21,32,50,.04)}.mobile-home-empty-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eefaf3;color:#159447;font-weight:900;font-size:18px;flex:0 0 42px}.mobile-home-empty-feature h2{margin:2px 0 4px;font-size:17px}.mobile-home-empty-feature p:last-child{margin:0;color:#7b8698;font-size:10px;line-height:1.5}
.mobile-home-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:27px 0 10px}.mobile-home-section-head .eyebrow{margin:0 0 4px}.mobile-home-section-head h2{margin:0;font-size:20px}.mobile-home-section-head p{margin:3px 0 0;color:#8791a2;font-size:10px}.mobile-home-section-head>span{width:28px;height:28px;border-radius:9px;background:#f0f1ff;color:#5558d5;display:grid;place-items:center;font-size:10px;font-weight:900}
.mobile-home-schedule-list{display:grid;gap:9px}.mobile-home-schedule-card{display:grid;grid-template-columns:55px minmax(0,1fr);gap:12px;background:#fff;border:1px solid #e4e8f0;border-radius:17px;padding:12px;box-shadow:0 5px 15px rgba(25,36,55,.035)}.mobile-home-schedule-card.today{border-color:#b7b9fb;box-shadow:0 8px 22px rgba(91,92,226,.08)}.mobile-home-date{width:55px;height:55px;border-radius:15px;background:#f5f6fb;display:grid;place-items:center;align-content:center}.mobile-home-date b{font-size:18px;line-height:1}.mobile-home-date small{font-size:8px;color:#7d8798;font-weight:900;margin-top:3px}.mobile-home-schedule-main{min-width:0}.mobile-home-schedule-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-home-schedule-title>div>span{display:block;color:#5b5be7;font-size:9px;font-weight:900}.mobile-home-schedule-title h3{margin:2px 0 0;font-size:14px;line-height:1.2}.mobile-home-schedule-title em{font-style:normal;font-size:8px;font-weight:900;padding:5px 7px;border-radius:999px;white-space:nowrap}.mobile-home-schedule-title em.success{background:#e9f9ef;color:#168646}.mobile-home-schedule-title em.danger{background:#fff0ef;color:#bd2b1f}.mobile-home-schedule-title em.live{background:#f0efff;color:#5558d5}.mobile-home-schedule-main p{margin:6px 0 3px;color:#7c8799;font-size:9px}.mobile-home-schedule-main>strong{font-size:10px;color:#444e61}.mobile-home-schedule-actions{margin-top:9px}.mobile-home-schedule-actions .mobile-home-secondary{min-height:32px;font-size:9px;padding:0 11px}.mobile-home-no-upcoming{display:flex;align-items:center;gap:10px;border:1px dashed #dce2ec;border-radius:16px;padding:14px;background:#fff}.mobile-home-no-upcoming>span{width:34px;height:34px;border-radius:10px;background:#fff7df;display:grid;place-items:center}.mobile-home-no-upcoming b{font-size:11px}.mobile-home-no-upcoming p{margin:3px 0 0;color:#8a94a6;font-size:9px}.mobile-home-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.mobile-home-quick-grid a{text-decoration:none;color:inherit;background:#fff;border:1px solid #e4e8f0;border-radius:15px;padding:12px;box-shadow:0 4px 12px rgba(25,36,55,.025)}.mobile-home-quick-grid a>span{width:30px;height:30px;border-radius:9px;background:#f0f1ff;display:grid;place-items:center}.mobile-home-quick-grid b{display:block;font-size:10px;margin-top:8px}.mobile-home-quick-grid small{display:block;color:#8993a5;font-size:8px;line-height:1.4;margin-top:2px}.mobile-home-confirm-modal{z-index:12000}.mobile-home-modal-card{width:min(430px,calc(100vw - 30px));text-align:center;border-radius:20px;padding:28px 22px}.mobile-home-modal-icon{width:54px;height:54px;border-radius:17px;background:#fff1e9;color:#c75d00;display:grid;place-items:center;margin:0 auto 12px;font-weight:900;font-size:24px}.mobile-home-modal-card h2{margin:5px 0 9px;font-size:22px}.mobile-home-modal-card p:not(.eyebrow){font-size:11px;color:#738096;line-height:1.6}.mobile-home-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.mobile-home-danger{border:0;background:#dc3d3d;color:#fff}
.my-profile-photo-card{overflow:hidden}.my-profile-photo-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.my-profile-photo-head h3{margin:0 0 3px}.my-profile-photo-preview{position:relative;width:84px;height:84px;flex:0 0 84px}.my-profile-photo-preview img,.my-profile-photo-fallback{width:84px;height:84px;border-radius:24px;object-fit:cover;background:#eef0ff}.my-profile-photo-fallback{display:grid;place-items:center;color:#5558d5;font-weight:900;font-size:28px}.my-profile-photo-preview img{display:none}.my-profile-photo-form{display:grid;gap:9px;margin-top:14px}.my-profile-photo-upload{display:flex;align-items:center;justify-content:center;border:1px dashed #cbd2df;border-radius:13px;padding:11px;color:#4f57c9;background:#fafaff;font-size:10px;font-weight:800;cursor:pointer}.my-profile-photo-upload input{display:none}.my-profile-photo-form .btn{justify-self:start}
@media(max-width:760px){.page-mobile_home .topbar{display:none!important}.page-mobile_home .content{padding:0!important}.page-mobile_home .main{margin-left:0!important}.mobile-home-shell{padding:12px 12px 32px}.mobile-home-header{padding-top:2px}.mobile-home-greeting h1{font-size:24px}.mobile-home-feature{padding:15px;border-radius:19px}.mobile-home-feature-body{gap:11px;margin:16px 0}.mobile-home-feature-time{font-size:31px}.mobile-home-feature-copy h2{font-size:19px}.mobile-home-feature-actions{grid-template-columns:1fr}.mobile-home-quick-grid{grid-template-columns:1fr 1fr}.mobile-home-quick-grid a:last-child:nth-child(3){grid-column:1/-1}.mobile-home-user-menu{right:-3px}.my-profile-photo-head{align-items:flex-start}.my-profile-photo-preview,.my-profile-photo-preview img,.my-profile-photo-fallback{width:70px;height:70px}.my-profile-photo-preview{flex-basis:70px}.my-profile-photo-fallback{font-size:24px}}


/* V101 — Redesign exclusivo da tela Início mobile/PWA. Não altera as demais telas. */
.mobile-home-shell{width:min(760px,100%);margin:0 auto;padding:18px 16px 34px;background:#f7f8fc;color:#151b2b;box-sizing:border-box;min-height:100%;}
.mobile-home-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 2px 18px;}
.mobile-home-brand{display:flex;align-items:center;gap:11px;min-width:0;}
.mobile-home-logo{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#fff;border:1px solid #e6e9f0;display:grid;place-items:center;overflow:hidden;box-shadow:0 3px 10px rgba(22,30,48,.04)}
.mobile-home-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:5px;box-sizing:border-box}.mobile-home-logo span{font-size:18px;color:#5b57e6}
.mobile-home-brand-copy small{display:block;color:#8b94a6;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.mobile-home-brand-copy b{display:block;font-size:16px;line-height:1.2;margin-top:3px}
.mobile-home-header-actions{display:flex;align-items:center;gap:8px}.mobile-home-notif,.mobile-home-user{border:1px solid #e2e6ef;background:#fff;cursor:pointer;box-shadow:0 3px 10px rgba(22,30,48,.04)}.mobile-home-notif{position:relative;width:40px;height:40px;border-radius:12px;font-size:16px}.mobile-home-notif b{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#e5484d;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff}
.mobile-home-user-wrap{position:relative}.mobile-home-user{width:42px;height:42px;border-radius:50%;overflow:hidden;padding:0;background:#eef0ff}.mobile-home-user img,.mobile-home-user>span{display:block;width:100%;height:100%;object-fit:cover}.mobile-home-user>span{display:grid!important;place-items:center;color:#5558d5;font-weight:900}
.mobile-home-user-menu{position:absolute;right:0;top:51px;width:min(320px,calc(100vw - 28px));background:#fff;border:1px solid #e1e5ed;border-radius:17px;box-shadow:0 22px 55px rgba(16,26,45,.18);padding:7px;display:none;z-index:12000}.mobile-home-user-menu.show{display:block}.mobile-home-user-menu-head{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #edf0f4;margin-bottom:4px}.mobile-home-user-menu-head img,.mobile-home-user-menu-head>span{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#eef0ff}.mobile-home-user-menu-head>span{display:grid!important;place-items:center;font-weight:900;color:#5558d5}.mobile-home-user-menu-head b,.mobile-home-user-menu-head small{display:block}.mobile-home-user-menu-head b{font-size:12px}.mobile-home-user-menu-head small{font-size:9px;color:#8a94a7;margin-top:2px}.mobile-home-user-menu>a{display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:9px;padding:10px 9px;border-radius:11px;text-decoration:none;color:inherit}.mobile-home-user-menu>a:hover{background:#f7f8ff}.mobile-home-user-menu>a>span{width:29px;height:29px;border-radius:9px;background:#f0f1ff;display:grid;place-items:center;color:#5558d5}.mobile-home-user-menu>a b,.mobile-home-user-menu>a small{display:block}.mobile-home-user-menu>a b{font-size:11px}.mobile-home-user-menu>a small{font-size:8px;color:#8993a6;margin-top:2px}.mobile-home-user-menu>a i{font-style:normal;color:#a1a9b6}.mobile-home-user-menu>a.logout{border-top:1px solid #edf0f4;margin-top:4px;color:#b42318}.mobile-home-user-menu>a.is-home{background:#f5f5ff}
.mobile-home-greeting{padding:4px 2px 17px}.mobile-home-greeting .eyebrow,.mobile-home-overline{margin:0;color:#6863dd;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.mobile-home-greeting h1{margin:5px 0 5px;font-size:26px;line-height:1.08;letter-spacing:-.035em}.mobile-home-greeting h1 span{font-size:22px}.mobile-home-greeting>p:last-child{margin:0;color:#7b8598;font-size:11px;line-height:1.55;max-width:560px}
.mobile-home-next-card{position:relative;margin-top:2px;padding:16px;border-radius:21px;background:linear-gradient(145deg,#514fd7 0%,#6b62eb 58%,#7f70f2 100%);color:#fff;box-shadow:0 18px 38px rgba(91,87,226,.22);overflow:hidden}.mobile-home-next-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-82px;top:-88px;background:rgba(255,255,255,.09)}.mobile-home-next-card.is-absent{background:linear-gradient(145deg,#555d69,#737d8b)}
.mobile-home-next-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mobile-home-next-head strong{display:block;font-size:11px;color:rgba(255,255,255,.78);font-weight:700;margin-top:3px}.mobile-home-live-dot{width:9px;height:9px;border-radius:50%;margin:4px 2px 0 0;background:rgba(255,255,255,.45);box-shadow:0 0 0 4px rgba(255,255,255,.06)}.mobile-home-live-dot.active{background:#7df3b5;box-shadow:0 0 0 4px rgba(125,243,181,.12)}
.mobile-home-next-main{position:relative;z-index:1;display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start;margin:18px 0 15px}.mobile-home-next-date{width:56px;height:61px;border-radius:15px;background:rgba(255,255,255,.13);display:grid;align-content:center;justify-items:center;border:1px solid rgba(255,255,255,.08)}.mobile-home-next-date b{font-size:21px;line-height:1}.mobile-home-next-date span{font-size:8px;font-weight:900;letter-spacing:.08em;margin-top:4px;color:rgba(255,255,255,.72)}.mobile-home-next-info{min-width:0}.mobile-home-next-time{font-size:32px;font-weight:900;letter-spacing:-.05em;line-height:1}.mobile-home-next-info h2{margin:5px 0 4px;font-size:19px;line-height:1.15}.mobile-home-next-info p{margin:0;color:rgba(255,255,255,.72);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-home-role{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:10px}.mobile-home-role span{font-size:7px;font-weight:900;letter-spacing:.1em;color:rgba(255,255,255,.58)}.mobile-home-role b{font-size:9px;color:#fff}
.mobile-home-next-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-home-next-actions form{margin:0}.mobile-home-primary,.mobile-home-secondary,.mobile-home-danger{min-height:42px;border-radius:12px;padding:0 12px;font-size:9px;font-weight:900;cursor:pointer}.mobile-home-primary{width:100%;border:0;background:#fff;color:#5654d9}.mobile-home-next-card .mobile-home-secondary{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.11);color:#fff}.mobile-home-next-note,.mobile-home-confirmed{position:relative;z-index:1;display:flex;align-items:center;gap:9px;border-radius:12px;padding:10px 11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08)}.mobile-home-next-note>span,.mobile-home-confirmed>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-weight:900;flex:0 0 28px}.mobile-home-next-note b,.mobile-home-confirmed b{display:block;font-size:9px}.mobile-home-next-note small,.mobile-home-confirmed small{display:block;color:rgba(255,255,255,.67);font-size:8px;line-height:1.4;margin-top:2px}.mobile-home-confirmed.absent{background:rgba(0,0,0,.12)}
.mobile-home-no-today{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e4e8f0;border-radius:18px;padding:15px;box-shadow:0 7px 18px rgba(22,30,48,.04)}.mobile-home-no-today-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#edf9f1;color:#148e43;display:grid;place-items:center;font-size:18px;font-weight:900}.mobile-home-no-today h2{margin:3px 0 3px;font-size:16px}.mobile-home-no-today p{margin:0;color:#7c8799;font-size:9px;line-height:1.5}
.mobile-home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:25px 2px 11px}.mobile-home-section-head .eyebrow{margin:0 0 4px;color:#6863dd}.mobile-home-section-head h2{margin:0;font-size:19px;letter-spacing:-.02em}.mobile-home-section-head p{margin:3px 0 0;color:#8993a5;font-size:9px}.mobile-home-section-head>span{min-width:28px;height:28px;padding:0 7px;border-radius:10px;background:#ecebff;color:#5654d9;display:grid;place-items:center;font-size:9px;font-weight:900}
.mobile-home-schedule-list{display:grid;gap:9px}.mobile-home-schedule-card{display:grid;grid-template-columns:55px minmax(0,1fr);gap:11px;background:#fff;border:1px solid #e3e7ef;border-radius:17px;padding:11px;box-shadow:0 5px 16px rgba(22,30,48,.035)}.mobile-home-schedule-card.today{border-color:#c3c4fb;box-shadow:0 8px 20px rgba(91,87,226,.08)}.mobile-home-date{width:55px;height:58px;border-radius:15px;background:#f4f5fa;display:grid;place-items:center;align-content:center}.mobile-home-date b{font-size:19px;line-height:1}.mobile-home-date small{font-size:8px;color:#7c8798;font-weight:900;letter-spacing:.06em;margin-top:3px}.mobile-home-schedule-main{min-width:0}.mobile-home-schedule-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mobile-home-schedule-title>div>span{display:block;color:#5a57db;font-size:9px;font-weight:900}.mobile-home-schedule-title h3{margin:2px 0 0;font-size:13px;line-height:1.2}.mobile-home-schedule-title em{font-style:normal;font-size:7px;font-weight:900;padding:5px 7px;border-radius:999px;white-space:nowrap}.mobile-home-schedule-title em.success{background:#e8f8ee;color:#14833f}.mobile-home-schedule-title em.danger{background:#fff0ef;color:#bd2b1f}.mobile-home-schedule-title em.live{background:#eeedff;color:#5451d3}.mobile-home-schedule-main>p{margin:6px 0 6px;color:#7c8799;font-size:9px}.mobile-home-card-meta{display:flex;align-items:center;gap:7px;min-width:0}.mobile-home-card-meta span{font-size:7px;color:#a0a7b4;font-weight:900;letter-spacing:.1em}.mobile-home-card-meta b{font-size:9px;color:#444d60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-home-schedule-actions{margin-top:9px}.mobile-home-schedule-actions .mobile-home-secondary{min-height:32px;border:1px solid #e1e5ec;background:#fff;color:#586073;padding:0 11px}
.mobile-home-no-upcoming{display:flex;align-items:center;gap:10px;border:1px dashed #d9dfea;border-radius:16px;padding:13px;background:#fff}.mobile-home-no-upcoming>span{width:33px;height:33px;border-radius:10px;background:#edf9f1;color:#168846;display:grid;place-items:center}.mobile-home-no-upcoming b{font-size:10px}.mobile-home-no-upcoming p{margin:3px 0 0;color:#8a94a6;font-size:9px}.mobile-home-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.mobile-home-quick-grid a{text-decoration:none;color:inherit;background:#fff;border:1px solid #e4e8f0;border-radius:14px;padding:11px;box-shadow:0 4px 12px rgba(25,36,55,.025)}.mobile-home-quick-grid a>span{width:28px;height:28px;border-radius:9px;background:#f0f0ff;color:#5754d7;display:grid;place-items:center;font-size:12px}.mobile-home-quick-grid b{display:block;font-size:9px;margin-top:7px}.mobile-home-quick-grid small{display:block;color:#8993a5;font-size:7px;line-height:1.4;margin-top:2px}.mobile-home-confirm-modal{z-index:12000}.mobile-home-modal-card{width:min(420px,calc(100vw - 28px));text-align:center;border-radius:20px;padding:27px 20px}.mobile-home-modal-icon{width:52px;height:52px;border-radius:16px;background:#fff1e9;color:#c75d00;display:grid;place-items:center;margin:0 auto 11px;font-weight:900;font-size:23px}.mobile-home-modal-card h2{margin:5px 0 8px;font-size:20px}.mobile-home-modal-card p:not(.eyebrow){font-size:10px;color:#738096;line-height:1.65}.mobile-home-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.mobile-home-danger{border:0;background:#dc3d3d;color:#fff}
@media(max-width:760px){.page-mobile_home .topbar{display:none!important}.page-mobile_home .content{padding:0!important}.page-mobile_home .main{margin-left:0!important;background:#f7f8fc}.page-mobile_home .app-shell{background:#f7f8fc}.page-mobile_home .mobile-home-shell{width:100%;padding:10px 12px 28px}.mobile-home-header{padding-top:2px}.mobile-home-greeting h1{font-size:24px}.mobile-home-next-card{padding:15px;border-radius:20px}.mobile-home-next-main{grid-template-columns:52px minmax(0,1fr);gap:11px;margin:17px 0 14px}.mobile-home-next-date{width:52px;height:58px}.mobile-home-next-time{font-size:30px}.mobile-home-next-info h2{font-size:18px}.mobile-home-next-actions{grid-template-columns:1fr}.mobile-home-quick-grid{grid-template-columns:1fr 1fr}.mobile-home-quick-grid a:last-child:nth-child(3){grid-column:1/-1}.mobile-home-user-menu{right:-3px}.mobile-home-user-menu>a{padding:10px 8px}.mobile-home-schedule-card{grid-template-columns:52px minmax(0,1fr)}.mobile-home-date{width:52px}.mobile-home-section-head{margin-top:23px}}

/* Mobile Presença — tela inicial do app, preservando desktop */
.mobile-attendance-shell{display:none}
.mobile-attendance-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid #e7eaf0;position:sticky;top:0;z-index:1000}
.mobile-attendance-profile{position:relative;flex:0 0 auto}.mobile-attendance-avatar{width:46px;height:46px;border-radius:50%;padding:0;border:1px solid #e1e5ef;background:#eef0ff;overflow:hidden;cursor:pointer}.mobile-attendance-avatar img{width:100%;height:100%;object-fit:cover}.mobile-attendance-avatar span{display:grid;place-items:center;width:100%;height:100%;color:#5658d8;font-weight:900;font-size:16px}.mobile-attendance-profile-menu{display:none;position:fixed;left:50%;top:74px;transform:translateX(-50%);width:min(310px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box;background:#fff;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 20px 55px rgba(20,31,55,.18);padding:8px;z-index:2147483646}.mobile-attendance-profile-menu.show{display:block}.mobile-attendance-menu-head{padding:10px;border-bottom:1px solid #edf0f4;margin-bottom:4px}.mobile-attendance-menu-head b,.mobile-attendance-menu-head small{display:block}.mobile-attendance-menu-head b{font-size:12px}.mobile-attendance-menu-head small{font-size:9px;color:#8993a6;margin-top:3px}.mobile-attendance-profile-menu>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:#20283a}.mobile-attendance-profile-menu>a:hover,.mobile-attendance-profile-menu>a.active{background:#f5f5ff}.mobile-attendance-profile-menu>a.logout{border-top:1px solid #edf0f4;margin-top:4px;color:#b42318}.mobile-attendance-profile-menu>a>span{display:grid;gap:2px}.mobile-attendance-profile-menu>a b{font-size:11px}.mobile-attendance-profile-menu>a small{font-size:8px;color:#8993a6}.mobile-attendance-title{text-align:center;min-width:0}.mobile-attendance-title span{display:block;color:#6863dd;font-size:8px;font-weight:900;letter-spacing:.14em}.mobile-attendance-title b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.mobile-attendance-notif{position:relative;width:42px;height:42px;border:1px solid #e3e7ef;border-radius:13px;background:#fff;font-size:17px;flex:0 0 42px}.mobile-attendance-notif b{position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;border-radius:99px;background:#e5484d;color:#fff;font-size:9px;display:grid;place-items:center}.mobile-attendance-greeting{padding:18px 16px 12px}.mobile-attendance-greeting span,.mobile-attendance-feature-top>span,.mobile-attendance-section-head span{font-size:8px;color:#6863dd;font-weight:900;letter-spacing:.13em}.mobile-attendance-greeting h1{margin:4px 0 5px;font-size:25px;letter-spacing:-.03em}.mobile-attendance-greeting p{margin:0;color:#7d8799;font-size:10px}.mobile-attendance-day-card{margin:0 16px 10px;display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #e4e8f0;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(20,31,55,.035)}.mobile-attendance-day-card>span{width:42px;height:42px;border-radius:13px;background:#eef0ff;color:#5558d5;display:grid;place-items:center;font-weight:900;flex:0 0 42px}.mobile-attendance-day-card.no-events>span{background:#edf9f1;color:#168846}.mobile-attendance-day-card small{font-size:8px;color:#8b95a6;font-weight:900;letter-spacing:.12em}.mobile-attendance-day-card h2{margin:3px 0 5px;font-size:16px}.mobile-attendance-day-card p{margin:0;color:#7a8495;font-size:10px;line-height:1.55}.mobile-attendance-feature{margin:0 16px;padding:17px;border-radius:22px;background:linear-gradient(145deg,#5558db,#6b63eb 60%,#7e72f2);color:#fff;box-shadow:0 17px 36px rgba(91,92,226,.2)}.mobile-attendance-feature.is-no{background:linear-gradient(145deg,#59606c,#777f8b)}.mobile-attendance-feature-top{display:flex;justify-content:space-between;align-items:center}.mobile-attendance-feature-top>span{color:rgba(255,255,255,.73)}.mobile-attendance-feature-top>b{font-size:23px;letter-spacing:-.04em}.mobile-attendance-feature-body{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;margin:17px 0 15px;align-items:start}.mobile-attendance-date{width:52px;height:58px;border-radius:15px;background:rgba(255,255,255,.13);display:grid;align-content:center;justify-items:center}.mobile-attendance-date strong{font-size:20px}.mobile-attendance-date small{font-size:8px;font-weight:900;margin-top:3px;color:rgba(255,255,255,.7)}.mobile-attendance-feature-body h2{margin:0 0 4px;font-size:19px;line-height:1.15}.mobile-attendance-feature-body p{margin:0 0 9px;color:rgba(255,255,255,.73);font-size:9px}.mobile-attendance-feature-body label{font-size:7px;letter-spacing:.12em;color:rgba(255,255,255,.58);font-weight:900}.mobile-attendance-feature-body strong{display:block;margin-top:3px;font-size:10px}.mobile-attendance-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-attendance-primary,.mobile-attendance-danger{min-height:42px;border-radius:12px;font-size:9px;font-weight:900;cursor:pointer}.mobile-attendance-primary{border:0;background:#fff;color:#5558d5}.mobile-attendance-danger{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.11);color:#fff}.mobile-attendance-status{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.13);font-size:9px;font-weight:800}.mobile-attendance-status.success{background:rgba(89,234,152,.16)}.mobile-attendance-status.danger{background:rgba(0,0,0,.14)}.mobile-attendance-qr-note{margin:9px 0 0;color:rgba(255,255,255,.64);font-size:8px;line-height:1.45}.mobile-attendance-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:22px 16px 10px}.mobile-attendance-section-head h2{margin:3px 0 0;font-size:19px}.mobile-attendance-section-head>b{font-size:9px;color:#8a94a6}.mobile-attendance-list{display:grid;gap:9px;margin:0 16px 30px}.mobile-attendance-scale-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;background:#fff;border:1px solid #e3e7ef;border-radius:17px;box-shadow:0 5px 15px rgba(20,31,55,.03)}.mobile-attendance-small-date{width:52px;height:56px;border-radius:14px;background:#f3f4fb;display:grid;place-items:center;align-content:center}.mobile-attendance-small-date strong{font-size:18px;color:#5158d5}.mobile-attendance-small-date small{font-size:8px;font-weight:900;color:#7f899b;margin-top:2px}.mobile-attendance-scale-title span{display:block;font-size:8px;color:#5a58d9;font-weight:900}.mobile-attendance-scale-title h3{margin:2px 0 4px;font-size:13px;line-height:1.2}.mobile-attendance-scale-info p{margin:0 0 4px;color:#7c8798;font-size:9px}.mobile-attendance-scale-info>b{font-size:9px;color:#485266}.mobile-attendance-scale-state{align-self:start}.mobile-attendance-scale-state em{font-style:normal;font-size:7px;font-weight:900;padding:5px 7px;border-radius:999px;white-space:nowrap}.mobile-attendance-scale-state em.success{background:#eaf9ef;color:#168846}.mobile-attendance-scale-state em.danger{background:#fff0ef;color:#bd2b1f}.mobile-attendance-scale-state em.confirmed{background:#eef0ff;color:#5658d6}.mobile-attendance-empty{display:flex;gap:10px;padding:15px;border:1px dashed #d9dfea;border-radius:16px;background:#fff}.mobile-attendance-empty>span{width:34px;height:34px;border-radius:10px;background:#edf9f1;color:#168846;display:grid;place-items:center}.mobile-attendance-empty b{font-size:10px}.mobile-attendance-empty p{margin:3px 0 0;font-size:8px;color:#8993a5}.mobile-attendance-modal-card{width:min(430px,calc(100vw - 28px));text-align:center;border-radius:20px;padding:27px 20px}.mobile-attendance-modal-card h2{font-size:20px;margin:6px 0 9px}.mobile-attendance-modal-card p:not(.eyebrow){font-size:10px;color:#738096;line-height:1.6}.mobile-attendance-modal-icon{width:54px;height:54px;border-radius:17px;background:#eef0ff;color:#5558d5;display:grid;place-items:center;margin:0 auto 12px;font-size:23px;font-weight:900}.mobile-attendance-modal-icon.success{background:#eaf9ef;color:#168846}.mobile-attendance-modal-icon.danger{background:#fff0ef;color:#bd2b1f}
@media(max-width:760px){
  html,body{overflow-x:hidden!important}
  body:has(.mobile-attendance-shell){background:#f6f7fb}.page-attendance .topbar{display:none!important}.page-attendance .content{padding:0!important}.page-attendance .sidebar{display:none!important}.page-attendance .main{margin:0!important;width:100%!important;background:#f6f7fb}.page-attendance .mobile-attendance-shell{display:block}.page-attendance .notification-drawer{top:70px;right:10px;left:10px}.page-attendance .alert{display:none}
  .mobile-attendance-actions{grid-template-columns:1fr}.mobile-attendance-scale-card{grid-template-columns:52px minmax(0,1fr)}.mobile-attendance-scale-state{grid-column:2}.page-mobile_home{display:none!important}
  /* Nas telas mobile, Liderança fica acessível apenas pela foto do usuário. */
  .sidebar details.nav-group:nth-of-type(10){display:none!important}
}

/* Perfil mobile global: acessível pela foto, liderança não ocupa o menu lateral. */
.global-mobile-profile{display:none;position:relative;flex:0 0 auto}.global-mobile-avatar{width:50px;height:50px;border-radius:50%;padding:0;border:1px solid #e1e5ef;background:#eef0ff;box-shadow:0 2px 8px rgba(20,31,55,.06);overflow:hidden;cursor:pointer}.global-mobile-avatar img{width:100%;height:100%;object-fit:cover}.global-mobile-avatar span{width:100%;height:100%;display:grid;place-items:center;color:#5759d9;font-weight:900}.global-mobile-menu{display:none;position:fixed;left:50%;top:74px;right:auto;transform:translateX(-50%);width:min(310px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 86px);overflow:auto;background:#fff;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 20px 55px rgba(20,31,55,.18);padding:8px;z-index:2147483646}.global-mobile-menu.show{display:block}.global-mobile-menu-head{padding:10px;border-bottom:1px solid #edf0f4;margin-bottom:4px}.global-mobile-menu-head b,.global-mobile-menu-head small{display:block}.global-mobile-menu-head b{font-size:12px}.global-mobile-menu-head small{font-size:9px;color:#8993a6;margin-top:3px}.global-mobile-menu>a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;color:#20283a;text-decoration:none}.global-mobile-menu>a:hover,.global-mobile-menu>a:first-of-type{background:#f5f5ff}.global-mobile-menu>a>span{display:grid;gap:2px}.global-mobile-menu>a b{font-size:11px}.global-mobile-menu>a small{font-size:8px;color:#8993a6}.global-mobile-menu>a.logout{border-top:1px solid #edf0f4;margin-top:4px;color:#b42318}
@media(max-width:760px){.global-mobile-profile{display:block}.topbar{justify-content:space-between}.topbar>div:first-of-type{display:block;margin:0 auto}.topbar .mobile-menu{margin-right:0}.page-attendance .global-mobile-profile{display:none}.page-attendance .mobile-menu{display:none}.nav-group-leader{display:none!important}}
/* Presença mobile V3 — cabeçalho, menu lateral e estados das escalas */
@media(max-width:760px){
  .page-attendance .mobile-attendance-top{height:92px;padding:8px 14px 0;display:block;position:sticky;top:0;background:#fff;border-bottom:1px solid #e6e9f0;z-index:1500}
  .page-attendance .mobile-attendance-hamburger{display:grid!important;place-items:center;position:absolute;left:14px;top:20px;width:44px;height:44px;margin:0;border:1px solid #e2e6ee;background:#f4f5f8;border-radius:13px;font-size:25px;line-height:1;z-index:5}
  .page-attendance .mobile-attendance-profile{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:6}
  .page-attendance .mobile-attendance-avatar{width:50px;height:50px;border:1px solid #e0e4ec;box-shadow:0 2px 8px rgba(20,31,55,.06)}
  .page-attendance .mobile-attendance-title{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);text-align:center;min-width:180px}
  .page-attendance .mobile-attendance-title span{font-size:8px;letter-spacing:.15em}
  .page-attendance .mobile-attendance-title b{font-size:14px;line-height:1.1}
  .page-attendance .mobile-attendance-notif{position:absolute;right:14px;top:18px;width:44px;height:44px;z-index:5}

  /* Reabre a navegação lateral no mobile apenas pela tela de Presença. */
  .page-attendance .sidebar{display:flex!important;transform:translateX(-105%);transition:transform .24s ease;z-index:3000;width:min(285px,88vw);box-shadow:none}
  .page-attendance .sidebar.mobile-open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.28)}
  .page-attendance .sidebar nav{padding-bottom:20px}
  .page-attendance .mobile-attendance-shell{position:relative;z-index:1}
  .page-attendance .mobile-attendance-greeting{padding-top:22px}

  .mobile-attendance-scale-card{position:relative;grid-template-columns:52px minmax(0,1fr)!important;padding:13px!important;border-width:2px!important}
  .mobile-attendance-scale-card.pending{border-color:#e3ad2f!important;background:#fffdf5}
  .mobile-attendance-scale-card.ok{border-color:#2bb673!important;background:#fbfffd}
  .mobile-attendance-scale-card.not-ok{border-color:#e24b55!important;background:#fffafa}
  .mobile-attendance-scale-state{grid-column:2;align-self:start;margin-top:-2px}
  .mobile-attendance-scale-state em.pending{background:#fff4cd;color:#9a6a00}
  .mobile-attendance-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}
  .mobile-attendance-card-actions button{min-height:38px;border-radius:10px;font:800 9px system-ui;cursor:pointer}
  .mobile-attendance-card-confirm{border:1px solid #dfe4ec;background:#eef0ff;color:#5558d5}
  .mobile-attendance-card-nope{border:1px solid #f0a0a5;background:#fff5f5;color:#c4313b}
  .mobile-attendance-card-presence{grid-column:1/-1;border:0;background:#5b5ce2;color:#fff;min-height:40px!important}
  .mobile-attendance-feature{border:2px solid transparent}
  .mobile-attendance-feature .mobile-attendance-actions{grid-template-columns:1fr}
  .mobile-attendance-feature .mobile-attendance-primary{min-height:46px}
  .mobile-attendance-feature.ok{border-color:#2bb673}
  .mobile-attendance-feature.not-ok{border-color:#e24b55}
  .mobile-attendance-feature.pending{border-color:#e3ad2f}
  .mobile-attendance-feature-top>span{display:none}
  .mobile-attendance-day-card small{display:none}
}

/* Ajuste solicitado — no topo mobile da Presença, a foto permanece centralizada sem texto abaixo. */
@media(max-width:760px){
  .page-attendance .mobile-attendance-title{display:none!important}
  .page-attendance .mobile-attendance-profile{top:16px!important}
}


/* MENU MOBILE — prioridade máxima de sobreposição
   O menu lateral deve ficar sempre acima de filtros, dropdowns,
   seletores e demais elementos com z-index elevado. */
@media (max-width: 980px){
  .sidebar.mobile-open{
    z-index:2147483647!important;
  }
}

/* V55 — Justificativa de imprevisto na Presença mobile */
.mobile-attendance-presence-actions{grid-template-columns:1fr 1fr!important}
.mobile-attendance-incident{border:1px solid rgba(255,255,255,.42)!important;background:rgba(255,255,255,.13)!important;color:#fff!important}
.mobile-attendance-card-actions .mobile-attendance-card-incident{border:1px solid #e8b3a9;background:#fff6f3;color:#b74731;min-height:38px}
.mobile-attendance-card-justified{grid-column:1/-1;margin-top:5px;padding:9px 10px;border-radius:10px;background:#fff0ef;color:#b82f28;font:800 9px system-ui;text-align:center}
.mobile-attendance-incident-modal{text-align:left}
.mobile-attendance-incident-modal .mobile-attendance-modal-icon,.mobile-attendance-incident-modal .eyebrow,.mobile-attendance-incident-modal h2{text-align:center}
.mobile-attendance-incident-modal textarea{display:block;width:100%;min-height:120px;resize:vertical;margin:15px 0 12px;padding:12px 13px;border:1px solid #dbe1ea;border-radius:12px;background:#fff;color:#20283a;font:500 13px/1.5 system-ui;outline:none;box-sizing:border-box}
.mobile-attendance-incident-modal textarea:focus{border-color:#7774e8;box-shadow:0 0 0 3px rgba(91,92,226,.10)}
@media (max-width:480px){
  .mobile-attendance-presence-actions{grid-template-columns:1fr!important}
  .mobile-attendance-incident-modal{padding:23px 17px}
  .mobile-attendance-incident-modal textarea{min-height:115px;font-size:14px}
}

/* V36 — Contadores de presença: cartões independentes, sem container externo */
.attendance-count{
  min-width:176px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:8px!important;
}
.attendance-count>span{
  flex:1 1 0!important;
  min-width:76px!important;
  min-height:58px!important;
  padding:8px 10px!important;
  box-sizing:border-box!important;
}

/* V61 — Refinamento mobile: Painel pastoral, Administração de acompanhamentos e justificativa de imprevisto */
@media (max-width: 650px){
  /* ==================== PAINEL PASTORAL MOBILE ==================== */
  .page-pastoral_dashboard .content{
    padding:14px 12px 28px!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .page-pastoral_dashboard .pastoral-period-bar{
    display:block!important;
    margin:0 0 14px!important;
    padding:16px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid #e5e8ef!important;
    box-shadow:0 6px 18px rgba(20,31,55,.045)!important;
  }
  .page-pastoral_dashboard .pastoral-period-copy{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .page-pastoral_dashboard .pastoral-period-copy h3{
    margin:3px 0 4px!important;
    font-size:19px!important;
    line-height:1.2!important;
  }
  .page-pastoral_dashboard .pastoral-period-copy .muted{
    margin:0!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
  .page-pastoral_dashboard .pastoral-period-status{
    flex:0 0 auto!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    background:#f2f1ff!important;
    color:#5558d5!important;
    font-size:9px!important;
    font-weight:800!important;
    text-align:center!important;
    max-width:105px!important;
  }
  .page-pastoral_dashboard .pastoral-period-form{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:13px!important;
  }
  .page-pastoral_dashboard .pastoral-period-form label{font-size:9px!important}
  .page-pastoral_dashboard .pastoral-period-form input{height:42px!important;padding:9px!important;font-size:12px!important}
  .page-pastoral_dashboard .pastoral-period-form .btn{grid-column:1/-1!important;width:100%!important;min-height:42px!important}
  .page-pastoral_dashboard .pastoral-period-form .btn.secondary{grid-column:1/-1!important}

  .page-pastoral_dashboard .advanced-kpis.pastoral-kpis{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin:0 0 15px!important;
  }
  .page-pastoral_dashboard .pastoral-kpis .advanced-kpi{
    min-width:0!important;
    width:100%!important;
    padding:12px!important;
    border-radius:15px!important;
    gap:9px!important;
  }
  .page-pastoral_dashboard .pastoral-kpis .advanced-kpi>span{
    width:34px!important;height:34px!important;min-width:34px!important;
    border-radius:10px!important;font-size:16px!important;
  }
  .page-pastoral_dashboard .pastoral-kpis .advanced-kpi small{font-size:9px!important;line-height:1.25!important}
  .page-pastoral_dashboard .pastoral-kpis .advanced-kpi strong{font-size:21px!important;margin-top:3px!important}
  .page-pastoral_dashboard .pastoral-kpi-secondary{font-size:8px!important}

  .page-pastoral_dashboard .pastoral-finance-section{
    margin:0 0 15px!important;
    padding:15px!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1px solid #e5e8ef!important;
    box-shadow:0 6px 18px rgba(20,31,55,.04)!important;
  }
  .page-pastoral_dashboard .pastoral-section-title{
    display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:9px!important;
    margin-bottom:11px!important;
  }
  .page-pastoral_dashboard .pastoral-section-title h3{font-size:16px!important;margin:2px 0 3px!important}
  .page-pastoral_dashboard .pastoral-section-title .muted{font-size:9px!important;line-height:1.35!important}
  .page-pastoral_dashboard .pastoral-section-title>.btn{padding:8px 9px!important;font-size:9px!important;white-space:nowrap!important}
  .page-pastoral_dashboard .pastoral-finance-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .page-pastoral_dashboard .pastoral-finance-card{min-width:0!important;padding:12px!important;border-radius:13px!important}
  .page-pastoral_dashboard .pastoral-finance-card strong{font-size:15px!important}
  .page-pastoral_dashboard .pastoral-finance-card small{font-size:8px!important;line-height:1.3!important}
  .page-pastoral_dashboard .pastoral-finance-card span{width:25px!important;height:25px!important}

  .page-pastoral_dashboard .pastoral-alert-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin:0!important;
  }
  .page-pastoral_dashboard .pastoral-card{
    padding:14px!important;
    border-radius:18px!important;
  }
  .page-pastoral_dashboard .pastoral-section-head{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    margin-bottom:7px!important;
  }
  .page-pastoral_dashboard .pastoral-section-head h3{font-size:15px!important;line-height:1.3!important}
  .page-pastoral_dashboard .pastoral-section-head .muted{font-size:9px!important;line-height:1.35!important}
  .page-pastoral_dashboard .pastoral-card-nav{
    justify-content:flex-start!important;
    width:100%!important;
  }
  .page-pastoral_dashboard .pastoral-card-nav .btn{margin-left:auto!important;padding:7px 9px!important;font-size:9px!important}
  .page-pastoral_dashboard .pastoral-person-row{padding:10px 0!important;gap:8px!important}
  .page-pastoral_dashboard .pastoral-person-main b{font-size:11px!important}
  .page-pastoral_dashboard .pastoral-person-main small{font-size:8px!important}
  .page-pastoral_dashboard .pastoral-row-actions .icon-btn{width:30px!important;height:30px!important}

  .page-pastoral_dashboard .pastoral-tithe-panel{margin:0 0 15px!important;padding:14px!important;border-radius:18px!important}
  .page-pastoral_dashboard .pastoral-tithe-panel>.panel-head{align-items:flex-start!important;gap:9px!important}
  .page-pastoral_dashboard .pastoral-tithe-panel>.panel-head h3{font-size:15px!important}
  .page-pastoral_dashboard .pastoral-tithe-panel>.panel-head p{font-size:9px!important;line-height:1.35!important}

  /* ==================== ADMINISTRAR ACOMPANHAMENTOS MOBILE ==================== */
  .page-leader_admin .content{
    padding:14px 12px 30px!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .page-leader_admin .leadership-admin-shell{width:100%!important;max-width:100%!important}
  .page-leader_admin .leadership-admin-head{margin-bottom:12px!important;gap:8px!important}
  .page-leader_admin .leadership-admin-head h2{font-size:22px!important;line-height:1.15!important;margin:2px 0 5px!important}
  .page-leader_admin .leadership-admin-head .muted{font-size:10px!important;line-height:1.45!important}
  .page-leader_admin .leadership-admin-head .head-badge{font-size:9px!important;padding:7px 9px!important}
  .page-leader_admin .leadership-admin-tabs{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-bottom:12px!important;
  }
  .page-leader_admin .leadership-admin-tabs a{
    min-height:44px!important;
    justify-content:flex-start!important;
    padding:10px 12px!important;
    font-size:11px!important;
  }
  .page-leader_admin .leadership-admin-tabs .tab-count{margin-left:auto!important}
  .page-leader_admin .leadership-admin-stats{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-bottom:12px!important;
  }
  .page-leader_admin .leadership-admin-stat{padding:11px!important;border-radius:14px!important;min-width:0!important}
  .page-leader_admin .leadership-admin-stat small{font-size:8px!important}
  .page-leader_admin .leadership-admin-stat strong{font-size:19px!important;margin-top:4px!important}
  .page-leader_admin .leadership-admin-stat span{font-size:8px!important;line-height:1.3!important}
  .page-leader_admin .leadership-admin-filter{margin-bottom:12px!important;border-radius:15px!important}
  .page-leader_admin .leadership-admin-filter>summary{padding:12px!important}
  .page-leader_admin .leadership-filter-title{font-size:11px!important}
  .page-leader_admin .leadership-filter-title span{display:none!important}
  .page-leader_admin .leadership-filter-grid{padding:0 12px 12px!important;grid-template-columns:1fr!important;gap:9px!important}
  .page-leader_admin .leadership-filter-grid label{font-size:9px!important}
  .page-leader_admin .leadership-admin-table{
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .page-leader_admin .leadership-admin-table table,
  .page-leader_admin .leadership-admin-table tbody{display:grid!important;width:100%!important;min-width:0!important}
  .page-leader_admin .leadership-admin-table thead{display:none!important}
  .page-leader_admin .leadership-admin-table tbody{gap:10px!important}
  .page-leader_admin .leadership-admin-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:0 10px!important;
    padding:13px!important;
    background:#fff!important;
    border:1px solid #e3e8f0!important;
    border-radius:17px!important;
    box-shadow:0 5px 16px rgba(20,31,55,.035)!important;
  }
  .page-leader_admin .leadership-admin-table td{
    min-width:0!important;
    border:0!important;
    padding:5px 0!important;
    font-size:10px!important;
    overflow-wrap:anywhere!important;
  }
  .page-leader_admin .leadership-admin-table td:first-child{
    grid-column:1/-1!important;
    padding:0 0 10px!important;
    margin-bottom:3px!important;
    border-bottom:1px solid #edf0f4!important;
  }
  .page-leader_admin .leadership-admin-table td:not(:first-child):not(:last-child){
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
  }
  .page-leader_admin .leadership-admin-table td:nth-child(2)::before{content:'Tipo';}
  .page-leader_admin .leadership-admin-table td:nth-child(3)::before{content:'Status';}
  .page-leader_admin .leadership-admin-table td:nth-child(4)::before{content:'Ministério';}
  .page-leader_admin .leadership-admin-table td:nth-child(5)::before{content:'Cuidador';}
  .page-leader_admin .leadership-admin-table td:not(:first-child):not(:last-child)::before{
    color:#98a2b3!important;font-size:8px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;
  }
  .page-leader_admin .leadership-admin-table td:last-child{
    grid-column:1/-1!important;
    padding-top:9px!important;
    margin-top:4px!important;
    border-top:1px solid #edf0f4!important;
  }
  .page-leader_admin .leadership-person{gap:9px!important}
  .page-leader_admin .leadership-avatar{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:12px!important}
  .page-leader_admin .leadership-person b{font-size:12px!important}
  .page-leader_admin .leadership-person small{font-size:8px!important}
  .page-leader_admin .leadership-status{font-size:8px!important;padding:5px 7px!important;max-width:100%!important}
  .page-leader_admin .leadership-actions{justify-content:flex-end!important;gap:7px!important}
  .page-leader_admin .leadership-actions .icon-btn{width:38px!important;height:38px!important;border-radius:10px!important}
  .page-leader_admin .leadership-pagination{margin-top:10px!important;padding:12px 2px!important;background:#fff!important;border:1px solid #e3e8f0!important;border-radius:14px!important}
  .page-leader_admin .leadership-pagination .controls{width:100%!important;justify-content:space-between!important}

  /* ==================== MODAL DE IMPREVISTO MOBILE ==================== */
  .page-attendance #mobileIncidentModal{
    align-items:flex-start!important;
    justify-content:center!important;
    padding:10px!important;
    overflow:hidden!important;
  }
  .page-attendance #mobileIncidentModal .mobile-attendance-incident-modal{
    width:min(430px,calc(100vw - 20px))!important;
    max-height:calc(100dvh - 20px)!important;
    padding:18px 15px 14px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .page-attendance #mobileIncidentModal .mobile-attendance-modal-icon{
    width:48px!important;height:48px!important;border-radius:15px!important;font-size:21px!important;margin:0 auto 8px!important;
    flex:0 0 auto!important;
  }
  .page-attendance #mobileIncidentModal .eyebrow{
    margin:0!important;font-size:9px!important;letter-spacing:.14em!important;
  }
  .page-attendance #mobileIncidentModal h2{
    font-size:17px!important;
    line-height:1.15!important;
    margin:5px auto 7px!important;
    max-width:280px!important;
  }
  .page-attendance #mobileIncidentModal p:not(.eyebrow){display:none!important}
  .page-attendance #mobileIncidentModal form{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    flex:1 1 auto!important;
  }
  .page-attendance #mobileIncidentModal textarea{
    min-height:88px!important;
    height:88px!important;
    max-height:88px!important;
    margin:8px 0 9px!important;
    padding:11px 12px!important;
    font-size:13px!important;
    line-height:1.4!important;
    resize:none!important;
    flex:0 0 88px!important;
  }
  .page-attendance #mobileIncidentModal form .btn{
    min-height:40px!important;
    flex:0 0 40px!important;
    font-size:12px!important;
    padding:8px 12px!important;
  }
  .page-attendance #mobileIncidentModal form .btn.danger{margin-top:7px!important}
}

@media (max-width: 380px){
  .page-pastoral_dashboard .advanced-kpis.pastoral-kpis{grid-template-columns:1fr!important}
  .page-leader_admin .leadership-admin-stats{grid-template-columns:1fr!important}
  .page-attendance #mobileIncidentModal .mobile-attendance-incident-modal{padding:15px 12px 12px!important}
  .page-attendance #mobileIncidentModal h2{font-size:16px!important}
}

/* V62 — Refinamentos solicitados: financeiro em uma linha no desktop,
   paginação mobile da fidelidade e ações de presença lado a lado. */
.pastoral-finance-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.pastoral-tithe-mobile-pager{display:none}
.mobile-tithe-page-hidden{display:none!important}

@media (min-width:901px){
  .pastoral-finance-grid .pastoral-finance-card{min-width:0}
}

@media (max-width:900px){
  .page-pastoral_dashboard .pastoral-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:600px){
  /* Os dois comandos de presença ocupam a mesma linha, como Confirmar escala / Não posso. */
  .mobile-attendance-card-actions .mobile-attendance-card-presence{grid-column:auto!important;min-width:0!important}
  .mobile-attendance-card-actions .mobile-attendance-card-incident{grid-column:auto!important;min-width:0!important}

  .pastoral-tithe-mobile-pager{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin-top:12px;padding-top:10px;border-top:1px solid #e7eaf0;
  }
  .pastoral-tithe-mobile-pager button{
    width:38px;height:38px;border:1px solid #dfe4ec;border-radius:11px;
    background:#fff;color:#5558d5;font:800 14px system-ui;cursor:pointer;
  }
  .pastoral-tithe-mobile-pager button:disabled{opacity:.4;cursor:not-allowed}
  .pastoral-tithe-mobile-pager span{color:#667085;font:700 11px system-ui}
}


/* V63 — Mobile: redesign completo da Central de Acompanhamento + janela de presença */
@media (max-width:700px){
  /* ==================== CENTRAL DE ACOMPANHAMENTO ==================== */
  .page-followup .content{
    padding:12px 10px 28px!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .page-followup .followup-page{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .page-followup .followup-command{
    position:relative!important;
    display:block!important;
    padding:16px!important;
    margin:0!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,#ffffff,#f8f8ff)!important;
    border:1px solid #e3e6f1!important;
    box-shadow:0 7px 20px rgba(32,42,74,.06)!important;
  }
  .page-followup .followup-command-main .eyebrow{
    margin:0 0 5px!important;
    font-size:9px!important;
    letter-spacing:.14em!important;
  }
  .page-followup .followup-command-main h2{
    margin:0!important;
    font-size:23px!important;
    line-height:1.1!important;
    letter-spacing:-.02em!important;
  }
  .page-followup .followup-command-main>p:not(.eyebrow){
    margin:7px 0 0!important;
    color:#7b8494!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
  .page-followup .followup-command-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:12px!important;
  }
  .page-followup .followup-command-actions .btn{
    min-height:40px!important;
    padding:9px 12px!important;
    border-radius:12px!important;
    font-size:11px!important;
  }
  .page-followup .followup-count{
    margin-left:auto!important;
    min-width:82px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    background:#f0efff!important;
    text-align:center!important;
  }
  .page-followup .followup-count span,
  .page-followup .followup-count strong{display:block!important}
  .page-followup .followup-count span{font-size:8px!important;color:#727b90!important}
  .page-followup .followup-count strong{font-size:17px!important;line-height:1.1!important;color:#4245c8!important}

  .page-followup .followup-tabs{
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 1px 5px!important;
    margin:0!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .page-followup .followup-tabs::-webkit-scrollbar{display:none!important}
  .page-followup .followup-tab{
    flex:0 0 auto!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    padding:8px 12px!important;
    border:1px solid #e1e5ef!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#697386!important;
    font-size:10px!important;
    font-weight:750!important;
    white-space:nowrap!important;
  }
  .page-followup .followup-tab.active{
    background:#5b5ce2!important;
    border-color:#5b5ce2!important;
    color:#fff!important;
    box-shadow:0 5px 13px rgba(91,92,226,.18)!important;
  }

  .page-followup .followup-card-block{
    padding:14px!important;
    margin:0!important;
    border-radius:18px!important;
    border:1px solid #e3e6ef!important;
    background:#fff!important;
    box-shadow:0 5px 17px rgba(25,35,62,.045)!important;
  }
  .page-followup .followup-section-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-bottom:11px!important;
  }
  .page-followup .followup-section-head h3{
    margin:0!important;
    font-size:16px!important;
    line-height:1.2!important;
  }
  .page-followup .followup-section-head span{font-size:9px!important;color:#8a93a3!important}
  .page-followup .followup-selection{
    max-width:145px!important;
    padding:7px 8px!important;
    border-radius:9px!important;
    background:#f1f0ff!important;
    color:#5b5ce2!important;
    font-size:8px!important;
    line-height:1.25!important;
    text-align:right!important;
  }
  .page-followup .followup-overview-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .page-followup .followup-overview-card{
    min-width:0!important;
    padding:11px!important;
    border-radius:14px!important;
    gap:8px!important;
    box-shadow:none!important;
  }
  .page-followup .followup-overview-icon{width:34px!important;height:34px!important;border-radius:10px!important;font-size:15px!important}
  .page-followup .followup-overview-card b{font-size:10px!important;line-height:1.2!important}
  .page-followup .followup-overview-card small{font-size:8px!important;line-height:1.25!important}
  .page-followup .followup-overview-card strong{font-size:17px!important}
  .page-followup .followup-analysis-cards{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .page-followup .followup-analysis-card{
    min-width:0!important;
    padding:12px!important;
    border-radius:14px!important;
    border-top-width:3px!important;
  }
  .page-followup .followup-analysis-card span{font-size:10px!important;line-height:1.2!important}
  .page-followup .followup-analysis-card strong{font-size:22px!important;margin-top:6px!important}
  .page-followup .followup-analysis-card small{font-size:8px!important;margin-top:2px!important}

  .page-followup .followup-filters{
    margin:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .page-followup .followup-filters summary{padding:12px 13px!important;min-height:46px!important}
  .page-followup .followup-filters summary div b{font-size:11px!important}
  .page-followup .followup-filters summary div span{font-size:8px!important}
  .page-followup .followup-filter-grid{padding:0 13px 13px!important;gap:8px!important}
  .page-followup .followup-filter-grid label{font-size:9px!important;gap:5px!important}
  .page-followup .followup-filter-grid input,
  .page-followup .followup-filter-grid select{min-height:40px!important;font-size:11px!important}
  .page-followup .followup-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .page-followup .followup-filter-actions .btn{min-height:40px!important;font-size:10px!important}
  .page-followup .followup-columns{
    display:block!important;
    margin:0 13px!important;
    padding:12px 0 13px!important;
  }
  .page-followup .followup-columns>div:first-child{min-width:0!important;margin-bottom:8px!important}
  .page-followup .followup-columns b{font-size:10px!important}
  .page-followup .followup-columns small{font-size:8px!important}
  .page-followup .followup-column-checks{display:grid!important;grid-template-columns:1fr 1fr!important;max-height:150px!important;gap:6px!important}
  .page-followup .followup-column-checks label{min-height:34px!important;padding:7px 8px!important;font-size:9px!important}

  /* Resultados: cada pessoa vira um card visual, sem a aparência de tabela quebrada. */
  .page-followup .followup-results{
    margin:0!important;
    border-radius:18px!important;
    border:1px solid #e2e6ef!important;
    background:#fff!important;
    box-shadow:0 5px 17px rgba(25,35,62,.045)!important;
    overflow:hidden!important;
  }
  .page-followup .followup-results-head{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:14px!important;
  }
  .page-followup .followup-results-head h3{margin:0!important;font-size:16px!important}
  .page-followup .followup-results-head span{display:block!important;margin-top:3px!important;font-size:8px!important;color:#8a93a3!important}
  .page-followup .followup-results-head .btn{min-height:38px!important;padding:8px 10px!important;font-size:9px!important;border-radius:11px!important}
  .page-followup .followup-table-wrap{padding:0 10px 10px!important;overflow:visible!important}
  .page-followup .followup-table,
  .page-followup .followup-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .page-followup .followup-table thead{display:none!important}
  .page-followup .followup-table tbody{display:flex!important;flex-direction:column!important;gap:9px!important}
  .page-followup .followup-table tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 9px!important;
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
    border:1px solid #e3e7ef!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,#fff,#fafbfe)!important;
    box-shadow:0 4px 12px rgba(25,35,62,.035)!important;
  }
  .page-followup .followup-table td{
    display:flex!important;
    align-items:flex-start!important;
    min-width:0!important;
    width:auto!important;
    padding:7px 0!important;
    border:0!important;
    text-align:left!important;
    font-size:10px!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .page-followup .followup-table td:first-child{
    grid-column:1/-1!important;
    padding:0 0 10px!important;
    margin-bottom:2px!important;
    border-bottom:1px solid #edf0f4!important;
  }
  .page-followup .followup-table td:first-child .followup-person{width:100%!important}
  .page-followup .followup-person{gap:9px!important}
  .page-followup .followup-avatar{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:13px!important}
  .page-followup .followup-person b{font-size:12px!important;line-height:1.2!important}
  .page-followup .followup-person small{font-size:8px!important;margin-top:3px!important}
  .page-followup .followup-table td:not(:first-child):not(:last-child){
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    align-items:center!important;
    gap:6px!important;
  }
  .page-followup .followup-table td[data-col]::before{
    content:attr(data-col)!important;
    display:block!important;
    color:#98a1b1!important;
    font-size:7px!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }
  .page-followup .followup-table td[data-col="tipo"]::before{content:'Tipo'!important}
  .page-followup .followup-table td[data-col="status"]::before{content:'Status'!important}
  .page-followup .followup-table td[data-col="telefone"]::before{content:'Telefone'!important}
  .page-followup .followup-table td[data-col="whatsapp"]::before{content:'WhatsApp'!important}
  .page-followup .followup-table td[data-col="email"]::before{content:'E-mail'!important}
  .page-followup .followup-table td[data-col="nascimento"]::before{content:'Nascimento'!important}
  .page-followup .followup-table td[data-col="civil"]::before{content:'Civil'!important}
  .page-followup .followup-table td[data-col="sexo"]::before{content:'Gênero'!important}
  .page-followup .followup-table td[data-col="filhos"]::before{content:'Filhos'!important}
  .page-followup .followup-table td[data-col="batizado"]::before{content:'Batizado'!important}
  .page-followup .followup-table td[data-col="ministerios"]::before{content:'Ministérios'!important}
  .page-followup .followup-table td[data-col="criacao"]::before{content:'Criado'!important}
  .page-followup .followup-table td[data-col="status"]{font-weight:700!important}
  .page-followup .followup-table td:last-child{
    grid-column:1/-1!important;
    padding:9px 0 0!important;
    margin-top:3px!important;
    border-top:1px solid #edf0f4!important;
  }
  .page-followup .followup-table .table-actions{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:7px!important;
    width:100%!important;
  }
  .page-followup .followup-table .table-actions .icon-btn{
    width:100%!important;
    height:38px!important;
    border-radius:10px!important;
  }
  .page-followup .followup-results>.pagination{
    margin:0!important;
    padding:11px 12px!important;
    border-top:1px solid #edf0f4!important;
  }
}

@media(max-width:380px){
  .page-followup .followup-overview-grid,
  .page-followup .followup-analysis-cards{grid-template-columns:1fr!important}
  .page-followup .followup-table tr{grid-template-columns:1fr!important}
}

.main.page-social_dashboard .content{width:100%!important;max-width:none!important;padding:22px 18px 34px!important;box-sizing:border-box!important}

/* V100 — Organização/Cronograma: no menu lateral do mobile, o acesso fica concentrado no menu do perfil. */
@media(max-width:980px){.nav-group-mobile-hidden{display:none!important}}

/* V107 — menu de perfil mobile unificado: o menu da Presença tornou-se o padrão global. */
@media (max-width:760px){
  html,body{overflow-x:hidden!important}
  .topbar{position:relative!important;min-height:92px!important;height:92px!important;padding:0 14px!important;box-sizing:border-box!important;display:block!important}
  .topbar>.mobile-menu{display:grid!important;place-items:center!important;position:absolute!important;left:14px!important;top:18px!important;width:44px!important;height:44px!important;margin:0!important;border:1px solid #e2e6ee!important;background:#f4f5f8!important;border-radius:13px!important;font-size:25px!important;line-height:1!important;z-index:5!important}
  .global-mobile-profile{display:block!important;position:absolute!important;left:50%!important;top:10px!important;right:auto!important;transform:translateX(-50%)!important;width:50px!important;height:50px!important;z-index:2147483645!important}
  .global-mobile-avatar{display:block!important;width:50px!important;height:50px!important;border-radius:50%!important;padding:0!important;border:1px solid #e0e4ec!important;background:#eef0ff!important;box-shadow:0 2px 8px rgba(20,31,55,.06)!important;overflow:hidden!important;cursor:pointer!important}
  .global-mobile-avatar img,.global-mobile-avatar span{width:100%!important;height:100%!important;object-fit:cover!important}
  .global-mobile-avatar span{display:grid!important;place-items:center!important;color:#5658d8!important;font-weight:900!important;font-size:16px!important}
  .global-mobile-menu{display:none!important;position:fixed!important;left:50%!important;right:auto!important;top:74px!important;transform:translateX(-50%)!important;width:min(310px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 88px)!important;overflow:auto!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #e4e8f0!important;border-radius:18px!important;box-shadow:0 20px 55px rgba(20,31,55,.18)!important;padding:8px!important;z-index:2147483646!important}
  .global-mobile-menu.show{display:block!important}
  .global-mobile-menu-head{padding:10px!important;border-bottom:1px solid #edf0f4!important;margin-bottom:4px!important}
  .global-mobile-menu-head b,.global-mobile-menu-head small{display:block!important}
  .global-mobile-menu-head b{font-size:12px!important}
  .global-mobile-menu-head small{font-size:9px!important;color:#8993a6!important;margin-top:3px!important}
  .global-mobile-menu>a{display:flex!important;align-items:center!important;gap:10px!important;padding:10px!important;border-radius:12px!important;text-decoration:none!important;color:#20283a!important;min-height:42px!important;box-sizing:border-box!important}
  .global-mobile-menu>a:hover,.global-mobile-menu>a.active{background:#f5f5ff!important}
  .global-mobile-menu>a>span:first-child{display:grid!important;place-items:center!important;flex:0 0 18px!important;width:18px!important;font-size:16px!important;line-height:1!important}
  .global-mobile-menu>a>span:nth-child(2){display:grid!important;gap:2px!important;min-width:0!important}
  .global-mobile-menu>a b{font-size:11px!important}
  .global-mobile-menu>a small{font-size:8px!important;color:#8993a6!important}
  .global-mobile-menu>a.logout{border-top:1px solid #edf0f4!important;margin-top:4px!important;color:#b42318!important}
  .topbar>div:not(.global-mobile-profile),.topbar>.top-actions{display:none!important}
  .mobile-home-header.mobile-unified-header{position:relative!important;height:92px!important;min-height:92px!important;padding:0 14px!important;box-sizing:border-box!important;display:block!important;background:#fff!important;border-bottom:1px solid #e6e9f0!important}
  .mobile-unified-hamburger{display:grid!important;place-items:center!important;position:absolute!important;left:14px!important;top:18px!important;width:44px!important;height:44px!important;margin:0!important;border:1px solid #e2e6ee!important;background:#f4f5f8!important;border-radius:13px!important;font-size:25px!important;line-height:1!important;z-index:5!important}
  .mobile-unified-profile{left:50%!important;top:10px!important}
  .mobile-unified-spacer{display:none!important}
  .mobile-unified-notif{position:absolute!important;right:14px!important;top:18px!important;width:44px!important;height:44px!important;margin:0!important;border:1px solid #e3e7ef!important;border-radius:13px!important;background:#fff!important;font-size:17px!important;z-index:5!important}
  .mobile-unified-notif b{position:absolute!important;right:-4px!important;top:-4px!important;min-width:18px!important;height:18px!important;border-radius:99px!important;background:#e5484d!important;color:#fff!important;font-size:9px!important;display:grid!important;place-items:center!important}
  .page-attendance .global-mobile-profile{display:block!important;position:absolute!important;left:50%!important;top:10px!important;transform:translateX(-50%)!important}
  .page-attendance .mobile-attendance-top{height:92px!important;padding:0 14px!important;display:block!important;position:sticky!important;top:0!important}
  .page-attendance .mobile-attendance-hamburger{left:14px!important;top:18px!important}
  .page-attendance .mobile-attendance-notif{right:14px!important;top:18px!important;width:44px!important;height:44px!important}
}

/* V108 — Menu de perfil mobile: padrão único, central e legível em todas as telas. */
@media (max-width:760px){
  .global-mobile-profile{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:10px!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:50px!important;
    height:50px!important;
    margin:0!important;
    z-index:2147483645!important;
  }
  .global-mobile-avatar{
    display:block!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    padding:0!important;
    border:1px solid #e0e4ec!important;
    border-radius:50%!important;
    background:#eef0ff!important;
    box-shadow:0 2px 8px rgba(20,31,55,.06)!important;
    overflow:hidden!important;
    cursor:pointer!important;
  }
  .global-mobile-avatar img,.global-mobile-avatar span{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .global-mobile-avatar span{display:grid!important;place-items:center!important;color:#5658d8!important;font-weight:900!important;font-size:16px!important}

  .global-mobile-menu{
    display:none!important;
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:82px!important;
    transform:translateX(-50%)!important;
    width:min(500px,calc(100vw - 32px))!important;
    max-width:calc(100vw - 32px)!important;
    max-height:calc(100vh - 98px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    padding:10px!important;
    background:#fff!important;
    border:1px solid #e3e7ef!important;
    border-radius:22px!important;
    box-shadow:0 18px 48px rgba(20,31,55,.20)!important;
    z-index:2147483646!important;
  }
  .global-mobile-menu.show{display:block!important}
  .global-mobile-menu-head{
    padding:11px 12px 12px!important;
    margin:0 0 5px!important;
    border-bottom:1px solid #edf0f4!important;
  }
  .global-mobile-menu-head b{display:block!important;font-size:14px!important;line-height:1.2!important;color:#20283a!important}
  .global-mobile-menu-head small{display:block!important;margin-top:4px!important;font-size:11px!important;line-height:1.2!important;color:#8b94a5!important}
  .global-mobile-menu>a{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:8px!important;
    width:100%!important;
    min-height:54px!important;
    padding:8px 10px!important;
    box-sizing:border-box!important;
    border-radius:15px!important;
    text-decoration:none!important;
    color:#20283a!important;
  }
  .global-mobile-menu>a:hover,.global-mobile-menu>a.active{background:#f5f5ff!important}
  .global-mobile-menu>a::first-letter{font-size:18px!important}
  .global-mobile-menu>a>span{
    display:grid!important;
    grid-column:2!important;
    min-width:0!important;
    width:auto!important;
    gap:3px!important;
  }
  .global-mobile-menu>a>b{font-size:14px!important}
  .global-mobile-menu>a>span b{display:block!important;font-size:14px!important;line-height:1.15!important;color:#20283a!important;white-space:normal!important;overflow-wrap:break-word!important}
  .global-mobile-menu>a>span small{display:block!important;font-size:11px!important;line-height:1.25!important;color:#8b94a5!important;white-space:normal!important;overflow-wrap:break-word!important}
  .global-mobile-menu>a.logout{margin-top:5px!important;padding-top:10px!important;border-top:1px solid #edf0f4!important;color:#b42318!important}
  .global-mobile-menu>a.logout span b{color:#b42318!important}

  /* A Presença usa exatamente o mesmo componente global. */
  .page-attendance .global-mobile-profile{display:block!important;left:50%!important;top:10px!important;transform:translateX(-50%)!important;width:50px!important;height:50px!important}
  .page-attendance .global-mobile-menu{top:82px!important}
  .page-attendance .mobile-attendance-profile{display:none!important}
}

/* V108 — Menu de perfil mobile: padrão único, central e legível em todas as telas. */
@media (max-width:760px){
  .global-mobile-profile{display:block!important;position:absolute!important;left:50%!important;top:10px!important;right:auto!important;transform:translateX(-50%)!important;width:50px!important;height:50px!important;margin:0!important;z-index:2147483645!important}
  .global-mobile-avatar{display:block!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;padding:0!important;border:1px solid #e0e4ec!important;border-radius:50%!important;background:#eef0ff!important;box-shadow:0 2px 8px rgba(20,31,55,.06)!important;overflow:hidden!important;cursor:pointer!important}
  .global-mobile-avatar img,.global-mobile-avatar span{width:100%!important;height:100%!important;object-fit:cover!important}
  .global-mobile-avatar span{display:grid!important;place-items:center!important;color:#5658d8!important;font-weight:900!important;font-size:16px!important}
  .global-mobile-menu{display:none!important;position:fixed!important;left:50%!important;right:auto!important;top:82px!important;transform:translateX(-50%)!important;width:min(500px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 98px)!important;overflow-y:auto!important;overflow-x:hidden!important;box-sizing:border-box!important;padding:10px!important;background:#fff!important;border:1px solid #e3e7ef!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(20,31,55,.20)!important;z-index:2147483646!important}
  .global-mobile-menu.show{display:block!important}
  .global-mobile-menu-head{padding:11px 12px 12px!important;margin:0 0 5px!important;border-bottom:1px solid #edf0f4!important}
  .global-mobile-menu-head b{display:block!important;font-size:14px!important;line-height:1.2!important;color:#20283a!important}
  .global-mobile-menu-head small{display:block!important;margin-top:4px!important;font-size:11px!important;line-height:1.2!important;color:#8b94a5!important}
  .global-mobile-menu>a{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;width:100%!important;min-height:54px!important;padding:8px 10px!important;box-sizing:border-box!important;border-radius:15px!important;text-decoration:none!important;color:#20283a!important}
  .global-mobile-menu>a:hover,.global-mobile-menu>a.active{background:#f5f5ff!important}
  .global-mobile-menu>a>span{display:grid!important;grid-column:2!important;min-width:0!important;width:auto!important;gap:3px!important}
  .global-mobile-menu>a>span b{display:block!important;font-size:14px!important;line-height:1.15!important;color:#20283a!important;white-space:normal!important;overflow-wrap:break-word!important}
  .global-mobile-menu>a>span small{display:block!important;font-size:11px!important;line-height:1.25!important;color:#8b94a5!important;white-space:normal!important;overflow-wrap:break-word!important}
  .global-mobile-menu>a.logout{margin-top:5px!important;padding-top:10px!important;border-top:1px solid #edf0f4!important;color:#b42318!important}
  .global-mobile-menu>a.logout span b{color:#b42318!important}
  .page-attendance .global-mobile-profile{display:block!important;left:50%!important;top:10px!important;transform:translateX(-50%)!important;width:50px!important;height:50px!important}
  .page-attendance .global-mobile-menu{top:82px!important}
  .page-attendance .mobile-attendance-profile{display:none!important}
}

/* V109 — Menu mobile: estrutura de duas colunas real, sem colapso do texto. */
@media (max-width:760px){
  .global-mobile-menu{
    width:min(360px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    padding:10px!important;
    border-radius:22px!important;
  }
  .global-mobile-menu>a{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:10px!important;
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    padding:9px 10px!important;
  }
  .global-mobile-menu>a .global-menu-icon{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    font-size:18px!important;
    line-height:1!important;
    color:#20283a!important;
  }
  .global-mobile-menu>a .global-menu-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0!important;
    width:100%!important;
    gap:3px!important;
  }
  .global-mobile-menu>a .global-menu-copy b{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .global-mobile-menu>a .global-menu-copy small{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .global-mobile-menu>a.logout .global-menu-icon,
  .global-mobile-menu>a.logout .global-menu-copy b{color:#b42318!important}
}

/* V110 — Menu mobile elegante: ícone e conteúdo em colunas reais, sem espaçamento excessivo. */
@media (max-width:760px){
  .global-mobile-menu{
    width:calc(100vw - 28px)!important;
    max-width:390px!important;
    padding:10px!important;
    border-radius:20px!important;
    top:76px!important;
    max-height:calc(100vh - 92px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  .page-attendance .global-mobile-menu{top:76px!important}
  .global-mobile-menu-head{
    padding:8px 10px 11px!important;
    margin:0 0 5px!important;
  }
  .global-mobile-menu-head b{font-size:15px!important;line-height:1.2!important}
  .global-mobile-menu-head small{font-size:11px!important;line-height:1.2!important;margin-top:3px!important}
  .global-mobile-menu>a{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:4px!important;
    width:100%!important;
    min-height:52px!important;
    padding:8px 10px!important;
    margin:1px 0!important;
    box-sizing:border-box!important;
    border-radius:14px!important;
    text-decoration:none!important;
  }
  .global-mobile-menu>a .global-menu-icon{
    grid-column:1!important;
    grid-row:1!important;
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    font-size:17px!important;
    line-height:1!important;
    color:#303746!important;
  }
  .global-mobile-menu>a .global-menu-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    min-width:0!important;
    width:100%!important;
    gap:2px!important;
  }
  .global-mobile-menu>a .global-menu-copy b{
    display:block!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
  }
  .global-mobile-menu>a .global-menu-copy small{
    display:block!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
    color:#8b94a5!important;
  }
  .global-mobile-menu>a.active,.global-mobile-menu>a:hover{background:#f5f5ff!important}
  .global-mobile-menu>a.logout{
    margin:6px 0 0!important;
    padding-top:9px!important;
    border-top:1px solid #edf0f4!important;
    border-radius:0 0 14px 14px!important;
  }
  .global-mobile-menu>a.logout .global-menu-icon,.global-mobile-menu>a.logout .global-menu-copy b{color:#b42318!important}
}


/* V111 — Menu mobile: alinhamento compacto e consistente.
   Todos os itens usam exatamente a mesma estrutura: ícone + conteúdo. */
@media (max-width:760px){
  .global-mobile-menu{
    width:calc(100vw - 28px)!important;
    max-width:360px!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }
  .global-mobile-menu>a{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    column-gap:8px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    padding:8px 10px!important;
    margin:1px 0!important;
    box-sizing:border-box!important;
  }
  .global-mobile-menu>a .global-menu-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1!important;
    color:#303746!important;
  }
  .global-mobile-menu>a .global-menu-copy{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0!important;
    width:100%!important;
    gap:2px!important;
    margin:0!important;
  }
  .global-mobile-menu>a .global-menu-copy b{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .global-mobile-menu>a .global-menu-copy small{
    display:block!important;
    width:100%!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#8b94a5!important;
  }
  .global-mobile-menu>a.logout{
    margin-top:6px!important;
    padding-top:9px!important;
  }
  .global-mobile-menu>a.logout .global-menu-icon,
  .global-mobile-menu>a.logout .global-menu-copy b{color:#b42318!important}
}

/* ================================================================
   Igreja Nova — Menu de perfil mobile V112
   Componente completamente isolado. Não usa .global-mobile-* nem IDs
   compartilhados com outros menus. O componente único é core/mobile_profile_menu.php.
   ================================================================ */
@media (max-width:760px){
  :root{
    --inm-v112-width:min(360px,calc(100vw - 28px));
    --inm-v112-radius:20px;
    --inm-v112-item-radius:13px;
    --inm-v112-icon-size:28px;
    --inm-v112-gap:10px;
  }

  .inm-profile{
    position:absolute!important;
    left:50%!important;
    top:10px!important;
    transform:translateX(-50%)!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    z-index:2147483647!important;
  }

  .inm-avatar{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dfe4ed!important;
    border-radius:50%!important;
    background:#eef0ff!important;
    color:#5658d8!important;
    overflow:hidden!important;
    cursor:pointer!important;
    box-shadow:0 3px 10px rgba(22,30,48,.07)!important;
  }
  .inm-avatar img,.inm-avatar>span{
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    font-size:16px!important;
    font-weight:800!important;
    line-height:1!important;
  }

  .inm-menu{
    display:none!important;
    position:fixed!important;
    left:50%!important;
    top:78px!important;
    transform:translateX(-50%)!important;
    width:var(--inm-v112-width)!important;
    max-width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 94px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border:1px solid #e1e6ef!important;
    border-radius:var(--inm-v112-radius)!important;
    box-shadow:0 22px 60px rgba(18,27,48,.20),0 3px 12px rgba(18,27,48,.06)!important;
    z-index:2147483646!important;
  }
  .inm-menu[data-inm-open="1"]{display:block!important}

  .inm-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    width:100%!important;
    margin:0 0 5px!important;
    padding:8px 10px 11px!important;
    border-bottom:1px solid #edf0f4!important;
    box-sizing:border-box!important;
  }
  .inm-head b{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:#20283a!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .inm-head small{
    display:block!important;
    width:100%!important;
    margin:3px 0 0!important;
    color:#8b94a5!important;
    font-size:11px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .inm-menu>a{
    display:flex!important;
    align-items:center!important;
    gap:var(--inm-v112-gap)!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    margin:1px 0!important;
    padding:8px 10px!important;
    box-sizing:border-box!important;
    border-radius:var(--inm-v112-item-radius)!important;
    color:#20283a!important;
    text-decoration:none!important;
    overflow:hidden!important;
  }
  .inm-menu>a.is-active{background:#f4f4ff!important}
  .inm-menu>a:active{background:#f0f1ff!important}

  .inm-icon{
    flex:0 0 var(--inm-v112-icon-size)!important;
    width:var(--inm-v112-icon-size)!important;
    height:var(--inm-v112-icon-size)!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    color:#303746!important;
    font-size:17px!important;
    line-height:1!important;
  }
  .inm-copy{
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:2px!important;
    margin:0!important;
    padding:0!important;
  }
  .inm-copy b{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:#20283a!important;
    font-size:14px!important;
    font-weight:650!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .inm-copy small{
    display:block!important;
    width:100%!important;
    margin:0!important;
    color:#8b94a5!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .inm-logout{
    margin:6px 0 0!important;
    padding-top:10px!important;
    border-top:1px solid #edf0f4!important;
    border-radius:0 0 var(--inm-v112-item-radius) var(--inm-v112-item-radius)!important;
  }
  .inm-logout .inm-icon,.inm-logout .inm-copy b{color:#b42318!important}

  /* Cabeçalhos que possuem este menu sempre usam o mesmo eixo vertical. */
  .topbar>.inm-profile{top:18px!important}
  .mobile-attendance-top>.inm-profile{top:10px!important}
  .mobile-home-header>.inm-profile{top:10px!important}
}

@media (min-width:761px){
  .inm-profile{display:none!important}
}

/* ================================================================
   Igreja Nova — Cabeçalho Mobile Global V113
   Um único cabeçalho para TODAS as telas mobile.
   Prefixo isolado: inm-v113-*
   ================================================================ */
.inm-v113-header{display:none}
@media(max-width:760px){
  :root{
    --inm-v113-header-h:76px;
    --inm-v113-side:14px;
    --inm-v113-control:44px;
    --inm-v113-radius:13px;
  }
  html,body{overflow-x:hidden!important}
  .inm-v113-header{
    position:fixed!important;
    inset:0 0 auto 0!important;
    height:var(--inm-v113-header-h)!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 var(--inm-v113-side)!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border-bottom:1px solid #e6e9f0!important;
    z-index:2147483640!important;
  }
  .inm-v113-menu-toggle,
  .inm-v113-notif{
    position:absolute!important;
    top:16px!important;
    width:var(--inm-v113-control)!important;
    height:var(--inm-v113-control)!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    border:1px solid #e1e5ed!important;
    background:#fff!important;
    border-radius:var(--inm-v113-radius)!important;
    box-shadow:0 3px 12px rgba(20,31,55,.06)!important;
    color:#202735!important;
    cursor:pointer!important;
    z-index:4!important;
  }
  .inm-v113-menu-toggle{left:var(--inm-v113-side)!important;font-size:25px!important;line-height:1!important;background:#f5f6f9!important}
  .inm-v113-notif{right:var(--inm-v113-side)!important;font-size:17px!important}
  .inm-v113-notif b{
    position:absolute!important;
    right:-4px!important;
    top:-5px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    border-radius:99px!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
    background:#e5484d!important;
    border:2px solid #fff!important;
    color:#fff!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .inm-v113-brand-spacer{width:44px!important;height:44px!important}

  /* O perfil é o único elemento visual central. */
  .inm-v113-header>.inm-profile{
    position:absolute!important;
    left:50%!important;
    top:9px!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:58px!important;
    height:58px!important;
    margin:0!important;
    padding:0!important;
    z-index:5!important;
  }
  .inm-v113-header>.inm-profile>.inm-avatar{
    width:58px!important;
    height:58px!important;
    border-radius:50%!important;
    border:1px solid #dfe4ed!important;
    box-shadow:0 3px 12px rgba(20,31,55,.10)!important;
    background:#eef0ff!important;
  }

  /* O cabeçalho antigo deixa de disputar espaço/posição no mobile. */
  .topbar{display:none!important}
  .mobile-attendance-top{display:none!important}
  .mobile-home-header{display:none!important}

  /* Todos os conteúdos começam abaixo do cabeçalho único. */
  .main{width:100%!important;margin:0!important}
  .content{padding-top:calc(var(--inm-v113-header-h) + 18px)!important}
  .page-attendance .content{padding-top:0!important}
  .page-attendance .mobile-attendance-shell{padding-top:var(--inm-v113-header-h)!important;box-sizing:border-box!important}
  .page-mobile_home .content{padding-top:var(--inm-v113-header-h)!important}
  .page-mobile_home .mobile-home-shell{padding-top:10px!important}

  /* Drawer de notificações acompanha o novo cabeçalho. */
  .notification-drawer{top:86px!important;right:10px!important;left:10px!important;width:auto!important;max-width:none!important}

  /* O menu de perfil continua preso ao cabeçalho global, sempre centralizado. */
  .inm-v113-header>.inm-profile .inm-menu{
    top:70px!important;
    width:min(360px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
  }

  /* A lateral continua disponível pelo botão hambúrguer, sem interferir no menu de perfil. */
  .inm-v113-header~.main .sidebar{display:flex!important}
}
@media(min-width:761px){.inm-v113-header{display:none!important}}

/* ================================================================
   Igreja Nova — V114: Presença usa exclusivamente o cabeçalho global
   ================================================================ */
@media(max-width:760px){
  .page-attendance .mobile-attendance-top,
  .page-attendance .mobile-attendance-hamburger,
  .page-attendance .mobile-attendance-notif{
    display:none!important;
  }
  .page-attendance .mobile-attendance-shell{
    padding-top:var(--inm-v113-header-h)!important;
  }
}
