:root{--primary:#17304d;--primary-2:#234d70;--accent:#d8a62a;--bg:#f4f7f9;--surface:#fff;--surface-2:#f8fafb;--text:#1c2c3b;--muted:#6c7c89;--line:#dfe6eb;--success:#4d7a58;--danger:#b75b62;--sidebar:268px;--sidebar-small:82px;--radius:14px;--shadow:0 10px 30px rgba(23,48,77,.08)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-small) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#132d48 0%,#173c5c 100%);color:#fff;overflow:hidden;z-index:20;box-shadow:10px 0 28px rgba(17,40,63,.12)}.sidebar-brand{height:84px;display:flex;align-items:center;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand a{display:block}.brand-logo{display:block;height:43px;max-width:186px}.brand-logo-compact{display:none;width:42px;object-fit:contain}.sidebar-nav{flex:1;overflow:auto;padding:18px 14px}.sidebar-caption{display:block;padding:15px 12px 8px;color:#91a8bc;font-size:10px;font-weight:800;letter-spacing:.14em}.sidebar-link,.sidebar-group-toggle{width:100%;min-height:44px;display:flex;align-items:center;gap:12px;padding:10px 13px;border:0;border-radius:10px;background:transparent;color:#e6edf3;text-decoration:none;text-align:left;cursor:pointer;transition:.18s ease}.sidebar-link:hover,.sidebar-group-toggle:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-link i,.sidebar-group-toggle i,.sidebar-link iconify-icon,.sidebar-group-toggle iconify-icon{font-size:18px;width:20px;text-align:center;color:#afc2d2}.sidebar-group-toggle{justify-content:space-between}.sidebar-group-toggle>span{display:flex;align-items:center;gap:12px}.group-chevron{font-size:12px!important;transition:transform .2s}.sidebar-submenu{display:grid;gap:3px;padding:4px 0 8px 45px}.sidebar-submenu a{padding:8px 10px;border-radius:8px;color:#cbd8e2;text-decoration:none;font-size:13px}.sidebar-submenu a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-group.is-closed .sidebar-submenu{display:none}.sidebar-group.is-closed .group-chevron{transform:rotate(-90deg)}.sidebar-footer{padding:16px 26px;color:#aec0ce;font-size:12px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer span{color:#fff}.sidebar-collapsed .brand-logo-full,.sidebar-collapsed .sidebar-caption,.sidebar-collapsed .sidebar-link span,.sidebar-collapsed .sidebar-group-toggle span span,.sidebar-collapsed .group-chevron,.sidebar-collapsed .sidebar-submenu,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .brand-logo-compact{display:block}.sidebar-collapsed .sidebar-brand{padding:18px 20px}.sidebar-collapsed .sidebar-nav{padding:18px 12px}.sidebar-collapsed .sidebar-link,.sidebar-collapsed .sidebar-group-toggle{justify-content:center;padding:10px}.app-main{min-width:0}.topbar{height:72px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 28px}.topbar-start,.topbar-user,.user-chip{display:flex;align-items:center}.topbar-start{gap:15px}.sidebar-toggle,.topbar-action,.topbar-logout{border:0;background:transparent;color:var(--primary);cursor:pointer}.sidebar-toggle{width:40px;height:40px;border-radius:10px;font-size:23px}.sidebar-toggle:hover,.topbar-action:hover{background:#edf2f5}.topbar-title{display:flex;flex-direction:column}.topbar-title strong{font-size:17px}.topbar-kicker{font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--accent)}.topbar-user{gap:10px}.topbar-action{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;text-decoration:none;font-size:17px}.user-chip{gap:9px;padding:4px 10px 4px 5px;text-decoration:none;border-radius:12px}.user-chip:hover{background:#f2f5f7}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9eff4;color:var(--primary)}.user-copy{display:flex;flex-direction:column}.user-copy strong{font-size:13px}.user-copy small{font-size:10px;color:var(--muted)}.topbar-user form{margin:0}.topbar-logout{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:9px;color:#8c4a50}.topbar-logout:hover{background:#f8ebed}.page-content{padding:30px;max-width:1680px;margin:0 auto}.messages{display:grid;gap:8px;margin-bottom:18px}.message{padding:12px 15px;border-radius:10px;background:#eaf5ec;color:#31663c;border:1px solid #cde4d2}.message-error{background:#f9ebed;color:#8c3f47;border-color:#efd0d4}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.page-heading h1{margin:3px 0 6px;font-size:28px;color:var(--primary)}.page-heading p{margin:0;color:var(--muted)}.section-kicker,.eyebrow{color:#b18013;font-size:10px;font-weight:800;letter-spacing:.13em}.content-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}.card-heading{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line)}.card-heading>i,.card-heading>iconify-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#eaf0f5;color:var(--primary);font-size:18px}.card-heading small{display:block;color:#9a781f;font-weight:800;font-size:9px;letter-spacing:.12em}.card-heading h2{margin:3px 0 0;font-size:18px}.dashboard-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;min-height:155px;padding:30px 34px;margin-bottom:22px;border-radius:18px;background:linear-gradient(115deg,#17304d,#275779);color:#fff;box-shadow:0 16px 35px rgba(23,48,77,.2)}.dashboard-hero h1{margin:5px 0 7px;font-size:30px}.dashboard-hero p{margin:0;color:#d9e5ee}.dashboard-hero .section-kicker{color:#f2cc69}.hero-mark{font-size:74px;color:rgba(255,255,255,.15)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.module-card{position:relative;min-height:190px;display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);text-decoration:none;transition:transform .18s,box-shadow .18s}.module-card:not(.is-pending):hover{transform:translateY(-4px);box-shadow:0 17px 34px rgba(23,48,77,.13)}.module-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e7eef4;color:#204b6c;font-size:23px}.module-copy{margin-top:18px}.module-copy h2{margin:0 0 7px;font-size:17px;color:var(--primary)}.module-copy p{margin:0;color:var(--muted);line-height:1.45;font-size:12px}.module-arrow{position:absolute;right:20px;bottom:18px;color:var(--primary)}.module-status{position:absolute;right:16px;top:17px;padding:5px 8px;border-radius:999px;background:#f1f3f5;color:#83919b;font-size:9px;font-weight:800;text-transform:uppercase}.module-card.is-pending{opacity:.73}.module-dourado .module-icon{background:#fbf2d9;color:#9b7518}.module-verde .module-icon{background:#e6f1e8;color:#41704c}.module-roxo .module-icon{background:#eee9f6;color:#70588f}.module-ciano .module-icon{background:#e3f1f2;color:#3f797d}.module-laranja .module-icon{background:#f9ecdf;color:#9b6534}.module-rosa .module-icon{background:#f7e7ed;color:#97566e}.module-cinza .module-icon{background:#edf0f2;color:#5e6d78}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:20px}.stats .card{display:flex;flex-direction:column}.stats strong{font-size:30px;color:var(--primary)}.stats span{color:var(--muted)}.button-primary,.button-secondary,.form-actions button,.filters button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border-radius:9px;text-decoration:none;cursor:pointer}.button-primary,.form-actions button,.filters button{border:1px solid var(--primary);background:var(--primary);color:#fff}.button-primary:hover,.form-actions button:hover,.filters button:hover{background:var(--primary-2)}.button-secondary{border:1px solid #cbd5dc;background:#fff;color:var(--primary)}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:11px;margin-bottom:17px}.report-filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:41px;padding:9px 11px;border:1px solid #cbd5dc;border-radius:8px;background:#fff;color:var(--text);outline:none}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6e91ac;box-shadow:0 0 0 3px rgba(35,77,112,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid>div{display:flex;flex-direction:column;gap:6px}.form-grid label{font-weight:650;color:#405365}.form-grid textarea{min-height:110px;resize:vertical}.form-grid .helptext,.form-grid ul{color:var(--muted);font-size:11px}.form-actions{grid-column:1/-1;align-items:flex-start!important}.split-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(440px,1.35fr);gap:20px}.table-card{padding:0;overflow:hidden}.table-card .card-heading{padding:20px 22px}.table-responsive,.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}thead th{padding:12px 15px;background:#edf2f5;color:#3b5367;text-align:left;font-size:10px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}tbody td{padding:13px 15px;border-bottom:1px solid #e7ecef;vertical-align:middle}tbody tr:hover{background:#f8fafb}.table-note{display:block;color:var(--muted);margin-top:3px}.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f2ea;color:#3d6d47;font-size:10px;font-weight:800;text-transform:uppercase}.status-badge.is-muted{background:#eef1f3;color:#76848e}.row-actions{display:flex;gap:5px}.row-actions a,.row-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d5dde3;border-radius:8px;background:#fff;color:#496176;cursor:pointer;text-decoration:none}.row-actions form{margin:0}.row-actions button:hover{color:var(--danger);border-color:#e8c9cd}.empty-state{text-align:center!important;padding:28px!important;color:var(--muted)}.pagination-wrap{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 4px}.pagination-summary{color:var(--muted);font-size:12px}.pagination{display:flex;gap:5px}.pagination a{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid #d4dde3;border-radius:8px;background:#fff;color:var(--primary);text-decoration:none}.pagination a.active{background:var(--primary);border-color:var(--primary);color:#fff}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.event-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.event-row h3{margin:4px 0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#285e82)}.login-card{width:min(430px,calc(100% - 32px));background:#fff;padding:34px;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.2)}@media(max-width:1180px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:-285px;width:268px;transition:left .2s}.app-shell:not(.sidebar-collapsed) .sidebar{left:0}.app-shell.sidebar-collapsed .sidebar{left:-285px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout,.form-grid,.details{grid-template-columns:1fr}.topbar{padding:0 16px}.page-content{padding:20px}.user-copy,.topbar-logout span{display:none}.filters,.report-filters{grid-template-columns:1fr}}@media(max-width:560px){.module-grid,.stats{grid-template-columns:1fr}.dashboard-hero{padding:24px}.hero-mark{display:none}.page-heading{flex-direction:column}.pagination-wrap{align-items:flex-start;flex-direction:column}}@media print{.sidebar,.topbar,.page-heading .button-secondary,.filters{display:none!important}.app-shell{display:block}.page-content{padding:0}.content-card{box-shadow:none;border:0}body{background:#fff}}
.platform-page{min-height:100vh;background:linear-gradient(180deg,#eef3f6 0,#f7f9fa 260px)}.platform-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(23,48,77,.05)}.platform-brand img{display:block;height:46px;max-width:190px}.platform-content{width:min(1480px,calc(100% - 48px));margin:0 auto;padding:34px 0 48px}.platform-page .dashboard-hero{margin-top:0}.platform-page .module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.platform-page .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.platform-header{padding:0 18px}.platform-content{width:min(100% - 28px,1480px)}.platform-page .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.platform-page .module-grid{grid-template-columns:1fr}.platform-brand img{height:38px}.platform-header .user-copy{display:none}}
/* ==========================================================
   AUTENTICAÇÃO DO FAROL
   Layout inspirado na tela oficial enviada como referência.
   ========================================================== */
.auth-page{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;padding:32px;background:#e8f1f1;color:#102b45}.auth-background{position:fixed;inset:0;overflow:hidden;background:radial-gradient(circle at 15% 25%,rgba(94,190,215,.28),transparent 33%),radial-gradient(circle at 85% 20%,rgba(231,202,106,.23),transparent 31%),radial-gradient(circle at 65% 82%,rgba(64,154,143,.18),transparent 35%),linear-gradient(135deg,#e7f4f6 0%,#f7f7eb 55%,#ecf6f0 100%);pointer-events:none}.auth-background::before,.auth-background::after{content:"";position:absolute;border:1px solid rgba(25,92,122,.08);border-radius:50%;animation:auth-ring 16s ease-in-out infinite alternate}.auth-background::before{width:720px;height:720px;left:-210px;bottom:-310px}.auth-background::after{width:560px;height:560px;right:-180px;top:-240px;animation-delay:-7s}.auth-orb{position:absolute;display:block;border-radius:50%;filter:blur(3px);opacity:.65;will-change:transform}.auth-orb-one{width:360px;height:360px;left:8%;top:12%;background:radial-gradient(circle at 35% 35%,rgba(100,198,220,.26),rgba(100,198,220,.03) 70%);animation:auth-float-one 18s ease-in-out infinite}.auth-orb-two{width:460px;height:460px;right:3%;bottom:2%;background:radial-gradient(circle at 35% 35%,rgba(228,202,113,.22),rgba(228,202,113,.02) 72%);animation:auth-float-two 22s ease-in-out infinite}.auth-orb-three{width:280px;height:280px;left:48%;bottom:3%;background:radial-gradient(circle at 50% 50%,rgba(52,147,143,.18),rgba(52,147,143,.01) 70%);animation:auth-float-three 20s ease-in-out infinite}.auth-grid{position:absolute;inset:-20%;background-image:linear-gradient(rgba(18,73,99,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(18,73,99,.022) 1px,transparent 1px);background-size:82px 82px;transform:perspective(700px) rotateX(66deg) translateY(36%);transform-origin:center bottom;animation:auth-grid-drift 24s linear infinite}.auth-shell{position:relative;z-index:2;width:min(950px,calc(100vw - 48px));min-height:650px;display:grid;grid-template-columns:1.1fr .95fr;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(25,65,78,.2),0 8px 24px rgba(25,65,78,.09);animation:auth-card-enter .75s cubic-bezier(.18,.78,.25,1)}.auth-showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:38px;background:linear-gradient(155deg,#173f60 0%,#24647b 55%,#4e987f 128%);color:#fff}.auth-showcase::before{content:"";position:absolute;inset:auto -80px -130px -100px;height:310px;background:radial-gradient(ellipse at center,rgba(229,189,69,.28),rgba(41,155,145,.18) 36%,transparent 70%);transform:rotate(-8deg)}.auth-showcase-rings{position:absolute;width:480px;height:480px;right:-230px;top:-220px;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:auth-spin 35s linear infinite}.auth-showcase-rings::before,.auth-showcase-rings::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%}.auth-showcase-rings::before{inset:67px}.auth-showcase-rings::after{inset:142px}.auth-brand-card{position:relative;z-index:2;align-self:flex-start;padding:16px 20px;border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(9,36,54,.15)}.auth-brand-card img{display:block;width:175px;height:auto}.auth-showcase-content{position:relative;z-index:2;margin-top:auto;margin-bottom:auto;max-width:410px}.auth-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(255,255,255,.23);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-badge i,.auth-badge iconify-icon{font-size:9px;color:#f1c84a;filter:drop-shadow(0 0 6px rgba(241,200,74,.7))}.auth-showcase h1{margin:18px 0 13px;max-width:410px;font-size:40px;line-height:1.03;letter-spacing:-.035em;color:#fff}.auth-showcase p{margin:0;max-width:390px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.55}.auth-benefits{position:relative;z-index:2;display:flex;gap:17px;align-items:center;flex-wrap:wrap;color:rgba(255,255,255,.83);font-size:11px}.auth-benefits span{display:inline-flex;gap:6px;align-items:center}.auth-benefits i,.auth-benefits iconify-icon{color:#f1c84a}.auth-form-panel{display:grid;place-items:center;padding:42px 44px;background:linear-gradient(145deg,#fff 0%,#f8fafb 100%)}.auth-form-content{width:100%;max-width:355px}.auth-form-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:14px;background:#123f67;color:#fff;font-size:21px;box-shadow:0 9px 20px rgba(18,63,103,.18)}.auth-form-content h2,.auth-single-card h1{margin:20px 0 6px;font-size:29px;letter-spacing:-.025em;color:#102c47}.auth-form-intro,.auth-single-card>p{margin:0 0 28px;color:#718398;line-height:1.55}.auth-alert{display:flex;align-items:flex-start;gap:9px;margin:0 0 18px;padding:11px 13px;border-radius:10px;background:#faecee;color:#93434b;border:1px solid #efd0d4;font-size:12px}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:8px}.auth-field label{color:#183b59;font-size:12px;font-weight:800}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-wrap>i,.auth-input-wrap>iconify-icon{position:absolute;left:16px;color:#7890a3;font-size:18px;pointer-events:none}.auth-input-wrap input{width:100%;height:56px;padding:0 48px;border:1px solid #cad8e1;border-radius:14px;background:#fff;color:#17304d;outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}.auth-input-wrap input::placeholder{color:#a2b1bd}.auth-input-wrap input:focus{border-color:#4c829d;box-shadow:0 0 0 4px rgba(45,112,143,.1);transform:translateY(-1px)}.password-toggle{position:absolute;right:10px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#71899c;cursor:pointer;font-size:18px}.password-toggle:hover{background:#eef4f6;color:#173f61}.field-error,.errorlist{margin:0;padding:0;list-style:none;color:#ad4650;font-size:11px}.auth-submit{min-height:53px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:3px;border:0;border-radius:13px;background:linear-gradient(90deg,#113f66 0%,#236883 56%,#4e967c 100%);color:#fff;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;box-shadow:0 13px 25px rgba(28,92,108,.16);transition:transform .18s,box-shadow .18s,filter .18s}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 17px 30px rgba(28,92,108,.22);filter:saturate(1.08)}.auth-forgot{justify-self:center;color:#143d5d;text-decoration:none;font-size:12px;font-weight:750}.auth-forgot:hover{text-decoration:underline}.auth-security-note{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #e3e9ed;color:#76899a;font-size:10px;line-height:1.5}.auth-security-note i,.auth-security-note iconify-icon{color:#4b9472;font-size:14px}.auth-single-card{position:relative;z-index:2;width:min(460px,calc(100vw - 40px));padding:38px;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(25,65,78,.19);backdrop-filter:blur(14px)}.auth-single-card>img{width:170px;display:block;margin-bottom:22px}.auth-single-card .auth-submit{width:100%}.auth-single-card .auth-form>div{display:grid;gap:7px}.auth-single-card .auth-form>div input{width:100%;min-height:48px;border:1px solid #cad8e1;border-radius:12px;padding:10px 13px}.auth-single-card ul{padding-left:18px;color:#718398;font-size:11px}@keyframes auth-float-one{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(80px,38px,0) scale(1.12)}}@keyframes auth-float-two{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-70px,-28px,0) scale(.94)}}@keyframes auth-float-three{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-55px,-58px,0)}}@keyframes auth-grid-drift{from{background-position:0 0,0 0}to{background-position:82px 82px,82px 82px}}@keyframes auth-ring{from{transform:scale(.95) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(35px,-25px,0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-card-enter{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:880px){.auth-shell{grid-template-columns:1fr;max-width:560px}.auth-showcase{min-height:320px;padding:28px}.auth-showcase-content{margin:45px 0}.auth-showcase h1{font-size:34px}.auth-benefits{display:none}.auth-form-panel{padding:36px 32px}}@media(max-width:540px){.auth-page{padding:14px}.auth-shell{width:100%;border-radius:20px}.auth-showcase{min-height:235px;padding:22px}.auth-brand-card{padding:12px 15px}.auth-brand-card img{width:145px}.auth-showcase-content{margin:29px 0 5px}.auth-showcase h1{font-size:29px;margin-top:13px}.auth-showcase p{font-size:13px}.auth-form-panel{padding:30px 22px}.auth-form-content h2{font-size:25px}.auth-single-card{padding:28px 22px}}@media(prefers-reduced-motion:reduce){.auth-orb,.auth-grid,.auth-background::before,.auth-background::after,.auth-showcase-rings,.auth-shell{animation:none!important}}
/* Ajuste 3.04.03: card de login mais compacto e fundo interativo preservado. */
.auth-shell{width:min(850px,calc(100vw - 48px));min-height:570px;grid-template-columns:1.04fr .96fr;transition:transform .16s ease-out}.auth-showcase{padding:31px}.auth-brand-card{padding:13px 17px;border-radius:15px}.auth-brand-card img{width:155px}.auth-showcase-content{max-width:360px}.auth-showcase h1{max-width:360px;font-size:35px;margin:15px 0 11px}.auth-showcase p{max-width:350px;font-size:13px}.auth-benefits{gap:13px;font-size:10px}.auth-form-panel{padding:34px 37px}.auth-form-content{max-width:320px}.auth-form-icon{width:43px;height:43px;font-size:19px}.auth-form-content h2{margin-top:16px;font-size:26px}.auth-form-intro{margin-bottom:22px;font-size:13px}.auth-form{gap:15px}.auth-input-wrap input{height:50px;border-radius:12px}.auth-submit{min-height:48px}.auth-security-note{margin-top:19px;padding-top:16px}.auth-background{transition:transform .24s ease-out;transform:translate3d(var(--auth-bg-x,0),var(--auth-bg-y,0),0) scale(1.04)}
@media(max-width:880px){.auth-shell{max-width:520px;min-height:auto}.auth-showcase{min-height:285px;padding:25px}.auth-showcase-content{margin:35px 0}.auth-showcase h1{font-size:31px}.auth-form-panel{padding:31px 29px}}
@media(max-width:540px){.auth-shell{width:100%}.auth-showcase{min-height:215px;padding:20px}.auth-brand-card img{width:135px}.auth-showcase-content{margin:23px 0 3px}.auth-showcase h1{font-size:26px}.auth-form-panel{padding:26px 20px}.auth-input-wrap input{height:48px}}
/* ==========================================================
   PLATAFORMA 3.05.00
   Página inicial centralizada, cards fluidos e menu do usuário.
   ========================================================== */
.platform-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 25%,rgba(92,190,211,.17),transparent 30%),radial-gradient(circle at 86% 75%,rgba(226,192,75,.17),transparent 31%),linear-gradient(135deg,#f5faf9,#eef7f8 55%,#f9f7e7)}.platform-page::before{content:"";position:fixed;inset:118px 0 34px;pointer-events:none;background-image:linear-gradient(rgba(31,86,109,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(31,86,109,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.platform-header{position:relative;z-index:40;height:120px;flex:0 0 120px;padding:0 clamp(30px,4vw,68px);background:rgba(255,255,255,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(194,210,219,.8)}.platform-brand img{height:84px;max-width:280px}.platform-header-actions{display:flex;align-items:center;gap:13px}.platform-home-button{width:52px;height:52px;display:grid;place-items:center;border:1px solid #d8e1e6;border-radius:15px;background:#fff;color:#173f61;font-size:19px;text-decoration:none;box-shadow:0 8px 20px rgba(23,48,77,.06)}.platform-user-menu{position:relative}.platform-user-trigger{min-width:285px;height:64px;display:flex;align-items:center;gap:12px;padding:6px 13px 6px 7px;border:1px solid transparent;border-radius:17px;background:transparent;color:#152c42;text-align:left;cursor:pointer}.platform-user-trigger:hover,.platform-user-menu.is-open .platform-user-trigger{border-color:#d5e0e6;background:rgba(255,255,255,.74);box-shadow:0 8px 22px rgba(23,48,77,.07)}.platform-user-avatar{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#17354f;color:#fff;font-size:19px;font-weight:850;box-shadow:inset 0 0 0 2px rgba(216,166,42,.35)}.platform-user-copy{min-width:0;display:flex;flex:1;flex-direction:column}.platform-user-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.platform-user-copy small{margin-top:2px;color:#687b8b;font-size:12px}.platform-user-chevron{transition:transform .18s}.platform-user-menu.is-open .platform-user-chevron{transform:rotate(180deg)}.platform-user-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:370px;padding:12px;border:1px solid #dbe3e8;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(20,49,70,.2);animation:platform-menu-enter .18s ease-out}.platform-user-dropdown[hidden]{display:none}.platform-dropdown-profile{display:flex;align-items:center;gap:13px;padding:8px 8px 17px;border-bottom:1px solid #e3e8eb}.platform-dropdown-profile>span:last-child{display:flex;flex-direction:column}.platform-dropdown-profile strong{font-size:16px}.platform-dropdown-profile small{margin-top:3px;color:#6d7d88}.platform-dropdown-section{padding:11px 0;border-bottom:1px solid #e3e8eb}.platform-dropdown-group{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:0;border-radius:10px;background:#eaf3f8;color:#225d82;cursor:pointer}.platform-dropdown-group>span{display:flex;align-items:center;gap:9px}.platform-dropdown-group>i,.platform-dropdown-group>iconify-icon{transition:transform .18s}.platform-dropdown-group.is-closed>i,.platform-dropdown-group.is-closed>iconify-icon{transform:rotate(-90deg)}.platform-dropdown-submenu{display:grid;gap:2px;margin-top:4px;padding:6px;border-radius:11px;background:#f6f8fb}.platform-dropdown-submenu[hidden]{display:none}.platform-dropdown-submenu a,.platform-dropdown-link,.platform-dropdown-logout{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#284d69;text-decoration:none;text-align:left}.platform-dropdown-submenu a:hover,.platform-dropdown-link:hover,.platform-dropdown-logout:hover{background:#eaf1f5}.platform-dropdown-submenu i,.platform-dropdown-link i,.platform-dropdown-logout i,.platform-dropdown-submenu iconify-icon,.platform-dropdown-link iconify-icon,.platform-dropdown-logout iconify-icon{width:18px;color:#2f7195}.platform-dropdown-link{margin-top:8px}.platform-user-dropdown form{margin:0}.platform-dropdown-logout{width:100%;margin-top:2px;color:#284d69;cursor:pointer;font-weight:700}.platform-content{position:relative;z-index:2;flex:1;width:100%;max-width:none;margin:0;padding:0 clamp(34px,3.6vw,70px)}.platform-modules{min-height:calc(100vh - 158px);display:flex;flex-direction:column;justify-content:center;padding:46px 0 64px}.platform-modules-heading{text-align:center;margin:0 auto 30px}.platform-modules-heading h1{margin:5px 0 6px;color:#152e47;font-size:24px}.platform-modules-heading p{margin:0;color:#718493}.platform-module-grid{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),420px));justify-content:center;align-content:center;gap:26px}.platform-module-card{--card-color:#6b8eb0;--card-soft:#eef4f8;position:relative;isolation:isolate;min-height:166px;display:grid;grid-template-columns:58px minmax(0,1fr) 35px;gap:18px;align-items:start;overflow:hidden;padding:26px 23px 21px;border:1px solid #e0e7eb;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 14px 32px rgba(23,48,77,.09);color:#142b43;text-decoration:none;transition:transform .2s,box-shadow .2s}.platform-module-card:hover:not(.is-pending){transform:translateY(-5px);box-shadow:0 21px 38px rgba(23,48,77,.15)}.platform-card-accent{position:absolute;z-index:3;inset:0 0 auto;height:6px;background:var(--card-color)}.platform-module-icon{position:relative;z-index:2;width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:var(--card-color);color:#fff;font-size:24px;box-shadow:0 10px 20px color-mix(in srgb,var(--card-color) 25%,transparent)}.platform-module-copy{position:relative;z-index:2;min-width:0}.platform-module-copy h2{margin:2px 0 7px;font-size:17px;color:#11263d}.platform-module-copy p{min-height:42px;margin:0 0 17px;color:#718395;font-size:13px;line-height:1.42}.platform-module-copy strong{font-size:12px}.platform-module-arrow{position:relative;z-index:2;align-self:end;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--card-soft);color:var(--card-color)}.platform-card-decoration{position:absolute;right:-54px;bottom:-75px;width:175px;height:175px;border-radius:50%;background:var(--card-soft);opacity:.72}.platform-card-decoration::before{content:"";position:absolute;inset:34px;border:1px solid color-mix(in srgb,var(--card-color) 18%,transparent);border-radius:50%}.platform-module-card.is-pending{opacity:.78}.platform-module-card.is-pending .platform-module-copy strong{color:#8695a0}.module-azul{--card-color:#77bd3a;--card-soft:#f0f8e8}.module-dourado{--card-color:#8da63f;--card-soft:#f2f5e8}.module-roxo{--card-color:#83569c;--card-soft:#f2ecf6}.module-verde{--card-color:#e8902e;--card-soft:#fff2e6}.module-ciano{--card-color:#158e97;--card-soft:#e7f6f7}.module-laranja{--card-color:#f2bd2f;--card-soft:#fff8df}.module-rosa{--card-color:#be647c;--card-soft:#faedf1}.module-cinza{--card-color:#799abb;--card-soft:#edf3f8}.platform-footer{position:relative;z-index:2;min-height:34px;display:grid;place-items:center;background:rgba(255,255,255,.84);border-top:1px solid #e0e7eb;color:#627687;font-size:11px}@keyframes platform-menu-enter{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:1100px){.platform-header{height:96px;flex-basis:96px}.platform-brand img{height:68px}.platform-user-trigger{min-width:245px}.platform-modules{min-height:calc(100vh - 130px)}}@media(max-width:720px){.platform-header{padding:0 18px}.platform-brand img{height:54px;max-width:180px}.platform-home-button{display:none}.platform-user-trigger{min-width:0;width:58px;padding:5px}.platform-user-copy,.platform-user-chevron{display:none}.platform-user-dropdown{position:fixed;top:86px;right:14px;left:14px;width:auto}.platform-content{padding:0 18px}.platform-modules{justify-content:flex-start;padding-top:35px}.platform-module-grid{grid-template-columns:minmax(0,440px)}.platform-modules-heading h1{font-size:22px}}@media(max-width:420px){.platform-module-card{grid-template-columns:50px minmax(0,1fr) 30px;gap:13px;padding:22px 17px}.platform-module-icon{width:50px;height:50px}.platform-module-copy p{font-size:12px}}
/* Ajustes 3.05.01: quatro cards, ordenação visual e luz interativa. */
.platform-pointer-light{--light-x:86vw;--light-y:82vh;position:fixed;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle 300px at var(--light-x) var(--light-y),rgba(242,170,45,.28),rgba(242,170,45,.10) 34%,transparent 72%);transition:background-position .08s linear;will-change:background}.platform-modules{min-height:calc(100vh - 154px);justify-content:center;padding:38px 0 54px}.platform-module-grid{width:min(100%,1780px);margin-inline:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.platform-card-drag{position:absolute;z-index:5;right:15px;top:20px;color:#88a0b2;cursor:grab;font-size:16px}.platform-card-drag:active{cursor:grabbing}.platform-module-card.is-dragging{opacity:.42;transform:scale(.97);box-shadow:none}.platform-module-card.is-drag-target{outline:3px solid color-mix(in srgb,var(--card-color) 45%,transparent);outline-offset:4px}.platform-module-card .platform-module-arrow{position:absolute;right:18px;bottom:18px}.standardized-user-menu .platform-user-trigger{min-width:260px;height:54px}.standardized-user-menu .platform-user-dropdown{z-index:70}.topbar{overflow:visible}.topbar-user{position:relative}.platform-user-dropdown{z-index:80}
@media(max-width:1450px){.platform-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1060px){.platform-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.standardized-user-menu .platform-user-trigger{min-width:220px}}
@media(max-width:720px){.platform-module-grid{grid-template-columns:1fr}.standardized-user-menu .platform-user-trigger{width:54px;min-width:54px}.standardized-user-menu .platform-user-copy,.standardized-user-menu .platform-user-chevron{display:none}}
@media(prefers-reduced-motion:reduce){.platform-pointer-light{display:none}}
/* ==========================================================
   PADRÃO VISUAL GLOBAL DOS MÓDULOS 3.06.00
   Baseado no layout oficial da Secretaria.
   ========================================================== */
.module-page{min-height:100vh;background:#f4f7f9}.module-shell{--module-sidebar-width:330px;--module-sidebar-collapsed:88px;min-height:100vh;display:grid;grid-template-columns:var(--module-sidebar-width) minmax(0,1fr);transition:grid-template-columns .34s cubic-bezier(.2,.8,.2,1)}.module-shell.sidebar-collapsed{grid-template-columns:var(--module-sidebar-collapsed) minmax(0,1fr)}.module-sidebar{position:sticky;top:0;z-index:60;height:100vh;display:flex;flex-direction:column;overflow:visible;background:linear-gradient(180deg,#173a59 0%,#173f62 100%);color:#fff;box-shadow:9px 0 26px rgba(17,49,75,.12);transition:width .34s cubic-bezier(.2,.8,.2,1)}.module-sidebar-brand{height:145px;display:grid;place-items:center;padding:22px;background:#fff;border-bottom:1px solid #dbe3e8}.module-sidebar-brand a{display:block}.module-brand-full{display:block;width:260px;max-width:100%;height:auto;transition:opacity .2s,transform .3s}.module-brand-compact{display:none;width:53px;height:auto}.module-sidebar-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px}.module-badge{height:48px;display:flex;align-items:center;gap:11px;margin-bottom:10px;padding:0 17px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.10);color:#fff;font-size:12px;font-weight:850;letter-spacing:.11em}.module-badge i,.module-badge iconify-icon{color:#e2ae2f}.module-navigation{display:grid;gap:7px}.module-nav-link,.module-nav-toggle,.module-nav-coming{min-height:52px;width:100%;display:flex;align-items:center;gap:13px;padding:10px 13px;border:0;border-radius:11px;background:transparent;color:#e4ecf2;text-decoration:none;text-align:left;font-weight:720;cursor:pointer;transition:background .2s,color .2s,transform .2s}.module-nav-link:hover,.module-nav-toggle:hover{background:rgba(255,255,255,.09);color:#fff}.module-nav-link>i,.module-nav-toggle>span>i,.module-nav-coming>i,.module-nav-link>iconify-icon,.module-nav-toggle>span>iconify-icon,.module-nav-coming>iconify-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#b9ccda;font-size:16px}.module-nav-toggle{justify-content:space-between}.module-nav-toggle>span{display:flex;align-items:center;gap:13px}.module-nav-toggle>i,.module-nav-toggle>iconify-icon{font-size:11px;color:#9eb5c6;transition:transform .24s}.module-nav-group.is-closed .module-nav-toggle>i,.module-nav-group.is-closed .module-nav-toggle>iconify-icon{transform:rotate(-90deg)}.module-nav-group.is-closed .module-nav-submenu{max-height:0;opacity:0;margin:0;pointer-events:none}.module-nav-submenu{position:relative;max-height:360px;display:grid;gap:2px;margin:2px 0 3px 18px;padding:2px 0 2px 19px;border-left:1px solid rgba(150,185,206,.28);opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .24s,margin .3s}.module-nav-submenu::before{content:"";position:absolute;left:-2px;top:10px;width:4px;height:25px;border-radius:999px;background:#d9ac2e}.module-nav-submenu a{min-height:43px;display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:9px;color:#d5e1e9;text-decoration:none;font-weight:680;transition:background .18s,color .18s}.module-nav-submenu a:hover{background:rgba(255,255,255,.08);color:#fff}.module-nav-submenu a i,.module-nav-submenu a iconify-icon{width:19px;text-align:center;color:#bdd0dd}.module-nav-coming{position:relative;opacity:.64;cursor:default}.module-nav-coming small{margin-left:auto;padding:3px 5px;border-radius:5px;background:rgba(255,255,255,.08);font-size:8px;text-transform:uppercase}.module-sidebar-collapse{position:absolute;z-index:65;right:-24px;top:47%;width:47px;height:47px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#34775f;color:#fff;font-size:19px;cursor:pointer;box-shadow:0 7px 18px rgba(17,49,75,.25);transition:transform .34s ease,background .2s}.module-sidebar-collapse:hover{background:#28674f;transform:scale(1.07)}.module-main{min-width:0;min-height:100vh;display:flex;flex-direction:column}.module-topbar{position:sticky;top:0;z-index:50;height:87px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid #dce4e9}.module-topbar-title{display:flex;align-items:stretch;gap:12px}.module-title-accent{width:4px;border-radius:999px;background:#34775f}.module-topbar-title>div{display:flex;flex-direction:column}.module-topbar-title strong{font-size:18px;color:#17324b}.module-topbar-title small{margin-top:3px;color:#70818e}.module-topbar-actions{display:flex;align-items:center;gap:13px}.module-content{flex:1;padding:25px;overflow:auto}.module-footer{min-height:34px;display:grid;place-items:center;background:#fff;border-top:1px solid #e0e7eb;color:#617384;font-size:11px}.module-shell.sidebar-collapsed .module-sidebar-brand{padding:18px 12px}.module-shell.sidebar-collapsed .module-brand-full{display:none}.module-shell.sidebar-collapsed .module-brand-compact{display:block}.module-shell.sidebar-collapsed .module-sidebar-body{padding:14px 10px}.module-shell.sidebar-collapsed .module-badge{justify-content:center;padding:0}.module-shell.sidebar-collapsed .module-badge span,.module-shell.sidebar-collapsed .module-nav-link span,.module-shell.sidebar-collapsed .module-nav-toggle span span,.module-shell.sidebar-collapsed .module-nav-toggle>i,.module-shell.sidebar-collapsed .module-nav-submenu,.module-shell.sidebar-collapsed .module-nav-coming span,.module-shell.sidebar-collapsed .module-nav-coming small,.module-shell.sidebar-collapsed .module-nav-toggle>iconify-icon{display:none}.module-shell.sidebar-collapsed .module-nav-link,.module-shell.sidebar-collapsed .module-nav-toggle,.module-shell.sidebar-collapsed .module-nav-coming{justify-content:center;padding:10px}.module-shell.sidebar-collapsed .module-nav-link>i,.module-shell.sidebar-collapsed .module-nav-toggle>span>i,.module-shell.sidebar-collapsed .module-nav-coming>i,.module-shell.sidebar-collapsed .module-nav-link>iconify-icon,.module-shell.sidebar-collapsed .module-nav-toggle>span>iconify-icon,.module-shell.sidebar-collapsed .module-nav-coming>iconify-icon{font-size:19px;color:#fff}.module-shell.sidebar-collapsed .module-sidebar-collapse{transform:rotate(180deg)}.module-shell.sidebar-collapsed .module-sidebar-collapse:hover{transform:rotate(180deg) scale(1.07)}.module-page .platform-user-trigger{min-width:275px;height:58px}.module-page .platform-user-dropdown{z-index:100}.module-secretaria .module-title-accent{background:#34775f}.module-pastoral .module-title-accent{background:#8da63f}.module-configuracoes .module-title-accent{background:#799abb}.module-usuarios .module-title-accent{background:#83569c}
@media(max-width:980px){.module-shell,.module-shell.sidebar-collapsed{grid-template-columns:1fr}.module-sidebar{position:fixed;left:-340px;width:330px;transition:left .32s ease}.module-shell:not(.sidebar-collapsed) .module-sidebar{left:0}.module-shell.sidebar-collapsed .module-sidebar{left:-340px}.module-shell.sidebar-collapsed .module-brand-full,.module-shell.sidebar-collapsed .module-badge span,.module-shell.sidebar-collapsed .module-nav-link span,.module-shell.sidebar-collapsed .module-nav-toggle span span,.module-shell.sidebar-collapsed .module-nav-toggle>i,.module-shell.sidebar-collapsed .module-nav-coming span,.module-shell.sidebar-collapsed .module-nav-coming small,.module-shell.sidebar-collapsed .module-nav-toggle>iconify-icon{display:initial}.module-shell.sidebar-collapsed .module-brand-compact{display:none}.module-shell.sidebar-collapsed .module-nav-submenu{display:grid}.module-sidebar-collapse{right:-48px;top:100px;border-radius:0 12px 12px 0;border-left:0}.module-shell.sidebar-collapsed .module-sidebar-collapse{transform:none}.module-topbar{padding:0 18px}.module-content{padding:18px}.module-page .platform-user-trigger{min-width:0;width:58px;padding:5px}.module-page .platform-user-copy,.module-page .platform-user-chevron{display:none}}
@media(max-width:560px){.module-sidebar{width:285px;left:-295px}.module-shell.sidebar-collapsed .module-sidebar{left:-295px}.module-topbar-title small{display:none}.module-topbar-title strong{font-size:16px}.module-topbar-actions{gap:7px}.module-topbar .platform-home-button{width:44px;height:44px}}
/* ==========================================================
   AJUSTE DE ESCALA 3.06.01
   Equivale as dimensões do layout Django ao projeto anterior.
   ========================================================== */
.module-shell{--module-sidebar-width:300px;--module-sidebar-collapsed:76px}.module-sidebar-brand{height:124px;padding:18px}.module-brand-full{width:235px}.module-brand-compact{width:46px}.module-sidebar-body{padding:12px}.module-badge{height:43px;margin-bottom:8px;padding:0 14px;border-radius:10px;font-size:11px}.module-navigation{gap:4px}.module-nav-link,.module-nav-toggle,.module-nav-coming{min-height:46px;gap:11px;padding:8px 11px;border-radius:9px;font-size:13px}.module-nav-link>i,.module-nav-toggle>span>i,.module-nav-coming>i,.module-nav-link>iconify-icon,.module-nav-toggle>span>iconify-icon,.module-nav-coming>iconify-icon{width:22px;height:22px;font-size:14px}.module-nav-toggle>span{gap:11px}.module-nav-submenu{margin-left:16px;padding-left:17px}.module-nav-submenu a{min-height:38px;gap:9px;padding:6px 9px;font-size:12px}.module-sidebar-collapse{right:-21px;width:42px;height:42px;border-width:3px;font-size:16px}.module-topbar{height:76px;padding:0 28px}.module-topbar-title{gap:10px}.module-topbar-title strong{font-size:16px}.module-topbar-title small{font-size:12px}.module-topbar-actions{gap:10px}.module-topbar .platform-home-button{width:46px;height:46px;border-radius:13px;font-size:17px}.module-page .platform-user-trigger{min-width:250px;height:52px;border-radius:14px}.module-page .platform-user-avatar{width:42px;height:42px;border-radius:12px;font-size:16px}.module-page .platform-user-copy strong{font-size:13px}.module-page .platform-user-copy small{font-size:11px}.module-page .platform-user-dropdown{width:345px}.module-content{padding:20px}.module-footer{min-height:30px;font-size:10px}.module-page .page-heading{margin-bottom:18px}.module-page .page-heading h1{font-size:24px}.module-page .content-card,.module-page .card{padding:19px;border-radius:12px}.module-page .stats{gap:13px;margin-bottom:16px}.module-page .stats strong{font-size:25px}.module-page table thead th{padding:10px 12px;font-size:9px}.module-page table tbody td{padding:11px 12px}.module-page .button-primary,.module-page .button-secondary,.module-page .form-actions button,.module-page .filters button{min-height:36px;padding:7px 12px;font-size:12px}.module-page .filters input,.module-page .filters select,.module-page .form-grid input,.module-page .form-grid select{min-height:37px;padding:7px 9px}.module-shell.sidebar-collapsed .module-sidebar-body{padding:12px 8px}.module-shell.sidebar-collapsed .module-nav-link,.module-shell.sidebar-collapsed .module-nav-toggle,.module-shell.sidebar-collapsed .module-nav-coming{padding:8px}.platform-module-card{min-height:150px;padding:23px 20px 18px}.platform-module-icon{width:52px;height:52px;font-size:21px}.platform-module-copy h2{font-size:16px}.platform-module-copy p{font-size:12px;margin-bottom:14px}.platform-header{height:104px;flex-basis:104px}.platform-brand img{height:72px}.platform-modules{min-height:calc(100vh - 134px);padding:30px 0 45px}
@media(max-width:980px){.module-sidebar{width:300px;left:-310px}.module-shell.sidebar-collapsed .module-sidebar{left:-310px}.module-sidebar-collapse{right:-42px}.module-topbar{height:70px}.module-content{padding:16px}}
@media(max-width:560px){.module-sidebar{width:275px;left:-285px}.module-shell.sidebar-collapsed .module-sidebar{left:-285px}.module-sidebar-brand{height:108px}.module-brand-full{width:215px}.module-content{padding:13px}}
/* ==========================================================
   AJUSTE DE ESCALA 3.06.02
   Menu lateral e logotipo mais compactos em todos os módulos.
   ========================================================== */
.module-shell{--module-sidebar-width:270px;--module-sidebar-collapsed:70px}.module-sidebar-brand{height:108px;padding:15px}.module-brand-full{width:205px}.module-brand-compact{width:41px}.module-sidebar-body{padding:10px}.module-badge{height:41px;padding:0 12px}.module-nav-link,.module-nav-toggle,.module-nav-coming{min-height:44px;padding:7px 10px}.module-nav-submenu{margin-left:14px;padding-left:15px}.module-sidebar-collapse{right:-20px;width:40px;height:40px}.module-shell.sidebar-collapsed .module-sidebar-brand{padding:14px 9px}.module-shell.sidebar-collapsed .module-sidebar-body{padding:10px 7px}
@media(max-width:980px){.module-sidebar{width:270px;left:-280px}.module-shell.sidebar-collapsed .module-sidebar{left:-280px}.module-sidebar-collapse{right:-40px}}
@media(max-width:560px){.module-sidebar{width:255px;left:-265px}.module-shell.sidebar-collapsed .module-sidebar{left:-265px}.module-sidebar-brand{height:98px}.module-brand-full{width:190px}}
/* ==========================================================
   TEMPLATES VISUAIS E ESTADO ATIVO 3.07.00
   As variáveis abaixo padronizam cores em toda a plataforma.
   ========================================================== */
:root,[data-theme="secretaria"]{--theme-primary:#173f62;--theme-primary-deep:#133650;--theme-secondary:#34775f;--theme-accent:#d9ac2e;--theme-page:#f4f7f9;--theme-surface:#ffffff;--theme-surface-soft:#edf3f6;--theme-text:#1c2c3b;--theme-muted:#6c7c89;--theme-line:#dfe6eb;--theme-sidebar-text:#e4ecf2;--theme-sidebar-muted:#b9ccda;--theme-danger:#b75b62;--theme-shadow:rgba(23,48,77,.10);color-scheme:light}[data-theme="oceano"]{--theme-primary:#123e5d;--theme-primary-deep:#0d3049;--theme-secondary:#168a9c;--theme-accent:#69c8cf;--theme-page:#eef9fa;--theme-surface:#ffffff;--theme-surface-soft:#e1f3f5;--theme-text:#173142;--theme-muted:#637f8c;--theme-line:#cfe5e8;--theme-sidebar-text:#e5f5f7;--theme-sidebar-muted:#acd4db;--theme-danger:#bd5c67;--theme-shadow:rgba(18,62,93,.12);color-scheme:light}[data-theme="floresta"]{--theme-primary:#254b3c;--theme-primary-deep:#19382c;--theme-secondary:#4d7a58;--theme-accent:#b6a15d;--theme-page:#f4f6ee;--theme-surface:#ffffff;--theme-surface-soft:#eaf0e5;--theme-text:#27372d;--theme-muted:#6c7c70;--theme-line:#dce4d7;--theme-sidebar-text:#edf4ed;--theme-sidebar-muted:#bdd0c0;--theme-danger:#a8575c;--theme-shadow:rgba(37,75,60,.12);color-scheme:light}[data-theme="lavanda"]{--theme-primary:#55406f;--theme-primary-deep:#403052;--theme-secondary:#8f6bad;--theme-accent:#d59ac8;--theme-page:#faf5fb;--theme-surface:#ffffff;--theme-surface-soft:#f2e9f5;--theme-text:#352b3f;--theme-muted:#7f7088;--theme-line:#e7dceb;--theme-sidebar-text:#f6eef8;--theme-sidebar-muted:#d6c2df;--theme-danger:#b95772;--theme-shadow:rgba(85,64,111,.13);color-scheme:light}[data-theme="rose"]{--theme-primary:#6e3c55;--theme-primary-deep:#522a3e;--theme-secondary:#b9637c;--theme-accent:#d9aa76;--theme-page:#fff6f8;--theme-surface:#ffffff;--theme-surface-soft:#f9e9ef;--theme-text:#402b34;--theme-muted:#866d78;--theme-line:#eddde3;--theme-sidebar-text:#fff2f6;--theme-sidebar-muted:#e0becb;--theme-danger:#a64759;--theme-shadow:rgba(110,60,85,.13);color-scheme:light}[data-theme="aurora"]{--theme-primary:#473c78;--theme-primary-deep:#322957;--theme-secondary:#8b68ad;--theme-accent:#e18491;--theme-page:#fbf6ff;--theme-surface:#ffffff;--theme-surface-soft:#f0e9f8;--theme-text:#302b46;--theme-muted:#756e8a;--theme-line:#e4ddef;--theme-sidebar-text:#f5f1ff;--theme-sidebar-muted:#cec4e4;--theme-danger:#b84e64;--theme-shadow:rgba(71,60,120,.14);color-scheme:light}[data-theme="noturno"]{--theme-primary:#0d1b2a;--theme-primary-deep:#09131e;--theme-secondary:#1b4765;--theme-accent:#d9ac2e;--theme-page:#111923;--theme-surface:#182330;--theme-surface-soft:#202f3e;--theme-text:#e7edf2;--theme-muted:#9aacba;--theme-line:#304151;--theme-sidebar-text:#e9eff4;--theme-sidebar-muted:#a9bbc8;--theme-danger:#e0767e;--theme-shadow:rgba(0,0,0,.30);color-scheme:dark}[data-theme="grafite"]{--theme-primary:#20252b;--theme-primary-deep:#171b20;--theme-secondary:#39444f;--theme-accent:#55a9b7;--theme-page:#171b20;--theme-surface:#232930;--theme-surface-soft:#2d353e;--theme-text:#edf1f4;--theme-muted:#a8b2ba;--theme-line:#3b4650;--theme-sidebar-text:#f0f4f6;--theme-sidebar-muted:#b2bec7;--theme-danger:#e0787c;--theme-shadow:rgba(0,0,0,.34);color-scheme:dark}
.module-page,.platform-page{background-color:var(--theme-page);color:var(--theme-text)}.module-sidebar{background:linear-gradient(180deg,var(--theme-primary-deep),var(--theme-primary));color:var(--theme-sidebar-text)}.module-badge{color:var(--theme-sidebar-text)}.module-badge i,.module-nav-submenu::before,.module-badge iconify-icon{color:var(--theme-accent);background-color:var(--theme-accent)}.module-nav-link,.module-nav-toggle,.module-nav-coming,.module-nav-submenu a{color:var(--theme-sidebar-text)}.module-nav-link>i,.module-nav-toggle>span>i,.module-nav-coming>i,.module-nav-submenu a i,.module-nav-link>iconify-icon,.module-nav-toggle>span>iconify-icon,.module-nav-coming>iconify-icon,.module-nav-submenu a iconify-icon{color:var(--theme-sidebar-muted)}.module-sidebar-collapse,.module-title-accent{background:var(--theme-secondary)}.module-sidebar-collapse:hover{background:var(--theme-primary)}.module-topbar,.platform-header,.module-footer,.platform-footer{background-color:color-mix(in srgb,var(--theme-surface) 96%,transparent);border-color:var(--theme-line)}.module-topbar-title strong,.page-heading h1,.platform-module-copy h2,.theme-title-row strong{color:var(--theme-text)}.module-topbar-title small,.page-heading p,.platform-module-copy p{color:var(--theme-muted)}.module-content{background:var(--theme-page)}.module-page .content-card,.module-page .card,.platform-module-card,.theme-option{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-text);box-shadow:0 10px 28px var(--theme-shadow)}.module-page table thead th{background:var(--theme-surface-soft);color:var(--theme-text)}.module-page table tbody td{border-color:var(--theme-line)}.module-page table tbody tr:hover{background:var(--theme-surface-soft)}.module-page input,.module-page select,.module-page textarea{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-text)}.module-nav-link.is-active,.module-nav-submenu a.is-active{position:relative;background:var(--theme-surface);color:var(--theme-primary);box-shadow:0 7px 17px rgba(0,0,0,.12)}.module-nav-link.is-active>i,.module-nav-submenu a.is-active i,.module-nav-link.is-active>iconify-icon,.module-nav-submenu a.is-active iconify-icon{color:var(--theme-secondary)}.module-nav-link.is-active::before,.module-nav-submenu a.is-active::before{content:"";position:absolute;left:-4px;top:8px;bottom:8px;width:4px;border-radius:999px;background:var(--theme-accent)}.module-nav-group.has-active>.module-nav-toggle{background:rgba(255,255,255,.10);color:#fff}.module-nav-group.has-active>.module-nav-toggle>span>i,.module-nav-group.has-active>.module-nav-toggle>span>iconify-icon{color:var(--theme-accent)}.platform-user-trigger,.platform-user-dropdown{color:var(--theme-text)}.platform-user-dropdown{background:var(--theme-surface);border-color:var(--theme-line)}.platform-dropdown-profile,.platform-dropdown-section{border-color:var(--theme-line)}.platform-dropdown-group,.platform-dropdown-submenu{background:var(--theme-surface-soft);color:var(--theme-primary)}.platform-dropdown-submenu a,.platform-dropdown-link,.platform-dropdown-logout{color:var(--theme-text)}.platform-dropdown-submenu a:hover,.platform-dropdown-link:hover,.platform-dropdown-logout:hover{background:color-mix(in srgb,var(--theme-secondary) 15%,var(--theme-surface))}.platform-user-avatar{background:var(--theme-primary);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--theme-accent) 55%,transparent)}.button-primary,.form-actions button,.filters button,.theme-apply{background:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.button-primary:hover,.form-actions button:hover,.filters button:hover,.theme-apply:hover{background:var(--theme-secondary)}
.appearance-heading{margin-bottom:15px}.appearance-notice{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);box-shadow:0 8px 20px var(--theme-shadow)}.appearance-notice>i,.appearance-notice>iconify-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--theme-surface-soft);color:var(--theme-secondary);font-size:18px}.appearance-notice>div{display:flex;flex-direction:column}.appearance-notice span{margin-top:2px;color:var(--theme-muted);font-size:12px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.theme-option{overflow:hidden;border:1px solid var(--theme-line);border-radius:14px;transition:transform .18s,border-color .18s}.theme-option:hover,.theme-option.is-previewing{transform:translateY(-3px);border-color:var(--theme-accent)}.theme-option.is-selected{outline:2px solid var(--theme-secondary);outline-offset:2px}.theme-preview{width:100%;height:116px;display:grid;grid-template-columns:28% 72%;padding:0;border:0;background:#fff;cursor:pointer}.theme-mini-sidebar{position:relative;background:var(--preview-primary)}.theme-mini-sidebar::before{content:"";position:absolute;left:18%;right:18%;top:16%;height:12%;border-radius:4px;background:var(--preview-accent)}.theme-mini-sidebar::after{content:"";position:absolute;left:18%;right:18%;top:39%;height:42%;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.75) 0 5px,transparent 5px 13px)}.theme-mini-content{display:flex;align-items:flex-end;gap:7px;padding:18px 12px;background:var(--preview-bg)}.theme-mini-content i,.theme-mini-content iconify-icon{display:block;flex:1;height:48%;border-radius:7px;background:var(--preview-secondary);opacity:.82}.theme-mini-content i:nth-child(2),.theme-mini-content iconify-icon:nth-child(2){height:68%;opacity:.55}.theme-mini-content i:nth-child(3),.theme-mini-content iconify-icon:nth-child(3){height:40%;opacity:.35}.theme-option-body{padding:15px}.theme-title-row{display:flex;justify-content:space-between;gap:10px}.theme-title-row>span:first-child{display:flex;flex-direction:column}.theme-title-row small{color:var(--theme-secondary);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.theme-title-row strong{margin-top:3px;font-size:16px}.theme-current{align-self:flex-start;padding:4px 7px;border-radius:999px;background:var(--theme-surface-soft);color:var(--theme-secondary);font-size:9px;font-weight:850}.theme-option-body p{min-height:34px;margin:10px 0;color:var(--theme-muted);font-size:11px;line-height:1.45}.theme-swatches{display:flex;gap:5px;margin-bottom:12px}.theme-swatches span{width:23px;height:23px;border:2px solid var(--theme-surface);border-radius:50%;box-shadow:0 0 0 1px var(--theme-line)}.theme-option form{margin:0}.theme-apply{width:100%;min-height:35px;border:1px solid;border-radius:8px;font-size:11px;font-weight:780;cursor:pointer}.theme-apply:disabled{opacity:.55;cursor:default}.theme-preview-reset{position:fixed;right:24px;bottom:24px;z-index:80;padding:10px 14px;border:0;border-radius:10px;background:var(--theme-accent);color:#182432;font-weight:800;box-shadow:0 12px 28px var(--theme-shadow);cursor:pointer}
[data-theme="noturno"] .module-sidebar-brand,[data-theme="grafite"] .module-sidebar-brand{background:#f7f8f9}[data-theme="noturno"] .platform-page,[data-theme="grafite"] .platform-page{background-image:radial-gradient(circle at 15% 22%,color-mix(in srgb,var(--theme-secondary) 25%,transparent),transparent 30%),radial-gradient(circle at 85% 76%,color-mix(in srgb,var(--theme-accent) 15%,transparent),transparent 30%)}[data-theme="noturno"] .platform-module-card,[data-theme="grafite"] .platform-module-card{background:var(--theme-surface)}[data-theme="noturno"] .platform-user-trigger:hover,[data-theme="grafite"] .platform-user-trigger:hover{background:var(--theme-surface-soft)}
@media(max-width:620px){.theme-grid{grid-template-columns:1fr}.theme-preview{height:105px}}
/* Correção de contraste dos ícones do identificador do módulo. */
.module-badge i,
/* Correção de contraste dos ícones do identificador do módulo. */
.module-badge iconify-icon{background:transparent;color:var(--theme-accent)}
/* ==========================================================
   MICROINTERAÇÕES DO MENU 3.07.01
   Movimento contínuo nos links e rotação direcional do botão.
   ========================================================== */
.module-nav-link,.module-nav-toggle,.module-nav-submenu a{position:relative;isolation:isolate;overflow:hidden;transform:translateX(0);transition:color .24s ease,background-color .24s ease,transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,padding-left .24s ease}.module-nav-link::after,.module-nav-toggle::after,.module-nav-submenu a::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-accent) 18%,transparent),rgba(255,255,255,.10));transform:translateX(-105%);opacity:0;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.module-nav-link:hover,.module-nav-toggle:hover{transform:translateX(5px);padding-left:14px;background:rgba(255,255,255,.08);box-shadow:0 7px 18px rgba(0,0,0,.10)}.module-nav-submenu a:hover{transform:translateX(4px);padding-left:13px;background:rgba(255,255,255,.07)}.module-nav-link:hover::after,.module-nav-toggle:hover::after,.module-nav-submenu a:hover::after{transform:translateX(0);opacity:1}.module-nav-link:hover>i,.module-nav-toggle:hover>span>i,.module-nav-submenu a:hover i,.module-nav-link:hover>iconify-icon,.module-nav-toggle:hover>span>iconify-icon,.module-nav-submenu a:hover iconify-icon{color:var(--theme-accent);transform:scale(1.10)}.module-nav-link>i,.module-nav-toggle>span>i,.module-nav-submenu a i,.module-nav-link>iconify-icon,.module-nav-toggle>span>iconify-icon,.module-nav-submenu a iconify-icon{transition:color .22s ease,transform .22s ease}.module-nav-link.is-active:hover,.module-nav-submenu a.is-active:hover{transform:translateX(3px);background:var(--theme-surface)}
.module-sidebar-collapse{transform:none!important}.module-sidebar-collapse i,.module-sidebar-collapse iconify-icon{display:block;transform:rotate(0deg);transition:transform .42s cubic-bezier(.34,1.56,.64,1)}.module-shell.sidebar-collapsed .module-sidebar-collapse i,.module-shell.sidebar-collapsed .module-sidebar-collapse iconify-icon{transform:rotate(180deg)}.module-sidebar-collapse:hover{transform:scale(1.07)!important}.module-shell.sidebar-collapsed .module-sidebar-collapse:hover{transform:scale(1.07)!important}.module-sidebar-collapse.is-animating{animation:sidebar-button-pulse .42s ease}.module-sidebar-collapse.is-animating i,.module-sidebar-collapse.is-animating iconify-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.24))}@keyframes sidebar-button-pulse{0%{box-shadow:0 7px 18px rgba(17,49,75,.25);scale:1}48%{box-shadow:0 9px 24px color-mix(in srgb,var(--theme-accent) 35%,transparent);scale:1.11}100%{box-shadow:0 7px 18px rgba(17,49,75,.25);scale:1}}
.module-shell.sidebar-collapsed .module-nav-link:hover,.module-shell.sidebar-collapsed .module-nav-toggle:hover{transform:translateX(0) scale(1.08);padding-left:8px}.module-shell.sidebar-collapsed .module-nav-link:hover::after,.module-shell.sidebar-collapsed .module-nav-toggle:hover::after{transform:translateX(0);opacity:1}@media(prefers-reduced-motion:reduce){.module-nav-link,.module-nav-toggle,.module-nav-submenu a,.module-sidebar-collapse i,.module-sidebar-collapse iconify-icon{transition:none}.module-nav-link:hover,.module-nav-toggle:hover,.module-nav-submenu a:hover{transform:none}.module-sidebar-collapse.is-animating{animation:none}}
/* ==========================================================
   DADOS INSTITUCIONAIS 3.08.00
   Formulário editorial e canais sociais dinâmicos.
   ========================================================== */
