*{box-sizing:border-box}body{margin:0;background:#f2f5f9;color:#213047;font:15px system-ui,Arial}a{color:inherit;text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#29333e;color:#e9f0f8;padding:24px 14px;overflow:auto}.brand{font-weight:800;font-size:25px;margin:8px 7px 24px}.brand span{color:#49a0ff}nav a{display:block;padding:12px 14px;margin:5px 0;border-radius:7px}nav a.active,nav a:hover{background:#1677f0}aside p{color:#aab5c3;padding:0 9px}.content{margin-left:240px;padding:28px;max-width:1600px}.top{display:flex;justify-content:space-between;align-items:center}.top h1{font-size:27px}.top span{color:#8190a5}.panel{background:white;border:1px solid #dbe2eb;border-radius:10px;padding:22px;margin:18px 0;box-shadow:0 3px 10px #223a5508}.panel h2{margin:0 0 18px;font-size:19px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tile{border-radius:10px;background:#1677f0;color:white;padding:20px;display:flex;justify-content:space-between;align-items:center}.tile:nth-child(2){background:#158453}.tile:nth-child(3){background:#d89506}.tile:nth-child(4){background:#7954bb}.tile strong{font-size:33px}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}label{display:block;font-weight:600;font-size:13px}input{display:block;width:100%;margin-top:6px;border:1px solid #d2dce8;padding:11px;border-radius:6px;font:inherit}button{border:0;border-radius:6px;background:#1677f0;color:white;padding:10px 15px;font-weight:600;cursor:pointer}.buttons{align-self:end;display:flex;gap:9px}.neutral{background:#778597}.danger{background:#d73d4c}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}td,th{padding:12px;border-bottom:1px solid #e3e9f0;text-align:left;vertical-align:top}th{background:#f4f7fa}.actions{display:flex;gap:7px}.success{padding:12px;background:#daf4e7;color:#155f42;border-radius:8px}.error{padding:12px;background:#ffe6e6;color:#a72a34;border-radius:8px}.login{width:min(440px,calc(100% - 30px));margin:10vh auto;padding:28px;background:white;border-radius:16px;box-shadow:0 15px 55px #16284218}.login h1{font-size:23px}.login p{color:#65768b}.login label{margin:16px 0}.login button{width:100%;padding:13px}.login a{display:block;margin-top:20px;color:#1677f0}.exit{background:transparent;border:1px solid #778597;width:100%;margin-top:24px}@media(max-width:850px){aside{position:relative;width:100%;inset:auto}aside nav{display:flex;flex-wrap:wrap}aside nav a{padding:8px}.content{margin:0;padding:15px}.formgrid{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}}
/* Etapa 26 — painel inspirado no Master, usando componentes independentes */
body{background:#f3f5f9;color:#172b4d;font-family:Arial,system-ui,sans-serif;font-size:14px}
.sidebar{width:250px;padding:0 8px;background:#343a40;z-index:4;display:flex;flex-direction:column}
.sidebar .brand{display:flex;align-items:center;gap:10px;margin:0 -8px;padding:20px 8px 18px;height:94px;font-size:23px;white-space:nowrap;letter-spacing:-.65px;color:#fff}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:11px;background:#087cfa;color:#fff;font-size:31px;letter-spacing:0}
.sidebar .brand-blue{color:#55abff}.sidebar .brand small{display:block;font-size:9px;letter-spacing:1px;font-weight:600;color:#c3d0de;margin-top:2px}
.side-divider{border-top:1px solid #4d545c;margin:0 -8px 13px}
.nav-caption{padding:12px 12px 8px;color:#a8b0ba;font-weight:700;font-size:10px;letter-spacing:.65px}.space-caption{margin-top:20px}
.sidebar nav a{display:flex;align-items:center;gap:12px;margin:3px 0;padding:11px 12px;border-radius:5px;font-size:14px;color:#ced4da}
.sidebar nav a.active,.sidebar nav a:hover{background:#087cfa;color:#fff}
.uicon{width:19px;height:19px;display:block;flex:none}.sidebar nav .uicon{width:18px;height:18px}
.side-bottom{margin-top:auto;padding:8px 3px 18px}.logout-button{display:flex;align-items:center;gap:12px;width:100%;background:transparent!important;border:0;padding:12px;color:#cbd5e1;text-align:left;font-size:14px;font-weight:400;border-radius:5px}.logout-button:hover{background:#404a56!important;color:white}
.admin-topbar{margin-left:250px;height:58px;background:#fff;border-bottom:1px solid #e5e9f0;display:flex;align-items:center;justify-content:space-between;padding:0 23px;color:#64748b;font-size:12px}
.crumb-sep{margin:0 13px;color:#cbd5e1}.admin-identity{display:flex;align-items:center;gap:13px}.online-dot{width:10px;height:10px;border-radius:50%;background:#28a745;box-shadow:0 0 0 3px #d9f8e6}.avatar{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:#eef2f5;color:#64748b;font-weight:700}
.content{margin-left:250px;padding:23px 15px 40px;max-width:none}.top{margin:0 8px 20px}.top h1{font-size:24px;font-weight:500;margin:0}.top span{font-size:12px}
.tiles{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.tile{min-height:125px;border-radius:5px;padding:19px 18px;position:relative;overflow:hidden;align-items:stretch}.tile:nth-child(1){background:#1978f1}.tile:nth-child(2){background:#168759}.tile:nth-child(3){background:#e0a000}.tile:nth-child(4){background:#7952b6}
.tile-text{display:flex;flex-direction:column;z-index:1}.tile-text>span{font-size:13px}.tile-text strong{font-size:29px;margin:6px 0 8px}.tile-text small{font-size:11px;opacity:.9}.tile-graphic{position:absolute;right:10px;top:23px;opacity:.22;transform:rotate(-8deg)}.tile-graphic .uicon{width:88px;height:88px;stroke-width:1.3}
.panel{border-radius:5px;border:1px solid #d9e0e8;box-shadow:0 2px 5px #102b4b0a}.section-head{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.section-head h2{margin:0 0 5px;font-size:17px;font-weight:600}.section-head p{margin:0 0 18px;color:#64748b;font-size:13px}.shortcut{display:inline-flex;align-items:center;gap:7px;border-radius:5px;background:#087cfa;padding:10px 12px;color:#fff;font-size:12px;font-weight:600}.shortcut .uicon{width:15px;height:15px}.active-table{min-width:770px}.active-table th{font-size:12px;color:#64748b}.active-table td strong{font-weight:600}.active-table td small{display:block;color:#94a3b8;margin-top:3px}.status-tag{display:inline-flex;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700}.status-tag.live{color:#15803d;background:#dcfce7}.status-tag.scheduled{color:#1d4ed8;background:#dbeafe}.row-link{color:#087cfa;font-weight:600}.empty{text-align:center;padding:28px;color:#64748b}
@media(max-width:1000px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{width:100%;position:relative}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav a{padding:9px}.side-bottom{margin:0;padding:0 10px 8px}.admin-topbar,.content{margin-left:0}.content{padding:15px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{padding:14px;min-height:115px}.tile-graphic .uicon{width:60px;height:60px}.top span,.admin-identity{display:none}.admin-topbar{height:42px}}

/* Etapa 28 — CRUD em modais e câmera SRS */
.records-heading{margin-bottom:14px}.records-heading p{margin-bottom:0}.new-record{display:inline-flex;align-items:center;gap:7px;background:#087cfa;padding:11px 15px;white-space:nowrap}.new-record .uicon{width:17px;height:17px}
.record-actions{display:flex;align-items:center;gap:8px}.record-actions form{margin:0}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:7px;background:#dbeafe;color:#1458aa}.icon-action .uicon{width:18px;height:18px}.danger-action{background:#fee2e2;color:#b91c1c}.icon-action:hover{filter:brightness(.94)}
.dialog-backdrop{position:fixed;inset:0;z-index:30;background:rgba(15,23,42,.62);display:none;align-items:center;justify-content:center;padding:20px}.dialog-backdrop.is-open{display:flex}body.dialog-open{overflow:hidden}.record-dialog{background:#fff;border-radius:9px;width:min(900px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0004;overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.dialog-header h2{font-size:18px;margin:0}.dialog-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex:none;background:#fee2e2;color:#b91c1c;border-radius:7px}.dialog-close .uicon{width:20px;height:20px;stroke-width:2.4}.dialog-content{overflow-y:auto;padding:20px}.record-dialog .formgrid{gap:16px}.record-dialog .formgrid label{min-width:0}.record-dialog .formgrid input{font-weight:400}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;grid-column:1/-1;margin-top:8px;padding-top:15px;border-top:1px solid #e2e8f0}.camera-monitor{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #dbe4f0;background:#f8fafc;border-radius:7px}.camera-monitor p{color:#64748b;margin:5px 0 11px;font-size:12px}.camera-badge{display:inline-flex;background:#e2e8f0;color:#475569;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:700}.camera-badge.is-online{background:#dcfce7;color:#166534}.camera-badge.is-offline{background:#fee2e2;color:#991b1b}.camera-badge.is-warn{background:#fef3c7;color:#92400e}.check-camera{display:inline-flex;gap:7px;align-items:center;white-space:nowrap}.check-camera .uicon{width:16px;height:16px}.check-camera:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.record-dialog .formgrid{grid-template-columns:1fr}.camera-monitor{flex-wrap:wrap}.records-heading{align-items:start}.dialog-content{padding:14px}.record-dialog{max-height:calc(100dvh - 20px)}.dialog-backdrop{padding:10px}}

.camera-list-badge{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:86px;text-align:center;font-size:11px;font-weight:700}

/* Etapa 31: acessos compactos das cameras, com indicacao do protocolo */
.camera-access-actions,.camera-modal-links{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.camera-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:6px;padding:8px 9px;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;line-height:1.25;cursor:pointer}
.camera-link .uicon{width:15px;height:15px}.camera-link.webrtc{background:#e0f2fe;color:#075985}.camera-link.rtmp{background:#dcfce7;color:#166534}.camera-link.hls{background:#ede9fe;color:#6d28d9}.camera-link:hover{filter:brightness(.95)}
.camera-access-modal{grid-column:1/-1;background:#f8fafc;border:1px solid #dbe4f0;border-radius:7px;padding:15px}
.camera-access-modal p{font-size:12px;color:#64748b;margin:6px 0 12px}.camera-link-unavailable{color:#9f1239;font-size:12px}
@media(max-width:850px){.camera-access-actions{min-width:190px}}

/* Etapa 33 — foto unica por funeral */
.formgrid select{width:100%;min-height:39px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;color:#18283e;font:inherit}
.funeral-photo-field{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}.funeral-photo-title{font-weight:700}.funeral-photo-drop{min-height:136px;border:2px dashed #a8bad0;border-radius:10px;background:#f8fbff;display:flex;justify-content:center;align-items:center;text-align:center;cursor:pointer;padding:12px;overflow:hidden}.funeral-photo-drop.drag-over,.funeral-photo-drop:focus-visible{border-color:#1677ed;background:#eaf4ff;outline:none}.funeral-photo-drop img{max-height:160px;max-width:100%;object-fit:contain;border-radius:6px}.funeral-photo-drop #funeralPhotoInstructions{display:flex;align-items:center;flex-direction:column;gap:7px;color:#4b617e}.funeral-photo-drop #funeralPhotoInstructions .uicon{height:30px;width:30px}.funeral-photo-drop #funeralPhotoInstructions small{font-size:12px}.funeral-photo-input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}.funeral-photo-field>small{color:#65758b}

/* Etapa 35 — campo de senha alinhado e upload compacto */
#funeralPasswordWrap{grid-column:auto;align-self:start;min-width:0;margin:0}
#funeralPasswordWrap input{height:40px;min-height:40px;margin-top:6px}
#funeralPasswordWrap small{display:block;margin-top:5px;font-size:11px;line-height:1.35;font-weight:400;color:#64748b}
.funeral-photo-field{gap:5px}
.funeral-photo-drop{min-height:86px;padding:8px 12px;gap:12px}
.funeral-photo-drop img{width:76px;height:76px;max-height:76px;object-fit:cover}
.funeral-photo-drop.has-photo{min-height:92px;justify-content:center;border-style:solid;background:#f4fbf7;border-color:#a1d9b7}
.funeral-photo-drop.has-photo img{display:block;margin:auto}
.funeral-photo-drop.has-photo #funeralPhotoInstructions{display:none!important}
.funeral-photo-drop #funeralPhotoInstructions{gap:2px}
.funeral-photo-drop #funeralPhotoInstructions .uicon{height:22px;width:22px}
@media(max-width:700px){#funeralPasswordWrap{grid-column:1/-1}.funeral-photo-drop img{width:70px;height:70px}}

/* Etapa 36: listagem de funerais e controles de seleção */
.funeral-table small{display:block;color:#718096;margin-top:4px;font-size:11px}.funeral-table td{vertical-align:middle}.funeral-table .uicon{width:16px;height:16px;vertical-align:middle}.funeral-table .status-tag{white-space:nowrap}.funeral-table .record-actions{white-space:nowrap}.formgrid select.multiselect{min-height:85px;height:auto;padding:7px}.formgrid select.multiselect option{padding:5px 8px}.funeral-table .row-link{white-space:nowrap}

/* Etapa 50: formulário de funeral com Informações dentro da grade */
.record-dialog .formgrid>.funeral-info-field{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;min-width:0}
.record-dialog .funeral-info-field textarea{display:block;box-sizing:border-box;width:100%;min-height:90px;max-height:150px;resize:vertical;margin:0;border:1px solid #cbd5e1;border-radius:8px;padding:11px 13px;background:#fff;color:#18283e;font:400 14px/1.5 system-ui,Arial;outline:none}
.record-dialog .funeral-info-field textarea:focus{border-color:#1677f0;box-shadow:0 0 0 3px #1677f022}
.record-dialog .funeral-info-field .description-count{display:block;align-self:flex-end;margin:0;color:#64748b;font-size:12px;font-weight:500}
.funeral-table .icon-action{position:relative;vertical-align:middle}
.funeral-table .message-action{background:#ecfdf5;color:#0b8067}
.funeral-table .open-action{background:#e0f2fe;color:#0369a1}
.funeral-table .message-count{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;border-radius:20px;background:#dc3545;color:#fff;font-size:10px;line-height:19px;text-align:center;padding:0 4px}
@media(max-width:700px){.record-dialog .formgrid>.funeral-info-field{grid-column:1/-1}}

/* Etapa 52 — Moderação de homenagens */
.message-preview{display:inline-block;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;cursor:help}
.message-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700;background:#fef3c7;color:#92400e}
.message-status.approved{background:#dcfce7;color:#166534}.message-status.rejected{background:#fee2e2;color:#991b1b}
.message-actions{white-space:nowrap}.message-toggle{background:#dcfce7;color:#166534}.message-toggle[data-next="rejected"]{background:#fff0ed;color:#b91c1c}
.message-view{background:#e0f2fe;color:#0369a1}.message-action-error{margin:12px 0;padding:12px;background:#fee2e2;color:#991b1b;border-radius:7px}
.message-action-error[hidden]{display:none}.message-busy{opacity:.5;cursor:wait}
.message-modal-backdrop{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.65)}
.message-modal-backdrop.is-open{display:flex}.message-modal-card{width:min(580px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0004;overflow:hidden}
.message-modal-card header,.message-modal-card footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.message-modal-card header{border-bottom:1px solid #e2e8f0}.message-modal-card footer{justify-content:flex-end;border-top:1px solid #e2e8f0}.message-modal-card h2{margin:0;font-size:18px}.message-close{display:grid;place-items:center;width:36px;height:36px;padding:0;background:#fee2e2;color:#b91c1c;font-size:24px;line-height:1}.message-modal-card footer .message-close{width:auto;height:auto;background:#64748b;color:white;padding:9px 16px;font-size:13px}
.message-modal-content{padding:20px;overflow:auto}.message-meta{font-size:13px;color:#64748b;margin:0 0 14px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0}

/* ETAPA 56 — identidade MemóriaBR, usando a arte original */
:root{--brand:#174f7e;--brand-dark:#0b355f;--brand-muted:#728c9c;--surface:#f1f5fa}
body{background:var(--surface);color:#183b59}
.sidebar{background:#102f50!important}
.sidebar .brand{height:94px!important;min-height:94px;padding:9px 9px!important;justify-content:center!important;background:#102f50!important}
.tenant-sidebar-logo{display:block;width:100%;max-width:220px;height:auto;max-height:73px;object-fit:contain;background:#fff;border-radius:9px;padding:4px 6px;box-shadow:0 1px 5px #001a3240}
.sidebar nav a.active,.sidebar nav a:hover{background:#185580!important}
.tenant-login-brand{display:flex;align-items:center;justify-content:center;margin:0 auto 12px;max-width:100%}
.tenant-login-brand img{width:min(100%,330px);max-height:138px;height:auto;object-fit:contain}
.login{background:#fff;box-shadow:0 18px 55px #082c4a24}
.login button,.btn-primary,button[type=submit]:not(.logout-button){background-color:#17517e}
.tile:nth-child(1){background:#154a78}.tile:nth-child(2){background:#28758c}.tile:nth-child(3){background:#547f98}.tile:nth-child(4){background:#748da1}
.panel{border-color:#d9e3ee}
@media(max-width:850px){.sidebar .brand{height:79px!important;min-height:79px}.tenant-sidebar-logo{max-height:65px}}

/* ETAPA 57 — identidade azul MemóriaBR, logo transparente */
:root{--brand:#17517e;--brand-dark:#0b355f;--brand-muted:#728c9c;--surface:#f1f5fa}
body{background:#f1f5fa;color:#173954}
.sidebar{background:#102f50!important}
.sidebar .brand{background:#eaf3fa!important;border-bottom:1px solid #cfdfeb!important}
.tenant-sidebar-logo{background:transparent!important;box-shadow:none!important;border:0!important;padding:2px!important;max-width:232px!important;max-height:79px!important;border-radius:0!important}
.sidebar nav a.active{background:#236c9e!important}.sidebar nav a:hover{background:#25587c!important}
.tenant-login-brand img{background:transparent!important;max-height:140px!important}
.login{border:1px solid #dae6ef;box-shadow:0 14px 45px #123d5a23}
.login button,.btn-primary,button[type=submit]:not(.logout-button){background-color:#17517e!important;color:white!important}
.tile:nth-child(1){background:#174f7e}.tile:nth-child(2){background:#22668b}.tile:nth-child(3){background:#4a7d9a}.tile:nth-child(4){background:#728c9c}
.panel{border-color:#d7e4ee!important}
:focus-visible{outline:2px solid #3483b8;outline-offset:2px}

.tenant-login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px 96px}.tenant-login-brand img{display:block;max-width:300px;width:100%;height:auto;margin:0 auto 10px}.tenant-support-footer,.tenant-admin-footer{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;color:#58708a;font-size:13px}.tenant-support-footer{position:fixed;left:0;right:0;bottom:0;padding:12px 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid #d8e1eb}.tenant-admin-footer{margin-left:250px;padding:16px 20px 24px;border-top:1px solid #dbe3ec}.tenant-support-footer a,.tenant-admin-footer a{color:#174f7e;text-decoration:none;font-weight:700}.tenant-support-footer a:hover,.tenant-admin-footer a:hover{text-decoration:underline}@media(max-width:850px){.tenant-admin-footer{margin-left:0;padding:16px}.tenant-login-page{padding-bottom:118px}}

/* Etapa 59: retratos compactos na listagem */
.tenant-funeral-person{display:flex;align-items:center;gap:11px;min-width:200px}
.tenant-funeral-name{display:block;min-width:0}
.tenant-funeral-name strong{display:block;font-weight:700;overflow-wrap:anywhere}
.tenant-funeral-avatar{width:48px;height:52px;max-height:52px;flex:0 0 48px;display:block;object-fit:cover;object-position:center;border-radius:8px;border:1px solid #d7e1eb;background:#edf2f7}
.tenant-funeral-fallback{display:flex;align-items:center;justify-content:center;color:#728c9c}
.tenant-funeral-fallback svg{width:23px;height:23px}
.funeral-table tbody td{vertical-align:middle}
/* Login centrado independentemente da altura disponível */
.tenant-login-page{min-height:100svh;display:flex;justify-content:center;align-items:center}
.tenant-login-page .login{margin:0 auto;max-width:440px;width:min(440px,100%)}


/* Etapa 61: mesma faixa branca da Central do Assinante. */
.sidebar .brand{background:#fff!important;border-bottom:1px solid #dbe6ef!important;box-shadow:none!important}
.sidebar .tenant-sidebar-logo{background:transparent!important;max-width:232px!important;object-fit:contain!important;box-shadow:none!important}

/* ETAPA 62 — Tenant: header/footer fixos e rolagem central */
@media screen {
 html:has(.admin-topbar),body:has(.admin-topbar){height:100%!important;min-height:0!important;overflow:hidden!important;}
 body:has(.admin-topbar){height:100dvh!important;}
 body:has(.admin-topbar) .sidebar{height:100dvh!important;overflow:hidden!important;position:fixed!important;inset:0 auto 0 0!important;width:250px!important;}
 body:has(.admin-topbar) .admin-topbar{position:fixed!important;top:0!important;left:250px!important;right:0!important;margin:0!important;height:58px!important;min-height:58px!important;z-index:20!important;box-shadow:0 3px 12px #102f500b!important;}
 body:has(.admin-topbar) .content{position:fixed!important;top:58px!important;bottom:54px!important;left:250px!important;right:0!important;margin:0!important;max-width:none!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-bottom:36px!important;}
 body:has(.admin-topbar) .tenant-admin-footer{position:fixed!important;bottom:0!important;left:250px!important;right:0!important;margin:0!important;min-height:54px!important;max-height:54px!important;overflow:hidden!important;z-index:20!important;background:#fff!important;box-shadow:0 -3px 12px #102f500c!important;padding:10px 15px!important;}
 @media(max-width:850px){body:has(.admin-topbar) .sidebar{width:250px!important;}body:has(.admin-topbar) .admin-topbar,body:has(.admin-topbar) .content,body:has(.admin-topbar) .tenant-admin-footer{left:250px!important;}}
 @media(max-width:680px){body:has(.admin-topbar) .tenant-admin-footer{font-size:10px!important;gap:5px!important;padding:7px 10px!important}body:has(.admin-topbar) .content{padding:14px 10px 36px!important;}}
}

@media screen and (max-width:850px){
 body:has(.admin-topbar) .sidebar{position:fixed!important;inset:58px 0 auto 0!important;width:100%!important;height:111px!important;padding:0 8px 5px!important;display:block!important;overflow:hidden!important;z-index:19!important;}
 body:has(.admin-topbar) .sidebar .brand{display:none!important;}
 body:has(.admin-topbar) .sidebar .side-divider,body:has(.admin-topbar) .sidebar .nav-caption{display:none!important;}
 body:has(.admin-topbar) .sidebar nav{display:flex!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;gap:5px!important;max-width:100%!important;padding:4px 0!important;}
 body:has(.admin-topbar) .sidebar nav a{flex:none!important;margin:2px!important;}
 body:has(.admin-topbar) .sidebar .side-bottom{margin:0!important;padding:0!important;}
 body:has(.admin-topbar) .sidebar .logout-button{padding:4px 9px!important;min-height:27px!important;}
 body:has(.admin-topbar) .admin-topbar{left:0!important;}
 body:has(.admin-topbar) .content{top:169px!important;left:0!important;bottom:54px!important;}
 body:has(.admin-topbar) .tenant-admin-footer{left:0!important;}
}

/* Etapa 63: modal desacoplado do painel rolavel */
body>.mbr-portal-modal{z-index:2100!important;}
body>.dialog-backdrop,body>.message-modal-backdrop{z-index:2100!important;}

/* Etapa 64 — encerramento definitivo, sem apagar o histórico */
.funeral-table tr.tenant-funeral-ended > td:not(:last-child){filter:grayscale(1);opacity:.54}
.funeral-table tr.tenant-funeral-ended{background:#f1f3f5!important}
.funeral-table tr.tenant-funeral-ended .record-actions{filter:none;opacity:1}
.finalize-action{background:#fff0d0!important;color:#9b5809!important;cursor:pointer}
.finalize-action:hover{background:#ffe2a0!important}
.funeral-locked{background:#e2e5e9!important;color:#78828f!important;cursor:not-allowed;pointer-events:none}
.funeral-table tr.tenant-funeral-ended .open-action,.funeral-table tr.tenant-funeral-ended .message-action{pointer-events:none;opacity:.4}

/* Etapa 66 — inicial substitui imagem inexistente */
.tenant-funeral-fallback{font-size:22px;font-weight:800;align-items:center;justify-content:center;background:#e7f0fa;color:#174f7e;line-height:1}

/* Etapa 68 — faixa da logo APENAS no tenant; usa a tonalidade do menu para
   logos predominantemente brancas e transparentes. Outras mantêm branco. */
.sidebar .brand.tenant-brand-dark{
 background:#102f50!important;
 border-bottom:1px solid #102f50!important;
 box-shadow:none!important;
}
.sidebar .brand.tenant-brand-dark .tenant-sidebar-logo{
 background:transparent!important;
 box-shadow:none!important;
}

/* ETAPA 75: centralizar a inicial quando foto cadastrada não está mais disponível */
.tenant-funeral-avatar.tenant-funeral-fallback{display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:23px;line-height:1;background:#e6f0f7;color:#174f7e;flex-shrink:0}
.tenant-funeral-avatar.tenant-funeral-fallback[style*="display:none"]{display:none}

/* Etapa 77 — cidade e identidade dos parceiros */
.partner-row{display:flex;align-items:center;gap:12px}.partner-row>span:last-child{display:flex;flex-direction:column;gap:4px}.partner-row small{color:#718096;font-size:12px}.partner-avatar{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:9px;background:#e4eef6;color:#174f7e;font-size:20px;font-weight:800;overflow:hidden}.partner-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.multiselect option[hidden]{display:none}

.partner-selection-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;color:#6c7e94;font-size:12px}.partner-preview-card{display:flex;align-items:center;gap:9px;border:1px solid #dce4ef;border-radius:10px;padding:6px 10px;background:#f8fafc;min-width:190px;max-width:100%}.partner-preview-card>span:last-child{display:flex;flex-direction:column;gap:3px}.partner-preview-card strong{color:#102f50;font-size:12px}.partner-preview-card .partner-avatar{width:42px;height:42px;flex-basis:42px}

/* Etapa 78 — upload de parceiros por arrastar e soltar */
.partner-photo-drop{width:100%;min-height:125px;border:2px dashed #9fb7d2;background:#f5f9ff;transition:background .15s,border-color .15s}
.partner-photo-drop.drag-over,.partner-photo-drop:focus-visible{background:#e4f0ff;border-color:#1775db}
.partner-photo-drop #partnerPhotoInstructions{display:flex;flex-direction:column;align-items:center;gap:7px;color:#4b617e}
.partner-photo-drop #partnerPhotoInstructions .uicon{width:26px;height:26px}
.partner-photo-drop.has-photo{border-style:solid;background:#f3faf7;border-color:#9cd2b4;min-height:110px}
.partner-photo-drop #partnerFotoPreview{width:auto;max-width:100%;height:auto;max-height:150px;object-fit:contain}
.partner-photo-drop #partnerFotoPreview[hidden],.partner-photo-drop #partnerPhotoInstructions[hidden]{display:none!important}

/* Etapa 79: escolha visual dos parceiros por cidade */
.mbr-partners-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}
.mbr-partner-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:9px;min-height:48px;padding:6px 0;color:#667990;font-size:12px}
.mbr-partner-choice{min-height:64px;width:100%;display:flex;align-items:center;gap:10px;padding:9px!important;border:1px solid #cbd9e6!important;border-radius:10px!important;background:#f8fbff!important;color:#16344f!important;text-align:left!important;cursor:pointer;transition:background .14s,border-color .14s;box-shadow:none!important}
.mbr-partner-choice[aria-pressed="true"]{background:#e8f3ff!important;border:2px solid #1677ee!important;padding:8px!important}
.mbr-choice-avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:7px;background:#e4eff8;color:#164877;font-weight:800;font-size:19px}
.mbr-choice-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.mbr-choice-name{flex:1;min-width:0;font-weight:650;overflow-wrap:anywhere;font-size:12px}
.mbr-choice-check{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #94a8bc;font-size:16px;color:#637b92}
.mbr-partner-choice[aria-pressed="true"] .mbr-choice-check{background:#1875db;color:#fff;border-color:#1875db}
@media(max-width:540px){.mbr-partner-picker{grid-template-columns:1fr}}

/* Etapa 84 - formulários em páginas, não em modais */
.mbr-form-page{display:block!important;position:static!important;inset:auto!important;background:none!important;backdrop-filter:none!important;padding:0!important;z-index:auto!important;overflow:visible!important}
.mbr-form-page .record-dialog{display:block!important;position:static!important;transform:none!important;max-width:1100px!important;width:100%!important;height:auto!important;max-height:none!important;margin:0 auto!important;box-shadow:0 5px 20px rgba(20,45,70,.09)!important;overflow:visible!important}
.mbr-form-page .dialog-content{overflow:visible!important;max-height:none!important}
.mbr-form-page .dialog-close{display:none!important}
.mbr-form-page .dialog-footer{display:flex;gap:12px;justify-content:flex-end;align-items:center}
.mbr-cancel-link{padding:10px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #cad5e1;color:#23445d;background:#f1f5f9}
.mbr-product-checkbox{display:flex;gap:10px;align-items:center;min-height:38px}
.mbr-product-checkbox input[type=checkbox]{width:19px!important;height:19px!important;flex:0 0 auto}
@media(max-width:720px){.mbr-form-page .record-dialog{width:100%!important}.mbr-form-page .dialog-footer{flex-wrap:wrap}}

/* ETAPA 85 — formulário em página de verdade: sempre dentro do conteúdo, nunca portal/modal. */
.records-panel.mbr-records-form{padding:0;overflow:hidden;margin-top:18px;background:#fff;border-radius:8px}
.mbr-records-form .mbr-form-page{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;overflow:visible!important}
.mbr-records-form .record-dialog{max-width:none!important;width:100%!important;border-radius:0!important;margin:0!important;box-shadow:none!important}
.mbr-records-form .dialog-header{padding:18px 22px;background:#fff}
.mbr-records-form .dialog-header h2{font-size:19px;font-weight:650;color:#173654}
.mbr-records-form .dialog-content{padding:22px!important;overflow:visible!important}
.mbr-records-form .formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;align-items:start}
.mbr-records-form .formgrid>label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#173654;font-size:13px;font-weight:650}
.mbr-records-form .formgrid>label input:not([type=checkbox]),.mbr-records-form .formgrid>label select,.mbr-records-form .formgrid>label textarea{display:block;max-width:100%;width:100%;margin:0;min-height:40px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:6px;color:#172f49;background:#fff;font-size:14px;box-sizing:border-box}
.mbr-records-form .formgrid>label textarea{min-height:94px;resize:vertical}
.mbr-records-form .dialog-footer{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:18px 0 0;margin:4px 0 0}
.mbr-records-form .dialog-footer button[name=op]{background:#087cfa;padding:10px 20px;min-height:39px}
.mbr-records-form .mbr-cancel-link{padding:10px 20px;min-height:39px;background:#f1f5f9;color:#173654;border:1px solid #cbd5e1;font-weight:500}
.mbr-records-form .funeral-photo-field,.mbr-records-form .camera-monitor,.mbr-records-form .camera-access-modal{min-width:0}
@media(max-width:980px){.mbr-records-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.mbr-records-form .formgrid{grid-template-columns:minmax(0,1fr)}.mbr-records-form .dialog-content{padding:15px!important}.mbr-records-form .dialog-footer>a,.mbr-records-form .dialog-footer>button[name=op]{flex:1 1 auto;text-align:center}}

/* Etapa 86: formulário dentro do painel real do tenant, isolado dos modais. */
.content>.records-panel.mbr-records-form{position:relative!important;inset:auto!important;display:block!important;margin:18px 0!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
.content>.records-panel.mbr-records-form>.mbr-form-page{position:static!important;inset:auto!important;display:block!important;width:100%!important;min-width:0!important;transform:none!important;box-shadow:none!important;background:transparent!important}
.content>.records-panel.mbr-records-form .record-dialog{max-width:100%!important;min-width:0!important;position:static!important;transform:none!important}
.content>.records-panel.mbr-records-form .dialog-footer .mbr-cancel-link{cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:1!important}

/* Etapa 87: produtos com a mesma area arrastar/soltar de parceiros e funerais. */
.product-photo-drop #productPhotoInstructions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#4b617e}
.product-photo-drop #productPhotoInstructions .uicon{height:25px;width:25px}
.product-photo-drop #productPhotoInstructions small{font-size:12px}
.product-photo-drop.has-photo #productPhotoInstructions{display:none!important}
.product-photo-drop img[hidden]{display:none!important}
.product-photo-drop img:not([hidden]){display:block;max-width:100%;width:auto;height:auto;max-height:140px;object-fit:contain;margin:auto}


/* Etapa 88: listagem e selecao visual de produtos/coroas com foto, descricao, BRL e cidade. */
.product-photo-drop{width:100%;min-height:125px;border:2px dashed #9fb7d2;background:#f5f9ff;transition:background .15s,border-color .15s}
.product-photo-drop.drag-over,.product-photo-drop:focus-visible{background:#e4f0ff;border-color:#1775db}
.product-photo-drop.has-photo{border-style:solid;background:#f3faf7;border-color:#9cd2b4;min-height:110px}
.product-photo-drop #productFotoPreview{width:auto;max-width:100%;height:auto;max-height:150px;object-fit:contain}
.product-photo-drop #productFotoPreview[hidden],.product-photo-drop #productPhotoInstructions[hidden]{display:none!important}
.wreath-row{display:flex;align-items:center;gap:12px}.wreath-row>span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}.wreath-row strong{color:#12395d;font-size:14px}.wreath-row small{color:#718096;font-size:12px}.wreath-avatar{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:9px;background:#e4eef6;color:#174f7e;font-size:20px;font-weight:800;overflow:hidden}.wreath-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.wreath-details{display:flex;flex-direction:column;gap:4px;min-width:170px}.wreath-details span{font-size:13px;color:#42576c;line-height:1.35}.wreath-details strong{font-size:14px;color:#12395d}.wreath-details small{font-size:12px;color:#718096}
.wreath-picker{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.wreath-choice{align-items:flex-start!important;min-height:82px}.wreath-choice .mbr-choice-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.mbr-choice-meta{display:block;color:#5d7289;font-size:11px;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere}

/* Etapa 89: tempos individuais de exibição dos produtos. */
.wreath-times{display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:5px;color:#60748b;font-size:12px}.wreath-times b{color:#173654}.mbr-records-form #field_intervalo_exibicao,.mbr-records-form #field_duracao_exibicao{max-width:100%;font-variant-numeric:tabular-nums}


/* Etapa 92 - visão geral de funerais: foto, moderação e gerenciamento */
.active-table td{vertical-align:middle}.active-table .tenant-funeral-person{min-width:165px;display:flex;align-items:center;gap:10px}.active-table .tenant-funeral-name{display:flex;flex-direction:column;gap:3px}.active-table .tenant-funeral-avatar{width:48px;height:52px;flex:0 0 48px}.dashboard-message-link{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;background:#ecf4ff;color:#115da4;border-radius:8px}.dashboard-message-link .uicon{width:20px;height:20px}.dashboard-message-count{position:absolute;right:-6px;top:-6px;min-width:19px;padding:2px 5px;border-radius:12px;background:#e23949;color:#fff;font-size:11px;font-weight:700;text-align:center;line-height:15px}.dashboard-message-count[hidden]{display:none!important}.dashboard-manage-button{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;background:#e3efff;color:#0865c7;border-radius:7px;font-size:12px;font-weight:700;white-space:nowrap}.dashboard-manage-button:hover{background:#cde2ff}.dashboard-manage-button .uicon{height:16px;width:16px}

/* Etapa 97 — central de homenagens, disponível em todas as telas do tenant. */
#mbr-notification-root{position:relative;z-index:80}.mbr-notification-inbox{position:fixed;right:20px;bottom:65px;display:flex;align-items:center;justify-content:center;gap:7px;background:#1476d4;color:#fff;border-radius:28px;padding:9px 13px;box-shadow:0 4px 18px #0003;font-size:15px}.mbr-notification-inbox span{font-weight:800;background:#e93445;color:white;border-radius:30px;min-width:19px;padding:2px 5px;text-align:center;font-size:11px}#mbr-enable-notifications:not([hidden]){position:fixed;bottom:65px;right:98px;background:#087af3;color:white;padding:10px 13px;border-radius:8px;box-shadow:0 3px 12px #0002;font-size:12px}#mbr-notification-toast:not([hidden]){position:fixed;right:18px;bottom:124px;width:min(350px,calc(100vw - 36px));background:#fff;border:1px solid #cadeef;box-shadow:0 8px 32px #173a5d38;border-radius:12px;padding:16px;color:#1d3650;display:flex;flex-direction:column;gap:9px;z-index:99}#mbr-notification-toast strong{font-size:14px;color:#0564b9}#mbr-toast-title{font-size:13px}#mbr-toast-message{font-size:13px;line-height:1.45;white-space:pre-wrap;max-height:140px;overflow:auto;margin:0}.mbr-toast-actions{display:flex;gap:10px}.mbr-toast-actions button{padding:9px 15px}.mbr-toast-actions button:last-child{background:#e9eff5;color:#334b61}

/* Etapa 101: fixar notificacoes no cabecalho sem cobrir botoes do painel. */
.admin-topbar .admin-identity{display:flex;align-items:center;gap:11px}
.admin-topbar .mbr-notification-inbox{position:relative!important;inset:auto!important;bottom:auto!important;right:auto!important;transform:none!important;z-index:auto!important;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:6px 10px;border-radius:10px;background:#e8f2ff;color:#16518c;font-size:13px;text-decoration:none;white-space:nowrap;box-shadow:none!important}
.admin-topbar .mbr-notification-inbox #mbr-global-message-count{background:#d9e8f7;color:#174b75;font-size:11px;border-radius:999px;min-width:19px;line-height:19px;text-align:center;font-weight:800}
.admin-topbar .mbr-notification-inbox.has-pending{background:#fff0ef;color:#bb2929;animation:mbrInboxAttention101 1.25s ease-in-out infinite}
.admin-topbar .mbr-notification-inbox.has-pending #mbr-global-message-count{background:#e22c42;color:white}
@keyframes mbrInboxAttention101{0%,100%{box-shadow:0 0 0 0 rgba(226,44,66,.15)!important}50%{box-shadow:0 0 0 6px rgba(226,44,66,.18)!important}}
@media(prefers-reduced-motion:reduce){.admin-topbar .mbr-notification-inbox.has-pending{animation:none}}

/* Etapa 104: altura/alinhamento consistentes no rodape de formularios. */
.mbr-records-form .dialog-footer{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important}
.mbr-records-form .dialog-footer>.mbr-cancel-link,.mbr-records-form .dialog-footer>button[name="op"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;align-self:center!important;line-height:20px!important;min-height:40px!important;margin:0!important}
.mbr-records-form .dialog-footer .mbr-wait96{display:inline-flex;align-items:center;gap:8px;line-height:20px}
/* Atualização opcional do portal, sem interromper notificações de homenagens. */
#mbr-update-badge{border:0;background:#fff2d9;color:#935600;border-radius:9px;padding:7px 10px;white-space:nowrap;font-size:12px;font-weight:700;cursor:pointer;margin-right:8px}
#mbr-update-badge[hidden],#mbr-update-overlay[hidden]{display:none!important}
#mbr-update-overlay{position:fixed;inset:0;background:rgba(5,14,31,.84);z-index:99999;display:flex;justify-content:center;align-items:center;color:white}
.mbr-update-modal{width:min(420px,90vw);text-align:center;padding:35px;border-radius:15px;background:#102f50;box-shadow:0 18px 65px #0007;display:flex;align-items:center;flex-direction:column;gap:18px}
.mbr-update-modal strong{font-size:23px}.mbr-update-modal p{margin:0;color:#c6dbec}
.mbr-update-spinner{display:block;width:47px;height:47px;border-radius:50%;border:5px solid #5e83a6;border-top-color:#fff;animation:mbr-spin .8s linear infinite}
@keyframes mbr-spin{to{transform:rotate(360deg)}}
.mbr-update-success{position:fixed;right:24px;top:85px;background:#0c7756;color:white;padding:16px 24px;border-radius:10px;box-shadow:0 8px 30px #0002;z-index:99999;font-weight:700}

.mbr-sidebar-version{color:#9cb3cf;font-size:12px;padding:2px 15px 11px;letter-spacing:.03em}


/* V3.1.5 — remove bolinha verde e usa contorno verde no ícone do topo; botão de atualização só aparece quando houver update real. */
.online-dot{display:none!important}
.admin-topbar .mbr-notification-inbox{border:2px solid #6ac488!important;box-shadow:0 0 0 3px rgba(106,196,136,.16)!important;background:#edf6ff!important;color:#16518c!important}
.admin-topbar .mbr-notification-inbox.has-pending{border-color:#6ac488!important}
#mbr-update-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #d4e3f4;background:#edf5ff;color:#1060ab;border-radius:11px;padding:7px 12px;white-space:nowrap;font-size:12px;font-weight:700;cursor:pointer;margin-right:8px;box-shadow:0 3px 10px rgba(16,96,171,.08)}
#mbr-update-badge:hover{background:#e3f0ff}
#mbr-update-badge .mbr-update-rotor{display:inline-grid;place-items:center;line-height:1;animation:mbr-spin .85s linear infinite}

/* V. 3.1.7 — o contorno verde pertence ao avatar da conta, não ao balão de mensagens. */
.admin-topbar .mbr-notification-inbox,.admin-topbar .mbr-notification-inbox.has-pending{border:0!important;box-shadow:none!important}
.admin-topbar .admin-identity>.avatar{border:2px solid #45ba72!important;box-shadow:0 0 0 3px rgba(69,186,114,.18)!important;width:32px;height:32px;flex:0 0 32px}

/* V. 3.1.8: alerta animado, somente quando o update estiver disponível. */
#mbr-update-badge:not([hidden]){color:#fff!important}
@keyframes mbrUpdatePulse318{0%,100%{background:#eb8819;border-color:#d87a09;box-shadow:0 0 0 0 rgba(233,137,25,.20)}50%{background:#24a55d;border-color:#178c4a;box-shadow:0 0 0 5px rgba(36,165,93,.16)}}
#mbr-update-badge[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){#mbr-update-badge:not([hidden]){animation:none!important;background:#198e50!important}}
.mbr-login-version{margin-top:16px;color:#9cb3cf;font-size:12px;letter-spacing:.03em;text-align:left;padding-left:3px}

/* V. 3.1.10 — aprovacoes somente como notificacao do sistema operacional. */
#mbr-notification-toast{display:none!important}

/* V3.1.11: versão centralizada abaixo de Sair. */
.sidebar .side-bottom .mbr-sidebar-version{display:block!important;width:100%!important;margin:2px 0 0!important;padding:4px 0 8px!important;text-align:center!important;box-sizing:border-box!important;}

/* 3.1.12: pulsacao real entre verde e laranja; estados hover/push */
#mbr-update-badge:not([hidden]){
  background:#e88817;color:#fff!important;border:1px solid #cb790d;
  animation:mbrUpdateColor312 2.2s ease-in-out infinite!important;
  transform:translateY(0) scale(1);transition:transform .16s ease,filter .16s ease!important;
  cursor:pointer;will-change:background-color,box-shadow;
}
@keyframes mbrUpdateColor312{
  0%,100%{background-color:#eb8e1e;border-color:#c87312;box-shadow:0 1px 8px rgba(235,142,30,.23)}
  50%{background-color:#21a65a;border-color:#167d44;box-shadow:0 1px 12px rgba(33,166,90,.32)}
}
#mbr-update-badge:not([hidden]):hover{filter:brightness(1.13);transform:translateY(-2px) scale(1.035);box-shadow:0 5px 15px #15364b38!important}
#mbr-update-badge:not([hidden]):active{transform:translateY(2px) scale(.96);filter:brightness(.92);box-shadow:inset 0 2px 6px #0003!important}
#mbr-update-badge:disabled{cursor:wait;opacity:.8}
@media(prefers-reduced-motion:reduce){#mbr-update-badge:not([hidden]){animation:none!important;transition:none!important}}

/* V3.1.24 — Visitor manager and true mobile administrative navigation */
.mbr-visitor-edit-form{padding:20px;display:grid;gap:18px;max-width:620px}.mbr-visitor-edit-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#2e4662}.mbr-visitor-edit-form input{height:45px;border:1px solid #d1dce9;border-radius:9px;padding:10px;font-size:15px}.mbr-visitor-edit-buttons{display:flex;gap:12px;align-items:center}.mbr-visitors-tools{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:16px 22px;border-bottom:1px solid #e7eaf2;flex-wrap:wrap}
.mbr-visitors-search{display:flex;flex:1;align-items:end;gap:12px;flex-wrap:wrap}
.mbr-visitors-search label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:175px;color:#243b59;font-size:13px;font-weight:650}
.mbr-visitors-search input,.mbr-visitors-search select{width:100%;height:43px;padding:9px 12px;border:1px solid #d3ddea;border-radius:9px;background:white;color:#20334c;box-sizing:border-box}
.mbr-danger-btn{background:#fff0f0;border:1px solid #ecc5c6;color:#b82738;padding:11px 14px;border-radius:9px;font-weight:700;cursor:pointer}
.mbr-visitors-table{width:100%;border-collapse:collapse;min-width:710px}
.mbr-visitors-table th,.mbr-visitors-table td{text-align:left;padding:14px;border-bottom:1px solid #e9edf3;white-space:nowrap}
.mbr-visitors-actions{white-space:nowrap}
.mbr-visitors-actions a,.mbr-visitors-actions button{display:inline-block;padding:7px 10px;border-radius:7px;text-decoration:none;border:1px solid #d5deeb;background:white;color:#1d537d;cursor:pointer}
.mbr-visitors-actions button{color:#b62d3a;border-color:#f2cacc}
.mbr-visitors-pages{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px;color:#53657a}
.mbr-visitors-pages a{color:#185c96;font-weight:700}
.mbr-swal-label{display:flex;flex-direction:column;text-align:left;gap:5px;font-size:14px;font-weight:700}
.mbr-swal-label .swal2-input{margin:3px 0 12px;width:100%;box-sizing:border-box}
.mbr-mobile-menu-button,.mbr-menu-backdrop{display:none}
.tenant-admin-footer,.tenant-support-footer{text-align:center;line-height:1.6}
@media(max-width:860px){
 body{overflow-x:hidden!important;max-width:100vw}
 .mbr-mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;margin-right:8px;color:#184c79;background:#eaf2fc;border:1px solid #cedcf0;border-radius:12px;font-size:23px;cursor:pointer;z-index:7}
 .mbr-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(7,18,36,.6);z-index:998;border:0}
 .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(84vw,290px)!important;height:100dvh!important;max-height:100dvh;overflow-y:auto!important;z-index:999!important;transform:translateX(-105%);transition:transform .23s ease;box-shadow:10px 0 32px rgba(0,0,0,.2);box-sizing:border-box}
 body.mbr-mobile-menu-open .sidebar{transform:translateX(0)!important}
 body.mbr-mobile-menu-open{overflow:hidden!important}
 .admin-topbar{width:100%!important;max-width:100%!important;box-sizing:border-box;padding-left:12px!important;padding-right:12px!important;gap:6px!important;min-height:62px}
 .admin-topbar .crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .admin-topbar .admin-identity{min-width:0;gap:5px;display:flex;align-items:center}
 .content{width:100%!important;max-width:100%!important;box-sizing:border-box;margin-left:0!important;padding:14px 12px 28px!important;overflow-x:hidden}
 .content>.top{flex-wrap:wrap;gap:4px}
 .content>.top h1{font-size:22px}
 .panel{max-width:100%;min-width:0;box-sizing:border-box}
 .panel .scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .section-head{flex-wrap:wrap;gap:10px}
 .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}
 .mbr-visitors-tools{padding:12px;align-items:stretch;flex-direction:column}
 .mbr-visitors-search{display:grid;grid-template-columns:1fr;align-items:stretch}
 .mbr-visitors-search label{min-width:0}
 .mbr-danger-btn{align-self:flex-start}
 .tenant-admin-footer{margin:0!important;padding:20px 12px 25px!important;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}

/* V. 3.1.26 — versão na tela de login, uma linha abaixo e centralizada. */
.mbr-login-version{display:block!important;text-align:center!important;padding:0!important;margin:24px auto 0!important;width:100%!important;}

/* V. 3.1.27: centralização em relação à largura TOTAL do card de login. */
.tenant-login-page .login>.mbr-login-version-row{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;min-width:0!important;margin:38px 0 0!important;padding:0!important;box-sizing:border-box!important;text-align:center!important;}
.tenant-login-page .login>.mbr-login-version-row>.mbr-login-version{display:block!important;position:static!important;flex:0 1 auto!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;transform:none!important;float:none!important;text-align:center!important;white-space:nowrap!important;color:#71849a!important;font-size:12px!important;line-height:1.6!important;}

/* V3.1.28 — menu mobile tipo gaveta vertical; sobreposição do legado horizontal. */
@media (max-width:860px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important;touch-action:pan-x pan-y}
 body:has(.admin-topbar) .sidebar,body .sidebar#mbr-admin-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(84vw,300px)!important;height:100dvh!important;max-height:100dvh!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:1001!important;transform:translate3d(-105%,0,0)!important;transition:transform .25s ease!important;box-shadow:none!important;background:#102f50!important;}
 body.mbr-mobile-menu-open .sidebar#mbr-admin-sidebar{transform:translate3d(0,0,0)!important;box-shadow:8px 0 35px #001b3566!important;}
 body:has(.admin-topbar) .sidebar .brand{display:flex!important;flex:none!important;}
 body:has(.admin-topbar) .sidebar .side-divider,body:has(.admin-topbar) .sidebar .nav-caption{display:block!important;}
 body:has(.admin-topbar) .sidebar nav{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:2px!important;overflow:visible!important;white-space:normal!important;padding:6px 8px!important;width:100%!important;box-sizing:border-box!important;}
 body:has(.admin-topbar) .sidebar nav a{display:flex!important;flex:0 0 auto!important;width:100%!important;box-sizing:border-box!important;margin:0!important;min-height:42px!important;}
 body:has(.admin-topbar) .sidebar .side-bottom{margin-top:auto!important;padding:12px 8px!important;position:static!important;}
 body:has(.admin-topbar) .admin-topbar,body:has(.admin-topbar) .content,body:has(.admin-topbar) .tenant-admin-footer{left:0!important;margin-left:0!important;width:100%!important;max-width:100%!important;}
 .mbr-menu-backdrop:not([hidden]){display:block!important;position:fixed!important;inset:0!important;background:rgba(4,15,30,.67)!important;z-index:1000!important;}
 .content{overflow-x:clip!important;}.content .scroll{overflow-x:auto!important;max-width:100%!important;}
}

.mbr-message-filter{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:12px 16px}.mbr-message-filter label{display:flex;flex:1 1 250px;flex-direction:column;gap:5px;min-width:0}.mbr-message-filter input{width:100%;min-height:40px;padding:8px 12px;border:1px solid #c5d6e8;border-radius:9px}.mbr-message-filter button{min-height:40px;padding:8px 14px;border-radius:9px;cursor:pointer}.mbr-message-filter .mbr-danger-btn{margin-left:auto}@media(max-width:860px){.mbr-message-filter{flex-direction:column;align-items:stretch}.mbr-message-filter label{flex-basis:auto}.mbr-message-filter .mbr-danger-btn{margin-left:0}}

.mbr-user-form{background:#fff;border:1px solid #d8e3ed;border-radius:13px;padding:22px;margin-top:14px;box-shadow:0 8px 30px #12305010}.mbr-user-form[hidden]{display:none!important}.mbr-user-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mbr-user-inputs label{display:grid;gap:6px;font-weight:600}.mbr-user-inputs input,.mbr-user-inputs select{min-height:40px;border:1px solid #b9cbdb;border-radius:8px;padding:8px;width:100%;box-sizing:border-box}.mbr-user-permissions{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:15px;padding:15px;border:1px solid #d8e3ed;border-radius:9px}.mbr-user-permissions label{display:flex;gap:7px;align-items:center}.mbr-user-actions{display:flex;gap:10px;margin-top:18px}.mbr-user-actions button,.mbr-user-create{border:0;border-radius:9px;background:#195b91;color:#fff;padding:10px 18px;cursor:pointer}.mbr-user-actions button:last-child{background:#e5eaf1;color:#163d60}@media(max-width:860px){.mbr-user-inputs{grid-template-columns:1fr}.mbr-user-form{padding:14px}}

/* V3.1.29: grupos de menu e formulários em páginas independentes. */
.mbr-grouped-menu .mbr-group-title{margin:16px 16px 6px;padding:4px 4px 2px;font-size:10px;letter-spacing:.85px;font-weight:750;opacity:.7;color:#c6d8ea;line-height:1.4}
.mbr-grouped-menu .mbr-group-title:first-child{margin-top:10px}
.mbr-user-form-panel .mbr-user-form{display:block!important;padding:22px!important;border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;border-radius:0!important}
.mbr-user-action-edit,.mbr-user-cancel-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding:9px 12px;border:1px solid #d6e3f0;border-radius:7px;color:#18558b;font-weight:600}
.mbr-user-action-edit svg{width:16px;height:16px}
.mbr-user-cancel-link{background:#e8edf4;color:#243f58}
.mbr-self-tag{font-size:11px;color:#1764a1;font-weight:700;white-space:nowrap}
@media(max-width:767px){.mbr-grouped-menu .mbr-group-title{margin-top:13px}.mbr-user-form-panel .mbr-user-form{padding:14px!important}.mbr-user-inputs{grid-template-columns:1fr!important}.mbr-user-permissions{display:grid!important;grid-template-columns:1fr 1fr;gap:12px}.mbr-visitors-table{min-width:670px}}

/* V3.1.30 — Permissões em duas colunas e ações compactas por ícone. */
.mbr-user-form-panel .mbr-user-permissions{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:repeat(4,auto)!important;
 grid-auto-flow:column!important;
 gap:10px 18px!important;
 padding:18px!important;
 align-items:stretch;
}
.mbr-user-form-panel .mbr-user-permissions legend{padding:0 8px;color:#204c72;font-weight:700}
.mbr-user-form-panel .mbr-user-permissions label{
 display:flex!important;align-items:center!important;gap:10px!important;
 min-width:0;padding:11px 13px;border:1px solid #d8e5f2;
 background:#f7faff;border-radius:9px;font-weight:600;
 white-space:nowrap!important;line-height:1.25;cursor:pointer;
 transition:background .18s,border-color .18s,box-shadow .18s;
}
.mbr-user-form-panel .mbr-user-permissions label:hover{background:#eaf4ff;border-color:#81b8ed}
.mbr-user-form-panel .mbr-user-permissions label:has(input:checked){background:#e8f4ff;border-color:#509ee6;box-shadow:inset 0 0 0 1px #8bc4f7}
.mbr-user-form-panel .mbr-user-permissions input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;accent-color:#1675cf;margin:0;cursor:pointer}
.mbr-visitors-actions .mbr-user-action-edit.icon-action,
.mbr-visitors-actions .mbr-user-delete.icon-action{
 display:inline-flex!important;align-items:center;justify-content:center;
 width:39px!important;height:39px!important;min-width:39px;
 padding:0!important;margin:0!important;gap:0!important;
 border:0!important;border-radius:9px!important;
 box-shadow:none!important;cursor:pointer;
 transition:transform .15s,background .15s,filter .15s;
}
.mbr-visitors-actions .mbr-user-action-edit.icon-action{background:#dbeafe!important;color:#0c5dab!important}
.mbr-visitors-actions .mbr-user-delete.icon-action{background:#fee2e2!important;color:#d21e29!important}
.mbr-visitors-actions .mbr-user-action-edit.icon-action:hover{background:#bddcff!important;transform:translateY(-2px)}
.mbr-visitors-actions .mbr-user-delete.icon-action:hover{background:#ffcaca!important;transform:translateY(-2px)}
.mbr-visitors-actions .mbr-user-action-edit.icon-action:active,.mbr-visitors-actions .mbr-user-delete.icon-action:active{transform:scale(.93)}
.mbr-visitors-actions .mbr-user-action-edit.icon-action svg,.mbr-visitors-actions .mbr-user-delete.icon-action svg{width:18px;height:18px;flex:none}
@media(max-width:520px){
 .mbr-user-form-panel .mbr-user-permissions{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-flow:row!important;gap:8px!important;padding:12px!important}
 .mbr-user-form-panel .mbr-user-permissions label{white-space:nowrap!important;font-size:12px;padding:10px!important}
}
/* MemóriaBR V. 3.1.31 | Revisão mobile do painel Tenant.
   Mantém intacto o layout do desktop; aplica-se exclusivamente até 860px. */
@media screen and (max-width:860px) {
 :root { --mbr-mobile-gutter:14px; --mbr-mobile-footer:76px; }
 html,body {width:100%!important;max-width:100%!important;overflow-x:clip!important;}
 body:has(.admin-topbar) .admin-topbar {left:0!important;right:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-width:0!important;padding:0 var(--mbr-mobile-gutter)!important;display:flex!important;align-items:center!important;gap:8px!important;}
 .admin-topbar .crumb{flex:1 1 auto!important;min-width:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .admin-topbar .admin-identity{display:flex!important;flex:0 1 auto!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important;gap:7px!important;white-space:nowrap}
 .admin-topbar :is(button,a){flex-shrink:0}
 .admin-topbar #mbr-update-badge:not([hidden]){max-width:115px;overflow:hidden;text-overflow:ellipsis}
 body:has(.admin-topbar) .content{left:0!important;right:0!important;top:58px!important;bottom:var(--mbr-mobile-footer)!important;width:100%!important;max-width:100%!important;margin:0!important;padding:18px var(--mbr-mobile-gutter) 30px!important;overflow-y:auto!important;overflow-x:hidden!important;min-width:0!important;box-sizing:border-box!important;scrollbar-gutter:auto!important;-webkit-overflow-scrolling:touch}
 body:has(.admin-topbar) .tenant-admin-footer{left:0!important;right:0!important;bottom:0!important;margin:0!important;min-height:var(--mbr-mobile-footer)!important;height:var(--mbr-mobile-footer)!important;max-height:var(--mbr-mobile-footer)!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:8px var(--mbr-mobile-gutter) calc(8px + env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;font-size:11px!important;text-align:center!important;line-height:1.35!important}
 body:has(.admin-topbar) .tenant-admin-footer>a{max-width:100%!important;text-align:center!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important}
 /* Menu vertical sempre isolado do corpo e sem barra horizontal. */
 body:has(.admin-topbar) .sidebar#mbr-admin-sidebar{top:0!important;bottom:0!important;left:0!important;right:auto!important;width:min(84vw,300px)!important;height:100dvh!important;max-height:100dvh!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;z-index:1001!important;}
 body:has(.admin-topbar) .sidebar#mbr-admin-sidebar nav{width:100%!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;overflow-x:hidden!important;gap:3px!important}
 body:has(.admin-topbar) .sidebar#mbr-admin-sidebar nav a{width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;white-space:normal!important;min-width:0!important}
 body.mbr-mobile-menu-open{overflow:hidden!important}
 /* Listagem de Usuários como padrão visual de todas as páginas. */
 .content>*{max-width:100%;min-width:0;box-sizing:border-box}
 .content>.top{margin:0 0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-width:0!important}
 .content>.top h1{font-size:22px!important;line-height:1.3;margin:0!important;min-width:0}
 .content>.top>span{font-size:12px!important;max-width:47%;text-align:right;overflow-wrap:anywhere}
 .panel,.records-panel,.mbr-user-form-panel,.mbr-visitors-panel,.messages-panel{display:block;min-width:0!important;width:100%!important;max-width:100%!important;margin:0 0 16px!important;border:1px solid #dce5ef!important;border-radius:11px!important;box-shadow:0 3px 12px #14334c0d!important;padding:15px!important;overflow:visible!important;background:#fff!important}
 .section-head,.records-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;min-width:0!important;margin-bottom:15px!important}
 .section-head>div,.records-heading>div{flex:1 1 210px;min-width:0}
 .section-head h2,.records-heading h2,.panel h2{font-size:17px!important;line-height:1.35!important;overflow-wrap:anywhere}
 .section-head p,.records-heading p{font-size:12px!important;line-height:1.5!important;margin:4px 0 0!important;overflow-wrap:anywhere}
 .section-head>:is(a,button),.records-heading>:is(a,button){flex:0 0 auto;max-width:100%;min-height:42px!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;white-space:normal;text-align:center}
 .panel .scroll,.records-panel .scroll{display:block;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:7px}
 .panel .scroll>table{min-width:660px!important;width:100%!important;max-width:none!important;border-collapse:collapse}
 .panel :is(.record-actions,.mbr-visitors-actions,.camera-access-actions){display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;white-space:nowrap!important}
 .panel :is(.record-actions,.mbr-visitors-actions) :is(a,button){flex:0 0 auto;min-height:38px}
 .panel .message-preview{max-width:210px}
 .mbr-visitors-pages{display:flex!important;flex-wrap:wrap!important;align-items:center;justify-content:center;gap:8px 12px!important;padding:16px 5px 5px!important;text-align:center;line-height:1.5}
 .mbr-visitors-pages :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:39px;border-radius:8px;padding:7px 11px;white-space:nowrap}
 /* Filtros isolados dos botões de ação (sem sobreposição ou controles colados). */
 .mbr-visitors-tools{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;margin:0 -3px 14px!important;padding:11px 3px 14px!important;min-width:0!important}
 .mbr-visitors-search{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;min-width:0!important;margin:0!important}
 .mbr-visitors-search label,.mbr-message-filter label{width:100%!important;min-width:0!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:6px!important}
 .mbr-visitors-search :is(input,select),.mbr-message-filter input{width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px!important;margin:0!important;font-size:16px!important}
 .mbr-visitors-search>.shortcut,.mbr-visitors-tools>.mbr-danger-btn{width:100%!important;max-width:100%!important;margin:0!important;min-height:43px!important;justify-content:center!important;align-self:stretch!important}
 .mbr-message-filter{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin:0 0 15px!important;padding:0 0 15px!important;align-items:stretch!important}
 .mbr-message-filter :is(button,.mbr-danger-btn){width:100%!important;min-width:0!important;min-height:43px!important;margin:0!important;justify-self:stretch!important}
 .mbr-message-filter label{flex:1 1 auto!important}
 /* Telas de cadastro: mesmos recuos e tamanhos do módulo Usuários. */
 .record-dialog,.mbr-form-page,.mbr-records-form,.mbr-user-form-panel,.mbr-visitor-edit{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
 .mbr-records-form{padding:0!important;overflow:hidden!important}
 .mbr-records-form .dialog-content{padding:16px!important}
 .mbr-records-form .dialog-header{padding:16px!important}
 .record-dialog .formgrid,.mbr-user-inputs{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .formgrid>*,.mbr-user-inputs>*,.mbr-visitor-edit-form>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .formgrid :is(input,select,textarea),.mbr-user-inputs :is(input,select,textarea),.mbr-visitor-edit-form :is(input,select){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important}
 .mbr-user-form-panel .mbr-user-form{padding:16px!important}
 .mbr-user-form-panel .mbr-user-permissions{min-width:0!important;width:100%!important;box-sizing:border-box!important}
 .mbr-user-form-panel .mbr-user-permissions label{max-width:100%!important;min-width:0!important;overflow-wrap:normal!important;white-space:nowrap!important}
 .mbr-user-form-panel .mbr-user-permissions label :is(span,strong){white-space:nowrap!important}
 .mbr-user-actions,.mbr-visitor-edit-buttons,.mbr-form-page .dialog-footer,.mbr-records-form .dialog-footer{display:flex!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important;margin-top:18px!important}
 .mbr-user-actions>*,.mbr-visitor-edit-buttons>*,.mbr-form-page .dialog-footer>*,.mbr-records-form .dialog-footer>*{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:10px 15px!important;flex:1 1 130px!important;margin:0!important;max-width:100%;text-align:center}
 .mbr-visitor-edit-form{max-width:100%!important;width:100%!important;gap:14px!important;padding:12px 0!important}
 .camera-monitor,.camera-access-modal{max-width:100%;min-width:0;box-sizing:border-box}
 .camera-monitor{gap:14px!important}
 .camera-access-actions{flex-wrap:wrap!important}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .tile{min-width:0!important;padding:14px!important}
 .tile strong{font-size:clamp(22px,6vw,32px)!important}
 .dialog-backdrop,.message-modal-backdrop{padding:12px!important}
 .record-dialog,.message-modal-card{max-width:100%!important;max-height:calc(100dvh - 24px)!important}
 .dialog-footer{gap:10px!important}
 .message-modal-content,.dialog-content{overscroll-behavior:contain}
 :is(input,select,textarea,button,a):focus-visible{outline:2px solid #2281d5!important;outline-offset:2px!important}
}
@media screen and (max-width:520px){
 .content>.top>span{display:none!important}
 .section-head>:is(a,button),.records-heading>:is(a,button){width:100%!important;flex:1 1 100%!important}
 .mbr-user-form-panel .mbr-user-permissions{grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-template-rows:none!important}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media screen and (max-width:350px){.tiles{grid-template-columns:1fr!important}}

/* V. 3.1.32 — topo limpo nos celulares sem modificar o layout desktop.
   O menu mobile e o conjunto de notificacoes/atualizacao permanecem visiveis. */
@media screen and (max-width: 860px) {
   .admin-topbar > .crumb {
    display: none !important;
  }
   .admin-topbar > .admin-identity {
    margin-left: auto !important;
    justify-content: flex-end !important;
  }
   .content > .top > span {
    display: none !important;
  }
}

/* MemóriaBR 3.1.33: backdrop do menu mobile cobre a viewport inteira.
   O menu lateral permanece como o único elemento sobre o escurecimento. */
@media screen and (max-width:860px) {
 #mbr-menu-backdrop.mbr-menu-backdrop {
  position:fixed!important; inset:0!important; top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100%!important;height:100vh!important;height:100dvh!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;
  background:rgba(2,11,25,.79)!important;
  z-index:5000!important;
 }
 #mbr-menu-backdrop[hidden]{display:none!important}
 #mbr-menu-backdrop:not([hidden]){display:block!important;pointer-events:auto!important}
 body:has(.admin-topbar) .sidebar#mbr-admin-sidebar, #mbr-admin-sidebar.sidebar{z-index:5001!important;}
}

/* V3.1.34: alerta de atualização, ícone de upload e etiquetas em uma linha. */
@keyframes mbrUpdateOrangeRed334 {
  0%,100% { background-color:#ed8618; border-color:#c96b0c; box-shadow:0 1px 8px rgba(237,134,24,.25); }
  50% { background-color:#e02d36; border-color:#b51e27; box-shadow:0 1px 12px rgba(224,45,54,.28); }
}
#mbr-update-badge:not([hidden]):not(:disabled) {animation:mbrUpdateOrangeRed334 2s ease-in-out infinite!important;color:#fff!important;}
#mbr-update-badge .mbr-update-upload-icon {width:17px;height:17px;display:block;flex:0 0 17px;stroke:currentColor;}
#mbr-update-badge .mbr-update-mini-spinner {width:16px;height:16px;display:inline-block;flex:0 0 16px;border:2px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:mbr-spin .75s linear infinite;}
#mbr-update-badge:disabled{animation:none!important;background:#ad451f!important;}
.status-tag, .status-tag.live, .funeral-table .status-tag, .active-table .status-tag {white-space:nowrap!important;flex-wrap:nowrap!important;word-break:normal!important;min-width:max-content;}
@media screen and (max-width:860px) {
  body:has(.admin-topbar) .admin-topbar {position:fixed!important;}
  .admin-topbar #mbr-update-badge:not([hidden]) {position:absolute!important;left:50%!important;top:50%!important;right:auto!important;margin:0!important;translate:-50% -50%!important;transform-origin:center!important;z-index:2;max-width:116px!important;min-height:33px!important;padding:6px 9px!important;gap:5px!important;font-size:11px!important;line-height:1.1!important;justify-content:center!important;overflow:visible!important;}
  .admin-topbar #mbr-update-badge .mbr-update-upload-icon {width:15px;height:15px;flex-basis:15px;}
  .admin-topbar #mbr-update-badge .mbr-update-mini-spinner {width:14px;height:14px;flex-basis:14px;border-width:2px;}
  #mbr-update-overlay .mbr-update-spinner{width:32px!important;height:32px!important;border-width:3px!important;}
}
@media(prefers-reduced-motion:reduce){#mbr-update-badge:not([hidden]):not(:disabled){animation:none!important;background:#e02d36!important;}}

/* V3.1.37 — rolagem independente e rodape contrastante no Tenant */
body:has(.admin-topbar) #mbr-admin-sidebar.sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .brand,body:has(.admin-topbar) #mbr-admin-sidebar .side-divider{flex:0 0 auto!important;}
body:has(.admin-topbar) #mbr-admin-sidebar nav.mbr-grouped-menu{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-width:thin!important;scrollbar-color:#4286b8 #102f50!important;padding:8px 6px 16px!important;}
#mbr-admin-sidebar nav.mbr-grouped-menu::-webkit-scrollbar{display:block!important;width:7px!important;}
#mbr-admin-sidebar nav.mbr-grouped-menu::-webkit-scrollbar-track{background:#102f50!important;border-radius:8px!important;}
#mbr-admin-sidebar nav.mbr-grouped-menu::-webkit-scrollbar-thumb{background:#4286b8!important;border:1px solid #102f50!important;border-radius:8px!important;}
#mbr-admin-sidebar nav.mbr-grouped-menu::-webkit-scrollbar-thumb:hover{background:#65a9d9!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;position:relative!important;inset:auto!important;margin:0 -8px!important;padding:10px 12px 12px!important;background:#0b2440!important;border-top:1px solid rgba(130,180,220,.2)!important;box-shadow:0 -7px 15px rgba(0,0,0,.09)!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom .logout-button{min-height:36px!important;padding:7px 10px!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom .logout-button:hover{background:#19476f!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom .mbr-sidebar-version{color:#a9bfd6!important;padding:5px 0 0!important;margin:0!important;line-height:1.4!important;text-align:center!important;}
@media(max-width:860px){body:has(.admin-topbar) #mbr-admin-sidebar nav.mbr-grouped-menu{min-height:0!important;height:auto!important;overflow-y:auto!important;flex-wrap:nowrap!important;}body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom{flex-shrink:0!important;}}

/* V3.1.38: versao isolada no rodape e icone de saida no topo. */
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom{padding:0!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#0b2440!important;box-shadow:none!important;}
body:has(.admin-topbar) #mbr-admin-sidebar .side-bottom .mbr-sidebar-version{margin:0!important;padding:13px 5px!important;color:#b8cce2!important;text-align:center!important;}
.admin-topbar .mbr-top-logout-form{display:flex!important;align-items:center!important;margin:0!important;padding:0!important;min-width:35px!important;}
.admin-topbar .mbr-top-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:35px!important;height:35px!important;min-width:35px!important;border-radius:50%!important;border:1px solid #d4e2f0!important;background:#eaf2fa!important;color:#185789!important;padding:0!important;transition:background .18s,transform .14s,box-shadow .18s!important;cursor:pointer!important;}
.admin-topbar .mbr-top-logout .uicon,.admin-topbar .mbr-top-logout svg{width:18px!important;height:18px!important;flex:none!important;}
.admin-topbar .mbr-top-logout:hover{background:#d9eaf9!important;box-shadow:0 0 0 3px rgba(24,87,137,.1)!important;}
.admin-topbar .mbr-top-logout:active{transform:scale(.91)!important;}
@media(max-width:860px){.admin-topbar .mbr-top-logout-form{display:flex!important;}.admin-topbar .mbr-top-logout{display:inline-flex!important;}}

/* V3.1.39: espacamento no final da navegacao, antes da faixa Versao. */
body:has(.admin-topbar) #mbr-admin-sidebar nav.mbr-grouped-menu{padding-bottom:30px!important;scroll-padding-bottom:22px!important;}

/* V. 3.1.44: linguagem visual de formularios coerente com Usuarios. */
:root{--mbr-form-ink:#183b59;--mbr-form-border:#cfdaea;--mbr-form-focus:#1678d9;--mbr-form-muted:#64748b}
.mbr-records-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 16px!important;align-items:start}
.mbr-records-form .formgrid>.mbr-form-section-title{grid-column:1/-1;min-width:0;display:flex;align-items:center;gap:12px;margin:12px 0 -3px;color:var(--mbr-form-ink);font-size:14px;font-weight:750;letter-spacing:.01em}
.mbr-records-form .mbr-form-section-title:first-of-type{margin-top:0}
.mbr-records-form .mbr-form-section-title:after{content:"";height:1px;flex:1;background:#deE7f0}
.mbr-records-form .formgrid>label,.mbr-user-inputs>label{gap:8px!important;font-size:13px!important;font-weight:650!important;color:var(--mbr-form-ink)!important}
.mbr-records-form .formgrid>label :is(input:not([type=checkbox]),select,textarea),.mbr-user-inputs>label :is(input,select){min-height:44px!important;border:1px solid var(--mbr-form-border)!important;border-radius:8px!important;padding:10px 12px!important;background:#fff!important;color:#172f49!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .16s,box-shadow .16s}
.mbr-records-form .formgrid>label :is(input,select,textarea):focus,.mbr-user-inputs>label :is(input,select):focus{outline:0!important;border-color:var(--mbr-form-focus)!important;box-shadow:0 0 0 3px #1678d926!important}
.mbr-records-form .formgrid>label small,.mbr-user-inputs>label small{color:var(--mbr-form-muted)!important;font-size:11px!important;font-weight:500!important;line-height:1.4}
.mbr-records-form .formgrid>.funeral-info-field{grid-column:1/-1!important}
.mbr-records-form .formgrid>.funeral-info-field textarea{min-height:108px!important}
.mbr-records-form .dialog-content{padding:24px!important}
.mbr-records-form .dialog-footer,.mbr-user-actions{border-top:1px solid #e3eaf2;margin-top:24px!important;padding-top:18px;justify-content:flex-start!important}
.mbr-records-form .dialog-footer :is(button,a),.mbr-user-actions :is(button,a){border-radius:8px!important;min-height:42px!important}
.mbr-user-form-panel .mbr-user-inputs{gap:18px 16px}
.mbr-records-form .formgrid>label:has(.mbr-partners-native),.mbr-records-form .formgrid>label:has(.mbr-partner-selection){grid-column:1/-1}
@media(max-width:700px){.mbr-records-form .formgrid{grid-template-columns:minmax(0,1fr)!important;gap:15px!important}.mbr-records-form .dialog-content{padding:16px!important}.mbr-records-form .mbr-form-section-title{margin-top:8px!important}.mbr-records-form .dialog-footer{gap:10px!important}}


/* MemoriaBR 3.1.47 — acabamento de sombra da barra do Master no Tenant.
   Valores copiados do Master; somente seletores equivalentes do Tenant. */
@media (min-width:861px) {
  body:has(.admin-topbar) #mbr-admin-sidebar.sidebar {
    box-shadow: 4px 0 15px rgba(13,40,69,.15) !important;
  }
  body:has(.admin-topbar) .admin-topbar {
    box-shadow: 0 3px 12px rgba(13,40,69,.12) !important;
  }
  body:has(.admin-topbar) #mbr-admin-sidebar .brand {
    box-shadow: 0 3px 9px rgba(13,40,69,.07) !important;
  }
}
@media (max-width:860px) {
  body:has(.admin-topbar) .admin-topbar {
    box-shadow: 0 3px 10px rgba(13,40,69,.12) !important;
  }
  body.mbr-mobile-menu-open #mbr-admin-sidebar.sidebar {
    box-shadow: 8px 0 30px rgba(4,22,43,.28) !important;
  }
}


/* V3.1.48 — equivalência de acabamento entre Master e Tenant.
   O Master mantém as camadas: barra lateral, cabeçalho e marca com sombras próprias.
   Prioridade explícita para a sombra ficar visível na borda direita e inferior. */
@media (min-width: 901px) {
  body:has(.admin-topbar) #mbr-admin-sidebar.sidebar {
    position: fixed !important;
    z-index: 30 !important;
    box-shadow: 4px 0 15px rgba(13,40,69,.15) !important;
  }
  body:has(.admin-topbar) .admin-topbar {
    position: fixed !important;
    z-index: 25 !important;
    box-shadow: 0 3px 12px rgba(13,40,69,.12) !important;
  }
  body:has(.admin-topbar) #mbr-admin-sidebar .brand {
    position: relative !important;
    z-index: 3 !important;
    box-shadow: 0 3px 9px rgba(13,40,69,.07) !important;
  }
  body:has(.admin-topbar) #mbr-admin-sidebar nav.mbr-grouped-menu {
    position: relative !important;
    z-index: 1 !important;
  }
}
@media (min-width: 861px) and (max-width: 900px) {
  body:has(.admin-topbar) #mbr-admin-sidebar.sidebar {
    box-shadow: 4px 0 15px rgba(13,40,69,.15) !important;
  }
  body:has(.admin-topbar) .admin-topbar {
    box-shadow: 0 3px 12px rgba(13,40,69,.12) !important;
  }
  body:has(.admin-topbar) #mbr-admin-sidebar .brand {
    position: relative !important;
    z-index: 3 !important;
    box-shadow: 0 3px 9px rgba(13,40,69,.07) !important;
  }
}
@media (max-width: 860px) {
  body:has(.admin-topbar) .admin-topbar {
    box-shadow: 0 3px 10px rgba(13,40,69,.12) !important;
  }
  body.mbr-mobile-menu-open #mbr-admin-sidebar.sidebar {
    box-shadow: 8px 0 30px rgba(4,22,43,.28) !important;
  }
}

/* V3.1.49 | Analytics na Visao Geral — sem tiles adicionais */
.mbr-stats{background:#fff;border:1px solid #d5e1ed;border-radius:7px;padding:20px 22px;margin-bottom:18px;box-shadow:0 3px 9px #123d5d08}
.mbr-analytics-heading,.mbr-chart-title,.mbr-rank-label{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mbr-analytics-heading h2{font-size:18px;margin:0 0 3px;color:#153c5c}.mbr-analytics-heading p,.mbr-chart-note{margin:0;color:#70849a;font-size:12px}
.mbr-metrics-pill{background:#eff6fd;color:#164a71;border-radius:25px;padding:9px 14px;white-space:nowrap;font-size:12px}.mbr-metrics-pill strong{font-size:19px;margin-left:7px}
.mbr-period-summary{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e0eaf2;padding:16px 0;margin-bottom:15px;flex-wrap:wrap}
.mbr-period-summary span{color:#657b91;font-size:12px}.mbr-period-summary strong{color:#184f7c;margin-left:8px;font-size:18px}
.mbr-analysis-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mbr-chart-panel{min-width:0;border:1px solid #e3ebf3;border-radius:10px;padding:15px}
.mbr-chart-title h3{font-size:14px;margin:0;color:#153c5c}.mbr-metrics-tabs{display:flex;background:#eff5fb;border-radius:8px;padding:3px;gap:2px}.mbr-metrics-tabs button{font:inherit;font-size:12px;background:transparent;color:#56738d;border:0;border-radius:6px;padding:6px 10px;cursor:pointer}.mbr-metrics-tabs button.is-selected{background:#1b5d92;color:#fff}
.mbr-bars{display:flex;gap:7px;align-items:stretch;height:190px;overflow-x:auto;padding-top:14px}.mbr-bars[hidden]{display:none!important}.mbr-bar-col{flex:1 0 28px;min-width:28px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.mbr-bar-value{font-size:10px;font-weight:700;color:#315f81}.mbr-bar-track{height:137px;width:100%;display:flex;align-items:end;justify-content:center}.mbr-bar{background:linear-gradient(180deg,#3493d3,#1b5d92);border-radius:5px 5px 0 0;width:min(34px,85%);min-height:3px}.mbr-bar-col small{font-size:9px;color:#7790a5;white-space:nowrap}
.mbr-traffic-total{font-size:11px;color:#49789b}.mbr-chart-note{margin:7px 0 14px}.mbr-rankings{max-height:210px;overflow-y:auto}.mbr-rank-row{margin:0 0 13px}.mbr-rank-label strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#254c68}.mbr-rank-label span{font-size:11px;color:#6b8195;white-space:nowrap}.mbr-rank-track{background:#edf4f9;height:7px;border-radius:7px;margin-top:6px;overflow:hidden}.mbr-rank-track>div{height:100%;background:linear-gradient(90deg,#1b5d92,#51a3d9);border-radius:7px}.mbr-no-data{font-size:12px;color:#8699aa;margin:auto;text-align:center}
@media(max-width:860px){.mbr-analysis-layout{grid-template-columns:1fr}.mbr-stats{padding:15px}.mbr-analytics-heading{align-items:flex-start}.mbr-metrics-pill{font-size:11px}.mbr-bars{height:165px}.mbr-bar-track{height:115px}}
@media(max-width:440px){.mbr-analytics-heading{flex-direction:column}.mbr-period-summary{gap:10px}.mbr-chart-title{flex-wrap:wrap}}

/* V. 3.1.50 - dashboard executivo */
.mbr-executive{margin:0 0 22px}.mbr-exec-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 17px;flex-wrap:wrap}.mbr-exec-eyebrow{font-size:10px;letter-spacing:1.3px;color:#497b9c;font-weight:800}.mbr-exec-intro h2{margin:4px 0 5px;font-size:22px;color:#153954}.mbr-exec-intro p,.mbr-exec-panel>p{color:#657c91;font-size:13px;margin:0}.mbr-exec-range{font-size:12px;color:#657c91}.mbr-exec-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:14px}.mbr-exec-card{position:relative;overflow:hidden;border:1px solid #d6e2ee;border-radius:12px;background:#fff;padding:18px 18px 16px;border-left:4px solid #2073ad;box-shadow:0 3px 9px #142f4610;display:flex;flex-direction:column;gap:5px}.mbr-exec-card>span{font-size:12px;color:#48657d;font-weight:700}.mbr-exec-card strong{font-size:30px;color:#173a56;line-height:1.2}.mbr-exec-card small{color:#6c8294;font-size:11px}.mbr-exec-card.tone-cyan{border-left-color:#00a0be}.mbr-exec-card.tone-violet{border-left-color:#816ad2}.mbr-exec-card.tone-green{border-left-color:#25a779}.mbr-exec-card.tone-amber{border-left-color:#e6a134}.mbr-exec-card.tone-red{border-left-color:#dd6a6a}.mbr-exec-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}.mbr-exec-panel{background:#fff;border:1px solid #d6e2ee;border-radius:12px;padding:19px;min-width:0}.mbr-exec-panel h3{margin:0 0 6px;font-size:16px;color:#173954}.mbr-exec-indicator{display:flex;justify-content:space-between;gap:10px;margin-top:17px;font-size:13px;color:#405c73}.mbr-exec-indicator b{white-space:nowrap;color:#1a496c}.mbr-exec-meter{height:7px;border-radius:8px;background:#e7eff6;margin:9px 0 3px;overflow:hidden}.mbr-exec-meter i{display:block;background:linear-gradient(90deg,#1c74b3,#37b8cf);height:100%;border-radius:inherit}.mbr-exec-finance{grid-column:1/-1;background:linear-gradient(115deg,#f9fbfe,#f1f7fc)}.mbr-exec-unavailable{margin:14px 0;padding:10px 14px;background:#eaf0f6;color:#42617a;display:inline-block;border-radius:8px;font-weight:700;font-size:12px}.mbr-exec-finance small{display:block;color:#617a8e;margin-top:10px}@media(max-width:850px){.mbr-exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mbr-exec-panels{grid-template-columns:1fr}.mbr-exec-finance{grid-column:auto}}@media(max-width:450px){.mbr-exec-kpis{gap:9px}.mbr-exec-card{padding:13px 11px}.mbr-exec-card strong{font-size:24px}.mbr-exec-card>span{font-size:11px}.mbr-exec-panel{padding:15px}}

/* MemoriaBR 3.1.51 — inteligência de atendimento. */
.mbr-intelligence{margin:22px 0 26px;display:grid;gap:17px}
.mbr-intel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.mbr-intel-title h2{font-size:clamp(19px,2vw,25px);margin:4px 0 5px;color:#143657}
.mbr-intel-title p,.mbr-intel-block-title p{margin:0;color:#698098;font-size:13px;line-height:1.5}
.mbr-intel-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.mbr-intel-tile{display:flex;flex-direction:column;gap:9px;min-width:0;padding:19px;border:1px solid #deebf3;border-radius:16px;background:linear-gradient(140deg,#fff 42%,#f3f9fe);box-shadow:0 5px 18px rgba(15,50,82,.04)}
.mbr-intel-tile>span{font-size:12px;font-weight:750;color:#476780}.mbr-intel-tile strong{font-size:clamp(24px,2.6vw,34px);color:#123e65;line-height:1.1;font-weight:800}.mbr-intel-tile small{font-size:11px;line-height:1.5;color:#74889c}
.mbr-intel-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;align-items:stretch}
.mbr-intel-block{border-radius:17px;border:1px solid #dfe9f1;background:#fff;padding:20px;min-width:0;box-shadow:0 5px 18px rgba(15,50,82,.035)}
.mbr-intel-block-title{margin-bottom:18px}.mbr-intel-block-title h3{font-size:17px;color:#163d61;margin:0 0 5px}
.mbr-intel-findings{display:grid;gap:10px}.mbr-intel-finding{display:flex;gap:11px;align-items:center;background:#f3f9fd;border:1px solid #e2edf5;border-radius:12px;padding:12px}.mbr-intel-finding.warn{background:#fff8ef;border-color:#f9e6c6}.mbr-intel-dot{flex:none;width:9px;height:9px;background:#36a58e;border-radius:50%}.mbr-intel-finding.warn .mbr-intel-dot{background:#ed9b39}.mbr-intel-finding>div{flex:1;min-width:0;display:grid;gap:4px}.mbr-intel-finding strong{color:#234a67;font-size:12px}.mbr-intel-finding small{color:#75879a;font-size:11px;line-height:1.45}.mbr-intel-finding a{white-space:nowrap;font-size:12px;font-weight:700;color:#1163a5;text-decoration:none}
.mbr-intel-unmeasured{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f6;font-size:12px;color:#48677f}.mbr-intel-unmeasured strong{font-size:11px;font-weight:700;background:#f2f5f8;border:1px solid #e4e9ef;color:#71859a;padding:5px 8px;border-radius:50px;white-space:nowrap}.mbr-intel-measure-note{margin-top:15px;font-size:11px;line-height:1.6;color:#71869a}
@media(max-width:1050px){.mbr-intel-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mbr-intel-layout{grid-template-columns:1fr}}
@media(max-width:560px){.mbr-intelligence{margin:16px 0}.mbr-intel-tiles{gap:8px}.mbr-intel-tile{padding:13px;border-radius:12px}.mbr-intel-tile strong{font-size:25px}.mbr-intel-block{padding:14px}.mbr-intel-unmeasured{align-items:flex-start;flex-direction:column;gap:6px}.mbr-intel-finding{align-items:flex-start}}

/* V3.1.54 - categorias do funeral e diferenciação de datas pessoais */
.mbr-records-form .formgrid>.funeral-photo-field{grid-column:1/-1!important;margin:2px 0 8px!important}
.mbr-records-form .formgrid>.funeral-date-field{min-width:0;padding:13px 14px 15px!important;border:1px solid #d6e4f0;border-radius:10px;background:#f7fbff;box-sizing:border-box}
.mbr-records-form .formgrid>.funeral-date-field.birth-date{border-left:4px solid #3285b8}
.mbr-records-form .formgrid>.funeral-date-field.death-date{border-left:4px solid #d59346;background:#fffaf3}
.mbr-records-form .formgrid>.funeral-date-field input{margin-top:4px!important}
.mbr-records-form .formgrid>.funeral-info-field{margin-bottom:5px!important}
.mbr-records-form .formgrid>.funeral-info-field textarea{min-height:115px!important}
@media(max-width:700px){.mbr-records-form .formgrid>.funeral-date-field{padding:12px!important}}

/* V3.1.55 - Nome e foto lado a lado, upload discreto (somente funeral). */
.mbr-records-form .formgrid>.mbr-name-photo-row{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,1fr) 116px!important;align-items:start!important;gap:16px!important;min-width:0!important}
.mbr-records-form .mbr-name-photo-row>label{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;font-size:13px!important;font-weight:650!important}
.mbr-records-form .mbr-name-photo-row>label input{width:100%!important;min-height:44px!important;border:1px solid #c7d7e6!important;border-radius:8px!important;padding:10px 12px!important;box-sizing:border-box!important}
.mbr-records-form .mbr-name-photo-row>.funeral-photo-field{display:flex!important;flex-direction:column!important;min-width:0!important;margin:0!important;gap:4px!important}
.mbr-name-photo-row .funeral-photo-title{font-size:12px!important;white-space:nowrap!important}
.mbr-name-photo-row .funeral-photo-drop{height:76px!important;min-height:76px!important;padding:5px!important;border-radius:8px!important;border-width:1px!important}
.mbr-name-photo-row .funeral-photo-drop img{height:66px!important;width:66px!important;max-height:66px!important;object-fit:cover!important}
.mbr-name-photo-row #funeralPhotoInstructions{gap:1px!important}
.mbr-name-photo-row #funeralPhotoInstructions .uicon{width:18px!important;height:18px!important}
.mbr-name-photo-row #funeralPhotoInstructions strong{font-size:11px!important}
.mbr-name-photo-row #funeralPhotoInstructions small{font-size:9px!important}
.mbr-name-photo-row #funeralPhotoMessage{font-size:9px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
@media(max-width:420px){.mbr-records-form .formgrid>.mbr-name-photo-row{grid-template-columns:minmax(0,1fr) 94px!important;gap:9px!important}.mbr-name-photo-row .funeral-photo-drop{height:68px!important;min-height:68px!important}}

/* V3.1.56 — Nome e foto compactos, sempre lado a lado. */
.mbr-records-form .formgrid > .mbr-name-photo-row {
  grid-column:1 / -1!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:12px!important;
  box-sizing:border-box!important;
}
.mbr-records-form .formgrid > .mbr-name-photo-row > label {
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 0%!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
}
.mbr-records-form .formgrid > .mbr-name-photo-row > label input {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.mbr-records-form .formgrid > .mbr-name-photo-row > .funeral-photo-field {
  flex:0 0 112px!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.mbr-name-photo-row .funeral-photo-drop {width:100%!important;box-sizing:border-box!important}
.mbr-name-photo-row #funeralPhotoMessage{font-size:9px!important;max-width:112px!important}
@media(max-width:480px){
 .mbr-records-form .formgrid>.mbr-name-photo-row{gap:8px!important}
 .mbr-records-form .formgrid>.mbr-name-photo-row>.funeral-photo-field{flex-basis:90px!important;width:90px!important;min-width:90px!important;max-width:90px!important}
 .mbr-name-photo-row #funeralPhotoMessage{max-width:90px!important}
}

/* V3.1.57: foto ao lado do nome e instruções alinhadas. */
.mbr-records-form .formgrid>.mbr-name-photo-row>.funeral-photo-field{flex:0 0 142px!important;width:142px!important;min-width:142px!important;max-width:142px!important;}
.mbr-name-photo-row .funeral-photo-drop{height:136px!important;min-height:136px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:9px!important;}
.mbr-name-photo-row #funeralPhotoInstructions{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:100%!important;text-align:center!important;}
.mbr-name-photo-row #funeralPhotoInstructions .uicon{display:block!important;width:23px!important;height:23px!important;margin:0 auto!important;}
.mbr-name-photo-row #funeralPhotoInstructions strong,.mbr-name-photo-row #funeralPhotoInstructions small{display:block!important;max-width:100%!important;line-height:1.3!important;text-align:center!important;}
.mbr-name-photo-row .funeral-photo-drop img{width:100%!important;height:116px!important;max-height:116px!important;object-fit:cover!important;}
.mbr-name-photo-row #funeralPhotoMessage{max-width:142px!important;}
.mbr-date-mark{display:inline-block!important;margin-left:6px!important;font-weight:800!important;line-height:1!important;vertical-align:baseline!important;}
.mbr-date-mark.birth-mark{color:inherit!important;font-size:17px!important;}
.mbr-date-mark.death-mark{color:#151515!important;font-size:15px!important;}
@media(max-width:480px){.mbr-records-form .formgrid>.mbr-name-photo-row>.funeral-photo-field{flex-basis:120px!important;width:120px!important;min-width:120px!important;max-width:120px!important}.mbr-name-photo-row #funeralPhotoMessage{max-width:120px!important;}}

/* V3.1.58: símbolos das datas na mesma linha dos rótulos */
.mbr-records-form .funeral-date-field{min-width:0!important;}
.mbr-records-form .funeral-date-field .mbr-date-mark{display:inline!important;position:static!important;float:none!important;margin-left:7px!important;white-space:nowrap!important;vertical-align:baseline!important;line-height:inherit!important;}
/* Hover vermelho do botão de saída */
.admin-topbar .mbr-top-logout:hover,.admin-topbar .mbr-top-logout:focus-visible{background:#fee2e2!important;color:#b91c1c!important;border-color:#fca5a5!important;box-shadow:0 0 0 3px rgba(185,28,28,.12)!important;}
.mbr-date-heading{display:inline-flex!important;align-items:baseline!important;gap:5px!important;white-space:nowrap!important;max-width:100%!important}.mbr-date-heading .mbr-date-mark{margin-left:0!important;flex:none!important}

/* V3.1.58: símbolos das datas na mesma linha dos rótulos */
.mbr-records-form .funeral-date-field{min-width:0!important;}
.mbr-records-form .funeral-date-field .mbr-date-mark{display:inline!important;position:static!important;float:none!important;margin-left:7px!important;white-space:nowrap!important;vertical-align:baseline!important;line-height:inherit!important;}
/* Hover vermelho do botão de saída */
.admin-topbar .mbr-top-logout:hover,.admin-topbar .mbr-top-logout:focus-visible{background:#fee2e2!important;color:#b91c1c!important;border-color:#fca5a5!important;box-shadow:0 0 0 3px rgba(185,28,28,.12)!important;}
.mbr-date-heading{display:inline-flex!important;align-items:baseline!important;gap:5px!important;white-space:nowrap!important;max-width:100%!important}.mbr-date-heading .mbr-date-mark{margin-left:0!important;flex:none!important}

/* 3.1.59 — Ícone de nascimento e rótulos de datas bem alinhados. */
.mbr-records-form .funeral-date-field .mbr-date-heading{display:inline-flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;}
.mbr-records-form .funeral-date-field .mbr-date-mark{margin:0!important;line-height:1!important;flex:none!important;vertical-align:middle!important;}
.mbr-records-form .funeral-date-field .birth-mark{font-size:17px!important;color:#175c94!important;}

/* V 3.1.60 — senha ao lado de Memorial protegido e link copiável na listagem. */
.mbr-records-form #funeralPasswordWrap {min-width:0!important; display:flex;flex-direction:column;gap:7px;align-self:start}
.mbr-records-form #funeralPasswordWrap[style*="none"] {display:none!important}
.mbr-records-form #funeralPasswordWrap input {width:100%;min-width:0;box-sizing:border-box}
.mbr-funeral-url {display:flex;align-items:center;gap:8px;max-width:255px}
.mbr-funeral-url-text {display:block;min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1165a3;font-size:12px}
.mbr-funeral-url .copy-memorial-link {flex-shrink:0;background:#e2f2ff;color:#146da6}
.mbr-funeral-url .copy-memorial-link:hover{background:#bedfff;transform:translateY(-1px)}
.mbr-password-protected{display:flex;flex-direction:column;gap:2px;white-space:nowrap;color:#44596f;font-size:12px}
.mbr-password-protected .uicon{display:none}
.mbr-password-protected small{font-size:10px;color:#6a7c90}
@media(max-width:680px){.mbr-funeral-url{max-width:190px}.mbr-funeral-url-text{max-width:130px}}

/* 3.1.61 — ações compactas e compartilhamento de memorial */
.funeral-table .mbr-funeral-url{display:flex;align-items:center;gap:7px;white-space:nowrap}
.funeral-table .mbr-url-compact{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#526984}
.funeral-table .mbr-share-pass{display:flex;align-items:center;gap:8px;white-space:nowrap}
.funeral-table .mbr-pass-value{font-size:12px;color:#155a98;font-weight:750;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.funeral-table .mbr-password-unavailable{font-size:11px;color:#9a5f23;white-space:nowrap}
.funeral-table .record-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.funeral-table .icon-action{min-width:34px;min-height:34px;width:34px;height:34px;padding:6px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;transition:transform .16s,background-color .16s,box-shadow .16s}
.funeral-table .icon-action:hover{transform:translateY(-2px);box-shadow:0 4px 11px #0d37651c}
.funeral-table .icon-action:active{transform:scale(.92)}
.funeral-table .copy-memorial-link,.funeral-table .mbr-copy-pass{background:#e0efff;color:#0c5da8;border:1px solid #c0daff}
.funeral-table .record-actions .edit{background:#e0efff;color:#0c5da8}
.funeral-table .record-actions .finalize-action{background:#e4f6e8;color:#18773b}
.funeral-table .record-actions .danger-action{background:#fee7e7;color:#bc2633}
.funeral-table .mbr-funeral-url>.open-action{background:#eaf1ff;color:#315d9d}
@media(max-width:760px){.funeral-table .mbr-url-compact{max-width:85px}.funeral-table .mbr-pass-value{max-width:115px}}

/* V5.2.2 — busca e paginacao no cadastro de funerais. */
.mbr-funerals-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:12px 0 8px;padding:15px;background:#f5f8fc;border:1px solid #d9e4f0;border-radius:10px}
.mbr-funerals-filter label{display:flex;flex:1 1 190px;flex-direction:column;gap:5px;color:#38536d;font-weight:600;font-size:12px;min-width:160px}
.mbr-funerals-filter label:first-of-type{flex:2 1 260px}
.mbr-funerals-filter input{width:100%;height:41px;box-sizing:border-box;border:1px solid #c8d6e5;background:#fff;border-radius:8px;padding:8px 11px;font:inherit;color:#193952}
@media(min-width:992px){.mbr-funerals-filter{display:grid;grid-template-columns:minmax(300px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;flex-wrap:nowrap}.mbr-funerals-filter label,.mbr-funerals-filter label:first-of-type{min-width:0;flex:none}.mbr-funerals-clear{align-self:end;white-space:nowrap;margin-bottom:2px}}
.mbr-funerals-clear{display:inline-flex;align-items:center;justify-content:center;height:41px;padding:0 14px;border:1px solid #cbd8e5;border-radius:8px;text-decoration:none;color:#245477;white-space:nowrap;font-size:12px;font-weight:700;background:#fff}
.mbr-funerals-summary{font-size:13px;color:#526b83;margin:10px 0 12px}.mbr-funerals-summary strong{font-size:15px;color:#173b5d}
.mbr-funerals-pagination{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding:15px 0 4px}
.mbr-funerals-pagination a{min-width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:8px;border:1px solid #d1deeb;background:#fff;color:#20537d;text-decoration:none;font-weight:700;font-size:12px}
.mbr-funerals-pagination a.is-current{background:#176da5;color:white;border-color:#176da5}
.mbr-funerals-pagination a.is-disabled{opacity:.4;pointer-events:none}
.mbr-funerals-loading .funeral-table{opacity:.55;transition:opacity .15s}
@media(max-width:600px){.mbr-funerals-filter{gap:8px;padding:10px}.mbr-funerals-filter label{flex:1 1 100%;min-width:0}.mbr-funerals-filter label:first-of-type{flex-basis:100%}}

/* V5.2.5 — identidade atual da empresa e contraste de marca transparente clara. */
.tenant-login-brand.tenant-brand-dark{background:#102f50!important;border-radius:11px!important;padding:14px 18px!important;max-width:340px!important}
.tenant-login-brand.tenant-brand-dark img{background:transparent!important}
body:has(.admin-topbar) #mbr-admin-sidebar .brand.tenant-brand-dark{background:#102f50!important;border-bottom-color:#102f50!important}
body:has(.admin-topbar) #mbr-admin-sidebar .brand.tenant-brand-dark img.tenant-sidebar-logo{background:transparent!important}

/* V5.2.6 — a faixa da logo ocupa toda a largura do cartão de login,
   sem margens laterais ou superior, preservando o padding dos campos. */
.tenant-login-page .login{padding-top:0!important;overflow:hidden}
.tenant-login-page .login>.tenant-login-brand{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:calc(100% + 56px)!important;max-width:none!important;
 margin:0 -28px 16px!important;padding:0!important;
 border-radius:0!important;box-sizing:border-box!important;
}
.tenant-login-page .login>.tenant-login-brand.tenant-brand-dark{
 background:#102f50!important;
}
.tenant-login-page .login>.tenant-login-brand img{
 display:block!important;width:100%!important;max-width:none!important;
 height:auto!important;max-height:none!important;
 margin:0!important;padding:0!important;object-fit:contain!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:transparent!important;
}


/* V5.2.8 — Login Desktop conforme layout 60/40 aprovado.
   Escopo exclusivo da tela deslogada; não altera dashboard, chat ou formulário mobile. */
@media (min-width: 900px) {
  html:has(.mbr-login-split), body:has(.mbr-login-split){height:100%;min-height:100%;overflow-x:hidden}
  body:has(.mbr-login-split){background:#061d3a!important}
  .tenant-login-page.mbr-login-split{
    display:grid!important;grid-template-columns:60% 40%!important;align-items:stretch!important;
    width:100%!important;height:100vh!important;min-height:620px!important;
    margin:0!important;padding:0!important;background:transparent!important;
  }
  .mbr-login-institutional{
    min-width:0;position:relative;display:flex;align-items:center;justify-content:center;
    overflow:hidden;color:#fff;
    background: url('/assets/memoriabr-login-waves.svg') center/100% 100% no-repeat,
      radial-gradient(ellipse at 78% 12%,#1164af 0%, transparent 35%),
      radial-gradient(ellipse at 12% 83%,#164c8b 0%,transparent 43%),
      linear-gradient(145deg,#0d396a 0%,#061f43 54%,#082c5b 100%);
  }
  .mbr-institutional-center{width:min(85%,760px);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-25px)}
  .mbr-institutional-logo{width:min(100%,640px);height:auto;max-height:52vh;object-fit:contain;display:block;filter:drop-shadow(0 10px 25px #001a3e65)}
  .mbr-institutional-slogan{font-size:clamp(17px,2vw,29px)!important;line-height:1.34;text-align:center;font-weight:400;font-style:italic;letter-spacing:.005em;color:#f4f8ff;margin:4px auto 0!important;text-wrap:balance}
  .mbr-institutional-footer{position:absolute;left:0;right:0;bottom:5.2%;text-align:center;font-size:clamp(12px,1.16vw,16px);line-height:1.55;color:#edf3fb;padding:0 18px}
  .mbr-institutional-footer a{color:#fff;font-weight:600;text-decoration:none;display:block;margin-top:5px}
  .mbr-login-company{min-width:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(148deg,#0b335e 0%,#061e3e 52%,#061b36 100%);position:relative;padding:40px clamp(28px,5vw,110px)}
  .mbr-login-company:before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:#21a9ef44;pointer-events:none}
  .mbr-login-company .login{display:flex!important;flex-direction:column;justify-content:center;width:min(100%,530px)!important;max-width:none!important;margin:0 auto!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;color:#fff}
  .mbr-login-company .login>.tenant-login-brand{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0 auto clamp(35px,6.5vh,76px)!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .mbr-login-company .login>.tenant-login-brand.tenant-brand-dark{background:transparent!important}
  .mbr-login-company .login>.tenant-login-brand img{display:block!important;width:100%!important;max-width:100%!important;max-height:26vh!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;object-fit:contain!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important}
  .mbr-login-company .login>form{width:100%;min-width:0}
  .mbr-login-company .login label{display:block!important;margin:0 0 22px!important;color:#f8fbff!important;font-size:clamp(14px,1.12vw,17px)!important;line-height:1.5;font-weight:750!important}
  .mbr-login-company .login input{display:block;width:100%;height:55px;box-sizing:border-box;border-radius:12px!important;border:1px solid #32648d!important;background:linear-gradient(180deg,#123d67,#0c3058)!important;color:#f7fbff!important;padding:11px 18px!important;margin:7px 0 0!important;font-size:clamp(15px,1.2vw,18px)!important;box-shadow:inset 0 1px 3px #0003!important;outline-offset:3px}
  .mbr-login-company .login input:focus{border-color:#1cbaff!important;box-shadow:0 0 0 3px #00aaff35!important}
  .mbr-login-company .login input:-webkit-autofill{-webkit-text-fill-color:#fff!important;box-shadow:0 0 0 1000px #153a62 inset!important}
  .mbr-login-company .login button[type=submit]{width:100%;height:67px;margin-top:10px!important;border:1px solid #57c9ff!important;border-radius:12px!important;background:linear-gradient(180deg,#07aefa,#0875dc)!important;color:#fff!important;font-size:19px!important;font-weight:750!important;box-shadow:0 8px 20px #020e2488!important;transition:filter .2s,transform .2s}
  .mbr-login-company .login button[type=submit]:hover{filter:brightness(1.13);transform:translateY(-1px)}
  .mbr-login-company .login>.mbr-login-version-row{margin:32px 0 0!important}
  .mbr-login-company .login .mbr-login-version{color:#d5e5f8!important;font-size:16px!important}
  .mbr-login-company .login>.error{margin:0 0 20px!important}
  /* Hide old fixed white footer if any legacy snippet is cached. */
  .mbr-login-split>.tenant-support-footer{display:none!important}
}
@media (max-width: 899px){
  .mbr-login-split>.mbr-login-institutional{display:none!important}
  .mbr-login-split>.mbr-login-company{width:100%;display:flex;align-items:center;justify-content:center;flex:1;min-height:100svh}
  .mbr-login-split>.mbr-login-company>.login{margin:16px auto!important}
  .mbr-login-split{padding-bottom:18px!important}
}
@media (min-width:900px) and (max-height:720px){
  .mbr-login-company{padding-top:20px;padding-bottom:20px}
  .mbr-login-company .login>.tenant-login-brand{margin-bottom:24px!important}
  .mbr-login-company .login>.tenant-login-brand img{max-height:21vh!important}
  .mbr-login-company .login label{margin-bottom:13px!important}
  .mbr-login-company .login input{height:46px}
  .mbr-login-company .login button[type=submit]{height:53px}
  .mbr-institutional-logo{max-height:48vh}
  .mbr-institutional-footer{bottom:3%}
}

/* V5.3.1 — login MOBILE aprovado: identidade azul integral, sem cartão e
   copyright em duas linhas, isolado do painel autenticado e do desktop. */
.mbr-mobile-login-footer{display:none}
@media (max-width:899px){
  html:has(.mbr-login-split),body:has(.mbr-login-split){min-height:100%;background:#071f40!important;overflow-x:hidden!important}
  body:has(.mbr-login-split){margin:0!important}
  .tenant-login-page.mbr-login-split{
    display:block!important;min-height:100svh!important;height:auto!important;
    width:100%!important;margin:0!important;padding:0!important;
    background:#071f40!important;color:#fff!important;
  }
  .mbr-login-split>.mbr-login-institutional{display:none!important}
  .mbr-login-split>.mbr-login-company{
    box-sizing:border-box!important;position:relative!important;
    display:flex!important;flex-direction:column!important;
    align-items:stretch!important;justify-content:flex-start!important;
    min-height:100svh!important;height:auto!important;width:100%!important;
    padding:clamp(48px,10svh,140px) clamp(23px,7%,55px) calc(28px + env(safe-area-inset-bottom,0px))!important;
    background:radial-gradient(ellipse at 42% 24%,#0c3867 0%,transparent 52%),
      radial-gradient(ellipse at 65% 84%,#0b2d56 0%,transparent 40%),
      linear-gradient(160deg,#092b55 0%,#061d3d 70%,#071e3e 100%)!important;
  }
  .mbr-login-company:before{display:none!important}
  .mbr-login-company>.login{
    display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
    width:100%!important;max-width:530px!important;min-width:0!important;
    margin:0 auto!important;padding:0!important;border:0!important;
    border-radius:0!important;background:transparent!important;box-shadow:none!important;
    overflow:visible!important;color:#fff!important;
  }
  .mbr-login-company .login>.tenant-login-brand,
  .mbr-login-company .login>.tenant-login-brand.tenant-brand-dark{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:auto!important;min-height:0!important;
    margin:0 auto clamp(48px,8svh,88px)!important;padding:0!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    border-radius:0!important;
  }
  .mbr-login-company .login>.tenant-login-brand img{
    display:block!important;width:100%!important;max-width:100%!important;
    height:auto!important;max-height:clamp(120px,24svh,230px)!important;
    margin:0!important;padding:0!important;object-fit:contain!important;
    background:transparent!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;
  }
  .mbr-login-company .login>form{width:100%!important;min-width:0!important}
  .mbr-login-company .login label{
    display:block!important;margin:0 0 24px!important;
    font-size:clamp(15px,3.75vw,18px)!important;font-weight:750!important;
    line-height:1.5!important;color:#fff!important;
  }
  .mbr-login-company .login input{
    display:block!important;width:100%!important;height:clamp(50px,7svh,61px)!important;
    margin:8px 0 0!important;padding:10px 14px!important;border-radius:12px!important;
    border:1px solid #4597d3!important;background:linear-gradient(180deg,#123d68,#0d345d)!important;
    color:#fff!important;font-size:16px!important;box-shadow:inset 0 1px 3px #0002!important;
    box-sizing:border-box!important;
  }
  .mbr-login-company .login input:focus{border-color:#26b9ff!important;outline:2px solid #0baafb66!important;outline-offset:1px!important}
  .mbr-login-company .login input:-webkit-autofill{-webkit-text-fill-color:#fff!important;box-shadow:0 0 0 1000px #153a62 inset!important}
  .mbr-login-company .login button[type=submit]{
    display:block!important;width:100%!important;height:clamp(56px,8svh,69px)!important;
    margin:12px 0 0!important;padding:10px!important;
    border:1px solid #50d4ff!important;border-radius:12px!important;
    background:linear-gradient(180deg,#02b7fa,#067de5)!important;color:#fff!important;
    font-size:clamp(18px,4.3vw,22px)!important;font-weight:750!important;
    box-shadow:0 7px 19px #001a3f75!important;
  }
  .mbr-login-company .login>.mbr-login-version-row{margin:clamp(30px,6svh,65px) 0 0!important}
  .mbr-login-company .login .mbr-login-version{color:#87a4c4!important;font-size:clamp(12px,3vw,15px)!important}
  .mbr-login-company .login>.error{margin:0 0 15px!important}
  .mbr-login-company>.mbr-mobile-login-footer{
    display:block!important;flex:none!important;width:100%!important;max-width:530px!important;
    margin:clamp(100px,18svh,260px) auto 0!important;
    padding:0!important;text-align:center!important;
    font-size:clamp(11px,3vw,15px)!important;line-height:1.6!important;
    color:#f1f7ff!important;
  }
  .mbr-mobile-login-footer a{display:block;margin-top:6px;color:#fff;text-decoration:none}
  .mbr-login-split>.tenant-support-footer{display:none!important}
}
@media(max-width:899px) and (max-height:740px){
  .mbr-login-split>.mbr-login-company{padding-top:clamp(28px,6svh,65px)!important}
  .mbr-login-company .login>.tenant-login-brand{margin-bottom:clamp(27px,5svh,45px)!important}
  .mbr-login-company .login>.tenant-login-brand img{max-height:19svh!important}
  .mbr-login-company .login label{margin-bottom:14px!important}
  .mbr-login-company .login>.mbr-login-version-row{margin-top:22px!important}
  .mbr-login-company>.mbr-mobile-login-footer{margin-top:clamp(86px,16svh,120px)!important}
}


/* V5.3.3 — APENAS LOGIN: viewport fixo sem rolagem vertical ou horizontal.
   Redimensiona o conteúdo em telas baixas; não atinge o painel autenticado. */
html:has(.tenant-login-page.mbr-login-split),
body:has(.tenant-login-page.mbr-login-split){
  width:100%!important;height:100%!important;max-height:100%!important;
  overflow:hidden!important;overscroll-behavior:none!important;
}
body:has(.tenant-login-page.mbr-login-split){position:relative!important}
.tenant-login-page.mbr-login-split{
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  height:100vh!important;height:100dvh!important;
  min-height:0!important;max-height:100dvh!important;
  overflow:hidden!important;overscroll-behavior:none!important;
}
@media(min-width:900px){
  .tenant-login-page.mbr-login-split{height:100dvh!important;min-height:0!important;max-height:100dvh!important}
  .mbr-login-institutional,.mbr-login-company{min-height:0!important;max-height:100dvh!important;box-sizing:border-box!important;overflow:hidden!important}
}
@media(min-width:900px) and (max-height:620px){
  .mbr-institutional-center{transform:none!important}
  .mbr-institutional-logo{max-height:41dvh!important}
  .mbr-institutional-footer{bottom:2%!important;font-size:12px!important}
  .mbr-login-company{padding-top:10px!important;padding-bottom:10px!important}
  .mbr-login-company .login>.tenant-login-brand{margin-bottom:clamp(8px,2dvh,18px)!important}
  .mbr-login-company .login>.tenant-login-brand img{max-height:20dvh!important}
  .mbr-login-company .login label{margin-bottom:8px!important}
  .mbr-login-company .login input{height:40px!important}
  .mbr-login-company .login button[type=submit]{height:45px!important}
  .mbr-login-company .login>.mbr-login-version-row{margin-top:10px!important}
}
@media(max-width:899px){
  .tenant-login-page.mbr-login-split{display:block!important;padding:0!important}
  .mbr-login-split>.mbr-login-company{
    height:100%!important;min-height:0!important;max-height:100%!important;
    overflow:hidden!important;padding:clamp(10px,4dvh,42px) clamp(20px,7%,55px) calc(53px + env(safe-area-inset-bottom,0px))!important;
    box-sizing:border-box!important;
  }
  .mbr-login-company>.login{flex:0 1 auto!important;min-height:0!important}
  .mbr-login-company .login>.tenant-login-brand{
    margin-bottom:clamp(12px,4dvh,44px)!important;
    flex-shrink:1!important;
  }
  .mbr-login-company .login>.tenant-login-brand img{max-height:clamp(70px,20dvh,190px)!important}
  .mbr-login-company .login label{margin-bottom:clamp(8px,2.3dvh,22px)!important}
  .mbr-login-company .login input{height:clamp(38px,6dvh,57px)!important}
  .mbr-login-company .login button[type=submit]{height:clamp(43px,7dvh,62px)!important;margin-top:clamp(6px,1.5dvh,14px)!important}
  .mbr-login-company .login>.mbr-login-version-row{margin:clamp(10px,3dvh,32px) 0 0!important}
  .mbr-login-company>.mbr-mobile-login-footer{
    position:absolute!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    left:0!important;right:0!important;width:100%!important;max-width:none!important;
    margin:0!important;padding:0 10px!important;box-sizing:border-box!important;
    font-size:clamp(10px,2.9vw,14px)!important;line-height:1.35!important;
  }
}
@media(max-width:899px) and (max-height:600px){
  .mbr-login-split>.mbr-login-company{padding-top:8px!important}
  .mbr-login-company .login>.tenant-login-brand{margin-bottom:10px!important}
  .mbr-login-company .login>.tenant-login-brand img{max-height:clamp(55px,15dvh,105px)!important}
  .mbr-login-company .login label{margin-bottom:6px!important;font-size:14px!important}
  .mbr-login-company .login input{height:37px!important;margin-top:3px!important}
  .mbr-login-company .login button[type=submit]{height:42px!important;margin-top:5px!important}
  .mbr-login-company .login>.mbr-login-version-row{margin-top:8px!important}
}