.institution-page{max-width:1500px;margin:0 auto}.institution-card{overflow:hidden;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);box-shadow:0 12px 34px var(--theme-shadow)}.institution-heading{padding:28px 30px 20px}.institution-heading h1{margin:0 0 5px;color:var(--theme-text);font-size:26px;font-weight:500}.institution-heading p{margin:0;color:var(--theme-muted);font-size:13px}.institution-section{padding:8px 30px 24px}.institution-section-title h2,.social-heading h2{margin:0;color:var(--theme-text);font-size:17px;font-weight:500}.institution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 18px;margin-top:22px}.institution-grid .field-span-2{grid-column:span 2}.institution-page .field{display:flex;min-width:0;flex-direction:column;gap:6px}.institution-page .field label{color:color-mix(in srgb,var(--theme-text) 82%,var(--theme-muted));font-size:12px;font-weight:800}.institution-page .field input,.institution-page .field select{width:100%;height:43px;padding:8px 11px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface);color:var(--theme-text);outline:none;transition:border-color .18s,box-shadow .18s}.institution-page .field input:focus,.institution-page .field select:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 13%,transparent)}.institution-page .errorlist{margin:0;color:var(--theme-danger);font-size:10px}.institution-errors{margin:0 30px 15px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--theme-danger) 35%,var(--theme-line));border-radius:9px;background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-surface));color:var(--theme-danger)}.social-section{padding-top:25px;border-top:1px solid var(--theme-line)}.social-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}.social-heading p{margin:4px 0 0;color:var(--theme-muted);font-size:11px}.social-add{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--theme-secondary) 55%,var(--theme-line));border-radius:9px;background:var(--theme-surface);color:var(--theme-secondary);font-size:12px;font-weight:800;cursor:pointer;transition:background .18s,transform .18s}.social-add:hover{background:var(--theme-surface-soft);transform:translateY(-1px)}.social-list{display:grid;gap:14px}.social-row{position:relative;display:grid;grid-template-columns:20px minmax(130px,.85fr) minmax(130px,.85fr) minmax(190px,1.35fr) minmax(210px,1.35fr) minmax(145px,.65fr) 47px;gap:12px;align-items:end;padding:18px 16px;border:1px solid var(--theme-line);border-radius:13px;background:var(--theme-surface);box-shadow:0 6px 16px color-mix(in srgb,var(--theme-shadow) 65%,transparent);transition:transform .18s,opacity .18s,border-color .18s}.social-row:hover{border-color:color-mix(in srgb,var(--theme-secondary) 33%,var(--theme-line))}.social-row.is-dragging{opacity:.45;transform:scale(.99)}.social-row.is-deleted{display:none}.social-delete-field,.social-row>input[type="hidden"]{display:none}.social-drag{align-self:center;width:20px;height:42px;padding:0;border:0;background:transparent;color:var(--theme-muted);cursor:grab}.social-drag:active{cursor:grabbing}.social-remove{width:47px;height:43px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--theme-danger) 65%,var(--theme-line));border-radius:9px;background:var(--theme-surface);color:var(--theme-danger);cursor:pointer;transition:background .18s,transform .18s}.social-remove:hover{background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-surface));transform:translateY(-1px)}.social-icon-control{display:grid;grid-template-columns:48px minmax(0,1fr);gap:7px}.social-icon-preview{width:48px;height:43px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface-soft);color:var(--theme-secondary);font-size:20px}.social-icon-preview[data-icon="instagram"]{color:#e1306c;background:#fce8f0}.social-icon-preview[data-icon="youtube"],.social-icon-preview[data-icon="youtube-music"]{color:#f00;background:#fdebec}.social-icon-preview[data-icon="facebook"]{color:#1877f2;background:#e8f1fe}.social-icon-preview[data-icon="spotify"]{color:#1db954;background:#e5f8ec}.social-icon-preview[data-icon="deezer"]{color:#8b32df;background:#f2e7fd}.social-empty{min-height:120px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px dashed var(--theme-line);border-radius:13px;color:var(--theme-muted)}.social-empty i,.social-empty iconify-icon{font-size:23px;color:var(--theme-secondary)}.social-empty strong{color:var(--theme-text);font-size:13px}.social-empty span{font-size:11px}.institution-actions{display:flex;justify-content:flex-end;padding:4px 30px 28px}.institution-save{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 18px;border:0;border-radius:9px;background:var(--theme-primary);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px var(--theme-shadow);transition:background .18s,transform .18s}.institution-save:hover{background:var(--theme-secondary);transform:translateY(-1px)}
@media(max-width:1280px){.social-row{grid-template-columns:20px repeat(2,minmax(130px,1fr))}.social-description,.social-url{grid-column:span 2}.social-icon-field{grid-column:2}.social-remove{grid-column:4;grid-row:3;justify-self:end}.institution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.institution-grid .field-span-2{grid-column:span 2}}
@media(max-width:820px){.institution-heading,.institution-section{padding-left:20px;padding-right:20px}.institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-grid .field-span-2{grid-column:span 2}.social-row{grid-template-columns:20px 1fr 1fr}.social-description,.social-url{grid-column:2/span 2}.social-icon-field{grid-column:2}.social-remove{grid-column:3;grid-row:auto;justify-self:end}.institution-actions{padding-right:20px;padding-left:20px}}
@media(max-width:560px){.institution-heading{padding:21px 16px 16px}.institution-section{padding-left:16px;padding-right:16px}.institution-heading h1{font-size:22px}.institution-grid{grid-template-columns:1fr}.institution-grid .field-span-2{grid-column:span 1}.social-heading{align-items:flex-start;flex-direction:column}.social-row{grid-template-columns:20px 1fr}.social-row .field,.social-description,.social-url,.social-icon-field{grid-column:2}.social-remove{grid-column:2;justify-self:end}.institution-actions{padding:3px 16px 20px}.institution-save{width:100%;justify-content:center}}

/* ==========================================================
   MENUS FIXOS E GRUPOS ESTAVEIS 3.08.01
   O menu permanece fixo e os títulos com submenus não reagem ao hover.
   ========================================================== */
.module-sidebar{
    position:fixed;
    top:0;
    left:0;
    width:var(--module-sidebar-width);
    height:100vh;
}
.module-main{
    grid-column:2;
    min-width:0;
}
.module-shell.sidebar-collapsed .module-sidebar{
    width:var(--module-sidebar-collapsed);
}
/* Grupos com submenu continuam clicáveis, porém ficam visualmente estáveis. */
.module-nav-group > .module-nav-toggle,
.module-nav-group > .module-nav-toggle:hover,
.module-nav-group > .module-nav-toggle:focus-visible{
    transform:none !important;
    padding-left:10px !important;
    background:transparent !important;
    box-shadow:none !important;
}
.module-nav-group > .module-nav-toggle::after,
.module-nav-group > .module-nav-toggle:hover::after,
.module-nav-group > .module-nav-toggle:focus-visible::after{
    display:none !important;
    opacity:0 !important;
    transform:none !important;
}
.module-nav-group > .module-nav-toggle:hover > span > i,
.module-nav-group > .module-nav-toggle:focus-visible > span > i,
.module-nav-group > .module-nav-toggle:hover > span > iconify-icon,
.module-nav-group > .module-nav-toggle:focus-visible > span > iconify-icon{
    color:var(--theme-sidebar-muted) !important;
    transform:none !important;
}
.module-nav-group.has-active > .module-nav-toggle,
.module-nav-group.has-active > .module-nav-toggle:hover,
.module-nav-group.has-active > .module-nav-toggle:focus-visible{
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
}
.module-nav-group.has-active > .module-nav-toggle > span > i,
.module-nav-group.has-active > .module-nav-toggle:hover > span > i,
.module-nav-group.has-active > .module-nav-toggle > span > iconify-icon,
.module-nav-group.has-active > .module-nav-toggle:hover > span > iconify-icon{
    color:var(--theme-accent) !important;
}
.module-nav-toggle{
    cursor:pointer;
}
@media(max-width:980px){
    .module-sidebar{position:fixed;}
    .module-main{grid-column:1;}
}
/* 3.09.00: agenda independente, avatar e ajustes da plataforma. */
.platform-user-avatar.has-photo{overflow:hidden;padding:0}.platform-user-avatar.has-photo img{width:100%;height:100%;display:block;object-fit:cover}.profile-form{display:grid;gap:22px}.profile-photo-area{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--theme-line)}.profile-photo-preview,.profile-avatar-preview{width:92px;height:92px;flex:0 0 92px;border-radius:24px;object-fit:cover}.profile-avatar-preview{display:grid;place-items:center;background:var(--theme-primary);color:#fff;font-size:34px;font-weight:850}.profile-photo-area>div{display:grid;gap:7px}.profile-photo-area label{font-weight:800}.profile-photo-area small{color:var(--theme-muted);font-size:11px}.profile-fields{margin:0}.appointment-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.appointment-form textarea{resize:vertical}.appointment-list{align-self:start}.appointment-list h2{margin-top:0}.appointment-list article{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--theme-line)}.appointment-list article:last-child{border-bottom:0}.appointment-list span,.appointment-list small{color:var(--theme-muted)}.appointment-table{overflow:auto}.appointment-table table{min-width:850px}.platform-page .platform-header-actions{margin-left:auto}@media(max-width:900px){.appointment-layout{grid-template-columns:1fr}}@media(max-width:560px){.profile-photo-area{align-items:flex-start;flex-direction:column}}
/* ==========================================================
   PADRÃO DE CADASTROS 3.10.00
   Toda tela apresenta relatório e inclusão em modal.
   ========================================================== */
.registration-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.registration-summary article{min-width:165px;padding:13px 16px;border:1px solid var(--theme-line);border-radius:11px;background:var(--theme-surface);box-shadow:0 7px 18px var(--theme-shadow)}.registration-summary small{display:block;color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.registration-summary strong{display:block;margin-top:4px;color:var(--theme-text);font-size:22px}.table-card .card-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.table-card .card-heading>i,.table-card .card-heading>iconify-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:var(--theme-surface-soft);color:var(--theme-secondary);font-size:17px}.table-card .card-heading small{color:var(--theme-muted);font-size:9px;font-weight:850;letter-spacing:.12em}.table-card .card-heading h2{margin:2px 0 0;color:var(--theme-text);font-size:17px}.table-note{display:block;margin-top:3px;color:var(--theme-muted);font-size:10px}.status-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--theme-secondary) 13%,var(--theme-surface));color:var(--theme-secondary);font-size:9px;font-weight:850}.status-badge.is-muted{background:var(--theme-surface-soft);color:var(--theme-muted)}.row-actions{display:flex;align-items:center;gap:6px}.row-actions form{margin:0}.row-actions a,.row-actions button{width:31px;height:31px;display:grid;place-items:center;padding:0;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-surface);color:var(--theme-secondary);cursor:pointer;text-decoration:none}.row-actions button{color:var(--theme-danger)}.empty-state{text-align:center;color:var(--theme-muted);padding:28px!important}.modal-open{overflow:hidden}.cadastro-modal[hidden]{display:none}.cadastro-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:24px}.cadastro-modal-backdrop{position:absolute;inset:0;background:rgba(8,20,31,.58);backdrop-filter:blur(4px);animation:modal-fade .18s ease}.cadastro-modal-dialog{position:relative;width:min(820px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);box-shadow:0 28px 80px rgba(0,0,0,.32);animation:modal-enter .22s cubic-bezier(.2,.8,.2,1)}.cadastro-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid var(--theme-line)}.cadastro-modal-header h2{margin:3px 0 4px;color:var(--theme-text);font-size:20px}.cadastro-modal-header p{margin:0;color:var(--theme-muted);font-size:11px}.cadastro-modal-close{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface-soft);color:var(--theme-text);cursor:pointer}.cadastro-modal-form{display:flex;min-height:0;flex-direction:column}.modal-form-grid{overflow:auto;padding:20px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-form-grid>div{display:grid;gap:6px}.modal-form-grid label{color:var(--theme-text);font-size:11px;font-weight:800}.modal-form-grid input,.modal-form-grid select,.modal-form-grid textarea{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text)}.modal-form-grid textarea{min-height:80px;resize:vertical}.modal-form-grid input[type="checkbox"]{width:18px;min-height:18px}.modal-form-grid .helptext{color:var(--theme-muted);font-size:9px}.modal-form-grid .errorlist,.modal-form-errors{color:var(--theme-danger);font-size:10px}.cadastro-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid var(--theme-line);background:var(--theme-surface-soft)}@keyframes modal-fade{from{opacity:0}to{opacity:1}}@keyframes modal-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:650px){.cadastro-modal{padding:10px}.cadastro-modal-dialog{max-height:calc(100vh - 20px)}.modal-form-grid{grid-template-columns:1fr;padding:16px}.cadastro-modal-actions{padding:12px 16px}.registration-summary article{flex:1}}
/* ==========================================================
   CADASTROS 3.10.01
   Indicadores compactos no cabeçalho e códigos não editáveis.
   ========================================================== */
.page-heading>div:first-child{min-width:0}.header-indicators{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.header-indicators article{min-width:112px;display:flex;align-items:center;justify-content:space-between;gap:11px;padding:6px 9px;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-surface);box-shadow:0 4px 11px color-mix(in srgb,var(--theme-shadow) 70%,transparent)}.header-indicators small{color:var(--theme-muted);font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.header-indicators strong{color:var(--theme-text);font-size:16px;line-height:1}.modal-form-grid input:disabled,.form-grid input:disabled{background:var(--theme-surface-soft);color:var(--theme-muted);cursor:not-allowed;border-style:dashed}.registration-summary{display:none!important}@media(max-width:650px){.page-heading{align-items:flex-start}.header-indicators{width:100%}.header-indicators article{flex:1}.page-heading>.button-primary{flex:0 0 auto}}
/* ==========================================================
   FILTROS INTERNOS E CABEÇALHO 3.10.03
   Busca instantânea em cada coluna e indicadores próximos à inclusão.
   ========================================================== */
.registration-heading{align-items:flex-start}.page-heading-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.page-heading-tools .header-indicators{margin:0;padding-right:12px;border-right:1px solid var(--theme-line)}.page-heading-tools .header-indicators article{min-width:105px;background:var(--theme-surface-soft);box-shadow:none;border-color:color-mix(in srgb,var(--theme-line) 78%,transparent)}.page-heading-tools .header-indicators small{font-size:7px}.page-heading-tools .header-indicators strong{font-size:15px}.page-heading-tools .button-primary{min-height:40px;white-space:nowrap;box-shadow:0 7px 16px color-mix(in srgb,var(--theme-primary) 18%,transparent)}.registration-table{padding-top:16px}.registration-table .table-responsive{margin-top:0}.table-filter-row th{padding:6px 7px!important;background:color-mix(in srgb,var(--theme-surface-soft) 75%,var(--theme-surface))!important;border-top:1px solid var(--theme-line)}.table-filter-row input{width:100%;min-width:80px;height:31px;padding:5px 8px;border:1px solid var(--theme-line);border-radius:7px;background:var(--theme-surface);color:var(--theme-text);font-size:10px;outline:none}.table-filter-row input:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-secondary) 12%,transparent)}.table-filter-row input::placeholder{color:var(--theme-muted)}tr[hidden]{display:none!important}@media(max-width:900px){.registration-heading{gap:15px}.page-heading-tools{width:100%;justify-content:space-between;margin-left:0}.page-heading-tools .header-indicators{flex:1}}@media(max-width:620px){.page-heading-tools{align-items:stretch;flex-direction:column}.page-heading-tools .header-indicators{padding:0 0 9px;border-right:0;border-bottom:1px solid var(--theme-line)}.page-heading-tools .button-primary{width:100%;justify-content:center}}
/* 3.10.04: estado visual inequívoco dos códigos automáticos. */
input.field-code-automatic,
input.field-code-automatic:disabled,
input[name="codigo"]:disabled{
    background:repeating-linear-gradient(-45deg,var(--theme-surface-soft),var(--theme-surface-soft) 8px,color-mix(in srgb,var(--theme-line) 28%,var(--theme-surface-soft)) 8px,color-mix(in srgb,var(--theme-line) 28%,var(--theme-surface-soft)) 16px)!important;
    border-color:var(--theme-line)!important;
    color:var(--theme-muted)!important;
    cursor:not-allowed!important;
    opacity:.82!important;
    pointer-events:none!important;
    user-select:none!important;
}
/* ==========================================================
   CADASTRO ORGANIZADO DE PESSOAS 3.11.00
   Estrutura visual em seções e código absolutamente não editável.
   ========================================================== */
.person-modal{padding:12px}.person-modal-dialog{width:min(1380px,100%);height:calc(100vh - 24px);max-height:none}.person-modal-hero,.person-page-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--theme-secondary) 24%,var(--theme-line));border-radius:14px;background:linear-gradient(110deg,color-mix(in srgb,var(--theme-secondary) 8%,var(--theme-surface)),var(--theme-surface));margin:14px}.person-modal-hero h2,.person-page-hero h1{margin:3px 0 4px;color:var(--theme-text);font-size:24px;font-weight:550}.person-modal-hero p,.person-page-hero p{margin:0;color:var(--theme-muted);font-size:11px}.person-organized-form{display:flex;min-height:0;flex-direction:column}.person-modal-scroll{padding:0 14px 16px;overflow:auto;scroll-behavior:smooth}.person-code-strip{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 10px}.person-code-strip label{color:var(--theme-muted);font-size:9px;font-weight:850;text-transform:uppercase}.person-code-strip input{width:180px;height:34px;padding:6px 9px;border:1px dashed var(--theme-line);border-radius:8px}.person-section-nav{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--theme-line);border-radius:12px;background:color-mix(in srgb,var(--theme-surface) 94%,transparent);backdrop-filter:blur(10px);box-shadow:0 8px 20px color-mix(in srgb,var(--theme-shadow) 65%,transparent)}.person-section-nav a{display:flex;align-items:center;gap:9px;min-height:52px;padding:9px 11px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface-soft);color:var(--theme-text);text-decoration:none;transition:border-color .18s,transform .18s}.person-section-nav a:hover{border-color:var(--theme-secondary);transform:translateY(-1px)}.person-section-nav i,.person-section-nav iconify-icon{color:var(--theme-secondary);font-size:17px}.person-section-nav span{display:grid}.person-section-nav strong{font-size:11px}.person-section-nav small{color:var(--theme-muted);font-size:8px}.person-form-section{scroll-margin-top:85px;margin-top:12px;overflow:hidden;border:1px solid var(--theme-line);border-radius:13px;background:var(--theme-surface);box-shadow:0 8px 22px color-mix(in srgb,var(--theme-shadow) 55%,transparent)}.person-form-section>header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--theme-line);background:var(--theme-surface-soft)}.person-form-section>header>i,.person-form-section>header>iconify-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:9px;color:var(--theme-secondary)}.person-form-section h3{margin:0;color:var(--theme-text);font-size:15px}.person-form-section header p{margin:2px 0 0;color:var(--theme-muted);font-size:9px}.section-contact>header{background:color-mix(in srgb,#dff5e9 55%,var(--theme-surface))}.section-family>header{background:color-mix(in srgb,#eee7fa 55%,var(--theme-surface))}.section-church>header{background:color-mix(in srgb,#f7ecd7 58%,var(--theme-surface))}.person-form-grid{display:grid;gap:13px 15px;padding:17px}.person-form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.person-form-grid>div{display:flex;min-width:0;flex-direction:column;gap:5px}.person-form-grid .span-2{grid-column:span 2}.person-form-grid .span-4{grid-column:span 4}.person-form-grid label{color:var(--theme-text);font-size:10px;font-weight:800}.person-form-grid input,.person-form-grid select,.person-form-grid textarea{width:100%;min-height:39px;padding:7px 9px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text);outline:none}.person-form-grid input:focus,.person-form-grid select:focus,.person-form-grid textarea:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-secondary) 12%,transparent)}.person-form-grid .errorlist{margin:0;color:var(--theme-danger);font-size:9px}.person-whatsapp-consent{display:grid!important;grid-template-columns:36px 1fr auto;align-items:center;padding:10px 12px;border:1px solid color-mix(in srgb,#25d366 35%,var(--theme-line));border-radius:10px;background:color-mix(in srgb,#25d366 8%,var(--theme-surface))}.person-whatsapp-consent>i,.person-whatsapp-consent>iconify-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#25d366;color:#fff;font-size:18px}.person-whatsapp-consent>div{display:grid}.person-whatsapp-consent small{color:var(--theme-muted);font-size:8px}.person-whatsapp-consent>label{display:flex;align-items:center;gap:7px}.person-whatsapp-consent input{width:18px;min-height:18px}.person-page-hero{margin:0 0 12px}.person-edit-form{gap:12px}.person-form-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 0}.person-edit-form .person-section-nav{top:8px}.field-code-automatic[disabled]{background:var(--theme-surface-soft)!important;color:var(--theme-muted)!important;cursor:not-allowed!important;pointer-events:none!important;opacity:.7!important;user-select:none!important}
@media(max-width:1000px){.person-form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.person-form-grid .span-4{grid-column:span 2}.person-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.person-modal{padding:0}.person-modal-dialog{height:100vh;border-radius:0}.person-modal-hero,.person-page-hero{align-items:flex-start;flex-direction:column;margin:8px}.person-section-nav{grid-template-columns:1fr}.person-form-grid.cols-4{grid-template-columns:1fr}.person-form-grid .span-2,.person-form-grid .span-4{grid-column:span 1}.person-whatsapp-consent{grid-template-columns:36px 1fr}.person-whatsapp-consent>label{grid-column:2}.person-code-strip{justify-content:stretch}.person-code-strip input{flex:1}}
/* ==========================================================
   TABELAS PAGINADAS E RODAPÉ 3.12.00
   Dez registros por página, card enquadrado e rodapé no fim da tela.
   ========================================================== */
html,body{height:100%}.module-page{min-height:100vh;overflow-x:hidden}.module-shell{min-height:100vh}.module-main{min-height:100vh;display:flex;flex-direction:column}.module-content{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:14px}.module-content>.registration-heading{flex:0 0 auto}.module-content>.registration-table{flex:1;min-height:0}.module-footer{position:relative;z-index:15;flex:0 0 34px;min-height:34px;display:flex;align-items:center;justify-content:center;margin-top:auto;border-top:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-muted);font-size:9px}.registration-table{display:flex;min-height:550px;max-height:calc(100vh - 245px);flex-direction:column;overflow:hidden;padding:0!important}.registration-table .table-responsive{flex:1;min-height:0;overflow:auto;border-radius:inherit}.registration-table table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.registration-table thead{position:sticky;z-index:5;top:0}.registration-table thead tr:first-child th{position:sticky;top:0;z-index:6}.registration-table thead .table-filter-row th{position:sticky;top:38px;z-index:6}.registration-table tbody tr[data-table-row]{height:52px}.registration-table tbody td{vertical-align:middle}.table-pagination{flex:0 0 58px;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-top:1px solid var(--theme-line);background:var(--theme-surface)}.table-pagination-summary{color:var(--theme-muted);font-size:10px}.table-pagination-controls{display:flex;align-items:center;gap:6px}.table-page-button{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-surface);color:var(--theme-primary);font-size:10px;font-weight:800;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.table-page-button:hover:not(:disabled){border-color:var(--theme-secondary);transform:translateY(-1px)}.table-page-button.is-active{border-color:var(--theme-primary);background:var(--theme-primary);color:#fff}.table-page-button:disabled{opacity:.35;cursor:not-allowed}.table-page-button.is-arrow{font-size:18px;font-weight:500}.table-page-ellipsis{min-width:24px;text-align:center;color:var(--theme-muted)}
@media(max-height:780px){.registration-table{min-height:430px;max-height:calc(100vh - 220px)}.registration-table tbody tr[data-table-row]{height:44px}.table-pagination{flex-basis:50px;min-height:50px}}
@media(max-width:760px){.registration-table{min-height:500px;max-height:none}.table-pagination{align-items:flex-start;flex-direction:column;height:auto;min-height:84px}.table-pagination-controls{align-self:flex-end;max-width:100%;overflow:auto}.module-footer{min-height:34px}}
/* ==========================================================
   PADRÃO PROPORCIONAL DE FORMULÁRIOS 3.13.00
   Cards mais estreitos e campos dimensionados pelo conteúdo esperado.
   ========================================================== */
.person-modal-dialog{width:min(1120px,calc(100vw - 32px))}.person-modal-scroll{max-width:1080px;width:100%;margin:0 auto}.person-page-hero,.person-edit-form{max-width:1120px;width:100%;margin-left:auto;margin-right:auto}.person-section-nav{grid-template-columns:repeat(4,minmax(180px,1fr))}.person-form-grid.cols-4{grid-template-columns:repeat(12,minmax(0,1fr))}.person-form-grid>div{grid-column:span 3}.person-form-grid .span-2{grid-column:span 6}.person-form-grid .span-4{grid-column:span 12}.person-form-grid .field-content-tiny{grid-column:span 1}.person-form-grid .field-content-short{grid-column:span 2}.person-form-grid .field-content-medium{grid-column:span 3}.person-form-grid .field-content-long{grid-column:span 8}.modal-form-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}.modal-form-grid>div{grid-column:span 6}.modal-form-grid>div:has(.field-size-short){grid-column:span 3}.modal-form-grid>div:has(.field-size-medium){grid-column:span 4}.modal-form-grid>div:has(.field-size-long){grid-column:span 8}.modal-form-grid>div:has(.field-size-full){grid-column:span 12}.modal-form-grid .field-code-display{grid-column:span 3}.field-size-short{max-width:220px}.field-size-medium{max-width:360px}.field-size-standard{max-width:480px}.field-size-long{max-width:100%}.field-size-full{max-width:100%}.person-form-grid input[type="date"],.person-form-grid input[type="time"]{max-width:200px}.person-form-grid input[name="uf"]{max-width:86px;text-transform:uppercase}.person-form-grid input[name="numero"]{max-width:150px}.person-form-grid input[name="cep"]{max-width:180px}.person-form-grid input[name="cpf"],.person-form-grid input[name="rg"]{max-width:220px}.person-form-grid input[name="telefone"],.person-form-grid input[name="whatsapp"],.person-form-grid input[name="telefone_emergencia"]{max-width:240px}.person-form-grid select[name="tipo"],.person-form-grid select[name="situacao"],.person-form-grid input[name="estado_civil"]{max-width:260px}.person-code-strip{max-width:1120px;margin-left:auto;margin-right:auto}.person-form-section{width:100%}
@media(max-width:920px){.person-modal-dialog{width:calc(100vw - 18px)}.person-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.person-form-grid.cols-4{grid-template-columns:repeat(6,minmax(0,1fr))}.person-form-grid>div,.person-form-grid .field-content-medium{grid-column:span 3}.person-form-grid .span-2,.person-form-grid .field-content-long{grid-column:span 6}.person-form-grid .span-4{grid-column:span 6}.person-form-grid .field-content-short{grid-column:span 2}.person-form-grid .field-content-tiny{grid-column:span 1}.modal-form-grid>div,.modal-form-grid>div:has(.field-size-medium){grid-column:span 6}.modal-form-grid>div:has(.field-size-long),.modal-form-grid>div:has(.field-size-full){grid-column:span 12}}
@media(max-width:620px){.person-modal-dialog{width:100vw}.person-form-grid.cols-4,.modal-form-grid{grid-template-columns:1fr}.person-form-grid>div,.person-form-grid .span-2,.person-form-grid .span-4,.person-form-grid .field-content-tiny,.person-form-grid .field-content-short,.person-form-grid .field-content-medium,.person-form-grid .field-content-long,.modal-form-grid>div,.modal-form-grid>div:has(.field-size-short),.modal-form-grid>div:has(.field-size-medium),.modal-form-grid>div:has(.field-size-long),.modal-form-grid>div:has(.field-size-full),.modal-form-grid .field-code-display{grid-column:1}.field-size-short,.field-size-medium,.field-size-standard,.field-size-long{max-width:100%}}
/* ==========================================================
   CABECALHOS DAS COLUNAS CENTRALIZADOS 3.13.03
   Centraliza somente os títulos e filtros das colunas das tabelas.
   ========================================================== */
.registration-table thead th{
    text-align:center!important;
    vertical-align:middle!important;
}
.registration-table thead tr:first-child th{
    white-space:nowrap;
}
.registration-table .table-filter-row th{
    text-align:center!important;
}
.registration-table .table-filter-row input{
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}
.registration-table tbody td:last-child .row-actions{
    justify-content:center;
}
/* ==========================================================
   ANIVERSARIANTES DO MES 3.14.00
   Página comemorativa com destaque do dia, confetes e balões animados.
   ========================================================== */
.birthday-page{display:grid;gap:14px}.birthday-hero{position:relative;min-height:188px;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;padding:34px 36px;border:1px solid color-mix(in srgb,var(--theme-secondary) 28%,var(--theme-line));border-radius:17px;background:linear-gradient(120deg,color-mix(in srgb,#dff4ed 65%,var(--theme-surface)),color-mix(in srgb,#fff 83%,var(--theme-surface)));box-shadow:0 12px 30px color-mix(in srgb,var(--theme-shadow) 65%,transparent)}.birthday-hero-main{position:relative;z-index:3;display:flex;align-items:center;gap:20px}.birthday-cake{width:72px;height:72px;display:grid;place-items:center;flex:0 0 72px;border:8px solid color-mix(in srgb,#ffd75a 70%,#fff);border-radius:22px;background:#ffd75a;color:#173d61;font-size:31px;box-shadow:0 14px 28px rgba(224,167,24,.22)}.birthday-hero h1{margin:5px 0 7px;color:var(--theme-text);font-size:30px;font-weight:500}.birthday-hero p{margin:0;color:var(--theme-muted);font-size:14px}.birthday-month-picker{position:relative;z-index:4;display:grid;gap:7px;width:220px}.birthday-month-picker label{color:var(--theme-text);font-size:10px;font-weight:900;text-transform:uppercase}.birthday-month-picker select{height:42px;padding:8px 12px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text)}.birthday-confetti{position:absolute;inset:-30px 0 0;pointer-events:none}.birthday-confetti i,.birthday-confetti iconify-icon{position:absolute;top:-14px;width:13px;height:7px;border-radius:2px;background:#ffcf35;animation:confetti-fall 5.8s linear infinite}.birthday-confetti i:nth-child(2n),.birthday-confetti iconify-icon:nth-child(2n){background:#ef5c69;animation-duration:7.2s}.birthday-confetti i:nth-child(3n),.birthday-confetti iconify-icon:nth-child(3n){background:#3fb7ef;transform:rotate(35deg)}.birthday-confetti i:nth-child(4n),.birthday-confetti iconify-icon:nth-child(4n){background:#4dcc75}.birthday-confetti i:nth-child(1),.birthday-confetti iconify-icon:nth-child(1){left:8%;animation-delay:-1s}.birthday-confetti i:nth-child(2),.birthday-confetti iconify-icon:nth-child(2){left:17%;animation-delay:-4s}.birthday-confetti i:nth-child(3),.birthday-confetti iconify-icon:nth-child(3){left:27%;animation-delay:-2.2s}.birthday-confetti i:nth-child(4),.birthday-confetti iconify-icon:nth-child(4){left:37%;animation-delay:-5s}.birthday-confetti i:nth-child(5),.birthday-confetti iconify-icon:nth-child(5){left:47%;animation-delay:-.4s}.birthday-confetti i:nth-child(6),.birthday-confetti iconify-icon:nth-child(6){left:57%;animation-delay:-3.6s}.birthday-confetti i:nth-child(7),.birthday-confetti iconify-icon:nth-child(7){left:66%;animation-delay:-1.8s}.birthday-confetti i:nth-child(8),.birthday-confetti iconify-icon:nth-child(8){left:75%;animation-delay:-4.7s}.birthday-confetti i:nth-child(9),.birthday-confetti iconify-icon:nth-child(9){left:84%;animation-delay:-2.8s}.birthday-confetti i:nth-child(10),.birthday-confetti iconify-icon:nth-child(10){left:92%;animation-delay:-5.4s}.birthday-confetti i:nth-child(11),.birthday-confetti iconify-icon:nth-child(11){left:42%;animation-delay:-6.2s}.birthday-confetti i:nth-child(12),.birthday-confetti iconify-icon:nth-child(12){left:71%;animation-delay:-.9s}.birthday-balloon{position:absolute;width:46px;height:58px;border-radius:50% 50% 47% 47%;opacity:.38;animation:balloon-drift 6s ease-in-out infinite}.birthday-balloon::after{content:"";position:absolute;left:50%;top:56px;width:1px;height:40px;background:currentColor;opacity:.35}.balloon-one{left:49%;top:17px;background:#8fd5f3;color:#8fd5f3}.balloon-two{left:68%;bottom:26px;background:#ffe27d;color:#d6af2c;animation-delay:-2s}.balloon-three{right:5%;top:9px;background:#f4a5aa;color:#d56d75;animation-delay:-4s}.birthday-today-section{padding:18px;border:1px solid #f3c546;border-radius:17px;background:linear-gradient(110deg,#fffbea,var(--theme-surface));box-shadow:0 9px 23px rgba(216,166,42,.11)}.birthday-today-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.birthday-today-section>header>div{display:flex;align-items:center;gap:10px}.birthday-spark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#ffd758;color:#8b6100;font-size:19px}.birthday-today-section h2{margin:0;font-size:17px}.birthday-today-section header p{margin:3px 0 0;color:#8a7340;font-size:10px}.birthday-today-section>header>strong{color:#7e5a00}.birthday-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.birthday-today-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 178px;align-items:center;gap:15px;overflow:hidden;padding:18px;border-radius:15px;background:linear-gradient(125deg,#ec830d,#f6b21f);color:#fff;box-shadow:0 15px 28px rgba(218,137,12,.22)}.birthday-today-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.22),transparent 32%);pointer-events:none}.birthday-initial{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#b76400;font-size:24px;font-weight:900;box-shadow:0 8px 18px rgba(125,70,0,.18)}.birthday-today-copy{position:relative;z-index:2}.birthday-today-copy small{font-weight:900;text-transform:uppercase}.birthday-today-copy h3{margin:6px 0 4px;font-size:17px;font-weight:600}.birthday-today-copy p{margin:0 0 8px;color:#fff}.birthday-today-actions{position:relative;z-index:2;display:grid;gap:7px}.birthday-today-actions a,.birthday-today-actions button,.birthday-no-auth{min-height:38px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:0;border-radius:9px;background:#fff;color:#202020;font-size:10px;font-weight:850;text-decoration:none}.birthday-today-actions form{margin:0}.birthday-today-actions button{width:100%;cursor:pointer}.birthday-no-auth{background:#fff4c9;color:#786120}.birthday-calendar-card{overflow:hidden;border:1px solid var(--theme-line);border-radius:17px;background:var(--theme-surface);box-shadow:0 11px 28px color-mix(in srgb,var(--theme-shadow) 65%,transparent)}.birthday-calendar-card>header{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;border-bottom:1px solid var(--theme-line)}.birthday-calendar-card h2{margin:0;font-size:17px}.birthday-calendar-card header p{margin:3px 0 0;color:var(--theme-muted);font-size:10px}.birthday-count{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#fff2bc;color:#755700;font-weight:900}.birthday-list{display:grid;gap:9px;padding:14px 16px}.birthday-list-item{display:grid;grid-template-columns:62px 46px minmax(0,1fr) auto 30px;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);transition:transform .18s,border-color .18s,box-shadow .18s}.birthday-list-item:hover{transform:translateY(-1px);border-color:var(--theme-secondary);box-shadow:0 8px 18px color-mix(in srgb,var(--theme-shadow) 60%,transparent)}.birthday-list-item.is-today{border-color:#efbd2e;background:linear-gradient(90deg,#fff9df,var(--theme-surface))}.birthday-list-item time{display:grid;place-items:center;min-height:55px;border-radius:10px;background:var(--theme-primary);color:#fff}.birthday-list-item time strong{font-size:19px}.birthday-list-item time span{font-size:9px;font-weight:900}.birthday-mini-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--theme-secondary) 13%,var(--theme-surface));color:var(--theme-secondary);font-weight:900}.birthday-person-copy h3{margin:0;color:var(--theme-text);font-size:13px}.birthday-person-copy p{margin:3px 0;color:var(--theme-muted);font-size:9px}.birthday-person-copy small{display:flex;align-items:center;gap:6px;color:#a66a0c;font-size:9px}.birthday-today-badge{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#ffd95f;color:#705200;font-size:9px;font-weight:900}.birthday-open-person{display:grid;place-items:center;color:var(--theme-primary);font-size:17px}.birthday-empty{display:grid;place-items:center;padding:36px;color:var(--theme-muted);text-align:center}.birthday-empty i,.birthday-empty iconify-icon{font-size:30px}.birthday-empty h3{margin:10px 0 4px;color:var(--theme-text)}.birthday-empty p{margin:0}@keyframes confetti-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translate3d(35px,235px,0) rotate(480deg);opacity:0}}@keyframes balloon-drift{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(12px,-16px,0) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.birthday-confetti i,.birthday-balloon,.birthday-confetti iconify-icon{animation:none!important}}@media(max-width:980px){.birthday-today-grid{grid-template-columns:1fr}.birthday-hero{align-items:flex-start;flex-direction:column}.birthday-month-picker{width:100%}}@media(max-width:650px){.birthday-hero{padding:24px 18px}.birthday-hero-main{align-items:flex-start}.birthday-cake{width:58px;height:58px;flex-basis:58px;border-width:6px}.birthday-hero h1{font-size:23px}.birthday-today-card{grid-template-columns:55px 1fr}.birthday-initial{width:52px;height:52px}.birthday-today-actions{grid-column:1/-1}.birthday-list-item{grid-template-columns:52px 40px minmax(0,1fr) 24px}.birthday-today-badge{display:none}.birthday-person-copy small{align-items:flex-start;flex-wrap:wrap}.birthday-today-section>header{align-items:flex-start}.birthday-calendar-card>header{align-items:flex-start}}
/* ==========================================================
   TOOLTIPS GLOBAIS 3.14.01
   Legendas acessíveis para ações e itens do menu recolhido.
   ========================================================== */
.farol-tooltip{
    position:fixed;
    z-index:500;
    max-width:260px;
    padding:7px 10px;
    border:1px solid color-mix(in srgb,var(--theme-line) 75%,transparent);
    border-radius:8px;
    background:color-mix(in srgb,var(--theme-primary) 96%,#000);
    color:#fff;
    box-shadow:0 10px 24px rgba(8,23,38,.24);
    font-size:10px;
    font-weight:750;
    line-height:1.35;
    letter-spacing:.01em;
    opacity:0;
    transform:translateY(3px) scale(.98);
    pointer-events:none;
    transition:opacity .14s ease,transform .14s ease;
}
.farol-tooltip.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}
.farol-tooltip::after{
    content:"";
    position:absolute;
    width:8px;
    height:8px;
    background:inherit;
    transform:rotate(45deg);
}
.farol-tooltip[data-placement="top"]::after{
    right:calc(50% - 4px);
    bottom:-4px;
}
.farol-tooltip[data-placement="bottom"]::after{
    top:-4px;
    right:calc(50% - 4px);
}
.farol-tooltip[data-placement="right"]::after{
    top:calc(50% - 4px);
    left:-4px;
}
@media(prefers-reduced-motion:reduce){
    .farol-tooltip{transition:none}
}
/* ==========================================================
   FORMULARIO DE PESSOAS EM LARGURA INTEGRAL 3.15.00
   Código integrado antes do nome e linhas preenchendo 100% do card.
   ========================================================== */
.person-form-grid.cols-4{
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-flow:row;
    align-items:end;
}
.person-form-grid .field-span-1{grid-column:span 1}
.person-form-grid .field-span-2{grid-column:span 2}
.person-form-grid .field-span-3{grid-column:span 3}
.person-form-grid .field-span-4{grid-column:span 4}
.person-form-grid .field-span-5{grid-column:span 5}
.person-form-grid .field-span-6{grid-column:span 6}
.person-form-grid .field-span-7{grid-column:span 7}
.person-form-grid .field-span-8{grid-column:span 8}
.person-form-grid .field-span-9{grid-column:span 9}
.person-form-grid .field-span-12{grid-column:span 12}
.person-form-grid [class*="field-span-"] input:not([type="checkbox"]),
.person-form-grid [class*="field-span-"] select,
.person-form-grid [class*="field-span-"] textarea{
    width:100%;
    max-width:none!important;
}
.person-code-field .field-code-automatic{
    min-height:39px;
    width:100%;
    max-width:none!important;
    border-style:dashed!important;
}
.person-name-field input{font-weight:650}
.person-form-grid .person-whatsapp-consent{align-self:stretch}
@media(max-width:1000px){
    .person-form-grid .field-span-1,
    .person-form-grid .field-span-2,
    .person-form-grid .field-span-3,
    .person-form-grid .field-span-4,
    .person-form-grid .field-span-5,
    .person-form-grid .field-span-6,
    .person-form-grid .field-span-7,
    .person-form-grid .field-span-8,
    .person-form-grid .field-span-9{
        grid-column:span 6;
    }
    .person-form-grid .field-span-12{grid-column:span 12}
    .person-form-grid .field-span-1:has(input[name="uf"]),
    .person-form-grid .field-span-2:has(input[type="date"]){grid-column:span 3}
}
@media(max-width:620px){
    .person-form-grid .field-span-1,
    .person-form-grid .field-span-2,
    .person-form-grid .field-span-3,
    .person-form-grid .field-span-4,
    .person-form-grid .field-span-5,
    .person-form-grid .field-span-6,
    .person-form-grid .field-span-7,
    .person-form-grid .field-span-8,
    .person-form-grid .field-span-9,
    .person-form-grid .field-span-12,
    .person-form-grid .field-span-1:has(input[name="uf"]),
    .person-form-grid .field-span-2:has(input[type="date"]){
        grid-column:1/-1;
    }
}
/* ==========================================================
   CONTROLE DO MENU LATERAL 3.15.01
   Restaura recolhimento, expansão e persistência da preferência.
   ========================================================== */
.module-sidebar-collapse{
    display:grid;
}
.module-shell.sidebar-collapsed .module-sidebar-collapse i,
.module-shell.sidebar-collapsed .module-sidebar-collapse iconify-icon{
    transform:none;
}
/* ==========================================================
   CADASTRO DE PESSOA EM PAGINA E BUSCA DE CEP 3.16.00
   A inclusão usa a mesma estrutura da edição e completa o endereço pelo CEP.
   ========================================================== */
.cep-lookup-status{display:block;min-height:14px;margin-top:2px;color:var(--theme-muted);font-size:9px;line-height:1.35}.cep-lookup-status[data-state="loading"]{color:var(--theme-secondary)}.cep-lookup-status[data-state="success"]{color:#32734c}.cep-lookup-status[data-state="warning"]{color:#9a7416}.cep-lookup-status[data-state="error"]{color:var(--theme-danger)}.person-form-grid input[aria-busy="true"]{background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-secondary) 10%,transparent),transparent);background-size:200% 100%;animation:cep-loading 1.1s linear infinite}@keyframes cep-loading{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.person-form-grid input[aria-busy="true"]{animation:none}}
/* ==========================================================
   CABECALHO E FILTROS SEM ESPACAMENTO 3.16.03
   Une visualmente os títulos das colunas aos filtros em todos os relatórios.
   ========================================================== */
.registration-table thead tr:first-child th{
    height:auto!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
    border-bottom:0!important;
}
.registration-table thead .table-filter-row th{
    top:27px!important;
    padding-top:0!important;
    padding-bottom:6px!important;
    border-top:0!important;
}
.registration-table thead .table-filter-row input{
    margin-top:0!important;
}
/* ==========================================================
   GRADE SUTIL DOS RELATORIOS 3.16.04
   Exibe divisorias finas entre colunas e linhas sem pesar o visual.
   ========================================================== */
.registration-table table{
    border-collapse:separate;
    border-spacing:0;
}
.registration-table thead th,
.registration-table tbody td{
    border-right:1px solid color-mix(in srgb,var(--theme-line) 58%,transparent);
}
.registration-table thead th:last-child,
.registration-table tbody td:last-child{
    border-right:0;
}
.registration-table thead tr:first-child th{
    border-bottom:1px solid color-mix(in srgb,var(--theme-line) 52%,transparent)!important;
}
.registration-table thead .table-filter-row th{
    border-bottom:1px solid color-mix(in srgb,var(--theme-line) 64%,transparent);
}
.registration-table tbody td{
    border-bottom:1px solid color-mix(in srgb,var(--theme-line) 58%,transparent);
}
.registration-table tbody tr:last-child td{
    border-bottom:0;
}
/* ==========================================================
   LINHAS COMPACTAS DOS RELATORIOS 3.16.05
   Mantém os registros com aproximadamente 32 px de altura.
   ========================================================== */
.registration-table tbody tr[data-table-row]{
    height:32px!important;
}
.registration-table tbody tr[data-table-row] td{
    height:32px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
    line-height:1.15;
}
.registration-table tbody tr[data-table-row] .status-badge{
    padding-top:3px;
    padding-bottom:3px;
    line-height:1;
}
.registration-table tbody tr[data-table-row] .row-actions{
    min-height:26px;
}
.registration-table tbody tr[data-table-row] .row-actions a,
.registration-table tbody tr[data-table-row] .row-actions button{
    width:26px;
    height:26px;
    min-height:26px;
    border-radius:7px;
    font-size:11px;
}
/* ==========================================================
   ALINHAMENTO DO CAMPO CEP 3.16.07
   Remove completamente o espaço da mensagem quando não houver aviso.
   ========================================================== */
.cep-lookup-status[hidden]{
    display:none!important;
    min-height:0!important;
    margin:0!important;
}
.person-form-grid [class*="field-span-"]:has(input[name="cep"]){
    align-self:end;
}
.person-form-grid input[name="cep"]{
    margin-bottom:0!important;
}
/* ==========================================================
   MODAIS PADRONIZADOS DE INCLUSAO E EDICAO 3.17.00
   Pessoa continua em página própria; demais cadastros usam modal.
   ========================================================== */
.remote-form-modal .cadastro-modal-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.remote-form-modal-content{min-height:180px;overflow:auto}.remote-modal-fields{padding:18px 20px}.remote-modal-loading{min-height:210px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--theme-muted)}.remote-modal-loading i,.remote-modal-loading iconify-icon{font-size:22px;animation:remote-modal-spin .8s linear infinite}.modal-is-open{overflow:hidden}@keyframes remote-modal-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.remote-modal-loading i,.remote-modal-loading iconify-icon{animation:none}}@media(max-width:620px){.remote-form-modal .cadastro-modal-dialog{width:100vw;max-height:100vh;border-radius:0}.remote-modal-fields{padding:14px}}
/* ==========================================================
   ALINHAMENTO GLOBAL DOS FORMULARIOS 3.17.01
   Uniformiza labels, controles e campos booleanos sem dois-pontos.
   ========================================================== */
.form-grid>div,
.modal-form-grid>div,
.person-form-grid>div,
.remote-modal-fields>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-self:stretch;
    justify-content:flex-start;
    gap:6px;
}
.form-grid>div>label,
.modal-form-grid>div>label,
.person-form-grid>div>label,
.remote-modal-fields>div>label{
    min-height:18px;
    display:flex;
    align-items:flex-end;
    margin:0;
    line-height:1.2;
}
.form-grid input:not([type="checkbox"]):not([type="hidden"]),
.form-grid select,
.form-grid textarea,
.modal-form-grid input:not([type="checkbox"]):not([type="hidden"]),
.modal-form-grid select,
.modal-form-grid textarea,
.remote-modal-fields input:not([type="checkbox"]):not([type="hidden"]),
.remote-modal-fields select,
.remote-modal-fields textarea{
    width:100%;
    max-width:none;
    margin:0;
}
.modal-form-grid,
.remote-modal-fields{
    align-items:start;
}
.form-field-checkbox{
    min-height:70px;
    justify-content:flex-start!important;
}
.form-field-checkbox>label{
    min-height:18px!important;
}
.form-field-checkbox>input[type="checkbox"]{
    width:20px;
    height:20px;
    margin:4px 0 0;
    align-self:flex-start;
}
.field-code-display{
    align-self:stretch!important;
}
.field-code-display input{
    min-height:39px;
}
.person-whatsapp-consent.form-field-checkbox{
    min-height:0;
    display:grid!important;
}
@media(max-width:620px){
    .form-field-checkbox{
        min-height:58px;
    }
}
/* ==========================================================
   MODAIS COMPACTOS E SALVAMENTO 3.17.02
   Mantém inclusão e edição no mesmo tamanho, com rodapé sempre visível.
   ========================================================== */
.cadastro-modal-dialog,
.remote-form-modal .cadastro-modal-dialog{
    width:min(880px,calc(100vw - 32px))!important;
    max-height:min(720px,calc(100vh - 32px))!important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.cadastro-modal-dialog>.cadastro-modal-header,
.remote-form-modal-content>.cadastro-modal-form>.cadastro-modal-header{
    flex:0 0 auto;
    padding:18px 22px;
}
.cadastro-modal-form,
.remote-form-modal-content>.cadastro-modal-form{
    min-height:0;
    display:flex;
    flex:1;
    flex-direction:column;
    overflow:hidden;
}
.modal-form-grid,
.remote-modal-fields{
    min-height:0;
    flex:1;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px 14px;
    padding:16px 20px!important;
    overflow:auto;
}
.modal-form-grid>div,
.remote-modal-fields>div{
    grid-column:span 6;
    gap:4px;
}
.modal-form-grid>div:has(.field-size-short),
.remote-modal-fields>div:has(.field-size-short),
.modal-form-grid .field-code-display,
.remote-modal-fields .field-code-display{
    grid-column:span 4;
}
.modal-form-grid>div:has(.field-size-medium),
.remote-modal-fields>div:has(.field-size-medium){
    grid-column:span 6;
}
.modal-form-grid>div:has(.field-size-long),
.remote-modal-fields>div:has(.field-size-long),
.modal-form-grid>div:has(.field-size-full),
.remote-modal-fields>div:has(.field-size-full){
    grid-column:span 12;
}
.modal-form-grid input:not([type="checkbox"]):not([type="hidden"]),
.modal-form-grid select,
.remote-modal-fields input:not([type="checkbox"]):not([type="hidden"]),
.remote-modal-fields select{
    min-height:36px;
    height:36px;
    padding-top:6px;
    padding-bottom:6px;
}
.modal-form-grid textarea,
.remote-modal-fields textarea{
    min-height:72px;
    max-height:130px;
    resize:vertical;
}
.modal-form-grid .form-field-checkbox,
.remote-modal-fields .form-field-checkbox{
    min-height:56px;
}
.cadastro-modal-actions{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    min-height:66px;
    padding:12px 20px;
    border-top:1px solid var(--theme-line);
    background:var(--theme-surface-soft);
    box-shadow:0 -8px 18px color-mix(in srgb,var(--theme-shadow) 35%,transparent);
}
.cadastro-modal-actions .button-primary,
.cadastro-modal-actions .button-secondary{
    min-height:40px;
}
.remote-form-modal-content{
    min-height:0!important;
    display:flex;
    flex:1;
    flex-direction:column;
    overflow:hidden!important;
}
@media(max-width:700px){
    .cadastro-modal-dialog,
    .remote-form-modal .cadastro-modal-dialog{
        width:calc(100vw - 16px)!important;
        max-height:calc(100vh - 16px)!important;
    }
    .modal-form-grid>div,
    .remote-modal-fields>div,
    .modal-form-grid>div:has(.field-size-short),
    .remote-modal-fields>div:has(.field-size-short),
    .modal-form-grid>div:has(.field-size-medium),
    .remote-modal-fields>div:has(.field-size-medium),
    .modal-form-grid>div:has(.field-size-long),
    .remote-modal-fields>div:has(.field-size-long),
    .modal-form-grid>div:has(.field-size-full),
    .remote-modal-fields>div:has(.field-size-full),
    .modal-form-grid .field-code-display,
    .remote-modal-fields .field-code-display{
        grid-column:1/-1;
    }
}
/* ==========================================================
   MENU FIXO E LARGURA GLOBAL DOS CONTEUDOS 3.18.00
   Pessoas e Agenda ficam sempre abertas; páginas usam o mesmo eixo visual.
   ========================================================== */
:root{
    --farol-content-max-width:1440px;
}
.module-nav-group-fixed .module-nav-section-title{
    cursor:default;
    user-select:none;
}
.module-nav-group-fixed .module-nav-section-title>i,
.module-nav-group-fixed .module-nav-section-title .bi-chevron-down,
.module-nav-group-fixed .module-nav-section-title>iconify-icon{
    display:none!important;
}
.module-nav-group-fixed .module-nav-submenu{
    display:block!important;
    max-height:none!important;
    height:auto!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
}
.module-nav-group-fixed.is-closed .module-nav-submenu{
    display:block!important;
    max-height:none!important;
}
.module-content{
    align-items:center;
}
.module-content>*,
.module-content>.page-heading,
.module-content>.registration-heading,
.module-content>.content-card,
.module-content>.registration-table,
.module-content>.birthday-page,
.module-content>.person-page-hero,
.module-content>.person-organized-form{
    width:min(100%,var(--farol-content-max-width));
    max-width:var(--farol-content-max-width);
    margin-right:auto;
    margin-left:auto;
}
.person-page-hero,
.person-edit-form,
.person-modal-scroll,
.person-code-strip{
    width:100%;
    max-width:var(--farol-content-max-width)!important;
}
.module-content>.messages,
.module-content>.message-list{
    width:min(100%,var(--farol-content-max-width));
    max-width:var(--farol-content-max-width);
}
@media(max-width:1500px){
    .module-content>*{
        max-width:100%;
    }
}
/* ==========================================================
   MENSAGENS FLUTUANTES GLOBAIS 3.19.00
   Alertas aparecem no rodapé, pulsam quatro vezes e somem após oito segundos.
   ========================================================== */
.toast-messages{
    position:fixed;
    z-index:700;
    right:24px;
    bottom:22px;
    width:min(430px,calc(100vw - 32px));
    display:flex;
    flex-direction:column-reverse;
    gap:10px;
    pointer-events:none;
}
.toast-message{
    --toast-color:#2f6f95;
    --toast-soft:#e9f5fb;
    position:relative;
    min-height:74px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 30px;
    align-items:center;
    gap:11px;
    overflow:hidden;
    padding:13px 12px 15px;
    border:1px solid color-mix(in srgb,var(--toast-color) 32%,var(--theme-line));
    border-left:4px solid var(--toast-color);
    border-radius:14px;
    background:color-mix(in srgb,var(--toast-soft) 34%,var(--theme-surface));
    color:var(--theme-text);
    box-shadow:0 16px 38px rgba(10,31,49,.20);
    opacity:0;
    transform:translate3d(0,28px,0) scale(.96);
    pointer-events:auto;
    animation:
        toast-enter .42s cubic-bezier(.2,.8,.2,1) forwards,
        toast-pulse .5s ease-in-out calc(.48s + var(--toast-delay,0ms)) 4;
}
.toast-message-success{--toast-color:#2f8b58;--toast-soft:#e6f6ed}
.toast-message-error,
.toast-message-danger{--toast-color:#bd4653;--toast-soft:#fbeaec}
.toast-message-warning{--toast-color:#bb7a13;--toast-soft:#fff4d9}
.toast-message-info,
.toast-message-debug{--toast-color:#2d759d;--toast-soft:#e7f4fa}
.toast-message-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:color-mix(in srgb,var(--toast-color) 14%,var(--theme-surface));
    color:var(--toast-color);
    font-size:20px;
}
.toast-message-content{min-width:0}
.toast-message-content strong{
    display:block;
    margin-bottom:3px;
    color:var(--toast-color);
    font-size:11px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.toast-message-content p{
    margin:0;
    color:var(--theme-text);
    font-size:11px;
    line-height:1.45;
}
.toast-message-close{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    align-self:start;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--theme-muted);
    cursor:pointer;
    transition:background .16s ease,color .16s ease,transform .16s ease;
}
.toast-message-close:hover{
    background:color-mix(in srgb,var(--toast-color) 12%,transparent);
    color:var(--toast-color);
    transform:scale(1.06);
}
.toast-message-progress{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:3px;
    transform-origin:left center;
    background:var(--toast-color);
    animation:toast-progress 8s linear forwards;
}
.toast-message.is-leaving{
    animation:toast-exit .42s cubic-bezier(.4,0,1,1) forwards!important;
}
.toast-message.is-leaving .toast-message-progress{animation-play-state:paused}
@keyframes toast-enter{
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes toast-pulse{
    0%,100%{filter:brightness(1);box-shadow:0 16px 38px rgba(10,31,49,.20)}
    50%{filter:brightness(1.08);box-shadow:0 16px 42px color-mix(in srgb,var(--toast-color) 35%,transparent);transform:scale(1.018)}
}
@keyframes toast-progress{
    from{transform:scaleX(1)}
    to{transform:scaleX(0)}
}
@keyframes toast-exit{
    to{opacity:0;transform:translate3d(28px,12px,0) scale(.94)}
}
@media(max-width:620px){
    .toast-messages{
        right:16px;
        bottom:16px;
        left:16px;
        width:auto;
    }
}
@media(prefers-reduced-motion:reduce){
    .toast-message{
        opacity:1;
        transform:none;
        animation:none;
    }
    .toast-message-progress{animation:toast-progress 8s linear forwards}
    .toast-message.is-leaving{animation:none!important;opacity:0}
}
/* ==========================================================
   AJUSTE DE LARGURA E MENU RECOLHIDO 3.19.01
   Reduz 10 px em cada lateral e simplifica o menu no modo compacto.
   ========================================================== */
:root{
    --farol-content-max-width:1420px;
}

/* No modo recolhido, cada item principal ocupa uma célula centralizada. */
.module-shell.sidebar-collapsed .module-sidebar-body{
    padding-right:8px;
    padding-left:8px;
    overflow-x:hidden;
}
.module-shell.sidebar-collapsed .module-navigation{
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding-right:0;
    padding-left:0;
}
.module-shell.sidebar-collapsed .module-nav-link,
.module-shell.sidebar-collapsed .module-nav-section-title,
.module-shell.sidebar-collapsed .module-nav-toggle,
.module-shell.sidebar-collapsed .module-nav-coming{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    gap:0;
    margin:0 auto;
    padding:0!important;
    border-radius:12px;
}
.module-shell.sidebar-collapsed .module-nav-link>i,
.module-shell.sidebar-collapsed .module-nav-section-title>span>i,
.module-shell.sidebar-collapsed .module-nav-toggle>span>i,
.module-shell.sidebar-collapsed .module-nav-coming>i,
.module-shell.sidebar-collapsed .module-nav-link>iconify-icon,
.module-shell.sidebar-collapsed .module-nav-section-title>span>iconify-icon,
.module-shell.sidebar-collapsed .module-nav-toggle>span>iconify-icon,
.module-shell.sidebar-collapsed .module-nav-coming>iconify-icon{
    width:22px;
    margin:0;
    text-align:center;
    font-size:18px;
}
.module-shell.sidebar-collapsed .module-nav-link>span,
.module-shell.sidebar-collapsed .module-nav-section-title>span>span,
.module-shell.sidebar-collapsed .module-nav-toggle>span>span,
.module-shell.sidebar-collapsed .module-nav-coming>span,
.module-shell.sidebar-collapsed .module-nav-coming>small{
    display:none!important;
}

/* Os submenus fixos permanecem abertos no menu normal e são ocultados apenas
   na versão compacta, evitando linhas e ícones soltos sem identificação. */
.module-shell.sidebar-collapsed .module-nav-group-fixed{
    width:100%;
    margin:0;
    padding:0;
}
.module-shell.sidebar-collapsed .module-nav-group-fixed .module-nav-submenu{
    display:none!important;
}
.module-shell.sidebar-collapsed .module-nav-group-fixed .module-nav-section-title{
    background:rgba(255,255,255,.06);
    color:#fff;
}
.module-shell.sidebar-collapsed .module-nav-group-fixed.has-active .module-nav-section-title{
    background:rgba(255,255,255,.14);
    box-shadow:inset 3px 0 0 var(--theme-accent);
}
.module-shell.sidebar-collapsed .module-badge{
    width:56px;
    min-width:56px;
    min-height:50px;
    justify-content:center;
    margin-right:auto;
    margin-left:auto;
    padding:0;
    border-radius:12px;
}
.module-shell.sidebar-collapsed .module-badge i,
.module-shell.sidebar-collapsed .module-badge iconify-icon{
    width:auto;
    margin:0;
}
.module-shell.sidebar-collapsed .module-sidebar-collapse{
    right:-18px;
}
.module-shell.sidebar-collapsed .module-brand-compact{
    width:48px;
    max-width:48px;
    height:48px;
    object-fit:contain;
}
/* ==========================================================
   RODAPE GLOBAL E ACOES FIXAS DE PESSOA 3.20.01
   Mantem o rodape no fim da tela e as acoes de Pessoa logo acima.
   ========================================================== */
:root{
    --farol-footer-height:34px;
    --farol-page-gap:20px;
}

/* O conteúdo reserva a altura do rodapé fixo em todas as páginas. */
.module-content{
    padding-bottom:calc(var(--farol-footer-height) + 18px)!important;
}
.module-footer{
    position:fixed!important;
    z-index:90;
    right:0;
    bottom:0;
    left:var(--module-sidebar-width);
    width:auto;
    height:var(--farol-footer-height);
    min-height:var(--farol-footer-height);
    margin:0!important;
    border-top:1px solid var(--theme-line);
    background:color-mix(in srgb,var(--theme-surface) 96%,transparent);
    box-shadow:0 -5px 16px color-mix(in srgb,var(--theme-shadow) 30%,transparent);
    backdrop-filter:blur(10px);
    transition:left .34s cubic-bezier(.2,.8,.2,1);
}
.module-shell.sidebar-collapsed .module-footer{
    left:var(--module-sidebar-collapsed);
}

/* Inclusão e edição de Pessoa usam a mesma barra fixa de ações. */
.person-organized-form.person-edit-form{
    padding-bottom:88px;
}
.person-organized-form.person-edit-form .person-form-footer{
    position:fixed;
    z-index:85;
    right:var(--farol-page-gap);
    bottom:var(--farol-footer-height);
    left:calc(var(--module-sidebar-width) + var(--farol-page-gap));
    width:auto;
    max-width:var(--farol-content-max-width);
    min-height:70px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
    padding:12px 16px;
    border:1px solid var(--theme-line);
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:color-mix(in srgb,var(--theme-surface) 96%,transparent);
    box-shadow:0 -10px 28px color-mix(in srgb,var(--theme-shadow) 45%,transparent);
    backdrop-filter:blur(12px);
    transition:left .34s cubic-bezier(.2,.8,.2,1);
}
.module-shell.sidebar-collapsed .person-organized-form.person-edit-form .person-form-footer{
    left:calc(var(--module-sidebar-collapsed) + var(--farol-page-gap));
}
.person-organized-form.person-edit-form .person-form-footer .button-primary,
.person-organized-form.person-edit-form .person-form-footer .button-secondary{
    min-height:42px;
}

@media(max-width:900px){
    .module-footer,
    .module-shell.sidebar-collapsed .module-footer{
        left:0;
    }
    .person-organized-form.person-edit-form .person-form-footer,
    .module-shell.sidebar-collapsed .person-organized-form.person-edit-form .person-form-footer{
        right:10px;
        left:10px;
        min-height:64px;
        padding:10px;
    }
}
@media(max-width:520px){
    .person-organized-form.person-edit-form .person-form-footer .button-primary,
    .person-organized-form.person-edit-form .person-form-footer .button-secondary{
        flex:1;
        justify-content:center;
    }
}
/* ==========================================================
   RETORNO APOS SALVAR FORMULARIOS 3.20.02
   Indica o processamento enquanto o cadastro é gravado e atualizado.
   ========================================================== */
.page-save-spinner{animation:page-save-spin .75s linear infinite}
@keyframes page-save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.page-save-spinner{animation:none}}
/* ==========================================================
   PREENCHIMENTO VERTICAL DOS RELATORIOS 3.20.03
   As dez linhas ocupam toda a área útil até o rodapé de paginação.
   ========================================================== */
.registration-table .table-responsive{
    display:block;
}
.registration-table table{
    height:auto;
}
.registration-table tbody tr[data-table-row] td{
    vertical-align:middle;
}
.registration-table tbody tr[data-table-row]:last-of-type td{
    border-bottom:0;
}
/* ==========================================================
   ALTURA COMPACTA EM PAGINAS INCOMPLETAS 3.20.05
   Poucos registros permanecem com 32 px; dez linhas preenchem o relatório.
   ========================================================== */
.registration-table tbody tr[data-table-row]{
    min-height:32px;
    max-height:none;
}
.registration-table tbody tr[data-table-row] td{
    min-height:32px;
}

/* ==========================================================
   SALVAMENTO DEFINITIVO DE PESSOA 3.20.06
   Exibe no topo qualquer validação que impeça a gravação.
   ========================================================== */
.person-form-error-summary{position:relative;z-index:2;width:100%;margin:0 0 14px;padding:12px 15px;border:1px solid color-mix(in srgb,var(--theme-danger) 38%,var(--theme-line));border-radius:12px;background:color-mix(in srgb,var(--theme-danger) 8%,var(--theme-surface));color:var(--theme-text)}.person-form-error-summary strong{display:block;margin-bottom:6px;color:var(--theme-danger)}.person-form-error-summary ul{margin:0;padding-left:18px}.person-form-error-summary a{color:var(--theme-danger);font-weight:700;text-decoration:none}
/* ==========================================================
   MENSAGENS CENTRALIZADAS E CEP COM MASCARA 3.21.03
   ========================================================== */
.toast-messages{
    right:auto!important;
    left:50%!important;
    transform:translateX(-50%);
}
.toast-message-content p a{
    color:inherit;
    font-weight:700;
    text-decoration:none;
}
.toast-message-content p a:hover{
    text-decoration:underline;
}
@media(max-width:620px){
    .toast-messages{
        right:16px!important;
        left:16px!important;
        width:auto!important;
        transform:none;
    }
}
/* ==========================================================
   DASHBOARD EXECUTIVO DA SECRETARIA 3.22.00
   ========================================================== */
.secretary-dashboard{width:min(100%,var(--farol-content-max-width));display:flex;flex-direction:column;gap:16px;margin:0 auto}.dashboard-birthday-hero{position:relative;overflow:hidden;padding:18px 22px;border-radius:20px;background:linear-gradient(115deg,#5541df 0%,#2289df 52%,#08a67f 100%);color:#fff;box-shadow:0 14px 30px rgba(39,89,159,.18)}.dashboard-confetti{position:absolute;inset:0;background-image:radial-gradient(circle at 8% 0,#ffd22e 0 4px,transparent 5px),radial-gradient(circle at 24% 0,#f17f37 0 4px,transparent 5px),radial-gradient(circle at 55% 0,#48d68b 0 4px,transparent 5px),radial-gradient(circle at 80% 0,#ec5ba8 0 4px,transparent 5px);opacity:.9}.dashboard-birthday-heading{position:relative;display:flex;align-items:center;gap:16px}.dashboard-hero-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#f4fbf7;color:#27855e;font-size:29px}.dashboard-birthday-heading span{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.dashboard-birthday-heading h1{margin:3px 0;font-size:25px}.dashboard-birthday-heading p{margin:0;opacity:.9}.dashboard-birthday-list{position:relative;display:grid;gap:8px;margin-top:14px}.dashboard-birthday-list article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:11px 13px;border-left:4px solid #ffd22e;border-radius:14px;background:rgba(255,255,255,.94);color:var(--theme-text)}.dashboard-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff2ce;color:#173c5c;font-weight:900}.dashboard-birthday-list strong,.dashboard-birthday-list small{display:block}.dashboard-birthday-list small{margin-top:2px;color:var(--theme-muted)}.dashboard-birthday-action{padding:10px 14px;border:1px solid #efd16b;border-radius:11px;background:#fff1b8;color:#715000;font-weight:800;text-decoration:none}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid color-mix(in srgb,var(--theme-primary) 18%,var(--theme-line));border-radius:18px;background:linear-gradient(115deg,color-mix(in srgb,var(--theme-secondary) 7%,var(--theme-surface)),var(--theme-surface));box-shadow:var(--theme-shadow)}.dashboard-kicker{color:var(--theme-muted);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.dashboard-welcome h1{margin:4px 0;font-size:25px}.dashboard-welcome p{margin:0;color:var(--theme-muted)}.dashboard-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-quick-actions a{display:flex;align-items:center;gap:7px;padding:11px 14px;border:1px solid var(--theme-line);border-radius:11px;background:var(--theme-surface);font-weight:800;text-decoration:none}.dashboard-quick-actions a.is-primary{border-color:var(--theme-secondary);background:var(--theme-secondary);color:#fff}.dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dashboard-metrics article{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-surface);box-shadow:0 7px 20px color-mix(in srgb,var(--theme-shadow) 35%,transparent)}.metric-icon{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;border-radius:12px;font-size:20px}.metric-icon.blue{background:#e8f4fb;color:#2978a5}.metric-icon.green{background:#e6f6ed;color:#2f8b58}.metric-icon.gold{background:#fff3d7;color:#aa7418}.metric-icon.purple{background:#f1eafd;color:#7253a4}.metric-icon.red{background:#fbeaec;color:#b54c5c}.dashboard-metrics small{display:block;color:var(--theme-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dashboard-metrics strong{display:block;margin:2px 0;font-size:21px}.dashboard-metrics p{overflow:hidden;margin:0;color:var(--theme-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dashboard-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.95fr);gap:14px;align-items:start}.dashboard-main-column,.dashboard-side-column{display:flex;flex-direction:column;gap:14px}.dashboard-panel,.dashboard-guidance{overflow:hidden;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);box-shadow:0 8px 22px color-mix(in srgb,var(--theme-shadow) 35%,transparent)}.dashboard-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--theme-line);background:var(--theme-surface-soft)}.dashboard-panel header span{display:block;color:var(--theme-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.dashboard-panel header h2{margin:3px 0 0;font-size:16px}.dashboard-panel header>a{color:var(--theme-primary);font-size:11px;font-weight:900;text-decoration:none}.composition-body{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;padding:18px}.composition-ring{width:122px;height:122px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:auto;border-radius:50%;background:conic-gradient(var(--theme-secondary) calc(var(--member-pct)*1%),#2c78a7 0 88%,#e4edf2 0);position:relative}.composition-ring:after{position:absolute;inset:13px;border-radius:50%;background:var(--theme-surface);content:""}.composition-ring strong,.composition-ring span{position:relative;z-index:1}.composition-ring strong{font-size:25px}.composition-ring span{color:var(--theme-muted);font-size:11px}.composition-bars{display:grid;gap:14px}.composition-bars span{display:flex;justify-content:space-between;font-size:11px}.composition-bars span strong small{margin-left:8px;color:var(--theme-muted);font-size:9px}.composition-bars i,.composition-bars iconify-icon{height:8px;display:block;overflow:hidden;margin-top:6px;border-radius:99px;background:#edf2f5}.composition-bars b{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,var(--theme-secondary),#2878aa)}.dashboard-composition footer{padding:12px 16px;border-top:1px solid var(--theme-line);text-align:right}.dashboard-composition footer a{color:var(--theme-primary);font-size:11px;font-weight:900;text-decoration:none}.dashboard-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dashboard-list-body,.dashboard-events>div{padding:7px 14px}.dashboard-list-body article,.dashboard-events article{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--theme-line)}.dashboard-list-body article:last-child,.dashboard-events article:last-child{border-bottom:0}.date-badge{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:11px;background:#eaf3f7;color:#276989;font-size:9px;font-weight:900}.date-badge b{font-size:15px;line-height:1}.dashboard-list-body strong,.dashboard-list-body small,.dashboard-events strong,.dashboard-events small{display:block}.dashboard-list-body small,.dashboard-events small{margin-top:3px;color:var(--theme-muted);font-size:10px}.birthday-mini{color:#d49a19}.dashboard-empty{display:grid;place-items:center;min-height:120px;color:var(--theme-muted);text-align:center}.dashboard-empty i,.dashboard-empty iconify-icon{font-size:28px}.dashboard-empty p{margin:6px 0}.dashboard-guidance{padding:18px}.dashboard-guidance>i,.dashboard-guidance>iconify-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:21px}.dashboard-guidance h3{margin:16px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.dashboard-guidance strong{display:block}.dashboard-guidance p{color:var(--theme-muted);font-size:11px;line-height:1.6}.dashboard-guidance a{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;padding:10px;border-radius:10px;font-size:11px;font-weight:900;text-decoration:none}.dashboard-guidance.success>i,.dashboard-guidance.success>iconify-icon{background:#e5f5ed;color:#2d855d}.dashboard-guidance.success h3{color:#2d855d}.dashboard-guidance.success a{background:#2f805f;color:#fff}.dashboard-guidance.warning>i,.dashboard-guidance.warning>iconify-icon{background:#fff0c8;color:#9e7116}.dashboard-guidance.warning h3{color:#9e7116}.dashboard-guidance.warning a{justify-content:flex-start;padding:0;background:transparent;color:var(--theme-primary)}@media(max-width:1200px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:1fr}.dashboard-side-column{display:grid;grid-template-columns:1.4fr 1fr}.dashboard-events{grid-row:span 2}}@media(max-width:800px){.dashboard-welcome{align-items:flex-start;flex-direction:column}.dashboard-quick-actions{justify-content:flex-start}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-two-columns,.dashboard-side-column{display:grid;grid-template-columns:1fr}.dashboard-events{grid-row:auto}.composition-body{grid-template-columns:1fr}.dashboard-birthday-list article{grid-template-columns:42px 1fr}.dashboard-birthday-action{grid-column:1/-1;text-align:center}}@media(max-width:520px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-quick-actions a{width:100%;justify-content:center}}
/* ==========================================================
   ANIVERSARIANTES EM TRES COLUNAS 3.22.02
   Exibe pelo menos três pessoas por linha em telas amplas.
   ========================================================== */
.dashboard-birthday-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
}
.dashboard-birthday-list article{
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    min-width:0;
    min-height:132px;
    padding:12px;
}
.dashboard-birthday-list article>div{
    min-width:0;
}
.dashboard-birthday-list article strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.dashboard-birthday-action{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin-top:4px;
    padding:9px 10px;
    text-align:center;
}
@media(max-width:1100px){
    .dashboard-birthday-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:680px){
    .dashboard-birthday-list{
        grid-template-columns:1fr;
    }
    .dashboard-birthday-list article{
        min-height:auto;
    }
}
/* ==========================================================
   ANIVERSARIANTES COMPACTOS E INTERATIVOS 3.22.03
   ========================================================== */
.dashboard-birthday-hero::before,
.dashboard-birthday-hero::after{
    position:absolute;
    border-radius:50%;
    content:"";
    pointer-events:none;
}
.dashboard-birthday-hero::before{
    top:-38px;
    left:18%;
    width:62px;
    height:62px;
    background:rgba(116,215,255,.48);
    box-shadow:310px 105px 0 6px rgba(236,114,172,.5),710px 20px 0 10px rgba(255,211,77,.48),1010px 100px 0 3px rgba(157,227,113,.52);
    animation:dashboard-balloons 7s ease-in-out infinite alternate;
}
.dashboard-birthday-hero::after{
    inset:0;
    border-radius:0;
    background-image:linear-gradient(25deg,transparent 48%,rgba(255,255,255,.7) 49% 52%,transparent 53%),linear-gradient(-25deg,transparent 48%,rgba(255,214,59,.85) 49% 52%,transparent 53%);
    background-position:0 0,18px 8px;
    background-size:54px 54px,68px 68px;
    opacity:.14;
    animation:dashboard-confetti-move 12s linear infinite;
}
.dashboard-confetti{
    animation:dashboard-confetti-pulse 4s ease-in-out infinite alternate;
}
.dashboard-birthday-list{
    position:relative;
    z-index:2;
}
.dashboard-birthday-list article{
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    min-height:74px!important;
    padding:10px 12px!important;
    transition:opacity .32s ease,transform .32s ease,max-width .32s ease;
}
.dashboard-avatar{
    width:36px!important;
    height:36px!important;
}
.dashboard-birthday-person{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
}
.dashboard-birthday-name{
    display:flex;
    min-width:0;
    align-items:center;
    gap:8px;
}
.dashboard-birthday-name strong{
    min-width:0;
    flex:1;
}
.dashboard-birthday-name form{
    display:flex;
    flex:0 0 auto;
    margin:0;
}
.dashboard-whatsapp-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #b7dec6;
    border-radius:50%;
    background:#eaf8ef;
    color:#16864c;
    cursor:pointer;
    font-size:18px;
    transition:transform .18s ease,background .18s ease,color .18s ease;
}
.dashboard-whatsapp-icon:hover{
    background:#16864c;
    color:#fff;
    transform:translateY(-1px) scale(1.05);
}
.dashboard-whatsapp-icon.is-loading i,
.dashboard-whatsapp-icon.is-loading iconify-icon{
    animation:dashboard-whatsapp-pulse .7s ease-in-out infinite alternate;
}
.dashboard-birthday-list article.is-sent{
    opacity:0;
    transform:scale(.92) translateY(-8px);
}
.dashboard-birthday-hero.is-complete{
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .35s ease,transform .35s ease;
}
@keyframes dashboard-balloons{
    from{transform:translate3d(-8px,0,0) rotate(-2deg)}
    to{transform:translate3d(14px,18px,0) rotate(3deg)}
}
@keyframes dashboard-confetti-move{
    from{background-position:0 0,18px 8px}
    to{background-position:108px 108px,-118px 144px}
}
@keyframes dashboard-confetti-pulse{
    from{opacity:.62;transform:translateY(-2px)}
    to{opacity:1;transform:translateY(5px)}
}
@keyframes dashboard-whatsapp-pulse{
    from{transform:scale(.82);opacity:.55}
    to{transform:scale(1.08);opacity:1}
}
@media(prefers-reduced-motion:reduce){
    .dashboard-birthday-hero::before,
    .dashboard-birthday-hero::after,
    .dashboard-confetti,
    .dashboard-whatsapp-icon.is-loading i,
    .dashboard-whatsapp-icon.is-loading iconify-icon{
        animation:none!important;
    }
}
/* ==========================================================
   FOTO OU AVATAR BIBLICO DO USUARIO 3.22.04
   ========================================================== */
.profile-media-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.profile-media-options>div{display:flex;flex-direction:column;gap:6px}.profile-media-options select{width:100%}.biblical-avatar{position:relative;overflow:hidden;background:linear-gradient(145deg,#f8e9bb,#eecb65)!important;color:#173c5c!important}.biblical-avatar>i,.biblical-avatar>iconify-icon{font-size:1.35em}.profile-avatar-preview.biblical-avatar{display:flex;flex-direction:column;gap:2px}.profile-avatar-preview.biblical-avatar small{position:relative;z-index:2;font-size:9px;font-weight:900}.biblical-avatar::before{position:absolute;inset:auto -14% -35% -14%;height:58%;border-radius:50% 50% 0 0;background:rgba(23,60,92,.13);content:""}.avatar-ester,.avatar-rute,.avatar-debora,.avatar-maria{background:linear-gradient(145deg,#f6e3ef,#dca7ca)!important}.avatar-moises,.avatar-noe,.avatar-samuel{background:linear-gradient(145deg,#e8f1de,#9bc58b)!important}.avatar-daniel,.avatar-jose,.avatar-paulo{background:linear-gradient(145deg,#e4eef8,#91b6d4)!important}.avatar-josue,.avatar-davi{background:linear-gradient(145deg,#fff0bf,#e6b84f)!important}.platform-user-avatar.biblical-avatar i,.platform-user-avatar.biblical-avatar iconify-icon{position:relative;z-index:2}.platform-user-trigger .platform-user-avatar.biblical-avatar{border-color:#c79d2d}.platform-dropdown-profile .platform-user-avatar.biblical-avatar{box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-secondary) 25%,transparent)}@media(max-width:700px){.profile-media-options{grid-template-columns:1fr}}
/* ==========================================================
   GALERIA VISUAL DE AVATARES BIBLICOS 3.22.06
   ========================================================== */
.biblical-avatar-picker{width:100%;margin:8px 0 2px;padding:18px;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface-soft)}.biblical-avatar-picker legend{padding:0 8px;color:var(--theme-text);font-size:17px;font-weight:900}.biblical-avatar-picker>p{margin:0 0 15px;color:var(--theme-muted);font-size:12px}.biblical-avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px}.biblical-avatar-card{position:relative;display:flex;min-width:0;align-items:center;flex-direction:column;gap:8px;padding:9px 9px 11px;border:2px solid transparent;border-radius:15px;background:var(--theme-surface);box-shadow:0 6px 16px color-mix(in srgb,var(--theme-shadow) 32%,transparent);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.biblical-avatar-card:hover{border-color:color-mix(in srgb,var(--theme-secondary) 45%,var(--theme-line));transform:translateY(-2px);box-shadow:0 10px 22px color-mix(in srgb,var(--theme-shadow) 48%,transparent)}.biblical-avatar-card input{position:absolute;opacity:0;pointer-events:none}.biblical-avatar-image{width:100%;max-width:128px;aspect-ratio:1;display:grid;place-items:center;border-radius:13px;object-fit:cover}.biblical-avatar-initial{background:linear-gradient(145deg,var(--theme-primary),var(--theme-secondary));color:#fff;font-size:42px;font-weight:900}.biblical-avatar-card strong{overflow:hidden;width:100%;font-size:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.biblical-avatar-card>i,.biblical-avatar-card>iconify-icon{position:absolute;top:7px;right:7px;padding:2px;border-radius:50%;background:#fff;color:var(--theme-secondary);font-size:20px;opacity:0;transform:scale(.65);transition:opacity .18s ease,transform .18s ease}.biblical-avatar-card:has(input:checked){border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 16%,transparent),0 10px 24px color-mix(in srgb,var(--theme-shadow) 45%,transparent)}.biblical-avatar-card:has(input:checked)>i,.biblical-avatar-card:has(input:checked)>iconify-icon{opacity:1;transform:scale(1)}.profile-photo-preview{object-fit:cover}@media(max-width:1250px){.biblical-avatar-grid{grid-template-columns:repeat(4,minmax(105px,1fr))}}@media(max-width:760px){.biblical-avatar-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}@media(max-width:520px){.biblical-avatar-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}}
/* ==========================================================
   CALENDARIO ANUAL COMPLETO 3.23.00
   ========================================================== */
.annual-calendar-page{width:min(100%,var(--farol-content-max-width));margin:0 auto}.calendar-hero{display:grid;grid-template-columns:58px 1fr auto auto;align-items:center;gap:16px;padding:20px;border:1px solid var(--theme-line);border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--theme-secondary) 8%,var(--theme-surface)),var(--theme-surface));box-shadow:var(--theme-shadow)}.calendar-hero-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:#e8f4ef;color:#2c805e;font-size:27px}.calendar-hero h1{margin:2px 0;font-size:25px}.calendar-hero p{margin:0;color:var(--theme-muted)}.calendar-year-nav{display:flex;align-items:center;gap:14px}.calendar-year-nav a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--theme-primary);text-decoration:none}.calendar-year-nav a:hover{background:var(--theme-surface-soft)}.calendar-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.calendar-stats article{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--theme-line);border-radius:14px;background:var(--theme-surface)}.calendar-stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;font-size:18px}.calendar-stat-icon.azul{background:#e9f3fb;color:#397ca7}.calendar-stat-icon.verde{background:#e8f6ee;color:#33875e}.calendar-stat-icon.laranja{background:#fff2d5;color:#a97a22}.calendar-stat-icon.roxo{background:#f1eafa;color:#7a58a2}.calendar-stats strong,.calendar-stats small{display:block}.calendar-stats strong{font-size:20px}.calendar-stats small{color:var(--theme-muted)}.calendar-filters{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(125px,.8fr)) auto auto auto;gap:8px;align-items:center;margin-bottom:12px;padding:10px;border:1px solid var(--theme-line);border-radius:14px;background:var(--theme-surface)}.calendar-search{position:relative}.calendar-search i,.calendar-search iconify-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--theme-muted)}.calendar-search input{width:100%;padding-left:35px}.calendar-filters input,.calendar-filters select,.calendar-filters button,.calendar-filters a{height:38px}.calendar-filter-submit,.calendar-clear{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text);font-weight:800;text-decoration:none;white-space:nowrap}.calendar-view-switch{display:flex;height:38px;overflow:hidden;border:1px solid var(--theme-line);border-radius:9px}.calendar-view-switch button{padding:0 11px;border:0;border-radius:0;background:transparent;color:var(--theme-muted)}.calendar-view-switch button.is-active{background:var(--theme-primary);color:#fff}.calendar-content-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,.9fr);gap:12px;align-items:start}.calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-month-card,.calendar-side-card,.calendar-agenda{overflow:hidden;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-surface);box-shadow:0 5px 17px color-mix(in srgb,var(--theme-shadow) 25%,transparent)}.calendar-month-card>header{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:11px;border-bottom:1px solid var(--theme-line)}.calendar-month-card>header>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf4f8;color:#2f7398;font-size:11px;font-weight:900}.calendar-month-card h2{margin:0;font-size:14px}.calendar-month-card header small{color:var(--theme-muted);font-size:9px;font-weight:800}.mini-calendar{padding:9px 11px}.mini-weekdays,.mini-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.mini-weekdays b{padding:3px;color:var(--theme-muted);font-size:8px}.mini-week span{position:relative;min-height:29px;padding:6px 2px;color:var(--theme-text);font-size:9px}.mini-week span.is-out{color:#c8d0d7}.mini-week span.is-today{border-radius:50%;background:var(--theme-primary);color:#fff;font-weight:900}.mini-week span i,.mini-week span iconify-icon{position:absolute;right:2px;bottom:2px;left:2px;display:flex;justify-content:center;gap:2px}.mini-week span i b,.calendar-legend i,.mini-week span iconify-icon b,.calendar-legend iconify-icon{width:4px;height:4px;display:block;border-radius:50%}.cor-azul{background:#245c86!important}.cor-verde{background:#45cc55!important}.cor-laranja{background:#ff970d!important}.cor-roxo{background:#8e69be!important}.cor-vermelho{background:#ff6a58!important}.cor-turquesa{background:#18a99b!important}.month-highlights{min-height:136px;padding:4px 10px 10px}.month-highlights article{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:6px;margin:5px 0;padding:6px 7px;border-left:2px solid var(--theme-primary);border-radius:7px;background:var(--theme-surface-soft)}.month-highlights time{color:var(--theme-primary);font-size:10px;font-weight:900}.month-highlights strong,.month-highlights small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-highlights strong{font-size:9px}.month-highlights small{color:var(--theme-muted);font-size:8px}.month-highlights>a{display:block;margin-top:7px;color:#2d7199;font-size:9px;font-weight:900;text-align:center;text-decoration:none}.calendar-month-empty{padding:16px;color:var(--theme-muted);font-size:10px;text-align:center}.cor-border-azul{border-left-color:#245c86!important}.cor-border-verde{border-left-color:#45cc55!important}.cor-border-laranja{border-left-color:#ff970d!important}.cor-border-roxo{border-left-color:#8e69be!important}.cor-border-vermelho{border-left-color:#ff6a58!important}.cor-border-turquesa{border-left-color:#18a99b!important}.calendar-aside{position:sticky;top:82px;display:flex;flex-direction:column;gap:12px}.calendar-side-card>header,.calendar-agenda>header{display:flex;align-items:center;justify-content:space-between;padding:13px;border-bottom:1px solid var(--theme-line)}.calendar-side-card header span,.calendar-agenda header span{color:var(--theme-muted);font-size:8px;letter-spacing:.08em}.calendar-side-card h3,.calendar-agenda h2{margin:3px 0 0;font-size:14px}.calendar-side-card header a{color:#2f7ca9}.calendar-side-card>div{padding:4px 9px}.calendar-side-card article{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:9px;border-bottom:1px solid var(--theme-line);border-left:2px solid var(--theme-primary)}.calendar-side-card time{font-size:8px;text-align:center}.calendar-side-card time b{display:block;font-size:13px}.calendar-side-card strong,.calendar-side-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-side-card strong{font-size:10px}.calendar-side-card small{color:var(--theme-muted);font-size:8px}.calendar-legend p{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;margin:0;padding:9px;font-size:10px}.calendar-legend p i,.calendar-legend p iconify-icon{width:8px;height:8px}.calendar-legend p b{min-width:21px;padding:4px;border-radius:7px;background:var(--theme-surface-soft);text-align:center}.agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px}.agenda-event{display:grid;grid-template-columns:48px 1fr auto;gap:9px;padding:11px;border:1px solid var(--theme-line);border-left:3px solid var(--theme-primary);border-radius:11px}.agenda-event>time{padding:5px;border-radius:9px;background:#edf5f8;color:#245c86;font-size:8px;text-align:center}.agenda-event>time b{display:block;font-size:14px}.agenda-event-main strong,.agenda-event-main small{display:block}.agenda-event-main strong{margin:4px 0;font-size:11px}.agenda-event-main small{color:var(--theme-muted);font-size:8px}.agenda-event-main .status-badge{font-size:7px}.agenda-actions{display:flex;flex-direction:column;gap:5px}.agenda-actions a,.agenda-actions button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid var(--theme-line);border-radius:7px;background:var(--theme-surface);color:var(--theme-primary)}@media(max-width:1300px){.calendar-filters{grid-template-columns:repeat(4,1fr)}.calendar-search{grid-column:span 2}.calendar-content-layout{grid-template-columns:1fr}.calendar-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.calendar-year-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.calendar-hero{grid-template-columns:50px 1fr}.calendar-year-nav,.calendar-hero>button{grid-column:auto}.calendar-stats{grid-template-columns:1fr 1fr}.calendar-year-grid{grid-template-columns:1fr 1fr}.agenda-grid{grid-template-columns:1fr}}@media(max-width:650px){.calendar-year-grid,.calendar-aside,.calendar-stats{grid-template-columns:1fr}.calendar-filters{grid-template-columns:1fr}.calendar-search{grid-column:auto}.calendar-hero{grid-template-columns:1fr}.calendar-hero-icon{display:none}.calendar-year-nav{justify-content:center}.calendar-hero>button{width:100%}}
/* ==========================================================
   FILTROS E MODAL DO CALENDARIO 3.23.01
   ========================================================== */
.calendar-filters{
    grid-template-columns:minmax(165px,1.45fr) repeat(4,minmax(108px,.82fr)) auto auto auto;
    gap:6px;
    padding:8px;
    border-color:color-mix(in srgb,var(--theme-primary) 12%,var(--theme-line));
    box-shadow:0 5px 16px color-mix(in srgb,var(--theme-shadow) 22%,transparent);
}
.calendar-filters input,
.calendar-filters select{
    min-width:0;
    height:34px;
    padding:0 9px;
    border-radius:9px;
    font-size:10px;
}
.calendar-search input{
    padding-left:31px;
}
.calendar-search i,
.calendar-search iconify-icon{
    left:10px;
    font-size:11px;
}
.calendar-filter-submit,
.calendar-clear,
.calendar-view-switch,
.calendar-view-switch button{
    height:34px!important;
    font-size:9px;
}
.calendar-filter-submit,
.calendar-clear{
    padding:0 9px;
}
.calendar-view-switch button{
    padding:0 9px;
}
.calendar-filters select{
    background-position:right 7px center;
    padding-right:22px;
    text-overflow:ellipsis;
}
.calendar-hero>a.button-secondary{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-decoration:none;
}
/* O formulário de evento existe somente dentro do modal remoto. */
.annual-calendar-page + .modal-overlay,
.annual-calendar-page .modal-overlay{
    display:none!important;
}
.remote-form-modal[hidden]{
    display:none!important;
}
.remote-form-modal:not([hidden]){
    display:flex!important;
}
.remote-form-modal .cadastro-modal-dialog{
    width:min(850px,calc(100vw - 36px));
}
.remote-form-modal .cadastro-modal-header{
    padding:16px 20px 13px;
}
.remote-form-modal .cadastro-modal-header h2{
    margin:2px 0;
    font-size:19px;
}
.remote-form-modal .cadastro-modal-header p{
    margin:0;
    font-size:10px;
}
.remote-form-modal .modal-form-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:10px 12px;
    padding:14px 20px;
    align-items:start;
}
.remote-form-modal .modal-form-grid>div{
    grid-column:span 4;
    min-width:0;
    margin:0;
}
.remote-form-modal .modal-form-grid>div:has(.field-size-long),
.remote-form-modal .modal-form-grid>div:has(textarea){
    grid-column:span 12;
}
.remote-form-modal .modal-form-grid>div:has(.field-size-medium){
    grid-column:span 4;
}
.remote-form-modal .modal-form-grid>div:has(.field-size-short){
    grid-column:span 3;
}
.remote-form-modal .modal-form-grid>div:has(input[type="checkbox"]){
    grid-column:span 3;
    display:flex;
    min-height:36px;
    align-items:center;
    gap:7px;
    padding:7px 9px;
    border:1px solid var(--theme-line);
    border-radius:9px;
    background:var(--theme-surface-soft);
}
.remote-form-modal .modal-form-grid>div:has(input[type="checkbox"]) label{
    order:2;
    margin:0;
    line-height:1.15;
}
.remote-form-modal .modal-form-grid label{
    display:block;
    margin-bottom:4px;
    font-size:9px;
    font-weight:800;
}
.remote-form-modal .modal-form-grid input:not([type="checkbox"]),
.remote-form-modal .modal-form-grid select{
    width:100%;
    min-height:34px;
    padding:6px 9px;
    font-size:10px;
}
.remote-form-modal .modal-form-grid textarea{
    width:100%;
    min-height:58px;
    max-height:92px;
    padding:8px 9px;
    font-size:10px;
    resize:vertical;
}
.remote-form-modal .cadastro-modal-actions{
    padding:11px 20px;
}
.remote-form-modal .cadastro-modal-actions button{
    min-height:34px;
    padding:7px 13px;
    font-size:10px;
}
@media(max-width:780px){
    .remote-form-modal .modal-form-grid>div,
    .remote-form-modal .modal-form-grid>div:has(.field-size-medium),
    .remote-form-modal .modal-form-grid>div:has(.field-size-short),
    .remote-form-modal .modal-form-grid>div:has(input[type="checkbox"]){
        grid-column:span 6;
    }
    .remote-form-modal .modal-form-grid>div:has(.field-size-long),
    .remote-form-modal .modal-form-grid>div:has(textarea){
        grid-column:span 12;
    }
}
@media(max-width:520px){
    .remote-form-modal .modal-form-grid>div,
    .remote-form-modal .modal-form-grid>div:has(.field-size-medium),
    .remote-form-modal .modal-form-grid>div:has(.field-size-short),
    .remote-form-modal .modal-form-grid>div:has(input[type="checkbox"]){
        grid-column:span 12;
    }
}
/* ==========================================================
   MODAL DE EVENTO CENTRALIZADO E PROPORCIONAL 3.23.02
   ========================================================== */
.remote-form-modal{
    position:fixed!important;
    inset:0!important;
    z-index:1200!important;
    align-items:center!important;
    justify-content:center!important;
    padding:18px!important;
}
.remote-form-modal .cadastro-modal-backdrop{
    position:absolute;
    inset:0;
}
.remote-form-modal .cadastro-modal-dialog{
    position:relative;
    z-index:1;
    width:min(940px,calc(100vw - 36px))!important;
    max-height:calc(100vh - 36px)!important;
    margin:auto!important;
    align-self:center!important;
}
.event-modal-form .cadastro-modal-header{
    padding:18px 22px 15px!important;
}
.event-modal-form .cadastro-modal-header .section-kicker{
    font-size:10px;
}
.event-modal-form .cadastro-modal-header h2{
    font-size:22px!important;
}
.event-modal-form .cadastro-modal-header p{
    font-size:12px!important;
}
.event-modal-fields{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:12px 14px;
    padding:18px 22px;
    overflow:auto;
}
.event-field{
    min-width:0;
}
.event-field label{
    display:block;
    margin:0 0 5px;
    color:var(--theme-text);
    font-size:11px;
    font-weight:800;
}
.event-field input,
.event-field select,
.event-field textarea{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:12px!important;
}
.event-field textarea{
    min-height:70px!important;
    max-height:105px!important;
    resize:vertical;
}
.event-code{grid-column:span 3}.event-title{grid-column:span 9}.event-category{grid-column:span 4}.event-status{grid-column:span 3}.event-department{grid-column:span 5}.event-date{grid-column:span 3}.event-time{grid-column:span 3}.event-location{grid-column:span 8}.event-visibility{grid-column:span 4}.event-description{grid-column:span 6}.event-notes{grid-column:span 6}
.event-code input{
    background:var(--theme-surface-soft)!important;
    color:var(--theme-muted)!important;
}
.event-modal-form .errorlist{
    margin:4px 0 0;
    padding:0;
    color:var(--theme-danger);
    font-size:10px;
    list-style:none;
}
.event-modal-form .cadastro-modal-actions{
    padding:13px 22px!important;
}
.event-modal-form .cadastro-modal-actions button{
    min-height:38px!important;
    padding:8px 16px!important;
    font-size:12px!important;
}
@media(max-width:760px){
    .event-code,.event-category,.event-status,.event-date,.event-time,.event-visibility{grid-column:span 6}
    .event-title,.event-department,.event-location,.event-description,.event-notes{grid-column:span 12}
}
@media(max-width:520px){
    .remote-form-modal{padding:0!important}
    .remote-form-modal .cadastro-modal-dialog{width:100vw!important;max-height:100vh!important;border-radius:0!important}
    .event-code,.event-title,.event-category,.event-status,.event-department,.event-date,.event-time,.event-location,.event-visibility,.event-description,.event-notes{grid-column:span 12}
}
/* ==========================================================
   FILTRO DINAMICO E DETALHES DO EVENTO 3.23.03
   ========================================================== */
.calendar-filters{grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(112px,.85fr)) auto auto}.calendar-filters.is-filtering{opacity:.72;pointer-events:none}.calendar-filters.is-filtering::after{width:15px;height:15px;border:2px solid var(--theme-line);border-top-color:var(--theme-primary);border-radius:50%;content:"";animation:remote-modal-spin .7s linear infinite}.mini-week span{font-size:11px;font-weight:700}.mini-weekdays b{font-size:9px}.month-event-card,.side-event-card{display:grid;color:inherit;text-decoration:none}.month-event-card{grid-template-columns:27px 1fr;align-items:center;gap:6px;margin:5px 0;padding:7px 8px;border-left:3px solid var(--theme-primary);border-radius:8px;background:var(--theme-surface-soft);transition:transform .16s ease,box-shadow .16s ease}.month-event-card:hover,.side-event-card:hover{transform:translateY(-1px);box-shadow:0 5px 13px color-mix(in srgb,var(--theme-shadow) 32%,transparent)}.month-event-card time{font-size:12px;font-weight:900}.month-event-card strong{font-size:11px}.month-event-card small{font-size:9px}.calendar-side-card .side-event-card{grid-template-columns:40px 1fr;gap:8px;padding:10px;border-bottom:1px solid var(--theme-line);border-left:3px solid var(--theme-primary)}.calendar-side-card .side-event-card strong{font-size:11px}.calendar-side-card .side-event-card small{font-size:9px}.agenda-event{position:relative}.agenda-event-open{position:absolute;z-index:1;inset:0;border-radius:11px}.agenda-event>time,.agenda-event-main{position:relative;z-index:2;pointer-events:none}.agenda-actions{position:relative;z-index:3}.agenda-event>time b{font-size:17px}.agenda-event-main strong{font-size:13px}.agenda-event-main small{font-size:10px}.event-detail-modal .cadastro-modal-header h2{font-size:21px}.event-detail-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 14px;padding:18px 22px;overflow:auto}.detail-field{grid-column:span 3;min-width:0}.detail-code{grid-column:span 3}.detail-title{grid-column:span 9}.detail-department{grid-column:span 6}.detail-location{grid-column:span 9}.detail-text{grid-column:span 6}.detail-field label{display:block;margin-bottom:5px;font-size:11px;font-weight:800}.detail-field input,.detail-field textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface-soft);color:var(--theme-text);font-size:12px;opacity:1}.detail-field textarea{min-height:72px;resize:none}.detail-options{grid-column:span 12;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-options span{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface-soft);color:var(--theme-muted);font-size:11px;font-weight:800}.detail-options span i,.detail-options span iconify-icon{color:#c9d0d5}.detail-options span.is-on{border-color:color-mix(in srgb,var(--theme-secondary) 38%,var(--theme-line));color:var(--theme-text)}.detail-options span.is-on i,.detail-options span.is-on iconify-icon{color:var(--theme-secondary)}.event-detail-modal .cadastro-modal-actions a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 16px;text-decoration:none}@media(max-width:760px){.detail-field,.detail-code{grid-column:span 6}.detail-title,.detail-department,.detail-location,.detail-text{grid-column:span 12}.detail-options{grid-template-columns:1fr}}@media(max-width:520px){.detail-field,.detail-code,.detail-title,.detail-department,.detail-location,.detail-text{grid-column:span 12}}
/* ==========================================================
   CAMPOS SUTIS, FLAG DIA INTEIRO E EVENTOS MULTIDIA 3.23.04
   ========================================================== */
.calendar-filters{
    border:1px solid color-mix(in srgb,var(--theme-line) 82%,transparent)!important;
    background:color-mix(in srgb,var(--theme-surface) 97%,var(--theme-surface-soft))!important;
    box-shadow:0 4px 14px color-mix(in srgb,var(--theme-shadow) 14%,transparent)!important;
}
.calendar-filters input,
.calendar-filters select{
    border:1px solid color-mix(in srgb,var(--theme-line) 78%,transparent)!important;
    background:var(--theme-surface)!important;
    box-shadow:0 1px 2px rgba(15,45,65,.025)!important;
    transition:border-color .18s ease,box-shadow .18s ease!important;
}
.calendar-filters input:focus,
.calendar-filters select:focus{
    border-color:color-mix(in srgb,var(--theme-primary) 42%,var(--theme-line))!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 8%,transparent)!important;
    outline:0!important;
}
.event-field input,
.event-field select,
.event-field textarea,
.detail-field input,
.detail-field textarea{
    border:1px solid color-mix(in srgb,var(--theme-line) 76%,transparent)!important;
    box-shadow:0 1px 2px rgba(15,45,65,.025)!important;
    outline:0!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.event-field input:focus,
.event-field select:focus,
.event-field textarea:focus{
    border-color:color-mix(in srgb,var(--theme-primary) 44%,var(--theme-line))!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 8%,transparent)!important;
}
.event-field input:disabled{
    border-color:color-mix(in srgb,var(--theme-line) 56%,transparent)!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 82%,var(--theme-surface))!important;
    color:var(--theme-muted)!important;
    cursor:not-allowed;
}
.event-switch-track{
    position:relative;
    width:43px;
    height:24px;
    flex:0 0 43px;
    border:1px solid color-mix(in srgb,var(--theme-line) 85%,transparent);
    border-radius:99px;
    background:#dce5ea;
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.event-switch-track i,
.event-switch-track iconify-icon{
    position:absolute;
    top:3px;
    left:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(16,45,65,.22);
    transition:transform .18s ease;
}
/* ==========================================================
   CORRECAO DEFINITIVA DO FORMULARIO DE EVENTO 3.23.05
   Neutraliza regras antigas que afetavam a grade interna.
   ========================================================== */
.event-modal-form .event-modal-fields{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:12px 14px!important;
    padding:18px 22px!important;
    align-items:start!important;
}
.event-modal-form .event-description,
.event-modal-form .event-notes{
    align-self:start!important;
}
.event-modal-form .event-description textarea,
.event-modal-form .event-notes textarea{
    min-height:76px!important;
    max-height:96px!important;
}
/* ==========================================================
   LINHA DO TEMPO HORIZONTAL DE PESSOAS 3.24.00
   ========================================================== */
.person-timeline-modal{width:100%;min-height:0}.person-timeline-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 22px;border-bottom:1px solid var(--theme-line)}.person-timeline-summary article{padding:10px 12px;border:1px solid color-mix(in srgb,var(--theme-line) 75%,transparent);border-radius:10px;background:var(--theme-surface-soft)}.person-timeline-summary small,.person-timeline-summary strong{display:block}.person-timeline-summary small{color:var(--theme-muted);font-size:10px}.person-timeline-summary strong{margin-top:3px;font-size:12px}.horizontal-timeline-scroll{min-height:420px;padding:18px 12px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable;scroll-behavior:smooth}.horizontal-timeline-scroll::-webkit-scrollbar{height:12px}.horizontal-timeline-scroll::-webkit-scrollbar-track{border-radius:99px;background:var(--theme-surface-soft)}.horizontal-timeline-scroll::-webkit-scrollbar-thumb{border:3px solid var(--theme-surface-soft);border-radius:99px;background:color-mix(in srgb,var(--theme-primary) 58%,var(--theme-line))}.horizontal-timeline-track{position:relative;width:max(calc(var(--timeline-items) * 270px),100%);min-width:100%;height:365px;display:flex;align-items:center;padding:0 42px}.horizontal-timeline-track::before{position:absolute;top:50%;right:28px;left:28px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--theme-secondary),var(--theme-primary));content:""}.timeline-event{position:relative;width:250px;height:365px;flex:0 0 270px}.timeline-dot{position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);width:16px;height:16px;border:4px solid var(--theme-surface);border-radius:50%;background:var(--theme-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-primary) 28%,transparent)}.timeline-connector{position:absolute;left:50%;width:2px;height:38px;background:color-mix(in srgb,var(--theme-primary) 35%,var(--theme-line))}.timeline-card{position:absolute;left:13px;width:224px;min-height:132px;padding:12px;border:1px solid color-mix(in srgb,var(--theme-line) 72%,transparent);border-radius:12px;background:var(--theme-surface);box-shadow:0 8px 20px color-mix(in srgb,var(--theme-shadow) 25%,transparent)}.timeline-event.is-top .timeline-card{top:14px}.timeline-event.is-top .timeline-connector{top:145px}.timeline-event.is-bottom .timeline-card{bottom:14px}.timeline-event.is-bottom .timeline-connector{bottom:145px}.timeline-card time{color:var(--theme-primary);font-size:10px;font-weight:900}.timeline-card>span{display:block;margin:4px 0;color:var(--theme-secondary);font-size:9px;font-weight:900;text-transform:uppercase}.timeline-card h3{margin:2px 0 6px;font-size:13px}.timeline-card p{margin:4px 0;color:var(--theme-muted);font-size:10px;line-height:1.35}.timeline-event-batismo .timeline-dot{background:#2f80c1}.timeline-event-membresia .timeline-dot{background:#3f9b68}.timeline-event-cargo .timeline-dot{background:#c18a25}.timeline-event-departamento .timeline-dot{background:#8161af}.timeline-event-transferencia .timeline-dot{background:#e38125}.timeline-event-situacao .timeline-dot{background:#d25a4e}.timeline-scroll-hint{margin-right:auto;color:var(--theme-muted);font-size:10px}.person-timeline-modal .cadastro-modal-actions a{display:flex;align-items:center;gap:6px;text-decoration:none}.registration-table table th:first-child,.registration-table table td:first-child{width:112px;white-space:nowrap}.registration-table table th:first-child{text-align:center}.registration-table table td:first-child .row-actions{justify-content:center}@media(max-width:720px){.person-timeline-summary{grid-template-columns:1fr}.horizontal-timeline-scroll{min-height:390px}.horizontal-timeline-track,.timeline-event{height:340px}.timeline-scroll-hint{display:none}}
/* ==========================================================
   SELECTS PESQUISAVEIS E MESES FILTRADOS 3.24.01
   ========================================================== */
.searchable-select{position:relative;min-width:0;width:100%}.searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.searchable-select-trigger{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--theme-line) 76%,transparent)!important;border-radius:9px;background:var(--theme-surface)!important;color:var(--theme-text)!important;font:inherit;text-align:left;box-shadow:0 1px 2px rgba(15,45,65,.025)!important}.searchable-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger i,.searchable-select-trigger iconify-icon{font-size:10px;transition:transform .18s ease}.searchable-select.is-open .searchable-select-trigger{border-color:color-mix(in srgb,var(--theme-primary) 44%,var(--theme-line))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 8%,transparent)!important}.searchable-select.is-open .searchable-select-trigger i,.searchable-select.is-open .searchable-select-trigger iconify-icon{transform:rotate(180deg)}.searchable-select-panel{position:absolute;z-index:1250;top:calc(100% + 5px);right:0;left:0;display:none;min-width:210px;padding:8px;border:1px solid color-mix(in srgb,var(--theme-line) 78%,transparent);border-radius:11px;background:var(--theme-surface);box-shadow:0 14px 34px rgba(15,45,65,.16)}.searchable-select.is-open .searchable-select-panel{display:block}.searchable-select-search{width:100%!important;min-height:38px!important;margin:0 0 7px!important;padding:8px 10px!important;border:1px solid color-mix(in srgb,var(--theme-line) 76%,transparent)!important;border-radius:8px!important;background:var(--theme-surface)!important;font-size:12px!important}.searchable-select-options{max-height:255px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8d8d8d transparent}.searchable-select-option{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 11px;border:0!important;border-radius:8px;background:transparent!important;color:var(--theme-text)!important;font-size:12px;text-align:left}.searchable-select-option:hover,.searchable-select-option.is-selected{background:color-mix(in srgb,var(--theme-secondary) 11%,var(--theme-surface))!important}.searchable-select-option.is-selected{color:color-mix(in srgb,var(--theme-secondary) 76%,var(--theme-text))!important}.searchable-select-option i,.searchable-select-option iconify-icon{color:var(--theme-secondary)}.searchable-select-empty{margin:0;padding:12px;color:var(--theme-muted);font-size:11px;text-align:center}.searchable-select.is-disabled{opacity:.65;pointer-events:none}.calendar-filters .searchable-select-trigger{min-height:34px;height:34px;font-size:10px}.calendar-filters .searchable-select-panel{min-width:185px}.calendar-year-grid.is-filtered{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-filter-empty{grid-column:1/-1;display:grid;place-items:center;min-height:260px;padding:32px;border:1px dashed var(--theme-line);border-radius:15px;background:var(--theme-surface);text-align:center}.calendar-filter-empty i,.calendar-filter-empty iconify-icon{font-size:34px;color:var(--theme-muted)}.calendar-filter-empty h2{margin:9px 0 0;font-size:17px}.calendar-filter-empty p{margin:4px 0 13px;color:var(--theme-muted)}.calendar-filter-empty a{padding:8px 12px;border-radius:8px;background:var(--theme-primary);color:#fff;text-decoration:none}@media(max-width:900px){.calendar-year-grid.is-filtered{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.calendar-year-grid.is-filtered{grid-template-columns:1fr}}
/* ==========================================================
   FILTRO GLOBAL PAGINADO E DESEMPENHO 3.25.00
   ========================================================== */
.report-filter-clear{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-surface);color:var(--theme-muted)}.server-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-top:1px solid var(--theme-line);color:var(--theme-muted);font-size:11px}.server-pagination nav{display:flex;align-items:center;gap:5px}.server-pagination a,.server-pagination strong{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:8px;text-decoration:none}.server-pagination a{background:var(--theme-surface);color:var(--theme-text)}.server-pagination strong{border-color:var(--theme-primary);background:var(--theme-primary);color:#fff}@media(max-width:620px){.server-pagination{align-items:flex-start;flex-direction:column}}
/* ==========================================================
   SELECTS EM CAMADA GLOBAL SEM RECORTE 3.25.01
   O painel sai do card e usa posicionamento fixo no viewport.
   ========================================================== */
body>.searchable-select-panel{
    position:fixed!important;
    z-index:10000!important;
    top:auto;
    right:auto!important;
    left:auto;
    display:none!important;
    max-width:calc(100vw - 16px);
    overflow:hidden;
}
body>.searchable-select-panel.is-open{
    display:block!important;
}
body>.searchable-select-panel .searchable-select-options{
    max-height:calc(var(--select-panel-max-height,330px) - 62px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
}
body>.searchable-select-panel.opens-above{
    transform-origin:bottom center;
}
/* ==========================================================
   RELATORIO DE PESSOAS COM 10 REGISTROS 3.25.04
   Mantém a tabela integralmente visível e restaura os cards-resumo.
   ========================================================== */
.report-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.summary-chip{
    min-width:168px;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 13px;
    border:1px solid color-mix(in srgb,var(--theme-line) 82%,transparent);
    border-radius:10px;
    background:color-mix(in srgb,var(--theme-surface-soft) 86%,var(--theme-surface));
    box-shadow:0 4px 12px color-mix(in srgb,var(--theme-shadow) 15%,transparent);
    white-space:nowrap;
}
.summary-chip small{
    display:block;
    color:var(--theme-muted);
    font-size:9px;
    font-weight:800;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.summary-chip strong{
    color:var(--theme-text);
    font-size:18px;
    font-weight:900;
    line-height:1;
}
.people-report-table{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
}
.people-report-table .table-responsive{
    flex:none!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
}
.people-report-table table{
    height:auto!important;
}
.people-report-table thead,
.people-report-table thead tr:first-child th,
.people-report-table thead .table-filter-row th{
    position:static!important;
}
.people-report-table thead tr:first-child th{
    height:34px;
    padding:8px 10px!important;
}
.people-report-table .table-filter-row th{
    height:43px;
    padding:5px 7px!important;
}
.people-report-table .table-filter-row input{
    height:31px;
}
.people-report-table tbody tr{
    height:48px!important;
}
.people-report-table tbody td{
    height:48px!important;
    padding:5px 14px!important;
    line-height:1.2;
}
.people-report-table .row-actions a,
.people-report-table .row-actions button{
    width:32px;
    height:32px;
}
.people-report-table .server-pagination{
    min-height:56px;
    padding:9px 17px;
}
.people-report-table .server-pagination a,
.people-report-table .server-pagination strong{
    min-width:32px;
    height:32px;
}
@media(max-width:900px){
    .report-heading-actions{
        justify-content:flex-start;
    }
    .summary-chip{
        min-width:150px;
    }
}
/* ==========================================================
   RELATORIO AJUSTADO AO VIEWPORT E FILTRO ASSINCRONO 3.25.05
   ========================================================== */
.people-report-table{height:var(--people-card-height,calc(100vh - 272px))!important;max-height:var(--people-card-height,calc(100vh - 272px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;margin-bottom:10px!important}.people-report-table .table-responsive{flex:1 1 auto!important;overflow-x:auto!important;overflow-y:hidden!important}.people-report-table tbody tr,.people-report-table tbody td{height:var(--people-row-height,44px)!important;max-height:var(--people-row-height,44px)!important}.people-report-table tbody td{padding-top:3px!important;padding-bottom:3px!important}.people-report-table .server-pagination{flex:0 0 auto}.people-report-table.is-filtering{opacity:.68;pointer-events:none}
/* ==========================================================
   INDICADORES DE CABECALHO PADRONIZADOS 3.25.06
   Mesmo tamanho visual usado nos cards Total cadastrado e Registros ativos.
   ========================================================== */
.page-heading-tools .header-indicators{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding-right:0;
    border-right:0;
}
.page-heading-tools .header-indicators article{
    width:168px;
    min-width:168px;
    height:44px;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 13px;
    border:1px solid color-mix(in srgb,var(--theme-line) 82%,transparent);
    border-radius:10px;
    background:color-mix(in srgb,var(--theme-surface-soft) 86%,var(--theme-surface));
    box-shadow:0 4px 12px color-mix(in srgb,var(--theme-shadow) 15%,transparent);
    white-space:nowrap;
}
.page-heading-tools .header-indicators article small{
    display:block;
    color:var(--theme-muted);
    font-size:9px;
    font-weight:800;
    line-height:1.15;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.page-heading-tools .header-indicators article strong{
    color:var(--theme-text);
    font-size:18px;
    font-weight:900;
    line-height:1;
}
.page-heading-tools .button-primary{
    min-height:44px;
}
@media(max-width:900px){
    .page-heading-tools .header-indicators{
        flex:0 1 auto;
    }
}
@media(max-width:620px){
    .page-heading-tools .header-indicators{
        width:100%;
        padding:0 0 9px;
        border-bottom:1px solid var(--theme-line);
    }
    .page-heading-tools .header-indicators article{
        width:auto;
        min-width:0;
        flex:1 1 168px;
    }
}
/* ==========================================================
   RELATORIO DE PESSOAS PADRAO VISUAL 3.25.07
   ========================================================== */
.people-report-table{
    border:1px solid var(--theme-line)!important;
    border-radius:12px!important;
    background:var(--theme-surface)!important;
    box-shadow:0 8px 24px color-mix(in srgb,var(--theme-shadow) 11%,transparent)!important;
}
.people-report-table .table-responsive{
    border-radius:12px 12px 0 0!important;
}
.people-report-table table{
    table-layout:fixed;
}
.people-report-table thead tr:first-child th{
    height:38px!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 88%,var(--theme-surface))!important;
    border-bottom:1px solid var(--theme-line)!important;
    text-align:center!important;
}
.people-report-table .table-filter-row th{
    height:47px!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 80%,var(--theme-surface))!important;
}
.people-report-table .table-filter-row input{
    height:38px!important;
    border-radius:9px!important;
    background:var(--theme-surface)!important;
    text-align:center;
    font-weight:700;
}
.people-report-table tbody tr,
.people-report-table tbody td{
    height:var(--people-row-height,35px)!important;
    max-height:var(--people-row-height,35px)!important;
}
.people-report-table tbody td{
    padding:2px 14px!important;
    border-right:1px solid var(--theme-line);
    border-bottom:1px solid var(--theme-line);
}
.people-report-table tbody td:last-child{
    border-right:0;
}
.people-report-table.has-partial-page tbody tr,
.people-report-table.has-partial-page tbody td{
    height:35px!important;
    max-height:35px!important;
}
.people-report-table .row-actions{
    justify-content:center;
}
.people-report-table .row-actions a,
.people-report-table .row-actions button{
    width:30px;
    height:30px;
    border-radius:8px;
}
.people-report-table .server-pagination{
    margin-top:auto;
    min-height:72px;
    background:var(--theme-surface);
    border-radius:0 0 12px 12px;
}
.people-report-table .server-pagination .is-disabled{
    opacity:.42;
    pointer-events:none;
}

/* ==========================================================
   LINHAS DE PAGINAS INCOMPLETAS COM 40 PX 3.25.09
   Últimas páginas e filtros não expandem as linhas além do padrão.
   ========================================================== */
.people-report-table.has-partial-page tbody tr,
.people-report-table.has-partial-page tbody td{
    height:40px!important;
    max-height:40px!important;
}
/* ==========================================================
   ENCAIXE DO RELATORIO DE PESSOAS NO VIEWPORT 3.25.10
   Remove o espaço inferior excedente e evita rolagem da página.
   ========================================================== */
.module-content.people-report-content{
    min-height:0;
    overflow:hidden!important;
    padding-bottom:0!important;
}
.people-report-content .people-report-table{
    margin-bottom:2px!important;
}
/* ==========================================================
   LARGURAS DO RELATORIO DE PESSOAS 3.25.11
   Prioriza o nome e impede quebra de linha nas células.
   ========================================================== */
.people-report-table .people-col-actions{width:9%}
.people-report-table .people-col-name{width:29%}
.people-report-table .people-col-type{width:12%}
.people-report-table .people-col-status{width:11%}
.people-report-table .people-col-phone{width:16%}
.people-report-table .people-col-role{width:23%}
.people-report-table tbody td{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.people-report-table tbody td:nth-child(2) strong{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.people-report-table .row-actions{
    flex-wrap:nowrap;
    gap:5px;
}
@media(max-width:1100px){
    .people-report-table table{
        min-width:980px;
    }
}
/* ==========================================================
   MODAIS DE CADASTRO COMPACTOS E ELEGANTES 3.25.14
   Padroniza inclusão e edição sem alterar campos ou regras de negócio.
   ========================================================== */
.cadastro-modal-dialog,
.remote-form-modal .cadastro-modal-form{
    width:min(920px,calc(100vw - 40px))!important;
    max-height:min(88vh,820px)!important;
    border-radius:16px!important;
    box-shadow:0 24px 70px rgba(18,38,57,.24)!important;
    overflow:hidden!important;
}
.cadastro-modal-header{
    min-height:94px!important;
    padding:18px 26px!important;
    align-items:flex-start!important;
    background:linear-gradient(180deg,var(--theme-surface) 0%,color-mix(in srgb,var(--theme-surface-soft) 42%,var(--theme-surface)) 100%)!important;
}
.cadastro-modal-header .section-kicker{
    margin-bottom:5px!important;
    font-size:10px!important;
    letter-spacing:.12em!important;
}
.cadastro-modal-header h2{
    margin:0 0 4px!important;
    font-size:22px!important;
    line-height:1.12!important;
}
.cadastro-modal-header p{
    margin:0!important;
    font-size:11px!important;
    line-height:1.35!important;
}
.cadastro-modal-close{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:10px!important;
}
.cadastro-modal-form{
    min-height:0!important;
}
.cadastro-modal-form>.modal-form-grid,
.cadastro-modal-form>.remote-modal-fields{
    padding:18px 24px!important;
}
.modal-form-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:12px 14px!important;
    align-content:start!important;
}
.modal-form-grid>div{
    min-width:0;
    margin:0!important;
    grid-column:span 6;
}
.modal-form-grid>.field-code-display{
    grid-column:span 4!important;
}
.modal-form-grid>div:has(textarea),
.modal-form-grid>div:has(.field-size-long){
    grid-column:span 12!important;
}
.modal-form-grid>div:has(input[type="date"]),
.modal-form-grid>div:has(input[type="time"]),
.modal-form-grid>div:has(input[type="number"]),
.modal-form-grid>div:has(input[type="checkbox"]){
    grid-column:span 4!important;
}
.modal-form-grid label{
    display:block;
    margin:0 0 5px!important;
    color:var(--theme-text)!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.15!important;
}
.modal-form-grid input:not([type="checkbox"]),
.modal-form-grid select,
.modal-form-grid textarea,
.modal-form-grid .searchable-select-trigger{
    min-height:38px!important;
    height:38px!important;
    padding:7px 11px!important;
    border-radius:9px!important;
    font-size:12px!important;
}
.modal-form-grid textarea{
    height:64px!important;
    min-height:64px!important;
    resize:vertical;
}
.modal-form-grid .field-code-automatic{
    background:linear-gradient(135deg,var(--theme-surface-soft),color-mix(in srgb,var(--theme-surface-soft) 55%,var(--theme-surface)))!important;
    color:var(--theme-muted)!important;
}
.modal-form-grid>div:has(input[type="checkbox"]){
    min-height:38px;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:8px 11px!important;
    border:1px solid var(--theme-line);
    border-radius:9px;
    background:color-mix(in srgb,var(--theme-surface-soft) 60%,var(--theme-surface));
}
.modal-form-grid>div:has(input[type="checkbox"]) label{
    margin:0!important;
    order:2;
    cursor:pointer;
}
.modal-form-grid input[type="checkbox"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin:0!important;
    accent-color:var(--theme-primary);
}
.modal-form-grid .errorlist{
    margin:4px 0 0!important;
    font-size:9px!important;
}
.cadastro-modal-actions{
    min-height:64px!important;
    padding:12px 24px!important;
    gap:9px!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 74%,var(--theme-surface))!important;
}
.cadastro-modal-actions .button-primary,
.cadastro-modal-actions .button-secondary{
    min-height:38px!important;
    padding:8px 15px!important;
    border-radius:9px!important;
    font-size:11px!important;
}
@media(max-width:760px){
    .cadastro-modal-dialog,
    .remote-form-modal .cadastro-modal-form{
        width:calc(100vw - 20px)!important;
        max-height:94vh!important;
    }
    .cadastro-modal-header{
        padding:16px 18px!important;
    }
    .cadastro-modal-form>.modal-form-grid,
    .cadastro-modal-form>.remote-modal-fields{
        padding:15px 17px!important;
    }
    .modal-form-grid>div,
    .modal-form-grid>.field-code-display,
    .modal-form-grid>div:has(input[type="date"]),
    .modal-form-grid>div:has(input[type="time"]),
    .modal-form-grid>div:has(input[type="number"]),
    .modal-form-grid>div:has(input[type="checkbox"]){
        grid-column:span 6!important;
    }
}
@media(max-width:520px){
    .modal-form-grid>div,
    .modal-form-grid>.field-code-display,
    .modal-form-grid>div:has(input[type="date"]),
    .modal-form-grid>div:has(input[type="time"]),
    .modal-form-grid>div:has(input[type="number"]),
    .modal-form-grid>div:has(input[type="checkbox"]){
        grid-column:span 12!important;
    }
    .cadastro-modal-actions{
        padding:10px 14px!important;
    }
}
/* ==========================================================
   CADASTRO DE CARGO E FUNCAO COMPACTO 3.25.15
   Dimensões baseadas no conteúdo real de cada campo.
   ========================================================== */
.cargo-compact-modal{
    width:min(760px,calc(100vw - 40px))!important;
    max-height:80vh!important;
}
.cargo-compact-modal .cadastro-modal-header{
    min-height:86px!important;
    padding:16px 22px!important;
}
.cargo-compact-modal .modal-form-grid,
.cargo-compact-modal.remote-modal-fields{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:11px 12px!important;
    padding:16px 20px!important;
}
/* Código é curto e Nome recebe o restante da primeira linha. */
.cargo-compact-modal .field-code-display{
    grid-column:span 4!important;
}
.cargo-compact-modal .modal-form-grid>div:has(input[name="nome"]),
.cargo-compact-modal.remote-modal-fields>div:has(input[name="nome"]){
    grid-column:span 8!important;
}
/* A descrição ocupa a largura total, com altura proporcional ao texto. */
.cargo-compact-modal .modal-form-grid>div:has(textarea[name="descricao"]),
.cargo-compact-modal.remote-modal-fields>div:has(textarea[name="descricao"]){
    grid-column:span 12!important;
}
.cargo-compact-modal textarea[name="descricao"]{
    height:54px!important;
    min-height:54px!important;
}
/* As três opções essenciais compartilham a mesma linha. */
.cargo-compact-modal .modal-form-grid>div:has(input[name="permite_atendimento_pastoral"]),
.cargo-compact-modal .modal-form-grid>div:has(input[name="presidente"]),
.cargo-compact-modal .modal-form-grid>div:has(input[name="ativo"]),
.cargo-compact-modal.remote-modal-fields>div:has(input[name="permite_atendimento_pastoral"]),
.cargo-compact-modal.remote-modal-fields>div:has(input[name="presidente"]),
.cargo-compact-modal.remote-modal-fields>div:has(input[name="ativo"]){
    grid-column:span 4!important;
}
.cargo-compact-modal .cadastro-modal-actions{
    min-height:58px!important;
    padding:10px 20px!important;
}
.cargo-report-table table th:first-child,
.cargo-report-table table td:first-child{
    width:120px;
}
.cargo-report-table table th:last-child,
.cargo-report-table table td:last-child{
    width:180px;
}
@media(max-width:620px){
    .cargo-compact-modal{
        width:calc(100vw - 20px)!important;
        max-height:92vh!important;
    }
    .cargo-compact-modal .field-code-display,
    .cargo-compact-modal .modal-form-grid>div:has(input[name="nome"]),
    .cargo-compact-modal.remote-modal-fields>div:has(input[name="nome"]),
    .cargo-compact-modal .modal-form-grid>div:has(input[name="permite_atendimento_pastoral"]),
    .cargo-compact-modal .modal-form-grid>div:has(input[name="presidente"]),
    .cargo-compact-modal .modal-form-grid>div:has(input[name="ativo"]),
    .cargo-compact-modal.remote-modal-fields>div:has(input[name="permite_atendimento_pastoral"]),
    .cargo-compact-modal.remote-modal-fields>div:has(input[name="presidente"]),
    .cargo-compact-modal.remote-modal-fields>div:has(input[name="ativo"]){
        grid-column:span 12!important;
    }
}
/* ==========================================================
   RELATORIO DE CARGOS EM UMA LINHA 3.25.16
   Informações complementares viram colunas para limitar cada registro.
   ========================================================== */
.cargo-report-table table{
    table-layout:fixed;
    min-width:900px;
}
.cargo-report-table .cargo-col-actions{width:9%}
.cargo-report-table .cargo-col-name{width:24%}
.cargo-report-table .cargo-col-description{width:31%}
.cargo-report-table .cargo-col-profile{width:24%}
.cargo-report-table .cargo-col-status{width:12%}
.cargo-report-table tbody tr[data-table-row],
.cargo-report-table tbody tr[data-table-row] td{
    height:44px!important;
    max-height:44px!important;
}
.cargo-report-table tbody td{
    padding:5px 12px!important;
    vertical-align:middle!important;
}
.cargo-report-table .cargo-name-cell strong,
.cargo-report-table .cargo-description-cell span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.cargo-report-table .cargo-description-cell span{
    color:var(--theme-muted);
    font-size:11px;
}
.cargo-profile-tags{
    display:flex;
    align-items:center;
    gap:5px;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
}
.cargo-tag{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    max-width:100%;
    padding:4px 7px;
    border-radius:999px;
    background:color-mix(in srgb,var(--theme-secondary) 12%,var(--theme-surface));
    color:var(--theme-primary);
    font-size:9px;
    font-weight:800;
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.cargo-tag.is-neutral{
    background:var(--theme-surface-soft);
    color:var(--theme-muted);
}
.cargo-report-table .row-actions{
    flex-wrap:nowrap;
    justify-content:center;
}

/* ==========================================================
   ENCAIXE VERTICAL DO RELATORIO DE CARGOS 3.25.18
   Mantém dez linhas no card sem gerar rolagem vertical residual.
   ========================================================== */
.cargo-report-table .table-responsive{
    overflow-x:auto!important;
    overflow-y:hidden!important;
}

/* ==========================================================
   CORRECAO DE ENCAIXE SEM OCULTAR ROLAGEM 3.25.19
   A altura vem do espaço real; a barra continua disponível se necessária.
   ========================================================== */
.cargo-report-table .table-responsive{
    overflow-x:auto!important;
    overflow-y:auto!important;
}
.cargo-report-table tbody tr[data-table-row],
.cargo-report-table tbody tr[data-table-row] td{
    min-height:0!important;
    box-sizing:border-box!important;
}
/* ==========================================================
   PADRAO GLOBAL DE RELATORIOS 3.25.21
   Card, cabeçalho, filtros, linhas e paginação passam a compartilhar o
   padrão consolidado dos relatórios da Secretaria.
   ========================================================== */
.registration-table{
    border:1px solid var(--theme-line)!important;
    border-radius:12px!important;
    background:var(--theme-surface)!important;
    box-shadow:0 8px 24px color-mix(in srgb,var(--theme-shadow) 11%,transparent)!important;
    overflow:hidden!important;
}
.registration-table .table-responsive{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    border-radius:12px 12px 0 0!important;
}
.registration-table table{
    width:100%;
    border-collapse:separate!important;
    border-spacing:0!important;
}
.registration-table thead tr:first-child th{
    height:38px!important;
    padding:8px 10px!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 88%,var(--theme-surface))!important;
    border-bottom:1px solid var(--theme-line)!important;
    text-align:center!important;
}
.registration-table .table-filter-row th{
    height:47px!important;
    padding:5px 7px!important;
    background:color-mix(in srgb,var(--theme-surface-soft) 80%,var(--theme-surface))!important;
}
.registration-table .table-filter-row input{
    width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:7px 10px!important;
    border-radius:9px!important;
    background:var(--theme-surface)!important;
    text-align:center;
    font-size:10px!important;
    font-weight:700;
}
.registration-table tbody td{
    box-sizing:border-box!important;
    padding:4px 12px!important;
    vertical-align:middle!important;
    border-bottom:1px solid var(--theme-line)!important;
}
.registration-table tbody tr[data-table-row]:last-of-type td{
    border-bottom:0!important;
}
.registration-table .row-actions{
    flex-wrap:nowrap;
    justify-content:center;
    gap:5px;
}
.registration-table .row-actions a,
.registration-table .row-actions button{
    width:30px;
    height:30px;
    border-radius:8px;
}
.registration-table .table-pagination,
.registration-table .server-pagination{
    flex:0 0 auto;
    min-height:58px;
    margin-top:auto;
    border-top:1px solid var(--theme-line);
    background:var(--theme-surface);
    border-radius:0 0 12px 12px;
}
/* ==========================================================
   ALTURA UNICA DOS CARDS DE RELATORIO 3.25.22
   Pessoas, Cargos, Departamentos e Agendamentos compartilham a mesma altura.
   ========================================================== */
:root{
    --report-card-height:clamp(430px,calc(100vh - 245px),650px);
}
.registration-table,
.people-report-table{
    flex:0 0 var(--report-card-height)!important;
    width:100%;
    height:var(--report-card-height)!important;
    min-height:var(--report-card-height)!important;
    max-height:var(--report-card-height)!important;
    margin-bottom:14px!important;
}
.module-content.people-report-content{
    overflow:auto!important;
    padding-bottom:25px!important;
}
.registration-table .table-responsive,
.people-report-table .table-responsive{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
}
@media(max-height:760px){
    :root{
        --report-card-height:430px;
    }
}
@media(max-width:760px){
    :root{
        --report-card-height:500px;
    }
    .registration-table,
    .people-report-table{
        height:var(--report-card-height)!important;
        min-height:var(--report-card-height)!important;
        max-height:var(--report-card-height)!important;
    }
}
/* ==========================================================
   PAGINACAO GLOBAL COM SETE CONTROLES 3.25.23
   Primeira, anterior, três números, próxima e última página.
   ========================================================== */
.table-pagination-controls,
.server-pagination nav{
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}
.table-page-button,
.server-pagination nav a,
.server-pagination nav strong{
    width:38px;
    min-width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border-radius:9px;
}
.table-page-button.is-edge,
.server-pagination nav .is-edge{
    font-size:16px;
    font-weight:800;
}
/* ==========================================================
   FORMULARIO UNICO PARA CRIACAO E EDICAO 3.25.24
   O estado dos dados muda, mas estrutura, dimensões e ações permanecem iguais.
   ========================================================== */
.cadastro-modal-dialog .cadastro-modal-header,
.remote-form-modal .cadastro-modal-form .cadastro-modal-header{
    min-height:86px!important;
    padding:16px 22px!important;
}
.cadastro-modal-dialog .modal-form-grid,
.remote-form-modal .remote-modal-fields{
    padding:16px 20px!important;
    gap:11px 12px!important;
}
.cadastro-modal-dialog .cadastro-modal-actions,
.remote-form-modal .cadastro-modal-actions{
    min-height:58px!important;
    padding:10px 20px!important;
}
/* ==========================================================
   DIMENSOES IDENTICAS NA CRIACAO E EDICAO 3.25.25
   A classe específica é aplicada à janela externa do modal remoto.
   ========================================================== */
.remote-form-modal .cadastro-modal-dialog.cargo-compact-modal{
    width:min(760px,calc(100vw - 40px))!important;
    max-width:min(760px,calc(100vw - 40px))!important;
    max-height:80vh!important;
}
.remote-form-modal .cadastro-modal-dialog.cargo-compact-modal .cadastro-modal-form{
    width:100%!important;
    max-width:none!important;
    max-height:80vh!important;
}
@media(max-width:620px){
    .remote-form-modal .cadastro-modal-dialog.cargo-compact-modal{
        width:calc(100vw - 20px)!important;
        max-width:calc(100vw - 20px)!important;
        max-height:92vh!important;
    }
}
/* ==========================================================
   MODAL GLOBAL UNICO PARA INCLUSAO E EDICAO 3.25.26
   A mesma janela, backdrop e formulário são usados nas duas operações.
   ========================================================== */
.remote-form-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    padding:20px!important;
    z-index:1200!important;
}
.remote-form-modal .cadastro-modal-backdrop{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:rgba(15,29,40,.58)!important;
    backdrop-filter:blur(4px);
}
.remote-form-modal .cadastro-modal-dialog{
    position:relative!important;
    z-index:1!important;
}
/* ==========================================================
   MODAL GLOBAL DE EXCLUSAO COM CODIGO 3.25.27
   Substitui confirmações nativas por uma confirmação explícita de 4 dígitos.
   ========================================================== */
.delete-confirmation-modal{
    position:fixed;
    inset:0;
    z-index:1300;
    width:100vw;
    height:100vh;
    display:grid;
    place-items:center;
    padding:20px;
}
.delete-confirmation-modal[hidden]{display:none!important}
.delete-confirmation-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    background:rgba(15,29,40,.62);
    backdrop-filter:blur(4px);
}
.delete-confirmation-dialog{
    position:relative;
    z-index:1;
    width:min(520px,calc(100vw - 40px));
    overflow:hidden;
    border:1px solid var(--theme-line);
    border-radius:16px;
    background:var(--theme-surface);
    box-shadow:0 24px 70px rgba(18,38,57,.30);
}
.delete-confirmation-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:18px 22px;
    border-bottom:1px solid var(--theme-line);
    background:linear-gradient(180deg,var(--theme-surface),color-mix(in srgb,var(--theme-danger) 4%,var(--theme-surface)));
}
.delete-confirmation-header h2{margin:4px 0;font-size:22px;color:var(--theme-text)}
.delete-confirmation-header p{margin:0;color:var(--theme-muted);font-size:11px}
.delete-confirmation-close{
    width:38px;
    min-width:38px;
    height:38px;
    border:1px solid var(--theme-line);
    border-radius:10px;
    background:var(--theme-surface-soft);
    color:var(--theme-text);
}
.delete-confirmation-body{padding:20px 22px}
.delete-confirmation-warning{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid color-mix(in srgb,var(--theme-danger) 30%,var(--theme-line));
    border-radius:11px;
    background:color-mix(in srgb,var(--theme-danger) 7%,var(--theme-surface));
}
.delete-confirmation-warning>i,
.delete-confirmation-warning>iconify-icon{font-size:22px;color:var(--theme-danger)}
.delete-confirmation-warning strong,.delete-confirmation-warning span{display:block}
.delete-confirmation-warning span{margin-top:2px;color:var(--theme-muted);font-size:10px}
.delete-confirmation-code{
    margin:18px 0 14px;
    padding:13px;
    border:1px dashed color-mix(in srgb,var(--theme-danger) 48%,var(--theme-line));
    border-radius:12px;
    background:var(--theme-surface-soft);
    color:var(--theme-text);
    font-size:28px;
    font-weight:900;
    letter-spacing:.28em;
    text-align:center;
    user-select:none;
}
.delete-confirmation-body label{display:block;margin-bottom:6px;font-size:10px;font-weight:800;color:var(--theme-text)}
.delete-confirmation-body input{
    width:100%;
    height:42px;
    padding:8px 12px;
    border:1px solid var(--theme-line);
    border-radius:9px;
    background:var(--theme-surface);
    color:var(--theme-text);
    font-size:15px;
    font-weight:800;
    letter-spacing:.16em;
    text-align:center;
}
.delete-confirmation-error{display:block;margin-top:6px;color:var(--theme-danger);font-size:10px}
.delete-confirmation-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    padding:11px 22px;
    border-top:1px solid var(--theme-line);
    background:var(--theme-surface-soft);
}
.button-danger{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 15px;
    border:1px solid var(--theme-danger);
    border-radius:9px;
    background:var(--theme-danger);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.button-danger:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){
    .delete-confirmation-modal{padding:10px}
    .delete-confirmation-dialog{width:calc(100vw - 20px)}
    .delete-confirmation-actions{align-items:stretch;flex-direction:column-reverse}
    .delete-confirmation-actions button{width:100%}
}
/* ==========================================================
   ANIVERSARIANTES EM TRES COLUNAS E DESTAQUE DO DIA 3.25.28
   ========================================================== */
.birthday-page-v2{gap:16px}
.birthday-month-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);box-shadow:0 9px 25px color-mix(in srgb,var(--theme-shadow) 34%,transparent)}
.birthday-month-copy h1{margin:4px 0;font-size:24px;color:var(--theme-text)}
.birthday-month-copy p{margin:0;color:var(--theme-muted)}
.birthday-page-v2 .birthday-month-picker{width:230px;flex:0 0 230px}
.birthday-today-celebration{position:relative;isolation:isolate;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,#f2bd2f 62%,var(--theme-line));border-radius:18px;background:linear-gradient(120deg,#fff8d9,color-mix(in srgb,#ffe88a 30%,var(--theme-surface)));box-shadow:0 14px 30px rgba(190,132,14,.15)}
.birthday-today-celebration>header{position:relative;z-index:3;display:flex;align-items:center;gap:13px;margin-bottom:14px}
.birthday-celebration-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f2a51f;color:#fff;font-size:24px;box-shadow:0 8px 18px rgba(184,111,8,.22)}
.birthday-today-celebration header span{color:#9b6711;font-size:9px;font-weight:900;letter-spacing:.1em}
.birthday-today-celebration h2{margin:3px 0;font-size:20px;color:#6d490c}
.birthday-today-celebration header p{margin:0;color:#8a713e;font-size:11px}
.birthday-today-cards{position:relative;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.birthday-today-highlight{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(150px,185px);align-items:center;gap:14px;padding:15px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:linear-gradient(125deg,#e98214,#eead25);color:#fff;box-shadow:0 12px 24px rgba(192,113,8,.18)}
.birthday-highlight-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#a85d00;font-size:22px;font-weight:900}
.birthday-highlight-copy small{font-size:9px;font-weight:900;text-transform:uppercase}
.birthday-highlight-copy h3{overflow:hidden;margin:4px 0;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.birthday-highlight-copy p{margin:0;color:#fff;font-size:10px}
.birthday-highlight-actions{display:grid;gap:6px}
.birthday-highlight-actions a,.birthday-highlight-actions button,.birthday-highlight-actions .birthday-no-auth{min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 9px;border:0;border-radius:8px;background:#fff;color:#4c3c22;font-size:9px;font-weight:850;text-decoration:none;cursor:pointer}
.birthday-highlight-actions form{margin:0}
.birthday-celebration-effects{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.birthday-celebration-effects>i,
.birthday-celebration-effects>iconify-icon{position:absolute;top:-16px;width:8px;height:14px;border-radius:2px;background:#e24f59;animation:birthday-v2-confetti 6s linear infinite}
.birthday-celebration-effects>i:nth-child(4n+2),
.birthday-celebration-effects>iconify-icon:nth-child(4n+2){background:#2ab0d4;animation-duration:7.6s}
.birthday-celebration-effects>i:nth-child(4n+3),
.birthday-celebration-effects>iconify-icon:nth-child(4n+3){background:#6db947;animation-duration:6.8s}
.birthday-celebration-effects>i:nth-child(4n),
.birthday-celebration-effects>iconify-icon:nth-child(4n){background:#f1b91e;animation-duration:8.1s}
.birthday-celebration-effects>i:nth-child(1),
.birthday-celebration-effects>iconify-icon:nth-child(1){left:4%;animation-delay:-1s}.birthday-celebration-effects>i:nth-child(2),.birthday-celebration-effects>iconify-icon:nth-child(2){left:9%;animation-delay:-4s}.birthday-celebration-effects>i:nth-child(3),.birthday-celebration-effects>iconify-icon:nth-child(3){left:15%;animation-delay:-2s}.birthday-celebration-effects>i:nth-child(4),.birthday-celebration-effects>iconify-icon:nth-child(4){left:21%;animation-delay:-5s}.birthday-celebration-effects>i:nth-child(5),.birthday-celebration-effects>iconify-icon:nth-child(5){left:28%;animation-delay:-.5s}.birthday-celebration-effects>i:nth-child(6),.birthday-celebration-effects>iconify-icon:nth-child(6){left:34%;animation-delay:-3s}.birthday-celebration-effects>i:nth-child(7),.birthday-celebration-effects>iconify-icon:nth-child(7){left:40%;animation-delay:-6s}.birthday-celebration-effects>i:nth-child(8),.birthday-celebration-effects>iconify-icon:nth-child(8){left:47%;animation-delay:-1.8s}.birthday-celebration-effects>i:nth-child(9),.birthday-celebration-effects>iconify-icon:nth-child(9){left:53%;animation-delay:-4.7s}.birthday-celebration-effects>i:nth-child(10),.birthday-celebration-effects>iconify-icon:nth-child(10){left:59%;animation-delay:-2.4s}.birthday-celebration-effects>i:nth-child(11),.birthday-celebration-effects>iconify-icon:nth-child(11){left:65%;animation-delay:-5.7s}.birthday-celebration-effects>i:nth-child(12),.birthday-celebration-effects>iconify-icon:nth-child(12){left:71%;animation-delay:-.9s}.birthday-celebration-effects>i:nth-child(13),.birthday-celebration-effects>iconify-icon:nth-child(13){left:77%;animation-delay:-3.7s}.birthday-celebration-effects>i:nth-child(14),.birthday-celebration-effects>iconify-icon:nth-child(14){left:83%;animation-delay:-6.4s}.birthday-celebration-effects>i:nth-child(15),.birthday-celebration-effects>iconify-icon:nth-child(15){left:89%;animation-delay:-2.8s}.birthday-celebration-effects>i:nth-child(16),.birthday-celebration-effects>iconify-icon:nth-child(16){left:95%;animation-delay:-4.9s}.birthday-celebration-effects>i:nth-child(17),.birthday-celebration-effects>iconify-icon:nth-child(17){left:18%;animation-delay:-7s}.birthday-celebration-effects>i:nth-child(18),.birthday-celebration-effects>iconify-icon:nth-child(18){left:44%;animation-delay:-5.2s}.birthday-celebration-effects>i:nth-child(19),.birthday-celebration-effects>iconify-icon:nth-child(19){left:68%;animation-delay:-1.3s}.birthday-celebration-effects>i:nth-child(20),.birthday-celebration-effects>iconify-icon:nth-child(20){left:87%;animation-delay:-3.2s}
.birthday-moving-ball{position:absolute;width:46px;height:46px;border-radius:50%;opacity:.32;animation:birthday-v2-ball 6s ease-in-out infinite alternate}
.birthday-moving-ball::after{position:absolute;top:44px;left:50%;width:1px;height:38px;background:currentColor;content:""}
.ball-one{top:15px;left:6%;background:#55b9ef;color:#55b9ef}.ball-two{right:8%;bottom:28px;background:#e96891;color:#e96891;animation-delay:-2s}.ball-three{top:22px;left:56%;background:#79bd58;color:#79bd58;animation-delay:-4s}.ball-four{right:30%;bottom:8px;background:#efc438;color:#efc438;animation-delay:-1s}
.birthday-month-card{overflow:hidden;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-surface);box-shadow:0 9px 25px color-mix(in srgb,var(--theme-shadow) 30%,transparent)}
.birthday-month-card>header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--theme-line);background:var(--theme-surface-soft)}
.birthday-month-card h2{margin:3px 0;font-size:17px}.birthday-month-card header p{margin:0;color:var(--theme-muted);font-size:10px}
.birthday-three-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.birthday-month-person{display:grid;grid-template-columns:50px 38px minmax(0,1fr) 24px;align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);transition:transform .18s,border-color .18s,box-shadow .18s}
.birthday-month-person:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-secondary) 55%,var(--theme-line));box-shadow:0 8px 18px color-mix(in srgb,var(--theme-shadow) 36%,transparent)}
.birthday-month-person time{min-height:48px;display:grid;place-items:center;border-radius:9px;background:var(--theme-primary);color:#fff;line-height:1}
.birthday-month-person time strong{font-size:17px}.birthday-month-person time span{font-size:8px;font-weight:900}
.birthday-month-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--theme-secondary) 14%,var(--theme-surface));color:var(--theme-secondary);font-weight:900}
.birthday-month-person-copy{min-width:0}.birthday-month-person-copy h3{overflow:hidden;margin:0;color:var(--theme-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.birthday-month-person-copy p,.birthday-month-person-copy small{display:block;overflow:hidden;margin:3px 0 0;color:var(--theme-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.birthday-person-link{display:grid;place-items:center;color:var(--theme-primary);font-size:15px}
.birthday-empty-compact{min-height:120px}
@keyframes birthday-v2-confetti{0%{transform:translate3d(0,-18px,0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate3d(35px,300px,0) rotate(560deg);opacity:0}}
@keyframes birthday-v2-ball{from{transform:translate3d(-8px,4px,0) rotate(-3deg)}to{transform:translate3d(16px,-18px,0) rotate(5deg)}}
@media(max-width:1050px){.birthday-three-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-today-cards{grid-template-columns:1fr}}
@media(max-width:700px){.birthday-month-header{align-items:flex-start;flex-direction:column}.birthday-page-v2 .birthday-month-picker{width:100%;flex-basis:auto}.birthday-three-column-grid{grid-template-columns:1fr}.birthday-today-highlight{grid-template-columns:52px minmax(0,1fr)}.birthday-highlight-avatar{width:50px;height:50px}.birthday-highlight-actions{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.birthday-celebration-effects>i,.birthday-moving-ball,.birthday-celebration-effects>iconify-icon{animation:none!important}}
/* ==========================================================
   LARGURA UNICA DOS MODAIS GLOBAIS 3.25.29
   Elimina a faixa lateral entre a janela externa e o conteúdo carregado.
   ========================================================== */
.remote-form-modal .cadastro-modal-dialog{
    width:min(920px,calc(100vw - 40px));
    max-width:920px;
    padding:0!important;
    overflow:hidden;
    background:var(--theme-surface);
}
.remote-form-modal .remote-form-modal-content{
    display:block;
    width:100%;
    min-width:0;
    height:100%;
    margin:0;
    padding:0;
}
.remote-form-modal .remote-form-modal-content>.cadastro-modal-form,
.remote-form-modal .remote-form-modal-content>[data-remote-modal-form],
.remote-form-modal .remote-form-modal-content>[data-remote-modal-panel]{
    width:100%!important;
    max-width:none!important;
    min-width:0;
    height:100%;
    margin:0!important;
    border:0!important;
    border-radius:inherit;
    box-shadow:none!important;
    box-sizing:border-box;
}
.remote-form-modal .cadastro-modal-dialog.event-modal-form,
.remote-form-modal .cadastro-modal-dialog.event-detail-modal{
    width:min(920px,calc(100vw - 40px));
    max-width:920px;
}
.remote-form-modal .cadastro-modal-dialog.cargo-compact-modal{
    width:min(760px,calc(100vw - 40px));
    max-width:760px;
}
@media(max-width:560px){
    .remote-form-modal .cadastro-modal-dialog,
    .remote-form-modal .cadastro-modal-dialog.event-modal-form,
    .remote-form-modal .cadastro-modal-dialog.event-detail-modal,
    .remote-form-modal .cadastro-modal-dialog.cargo-compact-modal{
        width:calc(100vw - 20px);
        max-width:none;
    }
}
/* ==========================================================
   LIMITE DO CARD DE PROXIMAS ATIVIDADES 3.25.33
   Mantem cabecalho, itens e barra de rolagem dentro da borda do card.
   ========================================================== */
.calendar-aside,
.calendar-side-card,
.calendar-side-card>div,
.side-event-card,
.side-event-card>div{
    min-width:0;
    box-sizing:border-box;
}
.calendar-aside{
    align-self:start;
}
.calendar-aside .calendar-side-card:first-child{
    display:flex;
    flex-direction:column;
    max-height:clamp(330px,calc(100vh - 490px),560px);
    overflow:hidden;
}
.calendar-aside .calendar-side-card:first-child>header{
    flex:0 0 auto;
}
.calendar-aside .calendar-side-card:first-child>div{
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.calendar-aside .side-event-card{
    width:100%;
    max-width:100%;
    overflow:hidden;
}
.calendar-aside .side-event-card>div{
    overflow:hidden;
}
.calendar-aside .side-event-card strong,
.calendar-aside .side-event-card small{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media(max-width:1300px){
    .calendar-aside .calendar-side-card:first-child{
        max-height:460px;
    }
}
@media(max-width:650px){
    .calendar-aside .calendar-side-card:first-child{
        max-height:420px;
    }
}
/* ==========================================================
   CAUSA DA SOBREPOSICAO NO FORMULARIO DE EVENTO 3.25.37
   Quando o modal atinge a altura maxima (telas baixas ou escala do
   Windows em 125%), a area de campos fica menor que o conteudo. Com
   linhas "auto", a grade encolhia cada linha ate o min-height do bloco
   (0 no bloco de data/horario), e a linha seguinte invadia o bloco.
   Linhas do tamanho do proprio conteudo fazem a area rolar em vez de
   sobrepor. As regras antigas das versoes 3.25.30 a 3.25.35, que
   tratavam apenas o sintoma com margens e z-index, foram removidas.
   ========================================================== */
.event-modal-form .event-modal-fields{
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    align-items:start!important;
}
/* ==========================================================
   RECONSTRUCAO DO BLOCO DE DATA/HORARIO DO EVENTO 3.25.36
   Componente isolado, sem herdar as regras conflitantes anteriores.
   ========================================================== */
.event-modal-form .event-schedule-block{
    grid-column:1/-1!important;
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:auto!important;
    margin:0!important;
    padding:14px!important;
    overflow:visible!important;
    border:1px solid var(--theme-line)!important;
    border-radius:12px!important;
    background:var(--theme-surface-soft)!important;
    box-sizing:border-box!important;
}
.event-modal-form .event-schedule-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:0!important;
    align-items:start!important;
}
.event-modal-form .event-schedule-grid>.event-field{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    grid-column:auto!important;
}
.event-modal-form .event-day-toggle{
    display:flex!important;
    position:static!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:9px!important;
    background:color-mix(in srgb,var(--theme-line) 42%,var(--theme-surface-soft))!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
}
.event-modal-form .event-day-toggle>input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}
.event-modal-form .event-day-toggle>input:checked + .event-switch-track{
    border-color:color-mix(in srgb,var(--theme-primary) 56%,transparent)!important;
    background:var(--theme-primary)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 10%,transparent)!important;
}
.event-modal-form .event-day-toggle>input:checked + .event-switch-track i,
.event-modal-form .event-day-toggle>input:checked + .event-switch-track iconify-icon{
    transform:translateX(19px)!important;
}
.event-modal-form .event-address-row{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:minmax(0,2fr) minmax(220px,1fr)!important;
    gap:14px!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    box-sizing:border-box!important;
    align-items:start!important;
}
.event-modal-form .event-address-row>.event-field{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    grid-column:auto!important;
}
@media(max-width:760px){
    .event-modal-form .event-schedule-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .event-modal-form .event-address-row{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
}
@media(max-width:520px){
    .event-modal-form .event-schedule-grid{
        grid-template-columns:1fr!important;
    }
}

/* ==========================================================
   PERMISSÕES AGRUPADAS (PERFIS E USUÁRIOS) 3.25.37
   Cartões por área com opções em pílulas; usado pelas telas de
   Configurações > Perfis e permissões e Configurações > Usuários.
   ========================================================== */
.modal-form-grid.remote-modal-fields>div:has(div.permission-option){grid-column:1/-1!important}
.remote-modal-fields fieldset:has(div.permission-option){min-width:0;margin:0;padding:0;border:0}
.remote-modal-fields fieldset:has(div.permission-option)>legend{margin:0 0 6px;padding:0;color:var(--theme-text);font-size:11px;font-weight:800}
div.permission-option{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;width:100%}
div.permission-option>div{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:0!important;margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--theme-line) 80%,transparent);border-radius:10px;background:var(--theme-surface-soft)}
div.permission-option>div>label{order:-1!important;flex:1 0 100%;display:flex;align-items:center;gap:6px;margin:0 0 2px;color:var(--theme-primary);font-size:11px;font-weight:800}
div.permission-option>div>div{min-height:0!important;margin:0;padding:0}
div.permission-option>div>div>label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 10px;border:1px solid var(--theme-line);border-radius:99px;background:var(--theme-surface);color:var(--theme-text);font-size:11px;font-weight:600;cursor:pointer}
div.permission-option>div>div>label:has(input:checked){border-color:color-mix(in srgb,var(--theme-primary) 55%,transparent);background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-surface))}
div.permission-option input.permission-option{width:14px!important;height:14px!important;min-width:14px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:var(--theme-primary)}

/* Cadastro de perfis: tela própria com as permissões em abas por módulo. */
.perfil-form{display:grid;gap:16px}
.perfil-form-erros .errorlist,.perfil-form .errorlist{margin:4px 0 0;padding:0;list-style:none;color:var(--theme-danger);font-size:11px;font-weight:650}
.module-page .perfil-card{display:grid;gap:16px;min-width:0;padding:0;overflow:hidden}
.perfil-card-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--theme-line);background:var(--theme-surface-soft)}
.perfil-card-header>iconify-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface);color:var(--theme-secondary);font-size:17px}
.perfil-card-header h2{margin:0;color:var(--theme-text);font-size:16px}
.perfil-card-header p{margin:2px 0 0;color:var(--theme-muted);font-size:11px}
.perfil-card>.errorlist{margin:0 18px}
.perfil-dados{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px 16px;padding:0 18px 18px}
.perfil-campo{display:flex;min-width:0;flex-direction:column;gap:6px}
.perfil-campo label{color:var(--theme-text);font-size:11px;font-weight:800}
.perfil-campo input{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--theme-line);border-radius:9px;outline:none}
.perfil-campo input:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 14%,transparent)}
.perfil-ativo{grid-column:1/-1}
.perfil-ativo>label{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface-soft);cursor:pointer}
.perfil-ativo input{width:18px;height:18px;margin:0;accent-color:var(--theme-primary)}
.perfil-ativo span{display:grid;gap:2px}
.perfil-ativo strong{color:var(--theme-text);font-size:12px}
.perfil-ativo small{color:var(--theme-muted);font-size:11px}
.perfil-abas{display:flex;gap:6px;margin:0 18px;padding:5px;overflow-x:auto;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface-soft)}
.perfil-aba{display:inline-flex;flex:1 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--theme-muted);font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.perfil-aba:hover{color:var(--theme-text);background:color-mix(in srgb,var(--theme-surface) 70%,transparent)}
.perfil-aba iconify-icon{font-size:16px}
.perfil-aba em{min-width:38px;padding:2px 7px;border-radius:99px;background:color-mix(in srgb,var(--theme-muted) 14%,transparent);color:var(--theme-muted);font-size:10px;font-style:normal;font-weight:800;text-align:center}
.perfil-aba.has-selected em{background:color-mix(in srgb,var(--theme-secondary) 16%,transparent);color:var(--theme-secondary)}
.perfil-aba.is-active{border-color:var(--theme-line);background:var(--theme-surface);color:var(--theme-primary);box-shadow:0 4px 12px var(--theme-shadow)}
.perfil-aba.is-active iconify-icon{color:var(--theme-secondary)}
.perfil-aba:focus-visible{outline:2px solid var(--theme-secondary);outline-offset:1px}
.perfil-painel{display:grid;gap:12px;min-width:0;padding:0 18px 18px}
.perfil-painel[hidden]{display:none}
.perfil-painel-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.perfil-painel-barra>strong{color:var(--theme-text);font-size:14px}
.perfil-painel-barra>div{display:flex;flex-wrap:wrap;gap:8px}
.module-page .perfil-painel-barra .button-secondary{min-height:32px;padding:5px 11px;font-size:11px}
.perfil-assuntos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.perfil-assunto{min-width:0;margin:0;padding:12px 14px 14px;border:1px solid var(--theme-line);border-radius:11px;background:var(--theme-surface-soft)}
.perfil-assunto legend{display:flex;float:left;width:100%;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:0}
.perfil-assunto legend>span{color:var(--theme-primary);font-size:12px;font-weight:800}
.perfil-assunto legend>button{padding:2px 9px;border:1px solid var(--theme-line);border-radius:99px;background:var(--theme-surface);color:var(--theme-muted);font-size:10px;font-weight:700;cursor:pointer}
.perfil-assunto legend>button:hover{border-color:var(--theme-secondary);color:var(--theme-secondary)}
.perfil-opcoes{clear:both;display:flex;flex-wrap:wrap;gap:6px}
.perfil-opcoes label{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--theme-line);border-radius:99px;background:var(--theme-surface);color:var(--theme-text);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}
.perfil-opcoes label:hover{border-color:color-mix(in srgb,var(--theme-primary) 40%,var(--theme-line))}
.perfil-opcoes label:has(input:checked){border-color:color-mix(in srgb,var(--theme-primary) 55%,transparent);background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-surface));color:var(--theme-primary)}
.perfil-opcoes input{width:14px;height:14px;margin:0;accent-color:var(--theme-primary)}
.perfil-form-rodape{display:flex;justify-content:flex-end;gap:9px}
@media(max-width:760px){.perfil-dados{grid-template-columns:1fr}.perfil-aba{flex:0 0 auto}.perfil-aba span{display:none}.perfil-aba.is-active span{display:inline}.perfil-form-rodape{flex-direction:column-reverse}.perfil-form-rodape>*{width:100%}}

/* Cadastro de atendimento (Agendar gabinetes): seções e campo "Pessoa atendida". */
.cadastro-modal-dialog.atendimento-modal{width:min(900px,calc(100vw - 32px))}
.atendimento-campos{display:grid;gap:12px;min-height:0;padding:16px 20px;overflow:auto}
.atendimento-secao{min-width:0;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface)}
.atendimento-secao>header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--theme-line);border-radius:12px 12px 0 0;background:var(--theme-surface-soft)}
.atendimento-secao>header>iconify-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-secondary);font-size:16px}
.atendimento-secao>header>div{flex:1;min-width:0}
.atendimento-secao h3{margin:0;color:var(--theme-text);font-size:13px}
.atendimento-secao header p{margin:1px 0 0;color:var(--theme-muted);font-size:10px}
.atendimento-codigo{padding:3px 9px;border:1px dashed var(--theme-line);border-radius:99px;color:var(--theme-muted);font-size:10px;font-weight:800}
.atendimento-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 14px;padding:14px}
.atendimento-campo{display:flex;min-width:0;flex-direction:column;gap:5px}
.atendimento-campo.span-4{grid-column:span 4}.atendimento-campo.span-6{grid-column:span 6}.atendimento-campo.span-8{grid-column:span 8}.atendimento-campo.span-12{grid-column:span 12}
.atendimento-campo>label{color:var(--theme-text);font-size:11px;font-weight:800}
.atendimento-campo input:not([type="hidden"]),.atendimento-campo select,.atendimento-campo textarea{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text);outline:none}
.atendimento-campo textarea{min-height:76px;resize:vertical}
.atendimento-campo input:focus,.atendimento-campo textarea:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 13%,transparent)}
.atendimento-campo .errorlist{margin:0;padding:0;list-style:none;color:var(--theme-danger);font-size:10px;font-weight:650}
.pessoa-combobox{position:relative}
.pessoa-combobox-campo{position:relative}
.pessoa-combobox-campo>iconify-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--theme-muted);font-size:15px;pointer-events:none}
.atendimento-campo .pessoa-combobox-campo input{padding-left:34px}
.pessoa-combobox.is-vinculado .pessoa-combobox-campo input{border-color:color-mix(in srgb,var(--theme-secondary) 60%,var(--theme-line));background:color-mix(in srgb,var(--theme-secondary) 6%,var(--theme-surface))}
.pessoa-combobox.is-vinculado .pessoa-combobox-campo>iconify-icon{color:var(--theme-secondary)}
.pessoa-combobox-lista{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow:auto;padding:5px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface);box-shadow:0 16px 36px var(--theme-shadow)}
.pessoa-combobox-lista[hidden]{display:none}
.pessoa-combobox-opcao{display:grid;gap:1px;padding:7px 10px;border-radius:7px;cursor:pointer}
.pessoa-combobox-opcao strong{color:var(--theme-text);font-size:12px}
.pessoa-combobox-opcao small{color:var(--theme-muted);font-size:10px}
.pessoa-combobox-opcao:hover,.pessoa-combobox-opcao[aria-selected="true"]{background:color-mix(in srgb,var(--theme-secondary) 11%,var(--theme-surface))}
.pessoa-combobox-opcao.is-livre{display:flex;align-items:center;gap:8px;margin-top:4px;border-top:1px dashed var(--theme-line);border-radius:0 0 7px 7px;color:var(--theme-primary);font-size:11px;font-weight:700}
.pessoa-combobox-aviso{margin:0;padding:8px 10px;color:var(--theme-muted);font-size:11px}
.pessoa-combobox-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:18px;margin:5px 0 0;color:var(--theme-muted);font-size:10px}
.pessoa-combobox.is-vinculado .pessoa-combobox-status{color:var(--theme-secondary);font-weight:700}
.pessoa-combobox.is-livre .pessoa-combobox-status{color:#9b6a12;font-weight:650}
.pessoa-combobox-status button{padding:1px 8px;border:1px solid var(--theme-line);border-radius:99px;background:var(--theme-surface);color:var(--theme-muted);font-size:10px;cursor:pointer}
.pessoa-combobox-status button:hover{border-color:var(--theme-danger);color:var(--theme-danger)}
@media(max-width:700px){.atendimento-campos{padding:12px}.atendimento-campo.span-4,.atendimento-campo.span-6,.atendimento-campo.span-8{grid-column:span 12}}

/* Indicadores do cabeçalho: o número nunca ultrapassa a borda do cartão de 168px;
   um rótulo longo demais é abreviado com reticências. */
.page-heading-tools .header-indicators article small{min-width:0;overflow:hidden;text-overflow:ellipsis}
.page-heading-tools .header-indicators article strong{flex:0 0 auto}

/* Dados institucionais: o ícone do canal é reconhecido pelo link, sem seleção manual. */
.social-icon-control{align-items:center}
.social-icon-auto{min-width:0;overflow:hidden;color:var(--theme-muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.social-icon-preview[data-icon="whatsapp"]{color:#128c4b;background:#e3f7eb}
.social-icon-preview[data-icon="telegram"]{color:#229ed9;background:#e4f4fb}
.social-icon-preview[data-icon="tiktok"]{color:#111;background:#ececec}

/* Cadastro de usuário: grade compacta que cabe no modal sem barra de rolagem. */
.cadastro-modal-dialog.usuario-modal{width:min(720px,calc(100vw - 32px))}
.usuario-campos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 14px;min-height:0;padding:16px 20px;overflow:auto}
.usuario-campo{display:flex;min-width:0;flex-direction:column;gap:5px}
.usuario-campo.span-4{grid-column:span 4}.usuario-campo.span-5{grid-column:span 5}.usuario-campo.span-6{grid-column:span 6}.usuario-campo.span-7{grid-column:span 7}.usuario-campo.span-8{grid-column:span 8}.usuario-campo.span-12,.usuario-opcoes.span-12{grid-column:span 12}
.usuario-campo>label{color:var(--theme-text);font-size:11px;font-weight:800}
.usuario-campo>label small{color:var(--theme-muted);font-weight:600}
.usuario-campo input,.usuario-campo select{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--theme-surface);color:var(--theme-text);outline:none}
.usuario-campo input:focus{border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 13%,transparent)}
.usuario-ajuda{color:var(--theme-muted);font-size:10px}
.usuario-campos .errorlist{margin:0;padding:0;list-style:none;color:var(--theme-danger);font-size:10px;font-weight:650}
.usuario-opcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;padding-top:2px}
.usuario-opcoes>.errorlist{grid-column:1/-1}
.usuario-opcao{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--theme-line);border-radius:10px;background:var(--theme-surface-soft);cursor:pointer;transition:border-color .15s,background .15s}
.usuario-opcao:hover{border-color:color-mix(in srgb,var(--theme-secondary) 45%,var(--theme-line))}
.usuario-opcao:has(input:checked){border-color:color-mix(in srgb,var(--theme-secondary) 55%,var(--theme-line));background:color-mix(in srgb,var(--theme-secondary) 8%,var(--theme-surface))}
.usuario-opcao.is-disabled{cursor:not-allowed;opacity:.65}
.usuario-opcao input{width:16px;height:16px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--theme-secondary)}
.usuario-opcao span{display:grid;gap:1px;min-width:0}
.usuario-opcao strong{color:var(--theme-text);font-size:12px}
.usuario-opcao small{color:var(--theme-muted);font-size:10px;line-height:1.3}
@media(max-width:620px){.usuario-campos{padding:12px}.usuario-campo.span-4,.usuario-campo.span-5,.usuario-campo.span-6,.usuario-campo.span-7,.usuario-campo.span-8{grid-column:span 12}.usuario-opcoes{grid-template-columns:1fr}}

/* Relatório de atendimentos (Agendar gabinetes): larguras pelo conteúdo de cada coluna. */
.atendimento-report-table table{table-layout:fixed;min-width:760px}
/* Ações: dois botões de 26px + espaço + recuo da célula; Atendido fica com o restante. */
.atendimento-report-table .atend-col-acoes{width:84px}
.atendimento-report-table .atend-col-data{width:11%}
.atendimento-report-table .atend-col-horario{width:12%}
.atendimento-report-table .atend-col-pastor{width:26%}
.atendimento-report-table .atend-col-situacao{width:13%}
/* Data, horário e situação centralizados (colunas 2, 3 e 6). */
.atendimento-report-table tbody td:nth-child(2),.atendimento-report-table tbody td:nth-child(3),.atendimento-report-table tbody td:nth-child(6){text-align:center}
.atendimento-report-table tbody td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atendimento-report-table tbody td strong,.atendimento-report-table tbody td .table-note{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atendimento-report-table thead input{width:100%;min-width:0}

/* Exportação (Excel/PDF) no topo das listas: botões só com ícone, discretos,
   com a mesma altura e arredondamento do botão "Incluir". */
.export-actions{display:inline-flex;align-items:center;gap:6px}
.export-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--theme-line) 85%,transparent);border-radius:9px;background:var(--theme-surface);color:var(--theme-muted);font-size:16px;text-decoration:none;transition:color .15s,border-color .15s,background .15s}
.export-button:hover,.export-button:focus-visible{outline:none}
.export-excel:hover,.export-excel:focus-visible{border-color:color-mix(in srgb,#1d6f42 45%,var(--theme-line));background:color-mix(in srgb,#1d6f42 7%,var(--theme-surface));color:#1d6f42}
.export-pdf:hover,.export-pdf:focus-visible{border-color:color-mix(in srgb,#c0392b 45%,var(--theme-line));background:color-mix(in srgb,#c0392b 7%,var(--theme-surface));color:#c0392b}

/* Aniversariantes: o cartão inteiro abre a ficha da pessoa (o link se estende sobre o cartão). */
.birthday-month-person{position:relative;cursor:pointer}
.birthday-month-person .birthday-person-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.birthday-month-person:hover{border-color:color-mix(in srgb,var(--theme-secondary) 40%,var(--theme-line))}

/* Ficha da pessoa em modal (somente leitura). */
.cadastro-modal-dialog.pessoa-detalhe-modal{width:min(760px,calc(100vw - 32px))}
.pessoa-detalhe-titulo{display:flex;align-items:center;gap:14px;min-width:0}
.pessoa-detalhe-avatar{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:color-mix(in srgb,var(--theme-secondary) 14%,var(--theme-surface));color:var(--theme-secondary);font-size:22px;font-weight:800}
.pessoa-detalhe-selos{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px!important}
.pessoa-detalhe-festa{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,#d9ac2e 18%,var(--theme-surface));color:#8a6510}
.pessoa-detalhe-corpo{display:grid;gap:12px;min-height:0;padding:16px 22px;overflow:auto}
.pessoa-detalhe-corpo section{padding:12px 14px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface)}
.pessoa-detalhe-corpo h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:var(--theme-text);font-size:13px}
.pessoa-detalhe-corpo h3 iconify-icon{color:var(--theme-secondary);font-size:15px}
.pessoa-detalhe-corpo dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}
.pessoa-detalhe-corpo dl>div{min-width:0}
.pessoa-detalhe-corpo .pessoa-detalhe-largo{grid-column:1/-1}
.pessoa-detalhe-corpo dt{color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.pessoa-detalhe-corpo dd{margin:2px 0 0;color:var(--theme-text);font-size:13px;overflow-wrap:anywhere}
@media(max-width:620px){.pessoa-detalhe-corpo{padding:12px}.pessoa-detalhe-corpo dl{grid-template-columns:1fr}}

/* Seletor de módulos no menu lateral (nome do módulo): lista só os módulos permitidos. */
.module-switcher{position:relative;margin-bottom:10px}
.module-switcher>.module-switcher-trigger{margin-bottom:0;cursor:pointer;list-style:none;transition:background .15s,border-color .15s}
.module-switcher>.module-switcher-trigger::-webkit-details-marker{display:none}
.module-switcher>.module-switcher-trigger:hover,.module-switcher[open]>.module-switcher-trigger{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34)}
.module-switcher>.module-switcher-trigger:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}
.module-switcher-trigger .module-switcher-chevron{margin-left:auto;color:var(--theme-sidebar-muted)!important;font-size:14px}
.module-switcher-menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;min-width:220px;display:grid;gap:2px;padding:6px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.module-switcher-option{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--theme-text);text-decoration:none}
.module-switcher-option>iconify-icon:first-child{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:var(--theme-surface-soft);color:var(--theme-secondary);font-size:15px}
.module-switcher-option span{display:grid;min-width:0}
.module-switcher-option strong{font-size:13px}
.module-switcher-option small{overflow:hidden;color:var(--theme-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.module-switcher-option:hover,.module-switcher-option:focus-visible{background:var(--theme-surface-soft);outline:none}
.module-switcher-option.is-current{background:color-mix(in srgb,var(--theme-secondary) 10%,var(--theme-surface))}
.module-switcher-check{margin-left:auto;color:var(--theme-secondary)}
/* Menu recolhido: só o ícone no gatilho; a lista abre ao lado. */
.module-shell.sidebar-collapsed .module-switcher-trigger .module-switcher-chevron{display:none}
.module-shell.sidebar-collapsed .module-switcher-menu{position:fixed;right:auto;width:250px}

/* Modal do modelo visual das devocionais (Pastoral): largo, com rolagem interna só se faltar altura. */
/* A largura padrão dos modais tem !important (linha "width:min(940px...)"), por isso aqui também. */
.remote-form-modal .cadastro-modal-dialog.modelo-devocional-modal{width:min(1240px,calc(100vw - 40px))!important;max-width:1240px}
.modelo-devocional-corpo{min-height:0;overflow:auto;background:var(--theme-surface-soft)}

/* Módulo Células (as telas usam Tailwind em .tw; aqui só o que depende do modal global,
   do Leaflet ou de elementos criados por JavaScript). */
.remote-form-modal .cadastro-modal-dialog.celulas-estreito-modal{width:min(640px,calc(100vw - 32px))!important;max-width:640px}
.remote-form-modal .cadastro-modal-dialog.celulas-participante-modal{width:min(760px,calc(100vw - 32px))!important;max-width:760px}
.remote-form-modal .cadastro-modal-dialog.celulas-caso-modal{width:min(960px,calc(100vw - 32px))!important;max-width:960px}
.celulas-caso-modal,.celulas-estreito-modal,.celulas-participante-modal{min-height:0}
.celulas-marcador{background:none;border:0}
.celulas-marcador-ponto{--celula-cor:var(--theme-secondary);display:block;width:22px;height:22px;margin:2px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--celula-cor);box-shadow:0 3px 10px rgba(0,0,0,.35);transform:rotate(-45deg)}
.celulas-aviso{position:fixed;z-index:300;right:20px;bottom:20px;max-width:min(360px,calc(100vw - 40px));padding:11px 15px;border-radius:10px;background:var(--theme-primary);color:#fff;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.celulas-aviso.is-erro{background:var(--theme-danger)}
.celulas-aviso[hidden]{display:none}
body.celulas-publica{min-height:100vh;background:var(--theme-page)}

/* Menu lateral compacto (todos os módulos): itens mais próximos, mantendo a área de clique confortável. */
.module-navigation{gap:2px}
.module-badge{height:38px;margin-bottom:6px}
.module-nav-link,.module-nav-toggle,.module-nav-coming{min-height:38px;padding:6px 10px;gap:10px}
.module-nav-toggle>span{gap:10px}
.module-nav-submenu{gap:0;margin:0 0 2px 14px;padding:1px 0 1px 15px}
.module-nav-submenu a{min-height:32px;padding:5px 9px;gap:9px}
.module-nav-link:hover,.module-nav-toggle:hover{padding-left:13px}
.module-nav-submenu a:hover{padding-left:12px}

/* Menu recolhido: ícones centrados e do mesmo tamanho, página atual visível (antes: ícone branco no
   fundo branco) e grupo com lista flutuante (static/js/layout.js). */
.module-shell.sidebar-collapsed .module-navigation{justify-items:center}
.module-shell.sidebar-collapsed .module-nav-link,.module-shell.sidebar-collapsed .module-nav-toggle,.module-shell.sidebar-collapsed .module-nav-coming{width:44px;min-height:40px;height:40px;margin:0 auto;padding:0;justify-content:center;border-radius:11px}
.module-shell.sidebar-collapsed .module-nav-toggle>span{justify-content:center}
.module-shell.sidebar-collapsed .module-nav-link>iconify-icon,.module-shell.sidebar-collapsed .module-nav-toggle>span>iconify-icon,.module-shell.sidebar-collapsed .module-nav-coming>iconify-icon{width:20px;height:20px;font-size:20px;color:var(--theme-sidebar-text)}
.module-shell.sidebar-collapsed .module-nav-link:hover,.module-shell.sidebar-collapsed .module-nav-toggle:hover,.module-shell.sidebar-collapsed .module-nav-toggle.is-flutuando{transform:none;padding:0;background:rgba(255,255,255,.12);box-shadow:none}
.module-shell.sidebar-collapsed .module-nav-link.is-active{background:var(--theme-surface);box-shadow:0 6px 14px rgba(0,0,0,.18)}
.module-shell.sidebar-collapsed .module-nav-link.is-active>iconify-icon{color:var(--theme-primary)}
.module-shell.sidebar-collapsed .module-nav-group.has-active>.module-nav-toggle{background:rgba(255,255,255,.12);box-shadow:inset 3px 0 0 var(--theme-accent)}
.module-shell.sidebar-collapsed .module-nav-group.has-active>.module-nav-toggle>span>iconify-icon{color:var(--theme-accent)}
.module-shell.sidebar-collapsed .module-nav-link.is-active::before,.module-shell.sidebar-collapsed .module-nav-link::after,.module-shell.sidebar-collapsed .module-nav-toggle::after{display:none}
.module-shell.sidebar-collapsed .module-badge{width:44px;height:40px;margin:0 auto 8px;padding:0;justify-content:center}
.module-shell.sidebar-collapsed .module-badge>iconify-icon:first-child{font-size:19px}
.module-shell.sidebar-collapsed .module-switcher-chevron{display:none}

.menu-flutuante{position:fixed;z-index:1000;display:grid;gap:1px;min-width:220px;max-width:280px;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:var(--theme-primary-deep,#133650);box-shadow:0 18px 40px rgba(0,0,0,.28);animation:platform-menu-enter .15s ease-out}
.menu-flutuante[hidden]{display:none}
.menu-flutuante::before{content:"";position:absolute;left:-6px;top:18px;width:10px;height:10px;background:inherit;border-left:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transform:rotate(45deg)}
.menu-flutuante-titulo{padding:5px 10px 7px;color:var(--theme-sidebar-muted);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.menu-flutuante a{position:relative;display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 10px;border-radius:8px;color:var(--theme-sidebar-text);text-decoration:none;font-size:13px;font-weight:650}
.menu-flutuante a:hover,.menu-flutuante a:focus-visible{background:rgba(255,255,255,.09);outline:none}
.menu-flutuante a iconify-icon{flex:none;font-size:16px;color:var(--theme-sidebar-muted)}
.menu-flutuante a.is-active{background:var(--theme-surface);color:var(--theme-primary)}
.menu-flutuante a.is-active iconify-icon{color:var(--theme-secondary)}

/* Menu do usuário: links seguidos (Manual do Farol, Minha conta) próximos entre si. */
.platform-dropdown-link+.platform-dropdown-link{margin-top:2px}

/* Menu responsivo (static/js/layout.js): em telas até 980 px o menu fica escondido e abre por cima da
   tela pelo botão ☰ do cabeçalho, com o fundo escurecido. Escondido também antes do JavaScript carregar. */
.module-menu-abrir{display:none}
.module-menu-fundo{position:fixed;inset:0;z-index:55;background:rgba(9,20,32,.5);backdrop-filter:blur(2px);animation:platform-menu-enter .18s ease-out}
.module-menu-fundo[hidden]{display:none}
@media(max-width:980px){
  .module-menu-abrir{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);color:var(--theme-primary);font-size:21px;cursor:pointer}
  .module-menu-abrir:hover{background:var(--theme-surface-soft)}
  .module-title-accent{display:none}
  .module-page .module-shell .module-sidebar,.module-page .module-shell:not(.sidebar-collapsed) .module-sidebar{left:-340px}
  .module-page.menu-gaveta-aberta .module-shell:not(.sidebar-collapsed) .module-sidebar{left:0;box-shadow:14px 0 40px rgba(0,0,0,.35)}
  .module-page:not(.menu-gaveta-aberta) .module-sidebar-collapse{display:none}
  body.menu-gaveta-aberta{overflow:hidden}
}
/* Cabeçalho no celular: o nome do módulo encolhe (com reticências) e os botões da direita não o cobrem. */
@media(max-width:560px){
  .module-topbar{gap:10px;padding:0 12px}
  .module-topbar-title{flex:1;min-width:0}
  .module-topbar-title>div{min-width:0}
  .module-topbar-title strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .module-topbar-actions{flex:none;gap:6px}
}
@media(max-width:720px){
  .module-page .platform-user-trigger{min-width:0;width:auto;height:auto;padding:4px}
  .module-page .platform-user-copy,.module-page .platform-user-chevron{display:none}
}
/* Menus do cabeçalho no celular: o do usuário abre logo abaixo da foto, alinhado à direita; o do sino,
   na largura da tela (com margem) logo abaixo do cabeçalho. O sino ancora o próprio painel. */
[data-notificacoes-menu]{position:relative}
@media(max-width:720px){
  .platform-user-menu .platform-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:min(345px,calc(100vw - 24px))}
  .module-topbar [data-notificacoes-menu] [data-notificacoes-painel],
  .platform-header [data-notificacoes-menu] [data-notificacoes-painel]{position:fixed;left:12px;right:12px;width:auto;max-width:none}
  .module-topbar [data-notificacoes-menu] [data-notificacoes-painel]{top:78px}
  .platform-header [data-notificacoes-menu] [data-notificacoes-painel]{top:104px}
}
