
:root{
  --navy:#1D1D1F;--navy-2:#1D1D1F;--blue:#007AFF;--blue-2:#007AFF;--green:#007AFF;--orange:#AAAAAA;--purple:#1D1D1F;
  --ink:#1D1D1F;--muted:#AAAAAA;--bg:#F5F5F7;--card:#fff;--line:#e2e2e7;--shadow:0 6px 20px rgba(29,29,31,.08);
  --r:12px;
}
*{box-sizing:border-box}
svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}
svg path,svg circle,svg rect,svg line,svg polyline,svg polygon{vector-effect:non-scaling-stroke}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter, ui-sans-serif, -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100vh}
button{font:inherit}
.app{min-height:100vh;display:none}.app.authenticated{display:block}
.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#1D1D1F;color:#fff;padding:16px 14px;z-index:50;display:flex;flex-direction:column;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;padding:0 12px 16px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto}.brand-mark img{width:40px;height:40px;display:block;object-fit:contain}
.brand-text{font-size:16px;line-height:1.1;font-weight:700}.brand-text strong{display:block;font-size:23px;font-weight:800}
.nav-main{margin-top:4px}.nav-section{margin:14px 10px 7px;color:#b8c9de;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.nav-item{height:38px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#f1f7ff;text-decoration:none;border-radius:7px;font-size:14px;margin:1px 0}
.nav-item:hover{background:rgba(255,255,255,.07)}.nav-item.active{background:#007AFF;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.nav-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.cloud-panel{margin-top:auto;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.05);padding:11px 12px;font-size:11px;color:#d9e7f6;transition:border-color .18s ease,background .18s ease}
.cloud-title{display:flex;align-items:center;gap:7px;font-weight:700;color:#fff;margin-bottom:7px}.cloud-dot{width:22px;height:18px;border-radius:9px;background:#7f8ea3;display:inline-grid;place-items:center;transition:background .18s ease,box-shadow .18s ease}.cloud-dot svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cloud-detail{padding-left:25px;color:#bcd0e5;font-size:10px;line-height:1.35;margin-bottom:8px}.cloud-sync-label{padding-left:25px;color:#d9e7f6}.cloud-sync-time{padding-left:25px;margin-top:5px;color:#fff;font-weight:700;line-height:1.3}
.cloud-panel[data-cloud-state="ok"]{border-color:rgba(40,218,156,.38);background:rgba(24,199,135,.08)}.cloud-panel[data-cloud-state="ok"] .cloud-dot{background:#18c787;box-shadow:0 0 0 3px rgba(24,199,135,.12)}
.cloud-panel[data-cloud-state="syncing"]{border-color:rgba(73,156,255,.38);background:rgba(45,132,238,.09)}.cloud-panel[data-cloud-state="syncing"] .cloud-dot{background:#3d8ff0;animation:cloudPulse 1.1s ease-in-out infinite}
.cloud-panel[data-cloud-state="pending"]{border-color:rgba(255,190,72,.42);background:rgba(255,177,38,.09)}.cloud-panel[data-cloud-state="pending"] .cloud-dot{background:#f2aa2a}
.cloud-panel[data-cloud-state="error"]{border-color:rgba(255,100,108,.42);background:rgba(223,72,82,.10)}.cloud-panel[data-cloud-state="error"] .cloud-dot{background:#e3535d}
.cloud-panel[data-cloud-state="checking"] .cloud-dot{background:#7f8ea3;animation:cloudPulse 1.2s ease-in-out infinite}
@keyframes cloudPulse{0%,100%{opacity:.62}50%{opacity:1}}
.shell{margin-left:224px;min-height:100vh}
.topbar{height:80px;background:#fff;border-bottom:1px solid #e6ebf2;display:flex;align-items:center;gap:18px;padding:0 24px 0 28px;position:sticky;top:0;z-index:30}
.menu-btn{border:0;background:transparent;padding:0;display:grid;place-items:center;color:#0c2649;width:30px;height:30px;cursor:pointer}.menu-btn svg{width:22px;height:22px}
.page-title{font-size:18px;font-weight:800;margin:0}.subtitle{font-size:11px;color:var(--muted);margin-top:3px}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:20px}
.online{display:flex;align-items:center;gap:8px;background:#edf9f4;color:#0c9968;padding:9px 12px;border-radius:8px;font-size:12px;font-weight:700}.online svg{width:18px}
.bell{position:relative;width:36px;height:36px;display:grid;place-items:center;color:#213d63}.bell svg{width:21px}.badge{position:absolute;top:-2px;right:0;background:#ef3d49;color:white;border-radius:20px;font-size:10px;min-width:17px;height:17px;display:grid;place-items:center;border:2px solid #fff}
.profile{display:flex;align-items:center;gap:9px}.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #e8eef6}.profile-name{font-size:12px;font-weight:800}.profile-role{font-size:10px;color:#718099;margin-top:2px}.profile-chevron{width:13px;color:#6d7b90}
.content{padding:20px 20px 68px;max-width:1340px;margin:0 auto}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.metric-card,.card{background:#fff;border:1px solid #edf1f6;border-radius:var(--r);box-shadow:var(--shadow)}
.metric-card{height:100px;display:flex;align-items:center;padding:18px;gap:16px}.metric-icon{width:54px;height:54px;border-radius:11px;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.metric-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.blue{background:linear-gradient(135deg,#0b67ea,#1379ff)}.green{background:linear-gradient(135deg,#11ad79,#15cb8f)}.orange{background:linear-gradient(135deg,#ff971e,#ff8010)}.purple{background:linear-gradient(135deg,#7d33e8,#8b46f1)}
.metric-label{font-size:12px}.metric-value{font-size:23px;font-weight:800;letter-spacing:.01em;margin-top:2px}.metric-delta{font-size:11px;color:#5e6f87;margin-top:4px}.metric-delta strong{color:#08a96f}.metric-delta .up{display:inline-block;font-weight:900;margin-right:4px;color:#08a96f}
.dashboard-grid{display:grid;grid-template-columns:1.64fr .84fr .94fr;gap:14px;align-items:start}.card{padding:17px 18px}.card-title{font-size:15px;font-weight:800;margin:0 0 15px}.card-head{display:flex;align-items:center;justify-content:space-between}.card-link{font-size:12px;color:#0767ef;text-decoration:none;font-weight:700;display:flex;align-items:center;gap:5px}.chev{font-size:24px;line-height:1}
.recent{grid-column:1;grid-row:1}.donut-card{grid-column:2;grid-row:1}.activity-card{grid-column:3;grid-row:1;min-height:401px}.line-card{grid-column:1;grid-row:2}.region-card{grid-column:2;grid-row:2}.quick-card{grid-column:3;grid-row:2}.mini-stats{grid-column:1/3;grid-row:3;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:transparent;border:0;box-shadow:none;padding:0}.footer{grid-column:1/4;text-align:center;color:#6d7e96;font-size:10px;padding:20px 0 0}
.table-wrap{overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:11px}.table thead th{text-align:left;color:#5f6e84;font-weight:600;background:#f8fafc;border:1px solid #edf1f5;padding:10px 8px}.table tbody td{padding:10px 8px;border-bottom:1px solid #edf1f5;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.type-pill{display:inline-flex;padding:5px 7px;border-radius:5px;background:#e7f1ff;color:#0863e7;font-size:10px}.type-pill.local{background:#e8f8f0;color:#139265}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;background:#e9f8f1;color:#11835e;font-size:9px;white-space:nowrap}.status-pill span{width:13px;height:13px;border:1.6px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:8px}.dots{font-size:18px;letter-spacing:1px;color:#264163}.recent-footer{border-top:1px solid #edf1f5;padding:12px 6px 0;margin-top:1px}.row-chevron{display:none}
.donut{width:190px;height:190px;border-radius:50%;margin:28px auto 24px;background:conic-gradient(#2a86ef 0 71%,#34ac73 71% 100%);position:relative}.donut:after{content:"";position:absolute;inset:45px;background:white;border-radius:50%}.donut-center{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center;font-weight:800;font-size:25px}.donut-center span{display:block;font-size:12px;font-weight:500;color:#5d6e89;margin-top:2px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px}.legend-item{display:flex;gap:7px;align-items:flex-start}.sq{width:10px;height:10px;border-radius:2px;margin-top:2px}.legend b{font-size:10px}.legend small{display:block;color:#4f6079;font-size:10px;margin-top:4px}
.activity-list{display:grid;gap:17px}.activity{display:grid;grid-template-columns:32px 1fr;gap:12px;position:relative}.activity:before{content:"";position:absolute;left:15px;top:32px;width:1px;height:38px;background:#e4eaf2}.activity:last-child:before{display:none}.act-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff}.act-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9}.act-title{font-size:11px;font-weight:800}.act-meta{font-size:9px;color:#5f7088;line-height:1.7;margin-top:2px}.activity-card .recent-footer{margin-top:14px}
.chart-box{height:170px;position:relative;margin-top:4px}.line-svg{width:100%;height:100%;overflow:visible}.axis-label{font-size:9px;fill:#64758d}.grid-line{stroke:#e5ebf3;stroke-width:1}.line-path{fill:none;stroke:#007AFF;stroke-width:2}.area-path{fill:url(#areaGrad)}.point{fill:#007AFF;stroke:white;stroke-width:1.4}
.region-bars{display:grid;gap:17px;margin-top:14px}.bar-row{display:grid;grid-template-columns:76px 1fr 28px;align-items:center;gap:10px;font-size:10px}.bar-bg{height:13px;background:#eef3f8}.bar{height:100%;background:linear-gradient(90deg,#007AFF,#2c86ee)}.bar-n{font-size:10px}
.quick-list{display:grid;gap:6px}.quick-btn{width:100%;border:1px solid #e8edf3;background:#fff;border-radius:9px;padding:8px 10px;display:grid;grid-template-columns:32px 1fr;align-items:center;text-align:left;cursor:pointer}.quick-btn:hover{background:#f8fbff}.quick-icon{width:28px;height:28px;display:grid;place-items:center;color:#007AFF}.quick-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.quick-t{font-size:10px;font-weight:800}.quick-d{font-size:9px;color:#6c7d93;margin-top:3px}
.mini{height:93px;display:flex;align-items:center;gap:16px;padding:16px 18px}.mini .metric-icon{width:54px;height:54px}.mini-label{font-size:11px}.mini-value{font-size:21px;font-weight:800;margin-top:3px}
.mobile-bottom{display:none}.mobile-only{display:none}.toast{position:fixed;right:20px;bottom:20px;background:#0e223f;color:#fff;padding:12px 15px;border-radius:9px;box-shadow:0 14px 30px rgba(0,0,0,.2);font-size:12px;z-index:100;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1.4fr 1fr}.activity-card{grid-column:2;grid-row:1/3}.recent{grid-column:1}.donut-card{grid-column:1;grid-row:2}.line-card{grid-column:1;grid-row:3}.region-card{grid-column:2;grid-row:3}.quick-card{grid-column:2;grid-row:4}.mini-stats{grid-column:1;grid-row:4}.footer{grid-column:1/3}}
@media(max-width:760px){
  body{padding-bottom:0}.sidebar{display:none}.shell{margin-left:0}.topbar{height:73px;padding:0 15px;gap:10px}.menu-btn{width:34px}.page-title{font-size:17px}.subtitle{font-size:9px}.top-actions{gap:11px}.online{padding:8px 10px;font-size:10px}.online svg{width:15px}.bell{width:32px}.profile-name,.profile-role,.profile-chevron{display:none}.avatar{width:34px;height:34px}.content{padding:10px 15px 8px;max-width:none}
  .metrics{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.metric-card{height:100px;padding:14px 13px;gap:11px}.metric-icon{width:52px;height:52px;border-radius:11px;flex:0 0 auto}.metric-icon svg{width:27px;height:27px}.metric-label{font-size:10px}.metric-value{font-size:22px}.metric-delta{font-size:9px}
  .dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card{padding:14px 12px;border-radius:11px}.card-title{font-size:14px;margin-bottom:13px}.card-link{font-size:11px}
  .recent{grid-column:1/3;grid-row:1}.donut-card{grid-column:1;grid-row:2}.line-card{grid-column:2;grid-row:2}.activity-card{grid-column:1/3;grid-row:3;min-height:auto}.quick-card{grid-column:1/3;grid-row:4}.region-card,.mini-stats,.footer{display:none}
  .table{display:block}.table thead{display:none}.table tbody{display:block}.table tbody tr{position:relative;display:grid;grid-template-columns:1fr 86px 96px 18px;align-items:center;gap:3px;border-bottom:1px solid #e8edf4;padding:8px 0}.table tbody tr:last-child{border-bottom:0}.table tbody td{border:0;padding:0;display:block}.table tbody td:nth-child(1){grid-column:1;grid-row:1;font-size:10px;padding-left:32px}.table tbody td:nth-child(2){grid-column:1;grid-row:1;margin-left:104px}.table tbody td:nth-child(3){grid-column:1;grid-row:2;font-size:10px;font-weight:700;padding-left:32px;white-space:nowrap}.table tbody td:nth-child(3):before{content:"";position:absolute;left:1px;top:10px;width:26px;height:26px;border-radius:8px;background:#e8f2ff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230b6ff6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="17" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/><path d="M9 15h6M12 12v6"/></svg>') center/17px 17px no-repeat}.table tbody td:nth-child(4){grid-column:2;grid-row:1/3;text-align:center;font-size:14px}.table tbody td:nth-child(4):after{content:"Participantes";display:block;font-size:9px;color:#66768d;margin-top:1px}.table tbody td:nth-child(5){display:none}.table tbody td:nth-child(6){grid-column:3;grid-row:1/3}.table tbody td:nth-child(7){grid-column:4;grid-row:1/3;font-size:22px}.type-pill{padding:4px 7px;font-size:9px}.status-pill{font-size:9px}.dots{display:none}.row-chevron{display:block;color:#344c6b}.recent-footer{position:absolute;top:12px;right:12px;border:0;padding:0;margin:0}.recent{position:relative;padding-top:16px}.recent .card-title{margin-bottom:9px}
  .donut-card,.line-card{min-height:283px}.donut-card{padding:13px 11px}.donut{width:148px;height:148px;margin:10px auto 11px}.donut:after{inset:35px}.donut-center{font-size:21px}.donut-center span{font-size:10px}.legend{gap:6px;font-size:9px}.legend small,.legend b{font-size:9px}.chart-box{height:165px;margin-top:2px}.line-card{padding:13px 10px}.line-card .card-title{max-width:150px;line-height:1.05}.axis-label{font-size:8px}
  .activity-list{gap:14px}.activity{grid-template-columns:28px 1fr;gap:10px}.act-icon{width:27px;height:27px}.activity:before{left:13px;top:27px;height:33px}.act-title{font-size:10px}.act-meta{font-size:9px;line-height:1.45}.activity-card .recent-footer{position:absolute;right:12px;top:10px;border:0;margin:0;padding:0}.activity-card{position:relative;padding-top:16px}.activity-card .card-title{margin-bottom:14px}
  .quick-card .card-title{margin-bottom:8px}.quick-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.quick-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:85px;padding:8px 5px;text-align:center}.quick-icon{width:auto;height:29px}.quick-icon svg{width:25px;height:25px}.quick-t{font-size:10px;margin-top:4px}.quick-d{display:none}
  .mobile-bottom{display:none!important}.bottom-item{border:0;background:transparent;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px}.bottom-item svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}.bottom-item.active{color:#007AFF;font-weight:700}.bottom-item.active svg.home-fill{fill:#007AFF;stroke:#007AFF}
}
@media(max-width:760px){
  input,select,textarea,[contenteditable="true"]{font-size:16px!important;line-height:1.35}
  input,select,textarea,button,a{touch-action:manipulation}
  body{overflow-x:hidden}
}
@media(max-width:390px){.metric-card{padding:11px 9px}.metric-icon{width:46px;height:46px}.metric-value{font-size:20px}.donut{width:136px;height:136px}.donut:after{inset:32px}.quick-t{font-size:9px}}

/* --- Autenticação, menu recolhível e telas não configuradas --- */
[hidden]{display:none!important}
.auth-locked{overflow:hidden;padding-bottom:0!important}
.login-screen{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.35fr);background:#f4f8fd;color:var(--ink)}
.login-side{position:relative;overflow:hidden;background:#1D1D1F;color:#fff;padding:54px 58px;display:flex;flex-direction:column;justify-content:space-between}
.login-side:before,.login-side:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-side:before{width:520px;height:520px;right:-260px;top:-200px;background:rgba(33,116,224,.18)}.login-side:after{width:360px;height:360px;left:-180px;bottom:-160px;background:rgba(17,191,131,.10)}
.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:15px}.login-brand-mark{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto}.login-brand-mark img{width:52px;height:52px;display:block;object-fit:contain}.login-brand-text{font-size:19px;font-weight:700;line-height:1.08}.login-brand-text strong{display:block;font-size:31px;font-weight:800}
.login-copy{position:relative;z-index:1;max-width:520px;margin:auto 0}.login-copy h1{font-size:42px;line-height:1.08;margin:0 0 18px;letter-spacing:-.03em}.login-copy p{font-size:16px;line-height:1.65;color:#d7e7f8;margin:0;max-width:470px}.login-side-footer{position:relative;z-index:1;font-size:11px;color:#b8cce2}
.login-main{display:grid;place-items:center;padding:44px;background:radial-gradient(circle at 90% 10%,rgba(0,122,255,.07),transparent 27%),#f7f9fc}.login-card{width:min(430px,100%);background:#fff;border:1px solid #e8eef5;border-radius:18px;box-shadow:0 18px 55px rgba(13,42,78,.11);padding:36px 36px 32px}.login-card h2{font-size:28px;letter-spacing:-.02em;margin:0 0 7px}.login-card>p{margin:0 0 27px;color:#687991;font-size:13px;line-height:1.55}.field{display:grid;gap:8px;margin-bottom:17px}.field label{font-size:12px;font-weight:800;color:#1b3150}.field-wrap{position:relative}.field input{width:100%;height:50px;border:1px solid #dbe4ee;border-radius:10px;padding:0 14px;background:#fff;color:#10213d;font:inherit;font-size:14px;outline:none;transition:.18s}.field input:focus{border-color:#007AFF;box-shadow:0 0 0 3px rgba(0,122,255,.10)}.field input::placeholder{color:#9aa9bb}.password-input{padding-right:48px!important}.password-toggle{position:absolute;right:6px;top:6px;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:#60718a;cursor:pointer;display:grid;place-items:center}.password-toggle:hover{background:#f2f6fb}.password-toggle svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}
.login-submit{width:100%;height:50px;border:0;border-radius:10px;background:linear-gradient(90deg,#075fd9,#147dff);color:#fff;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 8px 18px rgba(0,122,255,.22);transition:.18s}.login-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}.login-submit:active{transform:translateY(0)}.login-error{min-height:18px;margin:11px 0 0;color:#d83b45;font-size:11px;font-weight:700}.login-hint{margin-top:18px;padding-top:18px;border-top:1px solid #edf1f5;color:#7b8a9e;font-size:10px;line-height:1.55}
.sidebar,.shell{transition:width .22s ease,margin-left .22s ease,transform .22s ease}.sidebar.collapsed{width:76px;padding-left:10px;padding-right:10px}.sidebar.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-section,.sidebar.collapsed .cloud-panel{display:none}.sidebar.collapsed .brand-mark{width:40px;height:40px}.sidebar.collapsed .brand-mark img{width:38px;height:38px}.sidebar.collapsed .nav-item{justify-content:center;padding:0;font-size:0;gap:0}.sidebar.collapsed .nav-item svg{width:20px;height:20px}.shell.sidebar-collapsed{margin-left:76px}.menu-btn{border-radius:7px}.menu-btn:hover{background:#f2f6fb}
.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(5,24,49,.42);z-index:45;opacity:0;pointer-events:none;transition:.22s}.mobile-menu-backdrop.show{opacity:1;pointer-events:auto}
.unconfigured-view{min-height:calc(100vh - 80px);background:#fff;display:grid;place-items:center;padding:30px}.unconfigured-message{text-align:center;color:#263a57;font-size:20px;font-weight:800}.unconfigured-message:before{content:"";display:block;width:44px;height:4px;border-radius:3px;background:#007AFF;margin:0 auto 18px}.profile{cursor:pointer}.profile:hover{opacity:.88}

.config-data-view,.system-config-view,.reports-view{min-height:calc(100vh - 80px);background:#f7f9fc;padding:20px;overflow:auto}
.reports-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}
.reports-tabs-wrap{padding:14px 18px 0;border-bottom:1px solid #edf1f5;overflow:visible}
.reports-tabs{display:flex;gap:4px;min-width:0;flex-wrap:wrap;align-items:flex-end}
.report-tab{border:0;background:transparent;color:#63738a;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}
.report-tab:hover{background:#f5f8fc;color:#153a67}.report-tab:active{transform:scale(.98)}
.report-tab.active{color:#007AFF;background:#f6faff}.report-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:#007AFF}
.reports-content{padding:18px 20px 22px;min-height:300px}

/* v2.81 — Motor único de filtros dos relatórios */
.report-filter-shell{padding:16px 20px 0;background:#fff}
.report-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}.report-filter-head>div{display:grid;gap:3px}.report-filter-head strong{font-size:13px;color:#181B26}.report-filter-head span{font-size:10px;color:#777E8E;line-height:1.45}.report-filter-result{display:inline-flex!important;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:#ECEEFC;color:#4B57D1!important;font-size:10px!important;font-weight:800;white-space:nowrap}
.report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #D9DDE7;border-radius:12px;background:#F0F2F8}.report-filters label{display:grid;gap:6px;min-width:0}.report-filters label>span{font-size:10px;font-weight:750;color:#5F6574}.report-filters input,.report-filters select{width:100%;height:38px;border:1px solid #D9DDE7;border-radius:9px;background:#fff;color:#181B26;padding:0 10px;font:inherit;font-size:11px;outline:none}.report-filters input:focus,.report-filters select:focus{border-color:#4B57D1;box-shadow:0 0 0 3px rgba(75,87,209,.12)}.report-filters input:disabled,.report-filters select:disabled{opacity:.56;cursor:not-allowed;background:#F7F8FC}
.report-filter-clear{height:38px;align-self:end;border:1px solid #D9DDE7;border-radius:9px;background:#fff;color:#5F6574;padding:0 13px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.report-filter-clear:hover{background:#EAECF4;color:#181B26}
.report-filter-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 2px 0}.report-filter-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.report-filter-chips span{display:inline-flex;gap:4px;align-items:center;padding:5px 8px;border-radius:999px;background:#F0F2F8;color:#5F6574;font-size:9px;line-height:1.2}.report-filter-chips b{color:#181B26}.report-filter-live{display:inline-flex;align-items:center;gap:6px;color:#168F62;font-size:10px;font-weight:750;white-space:nowrap}.report-filter-live i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(22,143,98,.10)}
.report-engine-loading{min-height:220px;display:grid;place-items:center;text-align:center;color:#5F6574;font-size:11px;font-weight:700}.report-engine-loading:before{content:"";width:22px;height:22px;border:2px solid #D9DDE7;border-top-color:#4B57D1;border-radius:50%;animation:realizedSpin .8s linear infinite;margin-bottom:8px}
html[data-theme="dark"] .report-filter-shell{background:#181D27!important}html[data-theme="dark"] .report-filter-head strong{color:#F4F5F8!important}html[data-theme="dark"] .report-filter-head span{color:#939AA8!important}html[data-theme="dark"] .report-filter-result{background:#292E52!important;color:#C8CCFF!important}html[data-theme="dark"] .report-filters{background:#212733!important;border-color:#343B49!important}html[data-theme="dark"] .report-filters label>span{color:#B4BAC6!important}html[data-theme="dark"] .report-filters input,html[data-theme="dark"] .report-filters select,html[data-theme="dark"] .report-filter-clear{background:#181D27!important;border-color:#48516A!important;color:#F4F5F8!important}html[data-theme="dark"] .report-filters input:disabled,html[data-theme="dark"] .report-filters select:disabled{background:#151A22!important;color:#939AA8!important}html[data-theme="dark"] .report-filter-chips span{background:#212733!important;color:#B4BAC6!important}html[data-theme="dark"] .report-filter-chips b{color:#F4F5F8!important}
@media(max-width:1080px){.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-filter-shell{padding:12px 14px 0}.report-filter-head{flex-direction:column;gap:8px}.report-filter-result{align-self:flex-start}.report-filters{grid-template-columns:1fr 1fr;padding:11px;gap:9px}.report-filter-footer{flex-direction:column}.report-filter-live{align-self:flex-start}.reports-tabs-wrap{overflow-x:auto}.reports-tabs{flex-wrap:nowrap;min-width:max-content}}
@media(max-width:430px){.report-filters{grid-template-columns:1fr}.report-filter-clear{width:100%}}

/* v2.80 — Ensaios Realizados */
.realized-view{min-height:calc(100vh - 80px);background:#F7F8FC;padding:20px;overflow:auto}
.realized-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #D9DDE7;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}
.realized-tabs-wrap{padding:14px 18px 0;border-bottom:1px solid #D9DDE7;background:#fff}
.realized-tabs{display:flex;gap:4px;align-items:flex-end;flex-wrap:wrap}
.realized-tab{border:0;background:transparent;color:#5F6574;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}
.realized-tab:hover{background:#EAECF4;color:#181B26}.realized-tab:active{transform:scale(.98)}
.realized-tab.active{background:#ECEEFC;color:#4B57D1}.realized-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:#4B57D1}
.realized-content{padding:18px 20px 22px;min-height:320px}
.realized-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(6,minmax(116px,.72fr)) auto;gap:10px;align-items:end;padding:14px;border:1px solid #D9DDE7;border-radius:12px;background:#F0F2F8}
.realized-filters label{display:grid;gap:6px;min-width:0}.realized-filters label>span{font-size:10px;font-weight:750;color:#5F6574}
.realized-filters input,.realized-filters select{width:100%;height:38px;border:1px solid #D9DDE7;border-radius:9px;background:#fff;color:#181B26;padding:0 10px;font:inherit;font-size:12px;outline:none}
.realized-filters input:focus,.realized-filters select:focus{border-color:#4B57D1;box-shadow:0 0 0 3px rgba(75,87,209,.12)}
.realized-clear{height:38px;border:1px solid #D9DDE7;border-radius:9px;background:#fff;color:#5F6574;padding:0 13px;font:inherit;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}.realized-clear:hover{background:#EAECF4;color:#181B26}
.realized-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 2px 10px}.realized-list-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.realized-list-head strong{font-size:14px;color:#181B26}.realized-list-head #realizedResultCount{font-size:10px;color:#777E8E}
.realized-live-status{display:inline-flex;align-items:center;gap:6px;color:#168F62;font-size:10px;font-weight:750;white-space:nowrap}.realized-live-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(22,143,98,.10)}
.realized-table-wrap{border:1px solid #D9DDE7;border-radius:12px;overflow:auto;background:#fff}
.realized-table{width:100%;border-collapse:collapse;min-width:900px}.realized-table th{padding:10px 12px;background:#F0F2F8;color:#5F6574;text-align:left;font-size:10px;font-weight:800;white-space:nowrap;border-bottom:1px solid #D9DDE7}.realized-table td{padding:12px;color:#181B26;font-size:11px;border-bottom:1px solid #EAECF4;vertical-align:middle}.realized-table tbody tr:last-child td{border-bottom:0}.realized-table tbody tr:hover{background:#F7F8FC}.realized-table td strong{font-size:11px}.realized-table .muted-cell{color:#777E8E}
.realized-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.realized-status.finished{background:rgba(22,143,98,.10);color:#168F62}.realized-status.archived{background:#EAECF4;color:#5F6574}
.realized-empty,.realized-loading{min-height:220px;display:grid;place-items:center;text-align:center;padding:28px;color:#5F6574}.realized-empty strong{display:block;color:#181B26;font-size:13px;margin-bottom:5px}.realized-empty span{font-size:10px;line-height:1.5}@keyframes realizedSpin{to{transform:rotate(360deg)}}
.realized-loading{font-size:11px;font-weight:700}.realized-loading:before{content:"";width:22px;height:22px;border:2px solid #D9DDE7;border-top-color:#4B57D1;border-radius:50%;animation:realizedSpin .8s linear infinite;margin-bottom:8px}
.realized-error{min-height:220px;display:grid;place-items:center;text-align:center;padding:28px}.realized-error strong{display:block;color:#C93B48;font-size:13px;margin-bottom:6px}.realized-error span{display:block;color:#5F6574;font-size:10px;margin-bottom:12px}.realized-error button{border:0;border-radius:8px;background:#4B57D1;color:white;padding:9px 13px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.realized-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.realized-pagination button{border:1px solid #D9DDE7;border-radius:8px;background:#fff;color:#4B57D1;padding:8px 12px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.realized-pagination button:disabled{opacity:.4;cursor:default}.realized-pagination span{font-size:10px;color:#5F6574;font-weight:700}
html[data-theme="dark"] .realized-view{background:#10131A!important;color:#F4F5F8}
html[data-theme="dark"] .realized-card,html[data-theme="dark"] .realized-tabs-wrap,html[data-theme="dark"] .realized-table-wrap{background:#181D27!important;border-color:#343B49!important}
html[data-theme="dark"] .realized-tabs-wrap{border-color:#343B49!important}
html[data-theme="dark"] .realized-tab{color:#B4BAC6}html[data-theme="dark"] .realized-tab:hover{background:#252C38;color:#F4F5F8}html[data-theme="dark"] .realized-tab.active{background:#292E52;color:#7C86F5}html[data-theme="dark"] .realized-tab.active:after{background:#7C86F5}
html[data-theme="dark"] .realized-filters{background:#212733!important;border-color:#343B49!important}html[data-theme="dark"] .realized-filters label>span,html[data-theme="dark"] .realized-list-head #realizedResultCount{color:#939AA8!important}html[data-theme="dark"] .realized-filters input,html[data-theme="dark"] .realized-filters select,html[data-theme="dark"] .realized-clear,html[data-theme="dark"] .realized-pagination button{background:#181D27!important;border-color:#343B49!important;color:#F4F5F8!important}
html[data-theme="dark"] .realized-list-head strong,html[data-theme="dark"] .realized-table td,html[data-theme="dark"] .realized-empty strong{color:#F4F5F8!important}html[data-theme="dark"] .realized-table th{background:#212733!important;color:#B4BAC6!important;border-color:#343B49!important}html[data-theme="dark"] .realized-table td{border-color:#343B49!important}html[data-theme="dark"] .realized-table tbody tr:hover{background:#252C38!important}html[data-theme="dark"] .realized-table .muted-cell,html[data-theme="dark"] .realized-empty span,html[data-theme="dark"] .realized-pagination span{color:#939AA8!important}
@media(max-width:1180px){.realized-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.realized-search{grid-column:span 2}.realized-clear{width:100%}}
@media(max-width:760px){.realized-view{padding:12px}.realized-content{padding:14px}.realized-tabs-wrap{padding:10px 12px 0;overflow-x:auto}.realized-tabs{flex-wrap:nowrap;min-width:max-content}.realized-filters{grid-template-columns:1fr 1fr;padding:11px;gap:9px}.realized-search{grid-column:1/-1}.realized-clear{grid-column:1/-1}.realized-list-head{align-items:flex-start;flex-direction:column;gap:6px}.realized-table-wrap{border:0;background:transparent;overflow:visible}.realized-table{min-width:0;border-collapse:separate;border-spacing:0 10px}.realized-table thead{display:none}.realized-table,.realized-table tbody,.realized-table tr,.realized-table td{display:block;width:100%}.realized-table tbody tr{border:1px solid #D9DDE7;border-radius:12px;background:#fff;padding:8px 12px;box-shadow:0 3px 12px rgba(24,27,38,.04)}.realized-table td{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid #EAECF4!important;font-size:11px}.realized-table td:last-child{border-bottom:0!important}.realized-table td:before{content:attr(data-label);font-size:9px;font-weight:800;color:#777E8E}.realized-table tbody tr:hover{background:#fff}.realized-pagination{justify-content:space-between}html[data-theme="dark"] .realized-table tbody tr{background:#181D27!important;border-color:#343B49!important}html[data-theme="dark"] .realized-table td:before{color:#939AA8!important}}
@media(max-width:430px){.realized-filters{grid-template-columns:1fr}.realized-search,.realized-clear{grid-column:auto}.realized-table td{grid-template-columns:96px minmax(0,1fr)}}
.report-empty{min-height:250px;display:grid;place-items:center;text-align:center;color:#6f7e93;padding:30px;animation:userTabFade .24s ease both}
.report-empty-icon{width:56px;height:56px;border-radius:16px;background:#f1f6fc;color:#007AFF;display:grid;place-items:center;margin:0 auto 13px}
.report-empty-icon svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.7}
.report-empty strong{display:block;color:#17304f;font-size:14px;margin-bottom:6px}.report-empty small{font-size:11px;line-height:1.5}
.system-settings-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}
.system-settings-tabs{display:flex;gap:4px;align-items:flex-end;padding:14px 18px 0;border-bottom:1px solid #edf1f5}
.system-setting-tab{border:0;background:transparent;color:#63738a;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}
.system-setting-tab:hover{background:#f5f8fc;color:#153a67}.system-setting-tab:active{transform:scale(.98)}
.system-setting-tab.active{color:#007AFF;background:#f6faff}.system-setting-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:#007AFF}
.system-settings-content{padding:20px;min-height:300px}
.theme-settings{animation:userTabFade .24s ease both}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:780px}
.theme-option{position:relative;display:block}
.theme-option input{position:absolute;opacity:0;pointer-events:none}
.theme-option-card{height:142px;border:1px solid #dfe7f0;border-radius:12px;background:#fff;padding:14px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .18s ease;display:flex;flex-direction:column;gap:11px}
.theme-option-card:hover{transform:translateY(-1px);border-color:#a8cdfa}
.theme-option input:checked+.theme-option-card{border-color:#007AFF;background:#f6faff;box-shadow:0 0 0 3px rgba(0,122,255,.08)}
.theme-preview{height:67px;border-radius:8px;border:1px solid #e2e8f0;overflow:hidden;display:grid;grid-template-columns:24px 1fr}
.theme-preview-side{background:#092c55}
.theme-preview-main{background:#f5f8fc;padding:8px}
.theme-preview-bar{height:10px;background:#fff;border-radius:4px;margin-bottom:6px;border:1px solid #e8edf4}
.theme-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.theme-preview-cards i{display:block;height:26px;border-radius:4px;background:#fff;border:1px solid #e8edf4}
.theme-preview.dark .theme-preview-side{background:#07182b}
.theme-preview.dark .theme-preview-main{background:#0f1722}
.theme-preview.dark .theme-preview-bar,.theme-preview.dark .theme-preview-cards i{background:#182332;border-color:#2a394b}
.theme-preview.system .theme-preview-main{background:linear-gradient(90deg,#f5f8fc 0 50%,#0f1722 50% 100%)}
.theme-preview.system .theme-preview-bar{background:linear-gradient(90deg,#fff 0 50%,#182332 50% 100%)}
.theme-preview.system .theme-preview-cards i{background:linear-gradient(90deg,#fff 0 50%,#182332 50% 100%)}
.theme-option-text strong{display:block;color:#17304f;font-size:12px}.theme-option-text span{display:block;color:#7a899e;font-size:9px;margin-top:3px;line-height:1.45}
.theme-setting-actions{display:flex;align-items:center;gap:10px;margin-top:18px;max-width:780px}
.theme-setting-status{margin-right:auto;color:#0a875f;font-size:10px;font-weight:750}
.logo-settings{animation:userTabFade .24s ease both;max-width:820px}
.logo-settings-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(280px,1.15fr);gap:18px;align-items:stretch}
.logo-upload-panel,.logo-preview-panel{border:1px solid #e4eaf2;border-radius:12px;background:#fff;padding:16px}
.logo-upload-panel h3,.logo-preview-panel h3{margin:0 0 5px;color:#17304f;font-size:13px}
.logo-upload-panel p,.logo-preview-panel p{margin:0;color:#7a899e;font-size:9px;line-height:1.5}
.logo-file-control{margin-top:15px}
.logo-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.logo-file-label{min-height:92px;border:1px dashed #b9c9da;border-radius:10px;background:#f8fbff;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;cursor:pointer;transition:.18s ease;color:#49617c;font-size:10px;font-weight:750}
.logo-file-label:hover{border-color:#78aff2;background:#f2f8ff;color:#0b63d8}
.logo-file-label svg{width:24px;height:24px;display:block;margin:0 auto 7px;stroke:currentColor;fill:none;stroke-width:1.7}
.logo-file-name{margin-top:9px;min-height:15px;color:#65768c;font-size:9px;word-break:break-word}
.logo-preview-stage{margin-top:15px;min-height:190px;border:1px solid #e3e9f0;border-radius:10px;background:
linear-gradient(45deg,#f5f7fa 25%,transparent 25%) 0 0/18px 18px,
linear-gradient(45deg,transparent 75%,#f5f7fa 75%) 0 0/18px 18px,
linear-gradient(45deg,transparent 75%,#f5f7fa 75%) 9px -9px/18px 18px,
linear-gradient(45deg,#f5f7fa 25%,#fff 25%) 9px 9px/18px 18px;
display:grid;place-items:center;padding:20px;overflow:hidden}
.logo-preview-stage img{display:block;max-width:100%;max-height:150px;object-fit:contain}
.logo-preview-empty{text-align:center;color:#99a6b6;font-size:10px}
.logo-preview-empty svg{width:32px;height:32px;display:block;margin:0 auto 8px;stroke:currentColor;fill:none;stroke-width:1.5}
.logo-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px}
.logo-settings-status{margin-right:auto;color:#0a875f;font-size:10px;font-weight:750}
.logo-remove-btn{height:38px;border:1px solid #efc9cf;background:#fff8f8;color:#b42332;border-radius:8px;padding:0 12px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.logo-remove-btn:disabled{opacity:.45;cursor:not-allowed}
.logo-guidance{margin-top:10px;color:#8190a3;font-size:9px;line-height:1.5}
.zone-settings{display:grid;gap:16px;animation:userTabFade .24s ease both}
.zone-settings-form{border:1px solid #e4eaf2;border-radius:12px;background:#fff;padding:16px}
.zone-settings-form h3{margin:0 0 5px;color:#17304f;font-size:13px}
.zone-settings-form p{margin:0 0 14px;color:#7a899e;font-size:9px;line-height:1.5}
.zone-add-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,.8fr) auto;gap:11px;align-items:end}
.zone-add-grid .modal-field{margin:0}
.zone-add-btn{height:40px;white-space:nowrap}
.zone-list-card{border:1px solid #e4eaf2;border-radius:12px;background:#fff;overflow:hidden}
.zone-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fbfdff}
.zone-list-head strong{color:#17304f;font-size:11px}
.zone-list-count{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;background:#eef6ff;color:#0b63d8;font-size:9px;font-weight:850}
.zone-city-list{display:grid}
.zone-city-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #edf1f5}
.zone-city-row:last-child{border-bottom:0}
.zone-city-main{min-width:0}
.zone-city-main strong{display:block;color:#294461;font-size:11px}
.zone-city-main span{display:block;color:#7b8899;font-size:9px;margin-top:2px}
.zone-remove-btn{height:31px;border:1px solid #efc9cf;background:#fff8f8;color:#b42332;border-radius:7px;padding:0 9px;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.zone-empty{min-height:150px;display:grid;place-items:center;text-align:center;padding:22px;color:#7b899b;font-size:10px;line-height:1.5}
.zone-empty strong{display:block;color:#17304f;font-size:12px;margin-bottom:5px}
.zone-rule-note{padding:10px 12px;border-radius:9px;background:#fff8e8;border:1px solid #f3dfad;color:#71551c;font-size:9px;line-height:1.5}
.zone-blocked-screen{position:fixed;inset:0;z-index:10000;background:#fff;display:grid;place-items:center;padding:24px;color:#0b2b4b}
.zone-blocked-screen[hidden]{display:none!important}
.zone-blocked-content{width:min(460px,100%);text-align:center;display:grid;justify-items:center}
.zone-blocked-lock{width:76px;height:76px;border-radius:22px;background:#f1f5f9;border:1px solid #dbe5ee;display:grid;place-items:center;color:#183e61;margin-bottom:18px}
.zone-blocked-lock svg{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zone-blocked-content h1{margin:0;color:#0a2f50;font-size:25px;font-weight:950}
.zone-blocked-content p{margin:10px 0 20px;max-width:390px;color:#60758a;font-size:11px;line-height:1.6}
.zone-blocked-content p strong{color:#183e61}
.zone-blocked-back{height:40px;border:0;border-radius:9px;background:#007AFF;color:#fff;padding:0 15px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.user-zone-builder{border:1px solid #e4eaf2;border-radius:11px;background:#f8fbff;padding:14px}
.user-zone-builder .modal-field{margin:0}
.user-zone-builder small{display:block;margin-top:6px;color:#7a899e;font-size:8.5px;line-height:1.45}
.user-zone-builder-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.user-zone-builder-actions .modal-error{margin:0;min-height:14px}
.user-zone-list-wrap{margin-top:14px;border:1px solid #e4eaf2;border-radius:11px;background:#fff;overflow:hidden}
.user-zone-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #edf1f5;background:#fbfdff}
.user-zone-list-head strong{color:#17304f;font-size:11px}
.user-zone-list-head span{color:#6b7d93;font-size:9px;font-weight:800}
.user-zone-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid #edf1f5}
.user-zone-entry:last-child{border-bottom:0}
.user-zone-entry-main{min-width:0}
.user-zone-entry-main strong{display:block;color:#203955;font-size:10.5px}
.user-zone-entry-main span{display:block;color:#78879a;font-size:9px;margin-top:2px}
.user-zone-remove{height:30px;border:1px solid #efc9cf;background:#fff8f8;color:#b42332;border-radius:7px;padding:0 9px;font:inherit;font-size:8.5px;font-weight:800;cursor:pointer}
.user-zone-empty{min-height:120px;display:grid;place-items:center;text-align:center;padding:20px;color:#7b899b;font-size:9px;line-height:1.5}
.user-zone-empty strong{display:block;color:#17304f;font-size:11px;margin-bottom:4px}
.user-zone-action{border-color:#cfe1f7!important;background:#f6faff!important;color:#0b63d8!important}
@media(max-width:620px){.user-zone-builder-actions{align-items:stretch;flex-direction:column}.user-zone-builder-actions .modal-primary{width:100%}.user-zone-entry{align-items:flex-start}}

@media(max-width:700px){.zone-add-grid{grid-template-columns:1fr}.zone-add-btn{width:100%}.zone-city-row{align-items:flex-start}.zone-remove-btn{flex:0 0 auto}}
@media(max-width:720px){.logo-settings-grid{grid-template-columns:1fr}.logo-settings-actions{flex-wrap:wrap}.logo-settings-status{width:100%;margin-right:0}}
@media(max-width:720px){.theme-options{grid-template-columns:1fr}.theme-option-card{height:auto}.system-settings-content{padding:16px}}

/* Tema escuro do sistema */

.modal-close svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.success-check svg,.rehearsal-user-check svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chev svg,.city-locality-chevron svg,.profile-chevron svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"]{--ink:#e7eef8;--muted:#9aa9bc;--bg:#0d141e;--card:#151f2c;--line:#283548;--shadow:0 8px 24px rgba(0,0,0,.24);color-scheme:dark}
html[data-theme="dark"] body{background:#0d141e;color:#e7eef8}
html[data-theme="dark"] .shell,
html[data-theme="dark"] .content,
html[data-theme="dark"] .users-view,
html[data-theme="dark"] .rehearsal-view,
html[data-theme="dark"] .config-data-view,
html[data-theme="dark"] .system-config-view,
html[data-theme="dark"] .reports-view,
html[data-theme="dark"] .my-profile-view,
html[data-theme="dark"] .unconfigured-view{background:#0d141e!important;color:#e7eef8}
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .users-card,
html[data-theme="dark"] .rehearsal-card,
html[data-theme="dark"] .config-card,
html[data-theme="dark"] .reports-card,
html[data-theme="dark"] .system-settings-card,
html[data-theme="dark"] .profile-menu,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .first-access-card,
html[data-theme="dark"] .rehearsal-word-card,
html[data-theme="dark"] .attendance-section,
html[data-theme="dark"] .attendance-entry,
html[data-theme="dark"] .rehearsal-hymn-card,
html[data-theme="dark"] .rehearsal-ministry-row,
html[data-theme="dark"] .rehearsal-management-user,
html[data-theme="dark"] .audit-item,
html[data-theme="dark"] .balance-tab-card,
html[data-theme="dark"] .city-locality-card,
html[data-theme="dark"] .instrument-category,
html[data-theme="dark"] .catalog-card{background:#151f2c!important;border-color:#283548!important;color:#e7eef8}
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .users-tabs-wrap,
html[data-theme="dark"] .rehearsal-toolbar,
html[data-theme="dark"] .rehearsal-tabs-wrap,
html[data-theme="dark"] .config-tabs-wrap,
html[data-theme="dark"] .reports-tabs-wrap,
html[data-theme="dark"] .system-settings-tabs,
html[data-theme="dark"] .attendance-section-head{border-color:#283548!important}
html[data-theme="dark"] .attendance-section-head,
html[data-theme="dark"] .users-table th,
html[data-theme="dark"] .rehearsal-data-item,
html[data-theme="dark"] .rehearsal-people-stat,
html[data-theme="dark"] .rehearsal-word-reference,
html[data-theme="dark"] .modal-note,
html[data-theme="dark"] .password-rules,
html[data-theme="dark"] .profile-detail,
html[data-theme="dark"] .catalog-panel,
html[data-theme="dark"] .instrument-category-body-inner{background:#111b27!important;border-color:#283548!important;color:#c9d5e5}
html[data-theme="dark"] :is(.page-title,.profile-name,.metric-value,.card-title,.users-table td strong,.rehearsal-data-item strong,.rehearsal-person-row strong,.rehearsal-management-meta strong,.attendance-section-head h3,.attendance-entry-head strong,.rehearsal-word-reference strong,.rehearsal-hymn-card strong,.rehearsal-ministry-row strong,.rehearsal-gem-row strong,.role-name,.instrument-category-title strong,.catalog-card strong,.theme-option-text strong,.modal-head h2,.wizard-title,.first-access-card h1){color:#e7eef8!important}
html[data-theme="dark"] :is(.subtitle,.profile-role,.metric-label,.metric-delta,.users-table td,.rehearsal-data-item span,.rehearsal-person-row span,.rehearsal-management-meta span,.attendance-section-head p,.theme-option-text span,.modal-head p,.wizard-help,.config-empty,.report-empty,.rehearsal-empty){color:#9aa9bc!important}
html[data-theme="dark"] :is(.user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab){color:#aab8ca}
html[data-theme="dark"] :is(.user-tab:hover,.rehearsal-tab:hover,.config-tab:hover,.report-tab:hover,.system-setting-tab:hover){background:#1b2939;color:#dce9f8}
html[data-theme="dark"] :is(.user-tab.active,.rehearsal-tab.active,.config-tab.active,.report-tab.active,.system-setting-tab.active){background:#172a3e;color:#58a3ff}
html[data-theme="dark"] :is(input,select,textarea,.invite-message){background:#101925!important;border-color:#334256!important;color:#e7eef8!important}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#718198!important}
html[data-theme="dark"] :is(input,select,textarea):focus{border-color:#4e91e8!important;box-shadow:0 0 0 3px rgba(43,136,255,.14)!important}
html[data-theme="dark"] .users-table-wrap,
html[data-theme="dark"] .rehearsal-person-row,
html[data-theme="dark"] .roles-list,
html[data-theme="dark"] .localities-list{border-color:#283548!important}
html[data-theme="dark"] .users-table tr+tr td{border-color:#243244!important}
html[data-theme="dark"] .theme-option-card{background:#121c28;border-color:#314055}
html[data-theme="dark"] .logo-upload-panel,
html[data-theme="dark"] .logo-preview-panel{background:#151f2c;border-color:#283548}
html[data-theme="dark"] .logo-upload-panel h3,
html[data-theme="dark"] .logo-preview-panel h3{color:#e7eef8}
html[data-theme="dark"] .logo-upload-panel p,
html[data-theme="dark"] .logo-preview-panel p,
html[data-theme="dark"] .logo-file-name,
html[data-theme="dark"] .logo-guidance{color:#9aa9bc}
html[data-theme="dark"] .logo-file-label{background:#111b27;border-color:#40516a;color:#b8c8dc}
html[data-theme="dark"] .logo-file-label:hover{background:#172a3e;border-color:#4e91e8;color:#58a3ff}
html[data-theme="dark"] .logo-preview-stage{border-color:#334256;background:#101925}
html[data-theme="dark"] .logo-preview-empty{color:#8798ad}
html[data-theme="dark"] .zone-settings-form,
html[data-theme="dark"] .zone-list-card{background:#151f2c;border-color:#283548}
html[data-theme="dark"] .zone-settings-form h3,
html[data-theme="dark"] .zone-list-head strong,
html[data-theme="dark"] .zone-city-main strong,
html[data-theme="dark"] .zone-empty strong{color:#e7eef8}
html[data-theme="dark"] .zone-settings-form p,
html[data-theme="dark"] .zone-city-main span,
html[data-theme="dark"] .zone-empty{color:#9aa9bc}
html[data-theme="dark"] .zone-list-head{background:#111b27;border-color:#283548}
html[data-theme="dark"] .zone-city-row{border-color:#283548}
html[data-theme="dark"] .zone-rule-note{background:#2a2417;border-color:#574a28;color:#dbc48b}
html[data-theme="dark"] .user-zone-builder,
html[data-theme="dark"] .user-zone-list-wrap{background:#151f2c;border-color:#283548}
html[data-theme="dark"] .user-zone-list-head{background:#111b27;border-color:#283548}
html[data-theme="dark"] .user-zone-list-head strong,
html[data-theme="dark"] .user-zone-entry-main strong,
html[data-theme="dark"] .user-zone-empty strong{color:#e7eef8}
html[data-theme="dark"] .user-zone-list-head span,
html[data-theme="dark"] .user-zone-entry-main span,
html[data-theme="dark"] .user-zone-empty{color:#9aa9bc}
html[data-theme="dark"] .user-zone-entry{border-color:#283548}

html[data-theme="dark"] .balance-preview-controls{background:#111b27;border-color:#283548}
html[data-theme="dark"] .balance-copy-option span{background:#151f2c;border-color:#334256;color:#b5c4d6}
html[data-theme="dark"] .balance-copy-option input:checked+span{background:#172a3e;border-color:#2b88ff;color:#58a3ff}
html[data-theme="dark"] .balance-preview-body{background:#0b1119}
html[data-theme="dark"] .balance-preview-note{color:#98a9bd}
html[data-theme="dark"] .balance-report-sheet{color-scheme:light}
html[data-theme="dark"] .theme-option input:checked+.theme-option-card{background:#172a3e;border-color:#2b88ff}
html[data-theme="dark"] .menu-btn,
html[data-theme="dark"] .bell{color:#cfe0f4}
html[data-theme="dark"] .profile-chevron{color:#8ea0b6}
html[data-theme="dark"] .mobile-bottom{background:#121c28!important;border-color:#29374a!important}
html[data-theme="dark"] .bottom-item{color:#9fb0c3!important}
html[data-theme="dark"] .bottom-item.active{color:#58a3ff!important}
html[data-theme="dark"] .modal-layer{background:rgba(3,9,16,.72)}
html[data-theme="dark"] .autocomplete-menu{background:#111b27!important;border-color:#334256!important;box-shadow:0 14px 34px rgba(0,0,0,.38)!important}
html[data-theme="dark"] .autocomplete-option{color:#dbe6f4!important;border-color:#263549!important}
html[data-theme="dark"] .autocomplete-option:hover{background:#1b2a3b!important}
html[data-theme="dark"] .theme-setting-status{color:#53d6a8}

.config-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}
.config-head{padding:22px 24px 18px;border-bottom:1px solid #edf1f5}.config-head h2{margin:0;color:#0d203d;font-size:20px;font-weight:800}.config-head p{margin:6px 0 0;color:#6e7d93;font-size:12px;line-height:1.55}
.config-tabs-wrap{padding:14px 18px 0;border-bottom:1px solid #edf1f5;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;overflow:visible}.config-tabs{display:flex;gap:4px;min-width:0;flex-wrap:wrap;align-items:flex-end}.config-inline-action{margin:0 0 8px auto;min-height:34px;padding:0 12px;white-space:nowrap}.config-tab{border:0;background:transparent;color:#63738a;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.config-tab:hover{background:#f5f8fc;color:#153a67}.config-tab:active{transform:scale(.98)}.config-tab.active{color:#007AFF;background:#f6faff}.config-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:#007AFF}
.config-content{padding:18px 20px 22px;min-height:300px}.config-empty{min-height:250px;display:grid;place-items:center;text-align:center;color:#6f7e93;padding:30px;animation:userTabFade .24s ease both}.config-empty-icon{width:56px;height:56px;border-radius:16px;background:#f1f6fc;color:#007AFF;display:grid;place-items:center;margin:0 auto 13px}.config-empty-icon svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.7}.config-empty strong{display:block;color:#17304f;font-size:14px;margin-bottom:6px}.config-empty small{font-size:11px;line-height:1.5}
/* Config. de Dados — Cargos e Ministério */
.roles-panel{animation:userTabFade .24s ease both}
.roles-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.roles-toolbar h3{margin:0;color:#142d4d;font-size:16px;font-weight:800}
.roles-toolbar p{margin:5px 0 0;color:#718198;font-size:11px;line-height:1.5}
.roles-counter{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:#edf5ff;color:#007AFF;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}
.roles-counter:before{content:"";width:7px;height:7px;border-radius:50%;background:#007AFF}
.role-add-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:15px;background:#f8fbff;border:1px solid #e5edf7;border-radius:10px;margin-bottom:16px}
.role-add-field label{display:block;color:#38506f;font-size:10px;font-weight:800;margin:0 0 7px;letter-spacing:.01em}
.role-add-field input{width:100%;height:40px;border:1px solid #dbe4ef;background:#fff;border-radius:8px;padding:0 12px;color:#172d4b;font:inherit;font-size:12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.role-add-field input::placeholder{color:#9aa8b8}.role-add-field input:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10);background:#fff}
.role-add-btn{height:40px;border:0;border-radius:8px;background:#007AFF;color:#fff;padding:0 15px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;box-shadow:0 5px 13px rgba(0,122,255,.17)}
.role-add-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.role-add-btn:active{transform:translateY(0)}
.role-add-feedback{grid-column:1/-1;min-height:14px;margin-top:-1px;font-size:10px;font-weight:700;color:#6b7c92}.role-add-feedback.error{color:#cf3544}.role-add-feedback.success{color:#16845f}
.roles-list{border:1px solid #e8edf3;border-radius:10px;overflow:hidden;background:#fff}
.role-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) 118px 92px;gap:12px;align-items:center;padding:9px 13px;border-bottom:1px solid #edf1f5;animation:roleRowIn .24s ease both}
.role-row:last-child{border-bottom:0}.role-name{min-width:0;display:flex;align-items:center;gap:10px;color:#203955;font-size:12px;font-weight:750}
.role-icon{width:31px;height:31px;border-radius:9px;background:#f1f6fc;color:#007AFF;display:grid;place-items:center;flex:0 0 auto}.role-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.role-origin{justify-self:start;display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;background:#f1f4f8;color:#63758d}.role-origin.custom{background:#edf8f3;color:#17775b}
.role-action{justify-self:end}.role-lock{color:#96a3b4;font-size:9px;font-weight:700}.role-remove{border:1px solid #f0d7da;background:#fff;color:#c73e4a;border-radius:7px;height:29px;padding:0 9px;font:inherit;font-size:9px;font-weight:800;cursor:pointer;transition:background .16s ease,transform .16s ease}.role-remove:hover{background:#fff5f6}.role-remove:active{transform:scale(.97)}
.config-production{min-height:270px;display:grid;place-items:center;text-align:center;padding:30px;animation:userTabFade .24s ease both}.config-production .production-icon{width:56px;height:56px;border-radius:16px;margin-bottom:13px}.config-production strong{display:block;color:#17304f;font-size:14px;margin-bottom:6px}.config-production small{display:block;color:#6f7e93;font-size:11px;line-height:1.5;max-width:420px}
@keyframes roleRowIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.production-wrap{min-height:calc(100vh - 120px);display:grid;place-items:center}.production-card{width:min(520px,100%);background:#fff;border:1px solid #e5ebf2;border-radius:14px;box-shadow:0 8px 26px rgba(25,53,92,.06);padding:48px 30px;text-align:center}.production-icon{width:64px;height:64px;border-radius:18px;background:#eef5ff;color:#007AFF;display:grid;place-items:center;margin:0 auto 18px}.production-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7}.production-card h2{margin:0;color:#132b49;font-size:21px;font-weight:800}.production-card p{margin:9px 0 0;color:#74839a;font-size:12px;line-height:1.55}
.users-view{min-height:calc(100vh - 80px);background:#f7f9fc;padding:20px;overflow:auto}.users-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}.users-head{padding:22px 24px 18px;border-bottom:1px solid #edf1f5;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.users-head h2{margin:0;color:#0d203d;font-size:20px;font-weight:800}.users-head p{margin:6px 0 0;color:#6e7d93;font-size:12px}.users-count{display:flex;align-items:center;gap:8px;white-space:nowrap;background:#edf5ff;color:#007AFF;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.users-count-dot{width:7px;height:7px;border-radius:50%;background:#007AFF}.users-tabs-wrap{padding:14px 18px 0;border-bottom:1px solid #edf1f5;overflow-x:auto;scrollbar-width:thin}.users-tabs{display:flex;gap:4px;min-width:max-content}.user-tab{border:0;background:transparent;color:#63738a;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.user-tab:hover{background:#f5f8fc;color:#153a67}.user-tab:active{transform:scale(.98)}.user-tab.active{color:#007AFF;background:#f6faff}.user-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:#007AFF}.users-content{padding:18px 20px 22px;min-height:300px}.users-table-wrap{border:1px solid #e8edf3;border-radius:10px;overflow:hidden}.users-table{width:100%;border-collapse:collapse;font-size:12px}.users-table th{background:#f8fafc;color:#64748b;text-align:left;padding:11px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.users-table td{padding:14px;border-top:1px solid #edf1f5;color:#203652;vertical-align:middle}.user-identity{display:flex;align-items:center;gap:10px}.user-avatar-mini{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#007AFF,#34a0ff);color:#fff;font-weight:800;font-size:12px}.user-name{font-weight:800;color:#0c223f}.user-secondary{margin-top:3px;color:#7a8799;font-size:10px}.role-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800}.role-pill{background:#eef4ff;color:#1764c8}.status-pill{background:#e9f8f1;color:#16855b}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#1bb477}.users-empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#6f7e93;padding:30px;animation:userTabFade .24s ease both}.users-empty-icon{width:54px;height:54px;border-radius:16px;background:#f1f6fc;color:#007AFF;display:grid;place-items:center;margin:0 auto 13px}.users-empty-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7}.users-empty strong{display:block;color:#17304f;font-size:14px;margin-bottom:5px}.users-empty small{font-size:11px}.users-table-wrap.tab-fade{animation:userTabFade .26s ease both}@keyframes userTabFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

@media(max-width:760px){
  .login-screen{grid-template-columns:1fr;display:block;overflow:auto;background:#f7f9fc}.login-side{min-height:230px;padding:30px 24px 34px;justify-content:flex-start}.login-copy{margin:34px 0 0}.login-copy h1{font-size:29px;margin-bottom:10px}.login-copy p{font-size:13px;line-height:1.5}.login-side-footer{display:none}.login-brand-mark{width:44px;height:44px}.login-brand-mark img{width:42px;height:42px}.login-brand-text{font-size:15px}.login-brand-text strong{font-size:24px}.login-main{padding:20px 15px 35px;display:block;margin-top:-13px;position:relative;z-index:3;background:transparent}.login-card{margin:0 auto;padding:26px 22px;border-radius:16px}.login-card h2{font-size:24px}
  .sidebar{display:flex;transform:translateX(-100%);width:224px;box-shadow:14px 0 32px rgba(4,25,53,.22)}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:224px;padding:16px 14px}.sidebar.collapsed .brand{justify-content:flex-start;padding:0 12px 16px}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-section,.sidebar.collapsed .cloud-panel{display:block}.sidebar.collapsed .brand-mark{width:42px;height:42px}.sidebar.collapsed .brand-mark img{width:40px;height:40px}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:0 12px;font-size:14px;gap:11px}.shell.sidebar-collapsed{margin-left:0}.unconfigured-view{min-height:calc(100vh - 73px);padding:24px}.unconfigured-message{font-size:17px}.users-view{min-height:calc(100vh - 73px);padding:12px}.users-card{border-radius:10px}.users-head{padding:17px 15px 14px;display:block}.users-count{margin-top:12px;width:max-content}.users-tabs-wrap{padding:10px 10px 0}.user-tab{font-size:11px;padding:9px 10px 11px}.users-content{padding:12px}.users-table-wrap{overflow-x:auto}.users-table{min-width:620px}.config-data-view,.system-config-view{min-height:calc(100vh - 73px);padding:12px}.config-card{border-radius:10px}.config-head{padding:17px 15px 14px}.config-tabs-wrap{padding:10px 10px 0;gap:8px;overflow:visible}.config-tabs{flex:1 1 100%;width:100%}.config-tab{font-size:11px;padding:9px 10px 11px}.config-inline-action{margin:0 0 9px auto;min-height:34px}.config-content{padding:12px}.production-wrap{min-height:calc(100vh - 165px)}.production-card{padding:38px 22px}.roles-toolbar{display:block}.roles-counter{margin-top:10px}.role-add-box{grid-template-columns:1fr}.role-add-btn{width:100%}.role-row{grid-template-columns:minmax(0,1fr) auto;padding:10px}.role-origin{display:none}.role-name{font-size:11px}.config-production{min-height:230px;padding:24px 14px}
}

/* --- Interações e animações minimalistas --- */
:root{--ease-smooth:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.2,.8,.2,1)}
body,button,input{font-family:'Inter',ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.login-screen{animation:loginSceneIn .55s var(--ease-smooth) both}
.login-side:before{animation:ambientFloat 12s ease-in-out infinite alternate}.login-side:after{animation:ambientFloat 15s ease-in-out 1s infinite alternate-reverse}
.login-brand{animation:fadeUp .55s .08s var(--ease-smooth) both}.login-copy{animation:fadeUp .6s .15s var(--ease-smooth) both}.login-side-footer{animation:fadeUp .55s .22s var(--ease-smooth) both}.login-card{animation:cardEnter .62s .12s var(--ease-smooth) both}
.login-card .field,.login-card>p,.login-card h2{animation:fadeUp .45s var(--ease-smooth) both}.login-card h2{animation-delay:.22s}.login-card>p{animation-delay:.27s}.login-card .field:nth-of-type(1){animation-delay:.32s}.login-card .field:nth-of-type(2){animation-delay:.37s}
.field input{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.field input:focus{transform:translateY(-1px)}
.login-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.login-submit.is-loading{cursor:wait;filter:saturate(.9);box-shadow:0 6px 14px rgba(0,122,255,.18)}.submit-spinner{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.36);border-top-color:#fff;border-radius:50%}.login-submit.is-loading .submit-spinner{display:block;animation:spinnerRotate .72s linear infinite}.login-submit.is-loading .submit-label{opacity:.92}
.login-copy h1{display:inline-block;min-height:1.08em}.login-copy h1.is-typing,.login-copy h1.is-erasing{border-right:2px solid rgba(255,255,255,.82);padding-right:3px;animation:caretBlink .75s steps(1) infinite}.login-copy p{transition:opacity .22s ease,transform .22s var(--ease-soft),filter .22s ease}.login-copy p.is-swapping{opacity:0;transform:translateY(4px);filter:blur(1.5px)}
.login-screen.leaving{animation:loginSceneOut .38s var(--ease-soft) both;pointer-events:none}
.app.app-entering{animation:appReveal .52s var(--ease-smooth) both}
#dashboardView,#usersView,#unconfiguredView{will-change:opacity,transform}.view-enter{animation:pageEnter .42s var(--ease-smooth) both}.view-leave{animation:pageLeave .16s ease both}
.dashboard-animating .metric-card,.dashboard-animating .card{animation:dashboardCardIn .55s var(--ease-smooth) both;animation-delay:calc(var(--stagger,0) * 42ms)}
.dashboard-animating .metric-value,.dashboard-animating .mini-value,.dashboard-animating .number-only{animation:numberReveal .62s var(--ease-smooth) both;animation-delay:calc(140ms + var(--stagger,0) * 35ms)}
.dashboard-animating .donut{animation:donutReveal .72s .18s var(--ease-smooth) both}
.dashboard-animating .line-path{stroke-dasharray:620;stroke-dashoffset:620;animation:lineDraw 1s .24s var(--ease-smooth) forwards}.dashboard-animating .point{transform-box:fill-box;transform-origin:center;animation:pointPop .36s var(--ease-smooth) both}.dashboard-animating .point:nth-of-type(1){animation-delay:.45s}.dashboard-animating .point:nth-of-type(2){animation-delay:.52s}.dashboard-animating .point:nth-of-type(3){animation-delay:.59s}.dashboard-animating .point:nth-of-type(4){animation-delay:.66s}.dashboard-animating .point:nth-of-type(5){animation-delay:.73s}.dashboard-animating .point:nth-of-type(6){animation-delay:.80s}
.dashboard-animating .bar-row{animation:barRowIn .5s var(--ease-smooth) both}.dashboard-animating .bar-row:nth-child(1){animation-delay:.20s}.dashboard-animating .bar-row:nth-child(2){animation-delay:.26s}.dashboard-animating .bar-row:nth-child(3){animation-delay:.32s}.dashboard-animating .bar-row:nth-child(4){animation-delay:.38s}.dashboard-animating .bar-row:nth-child(5){animation-delay:.44s}
.zero-donut{background:conic-gradient(#e9eff6 0 100%)}.donut-center .number-only{display:block;font-size:25px;font-weight:800;color:var(--ink);margin:0}.donut-center .number-only+span{display:block;font-size:12px;font-weight:500;color:#5d6e89;margin-top:2px}@media(max-width:760px){.donut-center .number-only{font-size:21px}}
.empty-state{min-height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#62738c;padding:26px 18px}.empty-state strong{font-size:12px;color:#223a5a;margin-top:10px}.empty-state small{font-size:10px;line-height:1.55;margin-top:5px;max-width:280px}.empty-dot{width:38px;height:38px;border-radius:12px;background:#eef5ff;position:relative}.empty-dot:before,.empty-dot:after{content:"";position:absolute;background:#6fa9ef;border-radius:4px}.empty-dot:before{width:16px;height:2px;left:11px;top:15px}.empty-dot:after{width:10px;height:2px;left:14px;top:21px}.empty-activity{min-height:292px;display:grid;place-items:center}.empty-activity .empty-state{min-height:220px}
.empty-table-row td{padding:0!important}.empty-table-row .empty-state{min-height:235px}
.quick-btn{transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.quick-btn:hover{transform:translateY(-1px);border-color:#dce7f4;box-shadow:0 5px 14px rgba(14,47,84,.06)}.quick-btn:active{transform:translateY(0) scale(.99)}
.nav-item,.menu-btn,.profile,.online,.bell{transition:transform .18s ease,opacity .18s ease,background .18s ease}.nav-item:active,.menu-btn:active,.bell:active{transform:scale(.97)}
@keyframes loginSceneIn{from{opacity:0}to{opacity:1}}@keyframes loginSceneOut{to{opacity:0;transform:scale(1.008)}}@keyframes ambientFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-24px,18px,0) scale(1.06)}}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes cardEnter{from{opacity:0;transform:translateY(16px) scale(.985);box-shadow:0 8px 25px rgba(13,42,78,.05)}to{opacity:1;transform:none;box-shadow:0 18px 55px rgba(13,42,78,.11)}}@keyframes caretBlink{0%,49%{border-color:rgba(255,255,255,.82)}50%,100%{border-color:transparent}}@keyframes spinnerRotate{to{transform:rotate(360deg)}}@keyframes appReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes pageEnter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes pageLeave{to{opacity:0;transform:translateY(-3px)}}@keyframes dashboardCardIn{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}@keyframes numberReveal{0%{opacity:0;transform:translateY(8px) scale(.96);filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}@keyframes donutReveal{from{opacity:0;transform:rotate(-12deg) scale(.92)}to{opacity:1;transform:none}}@keyframes lineDraw{to{stroke-dashoffset:0}}@keyframes pointPop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes barRowIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.empty-table-row{display:block!important}.empty-table-row td{display:block!important;padding:0!important}.empty-table-row .empty-state{min-height:210px}.empty-activity{min-height:220px}.login-side-footer{display:block;font-size:9px;line-height:1.45;margin-top:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.login-copy h1.is-typing,.login-copy h1.is-erasing{border-right:0}}


/* ===== Ensaios.click 2.7 ===== */
/* Sidebar textual: sem ícones no menu lateral. */
.sidebar .nav-item{position:relative;justify-content:flex-start}
.sidebar.collapsed .nav-item{font-size:0;min-height:38px}
.sidebar.collapsed .nav-item::after{content:attr(data-short);display:grid;place-items:center;width:34px;height:28px;border-radius:7px;font-size:10px;font-weight:850;letter-spacing:.02em;color:#f4f8ff}
.sidebar.collapsed .nav-item.active::after{background:rgba(255,255,255,.06)}

/* Cabeçalhos internos removidos: título e subtítulo permanecem somente no topo. */
.users-toolbar{display:flex;justify-content:flex-end;align-items:center;padding:16px 18px 12px;border-bottom:1px solid #edf1f5}
.new-user-btn,.modal-primary,.modal-secondary,.copy-invite-btn{border:0;border-radius:8px;min-height:40px;padding:0 15px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,filter .16s ease,background .2s ease}
.new-user-btn,.modal-primary,.copy-invite-btn{background:#007AFF;color:#fff;box-shadow:0 6px 16px rgba(0,122,255,.18)}
.new-user-btn:hover,.modal-primary:hover,.copy-invite-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.modal-secondary{background:#f1f5f9;color:#334c6c}
.modal-secondary:hover{background:#e8eef5}
.users-tabs-wrap{padding-top:4px}

/* Lista fixa de cargos/ministérios: sem adicionar, contador, rótulos ou ações. */
.roles-panel{padding:1px 0}
.roles-list{border:1px solid #e8edf3;border-radius:10px;overflow:hidden;background:#fff}
.role-row{grid-template-columns:1fr!important;min-height:50px;padding:0 14px!important}
.role-name{font-size:12px;font-weight:760;color:#17304f}
.role-origin,.role-action,.role-add-box,.roles-toolbar{display:none!important}

/* Menu do perfil */
.profile-wrap{position:relative}
.profile-menu{position:absolute;right:0;top:calc(100% + 10px);width:190px;padding:7px;background:#fff;border:1px solid #e3eaf2;border-radius:10px;box-shadow:0 18px 44px rgba(10,37,72,.16);z-index:120;transform-origin:top right;animation:profileMenuIn .18s cubic-bezier(.2,.8,.2,1) both}
.profile-menu[hidden]{display:none}
.profile-menu button{width:100%;height:38px;border:0;background:transparent;border-radius:7px;text-align:left;padding:0 11px;color:#1c3657;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.profile-menu button:hover{background:#f2f6fb}
.profile-menu button:last-child{color:#b42d3a}
@keyframes profileMenuIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* Modais e wizard */
.modal-layer{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:22px;background:rgba(6,24,48,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modalBackdropIn .25s ease both}
.modal-layer[hidden]{display:none}
.modal-card{width:min(580px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;background:#fff;border:1px solid rgba(222,230,240,.9);border-radius:16px;box-shadow:0 26px 70px rgba(5,28,58,.24);animation:modalCardIn .34s cubic-bezier(.18,.86,.25,1) both}
.modal-card.modal-wide{width:min(680px,100%)}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 15px;border-bottom:1px solid #edf1f5}
.modal-head h2{font-size:18px;margin:0;color:#102846}.modal-head p{font-size:11px;line-height:1.55;color:#738198;margin:6px 0 0}
.modal-close{width:34px;height:34px;border:0;border-radius:8px;background:#f2f6fa;color:#50627b;font-size:20px;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}
.modal-close:hover{background:#e9eff6}
.modal-body{padding:20px 24px}.modal-footer{padding:14px 24px 22px;display:flex;justify-content:flex-end;gap:9px}
@keyframes modalBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes modalCardIn{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}

.wizard-progress{padding:16px 24px 0;display:flex;flex-wrap:nowrap;align-items:center;gap:7px}.wizard-progress span{flex:1 1 0;min-width:0;height:4px;border-radius:999px;background:#e7edf5;overflow:hidden;position:relative}.wizard-progress span::after{content:"";position:absolute;inset:0;background:#007AFF;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.wizard-progress span.done::after{transform:scaleX(1)}
.wizard-step{animation:wizardStepIn .28s cubic-bezier(.2,.8,.2,1) both}.wizard-step.is-leaving{animation:wizardStepOut .16s ease both}
@keyframes wizardStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes wizardStepOut{to{opacity:0;transform:translateX(-10px)}}
.wizard-kicker{font-size:10px;color:#007AFF;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.wizard-title{font-size:16px;font-weight:850;color:#122d4d;margin:0 0 5px}.wizard-help{font-size:11px;color:#74839a;line-height:1.55;margin:0 0 16px}
.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.role-option{position:relative}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-option span{min-height:44px;border:1px solid #dfe7f0;border-radius:9px;padding:0 12px;display:flex;align-items:center;background:#fff;color:#294461;font-size:11px;font-weight:730;cursor:pointer;transition:.18s}.role-option span:hover{border-color:#9fc7fa;background:#f7fbff}.role-option input:checked+span{border-color:#007AFF;background:#edf6ff;color:#075dcf;box-shadow:0 0 0 3px rgba(0,122,255,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.modal-field label{display:block;margin:0 0 7px;color:#38506f;font-size:10px;font-weight:800}.required-mark{display:inline!important;margin-left:3px!important;color:#d92d3a!important;font-size:inherit!important;font-weight:900!important;line-height:1!important}.modal-field input,.modal-field select,.invite-message{width:100%;border:1px solid #dbe4ef;border-radius:8px;background:#fff;color:#172d4b;font:inherit;font-size:12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.modal-field input,.modal-field select{height:42px;padding:0 12px}.modal-field input:focus,.modal-field select:focus,.invite-message:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}.modal-field input::placeholder{color:#a0adbd}.modal-error{min-height:17px;color:#c43844;font-size:10px;font-weight:700;margin-top:10px}.modal-note{padding:11px 12px;border-radius:9px;background:#f5f8fc;color:#60728a;font-size:10px;line-height:1.55}
.invite-success{text-align:center;padding-top:2px}.success-check{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#e8f8f2;color:#0aa36f;font-size:27px;font-weight:850;animation:successPop .34s cubic-bezier(.2,.9,.2,1) both}.invite-success h3{margin:0;color:#17304f;font-size:17px}.invite-success p{margin:7px auto 16px;max-width:440px;color:#738198;font-size:11px;line-height:1.55}.invite-message{height:150px;resize:none;padding:12px;line-height:1.55;background:#f9fbfd}.invite-actions{display:flex;justify-content:center;gap:9px;margin-top:12px}
@keyframes successPop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}


/* Fluxo para iniciar ensaio */
.start-rehearsal-card{width:min(720px,100%)}
.rehearsal-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rehearsal-type-option{position:relative;display:block}
.rehearsal-type-option input{position:absolute;opacity:0;pointer-events:none}
.rehearsal-type-card{min-height:118px;border:1px solid #dfe7f0;border-radius:12px;background:#fff;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:7px;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .18s ease}
.rehearsal-type-card:hover{border-color:#9fc7fa;background:#f8fbff;transform:translateY(-1px)}
.rehearsal-type-card strong{font-size:14px;color:#153352}.rehearsal-type-card span{font-size:10px;line-height:1.55;color:#74839a}
.rehearsal-type-option input:checked+.rehearsal-type-card{border-color:#007AFF;background:#edf6ff;box-shadow:0 0 0 3px rgba(0,122,255,.08)}
.rehearsal-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.rehearsal-access-head p{margin:0;color:#6f8198;font-size:10px;line-height:1.55}.rehearsal-access-count{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#edf6ff;color:#0863d9;font-size:9px;font-weight:850}
.rehearsal-user-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rehearsal-user-choice{position:relative;display:block}.rehearsal-user-choice input{position:absolute;opacity:0;pointer-events:none}
.rehearsal-user-card{min-height:72px;border:1px solid #e0e7f0;border-radius:11px;padding:10px 11px;background:#fff;display:flex;align-items:center;gap:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.rehearsal-user-card:hover{border-color:#b5d4fc;background:#f9fbff;transform:translateY(-1px)}
.rehearsal-user-choice input:checked+.rehearsal-user-card{border-color:#007AFF;background:#f2f8ff;box-shadow:0 0 0 2px rgba(0,122,255,.07)}
.rehearsal-user-choice input:disabled+.rehearsal-user-card{cursor:default}
.rehearsal-user-card .user-avatar-mini{width:40px;height:40px;font-size:11px;flex:0 0 auto}
.rehearsal-user-meta{min-width:0;flex:1}.rehearsal-user-meta strong{display:block;font-size:11px;color:#17304f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rehearsal-user-meta span{display:block;margin-top:3px;color:#74839a;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rehearsal-user-check{width:20px;height:20px;border:1.5px solid #cfd9e5;border-radius:6px;display:grid;place-items:center;color:transparent;font-size:12px;font-weight:900;transition:.18s}
.rehearsal-user-choice input:checked+.rehearsal-user-card .rehearsal-user-check{background:#007AFF;border-color:#007AFF;color:#fff}
.rehearsal-user-choice input:disabled+.rehearsal-user-card .rehearsal-user-check{background:#007AFF;border-color:#007AFF;color:#fff;opacity:.7}
.rehearsal-empty-users{padding:24px;border:1px dashed #d9e3ee;border-radius:11px;text-align:center;background:#fafcff}.rehearsal-empty-users strong{display:block;color:#24415f;font-size:12px}.rehearsal-empty-users span{display:block;color:#7b8aa0;font-size:10px;line-height:1.55;margin-top:5px}
.rehearsal-access-note{margin-top:12px;padding:10px 11px;border-radius:9px;background:#f6f9fc;color:#687a91;font-size:9px;line-height:1.55}
.rehearsal-external-picker{margin-top:14px;padding-top:14px;border-top:1px solid #e7edf4;display:flex;flex-direction:column;gap:10px}
.rehearsal-external-picker .locality-toggle{font-size:11px}
.rehearsal-external-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;animation:fadeUp .22s ease both}
.rehearsal-external-fields .modal-field{margin:0}
.rehearsal-external-fields .modal-primary{height:40px;white-space:nowrap;padding:0 15px}
.rehearsal-external-hint{font-size:9px;color:#74839a;line-height:1.45}
.rehearsal-user-card.is-external{border-style:dashed}
.rehearsal-user-meta .external-badge{display:inline-flex;width:max-content;margin-top:5px;padding:3px 6px;border-radius:999px;background:#fff4e8;color:#b95b00;font-size:8px;font-weight:800;line-height:1}
@media(max-width:760px){.rehearsal-external-fields{grid-template-columns:1fr}.rehearsal-external-fields .modal-primary{width:100%}}
@media(max-width:760px){.rehearsal-type-options,.rehearsal-user-list{grid-template-columns:1fr}.start-rehearsal-card{width:100%}}

/* Primeiro acesso */
.first-access-screen{position:fixed;inset:0;z-index:350;background:linear-gradient(135deg,#f5f9ff,#eef5fd 48%,#f9fbff);display:grid;place-items:center;padding:22px;animation:firstAccessIn .42s ease both}.first-access-screen[hidden]{display:none}.first-access-card{width:min(520px,100%);background:#fff;border:1px solid #e2e9f2;border-radius:16px;padding:26px;box-shadow:0 24px 70px rgba(12,42,82,.13)}.first-access-brand{font-size:11px;font-weight:850;color:#007AFF;margin-bottom:17px}.first-access-card h1{margin:0;color:#102846;font-size:22px}.first-access-card>p{margin:7px 0 19px;color:#6f7f95;font-size:11px;line-height:1.6}.password-rules{margin:11px 0 16px;padding:11px 12px;background:#f6f9fc;border-radius:9px;color:#61748c;font-size:10px;line-height:1.55}.first-access-actions{margin-top:14px}.first-access-actions .modal-primary{width:100%}
@keyframes firstAccessIn{from{opacity:0;transform:scale(1.01)}to{opacity:1;transform:none}}

/* Modal obrigatório do primeiro cadastro */
.mandatory-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff3dc;color:#a46105;font-size:9px;font-weight:850;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}

@media(max-width:760px){
 .users-view,.config-data-view,.system-config-view{padding:10px 12px 90px}
 .users-toolbar{padding:12px}.new-user-btn{width:100%}
 .modal-layer{padding:12px}.modal-card{max-height:calc(100vh - 24px);border-radius:14px}.modal-head{padding:18px 18px 13px}.modal-body{padding:17px 18px}.modal-footer{padding:12px 18px 18px}.wizard-progress{padding:14px 18px 0}
 .role-options{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}
 .profile-menu{right:-4px}
}
@media(prefers-reduced-motion:reduce){.modal-layer,.modal-card,.wizard-step,.profile-menu,.success-check,.first-access-screen{animation:none!important}.wizard-progress span::after{transition:none!important}}


/* Gestão de usuários — ações administrativas */
.users-table th.actions-head,.users-table td.actions-cell{text-align:right;white-space:nowrap}
.user-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}
.user-action-btn{min-height:34px;border:1px solid #dbe5f0;border-radius:8px;background:#fff;color:#234464;padding:0 10px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:transform .16s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.user-action-btn:hover{background:#f6f9fd;border-color:#cbd9e8;box-shadow:0 4px 12px rgba(20,54,91,.07);transform:translateY(-1px)}
.user-action-btn:active{transform:translateY(0) scale(.98)}
.user-action-btn.password{color:#007AFF;border-color:#cfe1fb;background:#f8fbff}
.user-action-btn.danger{color:#b42332;border-color:#f0d2d6;background:#fffafa}
.user-action-btn.danger:hover{background:#fff2f3;border-color:#eabdc3}
.user-current-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border-radius:999px;background:#f1f5f9;color:#66758a;font-size:9px;font-weight:800}
.admin-user-summary{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e7edf4;border-radius:10px;background:#f8fafc;margin-bottom:15px}
.admin-user-summary .user-avatar-mini{flex:0 0 auto}.admin-user-summary strong{display:block;color:#102846;font-size:12px}.admin-user-summary small{display:block;color:#718096;font-size:10px;margin-top:3px}
.admin-warning{padding:11px 12px;border:1px solid #f0d4d7;border-radius:9px;background:#fff7f8;color:#8f2935;font-size:10px;line-height:1.55}
.temp-password-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin:13px 0 10px;padding:11px 12px;border:1px solid #dce8f6;border-radius:10px;background:#f7fbff}
.temp-password-box code{font-family:Inter,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:850;letter-spacing:.12em;color:#0a4ea8;overflow-wrap:anywhere}
.temp-password-copy{height:34px;border:0;border-radius:8px;background:#e9f3ff;color:#007AFF;padding:0 11px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.reset-message{width:100%;min-height:126px;resize:vertical;border:1px solid #dfe7f0;border-radius:9px;background:#fbfcfe;color:#334b68;padding:11px;font:inherit;font-size:10px;line-height:1.55;outline:none}
@media(max-width:760px){.users-table{min-width:820px}.user-actions{flex-wrap:nowrap}.temp-password-box{grid-template-columns:1fr}.temp-password-copy{width:100%}}



/* ===== Ensaios.click 2.8 ===== */
/* Ícones aparecem somente quando a barra lateral está recolhida. */
.sidebar .nav-collapsed-icon{display:none;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.sidebar.collapsed .nav-item::after{display:none!important;content:none!important}
.sidebar.collapsed .nav-label{display:none}
.sidebar.collapsed .nav-collapsed-icon{display:block}
.sidebar.collapsed .nav-item{font-size:14px}

/* Perfil superior sem indicador Online. */
.top-actions{gap:16px}.profile{min-width:0}.avatar,.edit-avatar-preview,.my-profile-avatar{background:linear-gradient(135deg,#007AFF,#3d94ff);color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat;display:grid;place-items:center;font-weight:850;letter-spacing:.02em;overflow:hidden;user-select:none}
.avatar span,.edit-avatar-preview span,.my-profile-avatar span{line-height:1}.avatar.has-photo,.edit-avatar-preview.has-photo,.my-profile-avatar.has-photo{color:transparent}
.avatar{font-size:12px}.profile-name{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Usuários: sem subtítulo sob o nome e sem rótulo visual de Ações/Conta atual. */
.users-table .actions-head{width:245px;color:transparent;font-size:0}.users-table td.actions-cell{width:245px}.user-identity .user-name{line-height:1.3}.user-avatar-mini{background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden;flex:0 0 auto}.user-avatar-mini.has-photo{color:transparent}

/* Meu perfil para usuários não administradores. */
.my-profile-view{min-height:calc(100vh - 80px);background:#f7f9fc;padding:20px;overflow:auto}
.my-profile-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}
.my-profile-summary{display:flex;align-items:center;gap:14px;padding:22px 24px;border-bottom:1px solid #edf1f5}.my-profile-avatar{width:62px;height:62px;border-radius:50%;font-size:18px;flex:0 0 auto}.my-profile-summary-copy{min-width:0}.my-profile-summary-copy strong{display:block;color:#112a49;font-size:16px}.my-profile-summary-copy span{display:block;color:#6f7f96;font-size:11px;margin-top:5px}.my-profile-edit-btn{margin-left:auto}
.my-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:6px 24px 18px}.profile-detail{padding:16px 0;border-bottom:1px solid #edf1f5}.profile-detail:nth-child(odd){padding-right:24px}.profile-detail:nth-child(even){padding-left:24px;border-left:1px solid #edf1f5}.profile-detail-label{display:block;color:#7a899d;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.profile-detail-value{display:block;color:#1b3555;font-size:12px;font-weight:700;margin-top:5px;word-break:break-word}

/* Editor da foto de perfil. */
.profile-photo-editor{display:flex;align-items:center;gap:16px;padding:0 0 20px;margin-bottom:18px;border-bottom:1px solid #edf1f5}.edit-avatar-preview{width:76px;height:76px;border-radius:50%;font-size:20px;flex:0 0 auto;box-shadow:0 0 0 4px #eef4fb}.profile-photo-copy{min-width:0}.profile-photo-copy>strong{display:block;color:#16304f;font-size:12px}.profile-photo-copy>small{display:block;color:#738198;font-size:10px;line-height:1.5;margin-top:4px;max-width:420px}.profile-photo-actions{display:flex;align-items:center;gap:9px;margin-top:10px}.profile-photo-remove{border:0;background:transparent;color:#b32838;font:inherit;font-size:10px;font-weight:800;cursor:pointer;padding:8px 4px}.profile-photo-remove:hover{text-decoration:underline}
.avatar-crop-card{width:min(520px,100%)}.avatar-crop-stage{width:min(320px,82vw);aspect-ratio:1;margin:4px auto 14px;position:relative;border-radius:50%;background:#eaf0f7;box-shadow:0 0 0 8px #f3f6fa;overflow:hidden;touch-action:none}.avatar-crop-stage canvas{display:block;width:100%;height:100%;border-radius:50%;cursor:grab;touch-action:none}.avatar-crop-stage canvas:active{cursor:grabbing}.avatar-crop-ring{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.92),inset 0 0 0 3px rgba(19,57,97,.18);pointer-events:none}.avatar-crop-help{text-align:center;color:#75849a;font-size:10px;margin-bottom:15px}.avatar-zoom-label{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;color:#49617f;font-size:10px;font-weight:800}.avatar-zoom-label input{width:100%;accent-color:#007AFF}.avatar-crop-card .modal-error{text-align:center}

@media(max-width:760px){
  .sidebar.collapsed .nav-label{display:inline}.sidebar.collapsed .nav-collapsed-icon{display:none}.sidebar.collapsed .nav-item{font-size:14px}
  .top-actions{gap:8px}.bell{width:30px}.profile-name,.profile-role,.profile-chevron{display:none}.avatar{width:34px;height:34px;font-size:10px}
  .my-profile-view{min-height:calc(100vh - 73px);padding:12px}.my-profile-card{border-radius:10px}.my-profile-summary{padding:18px 16px;flex-wrap:wrap}.my-profile-avatar{width:56px;height:56px}.my-profile-edit-btn{width:100%;margin-left:0}.my-profile-details{grid-template-columns:1fr;padding:4px 16px 16px}.profile-detail:nth-child(odd),.profile-detail:nth-child(even){padding-left:0;padding-right:0;border-left:0}
  .profile-photo-editor{align-items:flex-start}.edit-avatar-preview{width:66px;height:66px}.profile-photo-actions{align-items:flex-start;flex-direction:column;gap:2px}.profile-photo-actions .modal-secondary{min-height:36px}
  .users-table .actions-head,.users-table td.actions-cell{width:220px}
}


/* ===== Ensaios.click 2.9 ===== */
/* Dashboard simplificado: os três cartões principais ocupam a mesma linha e a mesma altura. */
.dashboard-grid-v29{grid-template-columns:1.64fr .84fr .94fr;grid-template-rows:minmax(401px,auto);align-items:stretch}
.dashboard-grid-v29>.recent,.dashboard-grid-v29>.region-card,.dashboard-grid-v29>.quick-card{grid-row:1;min-height:401px;height:100%;display:flex;flex-direction:column}
.dashboard-grid-v29>.recent{grid-column:1}.dashboard-grid-v29>.region-card{grid-column:2}.dashboard-grid-v29>.quick-card{grid-column:3}
.dashboard-grid-v29>.recent .table-wrap{flex:1}.dashboard-grid-v29>.recent .recent-footer{margin-top:auto}
.dashboard-grid-v29>.region-card .region-bars{flex:1;align-content:center;margin-top:0}
.dashboard-grid-v29>.quick-card .quick-list{flex:1;align-content:center}
.dashboard-grid-v29>.footer{grid-column:1/4;grid-row:2}
/* Pergunta da etapa no cabeçalho do cadastro de usuário. */
.wizard-question-head{align-items:flex-start}.wizard-question-head>div{min-width:0;padding-right:24px}.wizard-head-kicker{margin-bottom:5px;text-transform:none;letter-spacing:0}.wizard-question-head h2{line-height:1.2}.wizard-question-head p{margin-top:5px}
.wizard-question-change{animation:wizardQuestionIn .3s cubic-bezier(.22,.8,.25,1) both}@keyframes wizardQuestionIn{from{opacity:.28;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.dashboard-grid-v29{grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto}.dashboard-grid-v29>.recent{grid-column:1;grid-row:1/3;min-height:100%}.dashboard-grid-v29>.region-card{grid-column:2;grid-row:1;min-height:260px}.dashboard-grid-v29>.quick-card{grid-column:2;grid-row:2;min-height:260px}.dashboard-grid-v29>.footer{grid-column:1/3;grid-row:3}}
@media(max-width:760px){.dashboard-grid-v29{grid-template-columns:1fr;grid-template-rows:auto;gap:8px}.dashboard-grid-v29>.recent,.dashboard-grid-v29>.region-card,.dashboard-grid-v29>.quick-card{grid-column:1;min-height:0;height:auto}.dashboard-grid-v29>.recent{grid-row:1}.dashboard-grid-v29>.region-card{display:flex;grid-row:2;min-height:280px}.dashboard-grid-v29>.quick-card{grid-row:3;min-height:280px}.dashboard-grid-v29>.footer{display:none}.dashboard-grid-v29>.quick-card .quick-list{grid-template-columns:repeat(2,1fr)}.dashboard-grid-v29>.quick-card .quick-btn{min-height:92px}.dashboard-grid-v29>.region-card .region-bars{align-content:center}}


/* ===== Ensaios.click 2.10 — Ensaio ativo e usuários temporários ===== */
.rehearsal-view{min-height:calc(100vh - 80px);background:#f7f9fc;padding:20px;overflow:auto}.rehearsal-card{max-width:1260px;margin:0 auto;background:#fff;border:1px solid #e5ebf2;border-radius:12px;box-shadow:0 6px 20px rgba(25,53,92,.06);overflow:hidden}.rehearsal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #edf1f5}.rehearsal-toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.organ-count-wrap{display:flex;align-items:center;gap:10px;color:#53657d;font-size:11px;font-weight:750}.organ-count-wrap input{width:82px;height:38px;border:1px solid #dce5ef;border-radius:8px;padding:0 10px;font:inherit;color:#17304f;outline:none}.organ-count-wrap input:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}.rehearsal-tabs-wrap{padding:14px 18px 0;border-bottom:1px solid #edf1f5;overflow-x:auto}.rehearsal-tabs{display:flex;gap:4px;min-width:max-content}.rehearsal-tab{border:0;background:transparent;color:#63738a;font:inherit;font-size:12px;font-weight:700;padding:10px 13px 12px;border-radius:8px 8px 0 0;cursor:pointer;position:relative;transition:.18s ease}.rehearsal-tab:hover{background:#f5f8fc;color:#153a67}.rehearsal-tab.active{color:#007AFF;background:#f6faff}.rehearsal-tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:#007AFF;border-radius:2px}.rehearsal-content{padding:20px;min-height:330px}.rehearsal-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rehearsal-data-item{border:1px solid #e7edf4;border-radius:10px;padding:14px;background:#fbfdff}.rehearsal-data-item span{display:block;color:#7b8899;font-size:10px;font-weight:750;margin-bottom:5px}.rehearsal-data-item strong{display:block;color:#17304f;font-size:13px}.rehearsal-danger-zone{margin-top:18px;padding-top:18px;border-top:1px solid #edf1f5;display:flex;justify-content:flex-end}.finish-rehearsal-btn{border:1px solid #efc9cf;background:#fff6f7;color:#b42332;border-radius:8px;height:40px;padding:0 14px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.rehearsal-empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#77869a}.rehearsal-empty strong{display:block;color:#17304f;font-size:14px;margin-bottom:6px}.rehearsal-people{display:grid;gap:9px}.rehearsal-person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e7edf4;border-radius:9px}.rehearsal-person-row strong{font-size:12px;color:#17304f}.rehearsal-person-row span{font-size:10px;color:#7b8899}
.rehearsal-person-wizard-card{width:min(700px,100%)}
.rehearsal-instrument-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #dce8f6;border-radius:10px;background:#f7fbff;color:#24415f;font-size:11px}
.rehearsal-instrument-selected strong{color:#0b63d8;font-size:11px}
.rehearsal-person-location-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.rehearsal-person-location-summary span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:#f1f6fc;color:#3f5875;font-size:10px;font-weight:750}
.rehearsal-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rehearsal-role-option{position:relative}
.rehearsal-role-option input{position:absolute;opacity:0;pointer-events:none}
.rehearsal-role-option span{min-height:44px;border:1px solid #dfe7f0;border-radius:9px;padding:0 12px;display:flex;align-items:center;background:#fff;color:#294461;font-size:11px;font-weight:730;cursor:pointer;transition:.18s ease}
.rehearsal-role-option span:hover{border-color:#9fc7fa;background:#f7fbff}
.rehearsal-role-option input:checked+span{border-color:#007AFF;background:#edf6ff;color:#075dcf;box-shadow:0 0 0 3px rgba(0,122,255,.08)}
@media(max-width:620px){.rehearsal-role-options{grid-template-columns:1fr}}
.rehearsal-word{display:grid;gap:14px;animation:userTabFade .24s ease both}
.rehearsal-word-card{border:1px solid #e5ebf2;border-radius:12px;background:#fff;padding:16px}
.rehearsal-word-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(110px,.55fr) minmax(130px,.7fr) minmax(130px,.7fr);gap:12px}
.rehearsal-word-grid .modal-field{margin:0}
.rehearsal-word-title-row{margin-top:12px}
.rehearsal-word-help{margin-top:7px;color:#7c8ba0;font-size:9px;line-height:1.5}
.rehearsal-word-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}
.rehearsal-word-status{margin-right:auto;min-height:16px;color:#0a875f;font-size:10px;font-weight:750;display:flex;align-items:center}
.rehearsal-word-reference{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f7faff;border:1px solid #e5edf7;color:#405a77;font-size:10px;line-height:1.5}
.rehearsal-word-reference strong{color:#17304f}
@media(max-width:800px){.rehearsal-word-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rehearsal-word-grid{grid-template-columns:1fr}.rehearsal-word-actions{align-items:stretch;flex-direction:column}.rehearsal-word-actions .modal-primary{width:100%}.rehearsal-word-status{margin-right:0}}
.rehearsal-attendance{display:grid;gap:16px;animation:userTabFade .24s ease both}
.attendance-section{border:1px solid #e5ebf2;border-radius:12px;background:#fff;overflow:visible}
.attendance-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #edf1f5;background:#fbfdff;border-radius:12px 12px 0 0}
.attendance-section-head h3{margin:0;color:#17304f;font-size:13px;font-weight:850}
.attendance-section-head p{margin:3px 0 0;color:#7b8899;font-size:9px}
.attendance-section-body{padding:15px}
.attendance-entry{padding:14px;border:1px solid #e8edf4;border-radius:10px;background:#fff}
.attendance-entry+.attendance-entry{margin-top:10px}
.attendance-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.attendance-entry-head strong{color:#294461;font-size:11px}
.attendance-grid{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1.2fr) minmax(190px,1fr);gap:11px;align-items:start}
.attendance-grid .modal-field{margin:0}
.attendance-locality-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.attendance-locality-row .locality-control{margin:0}
.attendance-locality-row .modal-field{margin:0}
.attendance-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}
.attendance-add-btn{height:36px;border:1px solid #cfe1f7;background:#f7fbff;color:#0b63d8;border-radius:8px;padding:0 12px;font:inherit;font-size:10px;font-weight:820;cursor:pointer;transition:.18s ease}
.attendance-add-btn:hover{background:#eef6ff;border-color:#9fc7fa}
.attendance-remove-btn{height:31px;border:1px solid #efc9cf;background:#fff8f8;color:#b42332;border-radius:7px;padding:0 9px;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.attendance-save-status{min-height:16px;color:#0a875f;font-size:10px;font-weight:750;display:flex;align-items:center}
.attendance-section .autocomplete-wrap{position:relative}
@media(max-width:900px){.attendance-grid{grid-template-columns:1fr 1fr}.attendance-locality-row{grid-column:1/-1}}
@media(max-width:620px){.attendance-grid{grid-template-columns:1fr}.attendance-locality-row{grid-column:auto}.attendance-section-head{align-items:flex-start;flex-direction:column}.attendance-add-btn{width:100%}.attendance-actions{flex-direction:column}.attendance-actions .modal-primary{width:100%}}
.rehearsal-people-panel{display:grid;gap:14px;animation:userTabFade .24s ease both}
.rehearsal-people-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rehearsal-people-stat{border:1px solid #e5ebf2;border-radius:11px;background:#fbfdff;padding:13px 14px}
.rehearsal-people-stat span{display:block;color:#7b8899;font-size:9px;font-weight:750;margin-bottom:5px}
.rehearsal-people-stat strong{display:block;color:#17304f;font-size:20px;line-height:1}
.rehearsal-people-stat input{width:100%;max-width:110px;height:38px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;color:#17304f;font:inherit;font-size:18px;font-weight:850;padding:0 10px;outline:none}
.rehearsal-people-stat input:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}
.rehearsal-people-stat.total strong{min-height:38px;display:flex;align-items:center}
.rehearsal-people-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.rehearsal-people-save-status{margin-right:auto;color:#0a875f;font-size:10px;font-weight:750}
.rehearsal-people-toolbar{display:flex;align-items:center;justify-content:flex-end}
.rehearsal-refresh-btn{height:34px;border:1px solid #d8e4f1;background:#fff;color:#33506f;border-radius:8px;padding:0 11px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:.18s ease}
.rehearsal-refresh-btn:hover{border-color:#9fc7fa;background:#f7fbff;color:#0b63d8}

.rehearsal-hymns-panel{display:grid;gap:13px;animation:userTabFade .24s ease both}
.rehearsal-hymns-toolbar{display:flex;justify-content:flex-end}
.rehearsal-hymns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.rehearsal-hymn-card{border:1px solid #e5ebf2;border-radius:11px;background:#fff;padding:14px;min-height:130px}
.rehearsal-hymn-card strong{display:block;color:#17304f;font-size:12px;margin-bottom:8px}
.rehearsal-hymn-values{color:#50647d;font-size:11px;line-height:1.7;word-break:break-word;display:flex;flex-wrap:wrap;gap:5px 7px;align-items:center}
.rehearsal-hymn-edit{border:0;background:transparent;color:#50647d;font:inherit;font-size:11px;line-height:1.55;padding:1px 2px;border-bottom:1px dashed #b9c7d8;cursor:pointer;transition:color .18s ease,border-color .18s ease}
.rehearsal-hymn-edit:hover{color:#007AFF;border-color:#007AFF}
.rehearsal-hymn-separator{color:#9ba8b8;margin-left:-3px}
.rehearsal-hymn-empty{color:#9aa6b6;font-size:10px}
.hymn-input-preview{margin-top:10px;padding:10px 11px;border-radius:9px;background:#f5f9ff;border:1px solid #e2ecf8;color:#37516f;font-size:10px;font-weight:750}
.modal-layer-over{z-index:420}
.modal-compact{width:min(440px,100%)}

.rehearsal-gem-panel{display:grid;gap:13px;animation:userTabFade .24s ease both}
.rehearsal-gem-list{display:grid;gap:8px}
.rehearsal-gem-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e6ecf3;border-radius:9px;background:#fff}
.rehearsal-gem-row strong{color:#294461;font-size:11px}
.rehearsal-gem-row input{width:100%;height:38px;border:1px solid #dbe4ef;border-radius:8px;padding:0 10px;color:#17304f;font:inherit;font-size:12px;outline:none;text-align:right}
.rehearsal-gem-row input:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}
.rehearsal-gem-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.rehearsal-gem-status{margin-right:auto;color:#0a875f;font-size:10px;font-weight:750}
.rehearsal-ministry-panel{display:grid;gap:13px;animation:userTabFade .24s ease both}
.rehearsal-ministry-list{display:grid;gap:8px}
.rehearsal-ministry-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e6ecf3;border-radius:9px;background:#fff}
.rehearsal-ministry-row strong{color:#294461;font-size:11px}
.rehearsal-ministry-row input{width:100%;height:38px;border:1px solid #dbe4ef;border-radius:8px;padding:0 10px;color:#17304f;font:inherit;font-size:12px;outline:none;text-align:right}
.rehearsal-ministry-row input:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}
.rehearsal-ministry-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.rehearsal-ministry-status{margin-right:auto;color:#0a875f;font-size:10px;font-weight:750}
@media(max-width:700px){.rehearsal-people-summary,.rehearsal-hymns-grid{grid-template-columns:1fr}.rehearsal-ministry-row{grid-template-columns:minmax(0,1fr) 88px}}
.balance-tab-panel{display:grid;gap:14px;animation:userTabFade .24s ease both}
.balance-tab-card{border:1px solid #e5ebf2;border-radius:12px;background:#fff;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.balance-tab-copy strong{display:block;color:#17304f;font-size:13px;margin-bottom:5px}
.balance-tab-copy span{display:block;color:#74839a;font-size:10px;line-height:1.5;max-width:620px}
.balance-tab-live{display:inline-flex!important;width:max-content;align-items:center;gap:6px;margin-top:9px;padding:5px 8px;border-radius:999px;background:#edf9f4;color:#0a875f!important;font-weight:800}
.balance-tab-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#0bb977}
.balance-preview-card{width:min(1180px,96vw);max-height:94vh;display:flex;flex-direction:column}
.balance-preview-controls{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid #edf1f5;background:#fbfdff}
.balance-copy-option{position:relative;display:block}
.balance-copy-option input{position:absolute;opacity:0;pointer-events:none}
.balance-copy-option span{height:36px;display:flex;align-items:center;padding:0 13px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#52677f;font-size:10px;font-weight:820;cursor:pointer;transition:.18s ease}
.balance-copy-option input:checked+span{border-color:#007AFF;background:#edf6ff;color:#075dcf;box-shadow:0 0 0 3px rgba(0,122,255,.07)}
.balance-preview-body{flex:1;min-height:0;overflow:auto;background:#e9eef4;padding:18px}
.balance-preview-layout{display:flex;justify-content:center;align-items:flex-start;gap:14px;min-width:min-content}
.balance-preview-layout.one .balance-report-sheet{width:760px}
.balance-preview-layout.two{width:1050px;margin:0 auto}
.balance-preview-layout.two .balance-preview-slot{width:510px;min-height:1px;overflow:visible;background:#fff;border:1px solid #cdd9e6;box-shadow:0 8px 22px rgba(25,53,92,.12);position:relative}
.balance-preview-layout.two .balance-report-sheet{width:760px;transform:scale(var(--preview-scale,.665));transform-origin:top left;box-shadow:none;border:0;position:absolute;inset:0 auto auto 0}
.balance-preview-footer{gap:10px}
.balance-preview-note{margin-right:auto;color:#718096;font-size:9px;line-height:1.4}
.balance-report-sheet{--report-navy:#07345d;--report-navy-2:#0a4778;--report-blue:#4c91ef;--report-green:#2ca486;--report-gold:#d39a22;--report-purple:#7d40c7;box-sizing:border-box;background:#fff!important;color:#0b2341!important;border:1px solid #b8cde0;box-shadow:0 8px 24px rgba(25,53,92,.16);padding:18px 20px 14px;font-family:Inter,Arial,sans-serif;line-height:1.2;overflow:visible;word-break:normal;overflow-wrap:normal;hyphens:none}
.balance-report-sheet *{box-sizing:border-box;word-break:normal;overflow-wrap:normal;hyphens:none}
.balance-report-header{text-align:center}
.balance-report-logo{height:42px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.balance-report-logo img{max-height:40px;max-width:150px;object-fit:contain}
.balance-report-logo-placeholder{width:92px;height:34px;border:1px solid #85a8c7;border-radius:4px;display:grid;place-items:center;color:#54728f;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.balance-report-title{margin:0;color:#061f3d;font-size:39px;font-weight:900;letter-spacing:.015em;line-height:1}
.balance-report-rule{height:2px;background:#8eb9df;margin:8px 0 5px}
.balance-report-meta{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#0c2d50;font-size:9px;font-weight:700;margin-bottom:7px}
.balance-report-meta div{padding:0 8px;border-right:1px solid #8da3b8}
.balance-report-meta div:last-child{border-right:0}
.balance-report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:8px}
.balance-report-metric{height:62px;border:1px solid #b8cde0;border-radius:7px;display:grid;grid-template-columns:54px 1fr;align-items:center;padding:6px 10px;background:#fff}
.balance-report-icon{display:grid;place-items:center}
.balance-report-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.balance-report-icon.people{color:#386e91}.balance-report-icon.music{color:#4289e7}.balance-report-icon.book{color:#c78d18}
.balance-report-metric-value{font-size:25px;font-weight:900;color:#071f3d;line-height:.95}
.balance-report-metric-label{font-size:8px;font-weight:800;color:#132a49;margin-top:3px}
.balance-report-main{display:grid;grid-template-columns:1.23fr .96fr;gap:8px;align-items:stretch}
.balance-report-left,.balance-report-right{display:grid;gap:7px;align-content:start}
.balance-report-section{border:1px solid #b8cde0;border-radius:7px;overflow:hidden;background:#fff}
.balance-report-section-title{height:28px;background:linear-gradient(90deg,var(--report-navy),var(--report-navy-2));color:#fff;display:flex;align-items:center;gap:7px;padding:0 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.015em}
.balance-report-section-title svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.balance-report-section-body{padding:7px 8px}
.balance-instrument-head,.balance-instrument-row{display:grid;grid-template-columns:minmax(0,1.6fr) 58px 68px;gap:5px;align-items:center}
.balance-instrument-head{font-size:7px;font-weight:850;background:#f0f4f8;padding:4px 5px;margin:-7px -8px 3px}
.balance-instrument-row{min-height:18px;border-bottom:1px solid #e7ecf1;padding:2px 0;font-size:7.5px}
.balance-instrument-row:last-child{border-bottom:0}
.balance-instrument-name{display:flex;align-items:center;gap:6px;min-width:0}
.balance-instrument-name span:last-child{min-width:0;white-space:normal;overflow:visible;text-overflow:clip}
.balance-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.balance-dot.cordas{background:#4b91ef}.balance-dot.madeiras{background:#2ca486}.balance-dot.metais{background:#d39a22}.balance-dot.tecla{background:#7d40c7}
.balance-instrument-number{text-align:right;font-weight:700}
.balance-percent{display:grid;grid-template-columns:34px 1fr;gap:4px;align-items:center}
.balance-percent-label{text-align:right}
.balance-bar{height:7px;border-radius:999px;background:#e6ebf1;overflow:hidden}
.balance-bar i{display:block;height:100%;border-radius:inherit;background:var(--report-blue)}
.balance-attendance-card .balance-report-section-body{padding:5px 9px}
.balance-person-line{font-size:7.5px;color:#0b2341;line-height:1.4}
.balance-person-line strong{font-weight:850}
.balance-person-location{color:#47627e}
.balance-regency-list{display:grid;gap:4px}
.balance-word-line{font-size:7.5px;font-weight:800;color:#0b2341}
.balance-naipe-list{display:grid;gap:7px}
.balance-naipe-row{display:grid;grid-template-columns:minmax(0,1.15fr) 1fr;gap:8px;align-items:center}
.balance-naipe-label{font-size:8.5px;font-weight:850;color:#102b4b;display:flex;align-items:center;gap:7px}
.balance-naipe-label .balance-dot{width:9px;height:9px}
.balance-naipe-label small{font-size:7px;font-weight:750}
.balance-naipe-row .balance-bar{height:11px}
.balance-naipe-row.madeiras .balance-bar i{background:var(--report-green)}
.balance-naipe-row.cordas .balance-bar i{background:var(--report-blue)}
.balance-naipe-row.metais .balance-bar i{background:var(--report-gold)}
.balance-naipe-row.tecla .balance-bar i{background:var(--report-purple)}
.balance-hymn-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.balance-hymn-counter{height:64px;border-radius:7px;display:grid;place-items:center;text-align:center;padding:5px;color:#132a49}
.balance-hymn-counter.office{background:#e9f7f1}.balance-hymn-counter.youth{background:#e8f1ff}.balance-hymn-counter.choir{background:#f0e6fb}
.balance-hymn-counter strong{display:block;font-size:24px;line-height:1;color:#0b2445}
.balance-hymn-counter span{font-size:7px;font-weight:800;margin-top:3px}
.balance-hymn-list{border:1px solid #c8d5e2;border-radius:6px;padding:7px 8px}
.balance-hymn-group{font-size:7.5px;line-height:1.45;padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #dbe3eb}
.balance-hymn-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.balance-hymn-group strong{display:block;font-size:7.5px;text-transform:uppercase;margin-bottom:1px}
.balance-repeat-note{text-align:center;font-size:6.6px;color:#344e69;margin-top:6px;min-height:8px}
.balance-report-lower{display:grid;grid-template-columns:1.06fr .8fr 1.08fr;gap:8px;margin-top:8px}
.balance-summary-table{width:100%;border-collapse:collapse;font-size:7px}
.balance-summary-table td{padding:3px 2px;border-bottom:1px solid #e1e7ed}
.balance-summary-table tr:last-child td{border-bottom:0}
.balance-summary-table td:last-child{text-align:right;font-weight:850}
.balance-cities{margin-top:8px}
.balance-cities .balance-report-section-body{padding:7px 10px}
.balance-city-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:15px;row-gap:2px;font-size:7px}
.balance-city-item{padding-left:12px;position:relative}
.balance-city-item:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:#0c4776;transform:translateY(-50%)}
.balance-total-footer{height:51px;margin-top:8px;border-radius:7px;background:linear-gradient(90deg,#0b4774,#0a3a64);color:#fff;display:grid;grid-template-columns:1.5fr .58fr .72fr;align-items:center;padding:0 14px;gap:10px}
.balance-total-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:900;text-transform:uppercase}
.balance-total-label svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.7}
.balance-total-number{text-align:center;font-size:31px;font-weight:900;border-left:1px solid rgba(255,255,255,.7);border-right:1px solid rgba(255,255,255,.7)}
.balance-total-breakdown{font-size:8px;font-weight:800;line-height:1.4;text-align:center}
.balance-report-legal{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#698097;font-size:6.2px;margin-top:7px}
.balance-report-title,.balance-report-section-title,.balance-report-metric-value,.balance-total-number{white-space:nowrap}
.balance-report-meta div,.balance-person-line,.balance-word-line,.balance-hymn-group,.balance-summary-table td,.balance-city-item,.balance-naipe-label,.balance-instrument-name{break-inside:avoid;page-break-inside:avoid}
.balance-report-section,.balance-report-metric,.balance-report-lower,.balance-cities,.balance-total-footer{break-inside:avoid;page-break-inside:avoid}
.balance-empty-inline{color:#7c8a9a;font-size:7px}
.balance-report-sheet[data-density="dense"]{padding:14px 17px 10px}
.balance-report-sheet[data-density="dense"] .balance-report-title{font-size:34px}
.balance-report-sheet[data-density="dense"] .balance-report-logo{height:34px}
.balance-report-sheet[data-density="dense"] .balance-report-logo img{max-height:32px}
.balance-report-sheet[data-density="dense"] .balance-report-metric{height:54px}
.balance-report-sheet[data-density="dense"] .balance-instrument-row{min-height:15px;font-size:6.8px}
.balance-report-sheet[data-density="dense"] .balance-report-section-title{height:24px;font-size:8px}
.balance-report-sheet[data-density="dense"] .balance-report-section-body{padding-top:5px;padding-bottom:5px}
.balance-report-sheet[data-density="dense"] .balance-hymn-counter{height:52px}
.balance-report-sheet[data-density="dense"] .balance-hymn-counter strong{font-size:20px}
.balance-report-sheet[data-density="dense"] .balance-total-footer{height:45px}
.balance-report-sheet[data-density="ultra"]{padding:11px 14px 8px}
.balance-report-sheet[data-density="ultra"] .balance-report-title{font-size:30px}
.balance-report-sheet[data-density="ultra"] .balance-report-logo{height:28px;margin-bottom:1px}
.balance-report-sheet[data-density="ultra"] .balance-report-logo img{max-height:27px}
.balance-report-sheet[data-density="ultra"] .balance-report-rule{margin:5px 0 3px}
.balance-report-sheet[data-density="ultra"] .balance-report-meta{font-size:7px;margin-bottom:5px}
.balance-report-sheet[data-density="ultra"] .balance-report-metrics{gap:6px;margin-bottom:5px}
.balance-report-sheet[data-density="ultra"] .balance-report-metric{height:45px;grid-template-columns:42px 1fr}
.balance-report-sheet[data-density="ultra"] .balance-report-icon svg{width:27px;height:27px}
.balance-report-sheet[data-density="ultra"] .balance-report-metric-value{font-size:20px}
.balance-report-sheet[data-density="ultra"] .balance-report-main,.balance-report-sheet[data-density="ultra"] .balance-report-left,.balance-report-sheet[data-density="ultra"] .balance-report-right{gap:5px}
.balance-report-sheet[data-density="ultra"] .balance-report-section-title{height:21px;font-size:7px}
.balance-report-sheet[data-density="ultra"] .balance-report-section-body{padding:4px 6px}
.balance-report-sheet[data-density="ultra"] .balance-instrument-head{margin:-4px -6px 2px;font-size:6px}
.balance-report-sheet[data-density="ultra"] .balance-instrument-row{min-height:12px;font-size:6px;padding:1px 0}
.balance-report-sheet[data-density="ultra"] .balance-hymn-counter{height:43px}
.balance-report-sheet[data-density="ultra"] .balance-hymn-counter strong{font-size:17px}
.balance-report-sheet[data-density="ultra"] .balance-hymn-group,.balance-report-sheet[data-density="ultra"] .balance-word-line,.balance-report-sheet[data-density="ultra"] .balance-person-line{font-size:6px}
.balance-report-sheet[data-density="ultra"] .balance-report-lower,.balance-report-sheet[data-density="ultra"] .balance-cities,.balance-report-sheet[data-density="ultra"] .balance-total-footer{margin-top:5px}
.balance-report-sheet[data-density="ultra"] .balance-summary-table,.balance-report-sheet[data-density="ultra"] .balance-city-grid{font-size:5.8px}
.balance-report-sheet[data-density="ultra"] .balance-total-footer{height:39px}
.balance-report-sheet[data-density="ultra"] .balance-total-label{font-size:10px}
.balance-report-sheet[data-density="ultra"] .balance-total-number{font-size:25px}
.balance-report-sheet[data-density="ultra"] .balance-report-legal{font-size:5px;margin-top:4px}
#printReportRoot{display:none}
@media(max-width:760px){
  .balance-tab-card{align-items:stretch;flex-direction:column}
  .balance-tab-card .new-user-btn{width:100%}
  .balance-preview-body{padding:10px}
  .balance-preview-layout.one .balance-report-sheet{width:720px}
  .balance-preview-footer{flex-wrap:wrap}
  .balance-preview-note{width:100%;margin-right:0}
}
#printReportRoot.print-measure{display:flex!important;position:absolute!important;left:-100000px!important;top:0!important;visibility:hidden!important;gap:20px!important;background:#fff!important;z-index:-1!important}
#printReportRoot.print-measure .balance-print-slot{width:760px!important;height:auto!important;overflow:visible!important;position:relative!important}
#printReportRoot.print-measure .balance-report-sheet{width:760px!important;min-height:0!important;transform:none!important;position:relative!important;inset:auto!important;border:0!important;box-shadow:none!important}
@media print{
  html,body{background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}
  body>*:not(#printReportRoot):not(#dynamicPrintPageStyle){display:none!important}
  #printReportRoot{display:flex!important;background:#fff!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;align-items:flex-start!important;justify-content:center!important;overflow:visible!important;break-after:avoid!important;page-break-after:avoid!important}
  #printReportRoot .balance-print-slot{position:relative!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;flex:0 0 auto!important}
  #printReportRoot .balance-report-sheet{width:760px!important;min-height:0!important;border:0!important;box-shadow:none!important;margin:0!important;position:absolute!important;left:0!important;top:0!important;transform:scale(var(--print-scale,1))!important;transform-origin:top left!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #printReportRoot.print-one{gap:0!important}
  #printReportRoot.print-one .balance-print-slot{width:200mm!important;height:287mm!important}
  #printReportRoot.print-two{gap:2mm!important;justify-content:space-between!important}
  #printReportRoot.print-two .balance-print-slot{width:143.5mm!important;height:202mm!important}
}


/* v2.33 — Balanço/Impressão A4 adaptativo */
.balance-report-main{display:grid;grid-template-columns:1.23fr .96fr;grid-template-areas:"instruments side" "details side";gap:8px;align-items:start}
.balance-main-instruments{grid-area:instruments;min-width:0}
.balance-main-details{grid-area:details;display:grid;gap:7px;min-width:0}
.balance-report-right{grid-area:side;display:grid;gap:7px;align-content:start;min-width:0}
.balance-report-main.many-instruments{grid-template-areas:"instruments instruments" "details side"}
.balance-report-main.many-instruments .balance-main-instruments{min-width:0}
.balance-instrument-tables{display:grid;gap:7px;min-width:0}
.balance-instrument-tables.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.balance-instrument-table{min-width:0}
.balance-instrument-tables.two .balance-instrument-head,
.balance-instrument-tables.two .balance-instrument-row{grid-template-columns:minmax(0,1fr) 43px 62px;gap:4px}
.balance-instrument-tables.two .balance-instrument-head{margin:0 0 2px;padding:4px 5px;border-radius:4px}
.balance-instrument-tables.two .balance-instrument-row{font-size:6.9px}
.balance-regency-list.multi{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9px;row-gap:5px}
.balance-regency-list.multi .balance-person-line{border-left:2px solid #d7e5f2;padding-left:6px}
.balance-city-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.balance-city-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.balance-city-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.balance-city-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.balance-report-sheet[data-density="compact"]{padding:16px 18px 11px}
.balance-report-sheet[data-density="compact"] .balance-report-title{font-size:36px}
.balance-report-sheet[data-density="compact"] .balance-report-logo{height:38px}
.balance-report-sheet[data-density="compact"] .balance-report-logo img{max-height:36px}
.balance-report-sheet[data-density="compact"] .balance-report-metric{height:57px}
.balance-report-sheet[data-density="compact"] .balance-report-section-title{height:26px;font-size:8.5px}
.balance-report-sheet[data-density="compact"] .balance-instrument-row{min-height:16px;font-size:7px}
.balance-report-sheet[data-density="compact"] .balance-hymn-counter{height:57px}
.balance-report-sheet[data-density="compact"] .balance-total-footer{height:47px}
.balance-report-sheet[data-density="dense"] .balance-regency-list.multi,
.balance-report-sheet[data-density="ultra"] .balance-regency-list.multi{row-gap:3px}
.balance-report-sheet[data-density="ultra"] .balance-instrument-tables.two{gap:5px}
.balance-report-sheet[data-density="ultra"] .balance-instrument-tables.two .balance-instrument-head,
.balance-report-sheet[data-density="ultra"] .balance-instrument-tables.two .balance-instrument-row{grid-template-columns:minmax(0,1fr) 36px 52px;gap:3px}
.balance-report-sheet[data-density="ultra"] .balance-instrument-tables.two .balance-instrument-row{font-size:5.7px}
.balance-report-sheet[data-density="ultra"] .balance-city-grid{column-gap:8px;row-gap:1px}
.balance-report-sheet[data-density="ultra"] .balance-city-item{padding-left:9px}
.balance-report-section-title span{min-width:0;white-space:nowrap}
.balance-report-meta strong,.balance-hymn-group strong,.balance-summary-table td:last-child{white-space:nowrap}
.balance-person-line,.balance-word-line,.balance-hymn-group,.balance-city-item,.balance-summary-table td:first-child{white-space:normal}
.balance-instrument-row,.balance-person-line,.balance-hymn-group,.balance-city-item,.balance-summary-table tr{break-inside:avoid;page-break-inside:avoid}
.balance-preview-layout.one{width:760px}
.balance-preview-layout.one .balance-preview-slot{width:760px;height:1075px;overflow:visible;background:#fff;border:1px solid #cdd9e6;box-shadow:0 8px 22px rgba(25,53,92,.12);position:relative}
.balance-preview-layout.one .balance-report-sheet{width:760px;position:absolute;left:0;top:0;transform:scale(var(--preview-scale,1));transform-origin:top left;box-shadow:none;border:0}
.balance-preview-layout.two .balance-preview-slot{aspect-ratio:1/1.4142}
@media(max-width:760px){
  .balance-preview-layout.one{width:720px}
  .balance-preview-layout.one .balance-preview-slot{width:720px;height:1018px}
  .balance-instrument-tables.two{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v2.34 — Novo layout do Balanço/Impressão */
.balance-report-sheet.balance-report-modern{
  color:#10263f!important;
  background:#fff!important;
  border:1px solid #cfe0ef;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(20,51,85,.12);
  padding:18px 18px 14px;
}
.balance-report-modern .report-header{
  display:grid;
  gap:12px;
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:1px solid #dce8f3;
}
.balance-report-modern .report-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}
.balance-report-modern .report-logo{
  flex:0 0 auto;
  width:62px;
  height:62px;
  border-radius:14px;
  border:1px solid #d9e6f1;
  background:linear-gradient(180deg,#ffffff,#f5f9fd);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.balance-report-modern .report-logo img{
  max-width:86%;
  max-height:86%;
  object-fit:contain;
}
.balance-report-modern .report-logo-placeholder{
  display:grid;
  place-items:center;
  width:84%;
  height:84%;
  border-radius:10px;
  border:1px dashed #aac2d7;
  color:#708aa3;
  text-transform:uppercase;
  font-size:7px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  padding:4px;
}
.balance-report-modern .report-brand-copy{
  display:grid;
  gap:3px;
  justify-items:center;
}
.balance-report-modern .report-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:#edf4fb;
  color:#315d86;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.balance-report-modern .report-title{
  margin:0;
  color:#0b2b4b;
  font-size:29px;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1;
  text-transform:uppercase;
}
.balance-report-modern .report-subtitle{
  margin:0;
  color:#6b8197;
  font-size:8px;
  font-weight:700;
}
.balance-report-modern .report-id-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.balance-report-modern .report-id-item{
  min-height:52px;
  border:1px solid #d8e5f0;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfdff,#f4f8fc);
  padding:8px 10px;
  display:grid;
  gap:4px;
  align-content:center;
  text-align:center;
}
.balance-report-modern .report-id-item span{
  color:#6b8197;
  font-size:7px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.balance-report-modern .report-id-item strong{
  color:#0b2b4b;
  font-size:10px;
  font-weight:900;
  line-height:1.25;
}
.balance-report-modern .report-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.balance-report-modern .report-summary-card{
  min-height:64px;
  border-radius:14px;
  padding:10px 12px;
  border:1px solid #d8e5f0;
  background:#fff;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
}
.balance-report-modern .report-summary-card .icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
}
.balance-report-modern .report-summary-card .icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.balance-report-modern .report-summary-card.people .icon{background:#e9f2fb;color:#315f91}
.balance-report-modern .report-summary-card.musicians .icon{background:#eef6ff;color:#2c78df}
.balance-report-modern .report-summary-card.organists .icon{background:#f2ebff;color:#7c4fd2}
.balance-report-modern .report-summary-card.instruments .icon{background:#e8f7f2;color:#20906f}
.balance-report-modern .report-summary-card.hymns .icon{background:#fff5e8;color:#c68616}
.balance-report-modern .report-summary-card .value{
  color:#0b2b4b;
  font-size:23px;
  font-weight:950;
  line-height:1;
}
.balance-report-modern .report-summary-card .label{
  color:#5f7488;
  font-size:7px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-top:3px;
}
.balance-report-modern .report-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
}
.balance-report-modern .report-panel{
  min-width:0;
  border:1px solid #d8e5f0;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.balance-report-modern .report-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px 8px;
  border-bottom:1px solid #e7eef5;
  background:linear-gradient(180deg,#fbfdff,#f5f9fd);
}
.balance-report-modern .report-panel-title{
  margin:0;
  color:#0b2b4b;
  font-size:11px;
  font-weight:950;
  line-height:1.15;
}
.balance-report-modern .report-panel-subtitle{
  margin:3px 0 0;
  color:#6f859a;
  font-size:7px;
  font-weight:700;
  line-height:1.35;
}
.balance-report-modern .report-panel-body{padding:10px 12px}
.balance-report-modern .span-12{grid-column:span 12}
.balance-report-modern .span-8{grid-column:span 8}
.balance-report-modern .span-7{grid-column:span 7}
.balance-report-modern .span-6{grid-column:span 6}
.balance-report-modern .span-5{grid-column:span 5}
.balance-report-modern .span-4{grid-column:span 4}
.balance-report-modern .span-3{grid-column:span 3}
.balance-report-modern .report-instruments-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 178px;
  gap:10px;
  align-items:start;
}
.balance-report-modern .report-instrument-tables{
  display:grid;
  gap:6px;
  min-width:0;
}
.balance-report-modern .report-instrument-tables.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.balance-report-modern .report-table-head,
.balance-report-modern .report-table-row{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) 42px 72px;
  gap:5px;
  align-items:center;
}
.balance-report-modern .report-table-head{
  padding:5px 6px;
  border-radius:8px;
  background:#eef4f9;
  color:#48627b;
  font-size:6.6px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.balance-report-modern .report-table-row{
  min-height:20px;
  padding:2px 0;
  border-bottom:1px solid #edf2f6;
  font-size:7.2px;
}
.balance-report-modern .report-table-row:last-child{border-bottom:0}
.balance-report-modern .report-table-row .name{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}
.balance-report-modern .report-table-row .name span:last-child{
  min-width:0;
  white-space:normal;
  line-height:1.3;
}
.balance-report-modern .report-table-row .qty{
  text-align:right;
  font-weight:850;
}
.balance-report-modern .report-table-row .pct{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:4px;
  align-items:center;
}
.balance-report-modern .report-table-row .pct-label{
  text-align:right;
  color:#51697f;
}
.balance-report-modern .report-progress{
  height:7px;
  border-radius:999px;
  background:#e9eff5;
  overflow:hidden;
}
.balance-report-modern .report-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#4b90ef;
}
.balance-report-modern .report-naipe-stack{
  display:grid;
  gap:7px;
}
.balance-report-modern .report-naipe-card{
  border:1px solid #e6edf4;
  border-radius:10px;
  padding:8px 8px 7px;
  background:#fbfdff;
}
.balance-report-modern .report-naipe-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
.balance-report-modern .report-naipe-name{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:7px;
  font-weight:900;
  color:#213d5c;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.balance-report-modern .report-naipe-stat{
  color:#5b7289;
  font-size:6.7px;
  font-weight:850;
  white-space:nowrap;
}
.balance-report-modern .report-naipe-card .report-progress{height:8px}
.balance-report-modern .report-people-layout{
  display:grid;
  gap:10px;
}
.balance-report-modern .report-person-card{
  border:1px solid #e6edf4;
  border-radius:12px;
  padding:9px 10px;
  background:#fbfdff;
}
.balance-report-modern .report-person-role{
  color:#567086;
  font-size:6.8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:4px;
}
.balance-report-modern .report-person-name{
  color:#0f2b4b;
  font-size:8.2px;
  font-weight:900;
  line-height:1.3;
}
.balance-report-modern .report-person-location{
  color:#698197;
  font-size:7px;
  font-weight:700;
  line-height:1.35;
  margin-top:2px;
}
.balance-report-modern .report-regency-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.balance-report-modern .report-regency-grid.cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.balance-report-modern .report-word-box{
  display:grid;
  gap:6px;
}
.balance-report-modern .report-word-reference{
  color:#102b4b;
  font-size:9px;
  font-weight:900;
}
.balance-report-modern .report-word-title{
  color:#5f758a;
  font-size:7.4px;
  font-weight:700;
  line-height:1.35;
}
.balance-report-modern .report-hymn-counters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:9px;
}
.balance-report-modern .report-hymn-counter{
  min-height:60px;
  border-radius:12px;
  padding:8px 10px;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.balance-report-modern .report-hymn-counter strong{
  color:#0b2b4b;
  font-size:22px;
  line-height:1;
  font-weight:950;
}
.balance-report-modern .report-hymn-counter span{
  color:#38516b;
  font-size:7px;
  font-weight:850;
  line-height:1.25;
  margin-top:4px;
}
.balance-report-modern .report-hymn-counter.office{background:#eef6f2}
.balance-report-modern .report-hymn-counter.youth{background:#eef4ff}
.balance-report-modern .report-hymn-counter.choir{background:#f4edff}
.balance-report-modern .report-hymn-lists{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.balance-report-modern .report-hymn-group{
  border:1px solid #e7eef5;
  border-radius:12px;
  padding:9px 10px;
  background:#fff;
}
.balance-report-modern .report-hymn-group-title{
  color:#26415f;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:5px;
}
.balance-report-modern .report-hymn-group-body{
  color:#12304f;
  font-size:7px;
  line-height:1.45;
}
.balance-report-modern .report-repeat-box{
  margin-top:8px;
  border-radius:10px;
  padding:7px 9px;
  background:#f7fbff;
  color:#60788e;
  font-size:6.8px;
  line-height:1.4;
}
.balance-report-modern .report-data-list{
  width:100%;
  border-collapse:collapse;
  font-size:7px;
}
.balance-report-modern .report-data-list tr:not(:last-child) td{
  border-bottom:1px solid #ecf1f5;
}
.balance-report-modern .report-data-list td{
  padding:4px 0;
  vertical-align:top;
}
.balance-report-modern .report-data-list td:first-child{
  color:#23415f;
  padding-right:8px;
}
.balance-report-modern .report-data-list td:last-child{
  text-align:right;
  color:#0b2b4b;
  font-weight:900;
  white-space:nowrap;
}
.balance-report-modern .report-total-inline{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #e8eef5;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#24405e;
  font-size:7.2px;
  font-weight:900;
}
.balance-report-modern .report-cities{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px 10px;
}
.balance-report-modern .report-cities.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.balance-report-modern .report-cities.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.balance-report-modern .report-cities.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.balance-report-modern .report-cities.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.balance-report-modern .report-city-item{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:6px;
  color:#153453;
  font-size:7px;
  line-height:1.35;
}
.balance-report-modern .report-city-item:before{
  content:"";
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  margin-top:3px;
  background:#4b90ef;
}
.balance-report-modern .report-footer-band{
  margin-top:10px;
  border-radius:16px;
  background:linear-gradient(135deg,#0b2c4d,#174c7f);
  color:#fff;
  padding:12px 16px;
  display:grid;
  grid-template-columns:1.4fr .6fr .9fr;
  gap:12px;
  align-items:center;
}
.balance-report-modern .report-footer-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.balance-report-modern .report-footer-title svg{
  width:24px;
  height:24px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.balance-report-modern .report-footer-total{
  text-align:center;
  font-size:34px;
  font-weight:950;
  line-height:1;
  border-left:1px solid rgba(255,255,255,.45);
  border-right:1px solid rgba(255,255,255,.45);
  padding:0 10px;
}
.balance-report-modern .report-footer-breakdown{
  text-align:center;
  font-size:8px;
  font-weight:850;
  line-height:1.45;
}
.balance-report-modern .report-legal{
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#6a8196;
  font-size:6.2px;
}
.balance-report-modern .report-empty{
  color:#8496a8;
  font-size:7px;
  line-height:1.4;
}
.balance-report-modern .report-note-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#edf4fb;
  color:#4b6887;
  font-size:6.6px;
  font-weight:850;
  white-space:nowrap;
}
.balance-report-modern .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 auto;
}
.balance-report-modern .dot.cordas{background:#4b90ef}
.balance-report-modern .dot.madeiras{background:#23a07a}
.balance-report-modern .dot.metais{background:#d39a22}
.balance-report-modern .dot.tecla{background:#7b4dd0}
.balance-report-modern .report-panel-body.compact{padding-top:8px;padding-bottom:8px}
.balance-report-modern .report-grid.compact-gap{gap:8px}

.balance-report-sheet.balance-report-modern[data-density="compact"]{
  padding:16px 16px 12px;
}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-title{font-size:27px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-summary-card{min-height:58px;padding:8px 10px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-summary-card .value{font-size:20px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-panel-header{padding:9px 10px 7px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-panel-body{padding:9px 10px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-hymn-counter{min-height:54px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-footer-band{padding:10px 14px}
.balance-report-sheet.balance-report-modern[data-density="compact"] .report-footer-total{font-size:30px}

.balance-report-sheet.balance-report-modern[data-density="dense"]{
  padding:14px 14px 10px;
}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-header{gap:9px;margin-bottom:9px;padding-bottom:9px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-logo{width:54px;height:54px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-title{font-size:24px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-subtitle{font-size:7px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-id-grid,
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-summary-grid,
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-grid{gap:7px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-id-item{min-height:46px;padding:7px 8px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-summary-card{min-height:53px;padding:8px 9px;gap:8px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-summary-card .icon{width:30px;height:30px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-summary-card .icon svg{width:19px;height:19px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-summary-card .value{font-size:18px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-panel-header{padding:8px 9px 6px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-panel-body{padding:8px 9px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-instruments-layout{grid-template-columns:minmax(0,1fr) 160px;gap:8px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-table-head{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-table-row{min-height:17px;font-size:6.5px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-hymn-counter{min-height:49px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-hymn-counter strong{font-size:18px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-footer-band{margin-top:8px;padding:9px 12px;border-radius:14px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-footer-title{font-size:10px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-footer-total{font-size:28px}
.balance-report-sheet.balance-report-modern[data-density="dense"] .report-footer-breakdown{font-size:7px}

.balance-report-sheet.balance-report-modern[data-density="ultra"]{
  padding:11px 11px 8px;
}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-header{gap:7px;margin-bottom:7px;padding-bottom:7px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-brand{gap:10px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-logo{width:46px;height:46px;border-radius:12px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-kicker{padding:3px 8px;font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-title{font-size:21px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-subtitle{font-size:6.5px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-id-grid,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-grid,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-grid{gap:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-id-item{min-height:41px;padding:6px 7px;border-radius:10px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-id-item span{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-id-item strong{font-size:8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-card{min-height:47px;padding:6px 7px;gap:7px;border-radius:12px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-card .icon{width:27px;height:27px;border-radius:10px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-card .icon svg{width:16px;height:16px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-card .value{font-size:16px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-summary-card .label{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-panel-header{padding:7px 8px 6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-panel-title{font-size:9px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-panel-subtitle{font-size:6px;margin-top:2px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-panel-body{padding:7px 8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-instruments-layout{grid-template-columns:minmax(0,1fr) 144px;gap:7px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-instrument-tables.two{gap:5px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-table-head,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-table-row{grid-template-columns:minmax(0,1.15fr) 34px 60px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-table-head{padding:4px 5px;font-size:5.5px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-table-row{min-height:15px;font-size:5.8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-table-row .pct{grid-template-columns:24px 1fr}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-progress{height:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-naipe-card{padding:6px 6px 5px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-person-card{padding:7px 8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-person-role{font-size:5.8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-person-name{font-size:7px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-person-location{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-word-reference{font-size:7.5px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-word-title,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-empty{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-counters,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-lists{gap:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-counter{min-height:42px;padding:6px 7px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-counter strong{font-size:16px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-counter span,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-group-title{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-group{padding:7px 8px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-hymn-group-body,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-repeat-box,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-data-list,
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-city-item{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-total-inline{font-size:6.2px;margin-top:6px;padding-top:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-footer-band{margin-top:7px;padding:8px 10px;border-radius:12px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-footer-title{font-size:8px;gap:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-footer-title svg{width:18px;height:18px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-footer-total{font-size:22px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-footer-breakdown{font-size:6px}
.balance-report-sheet.balance-report-modern[data-density="ultra"] .report-legal{font-size:5.2px;margin-top:6px}

@media(max-width:760px){
  .balance-report-modern .report-id-grid,
  .balance-report-modern .report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .balance-report-modern .report-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .balance-report-modern .span-8,
  .balance-report-modern .span-7,
  .balance-report-modern .span-6,
  .balance-report-modern .span-5,
  .balance-report-modern .span-4,
  .balance-report-modern .span-3{grid-column:span 6}
}


/* v2.35 — Balanço/Impressão inspirado na composição enviada, recriado 100% em código */
.balance-report-sheet.balance-report-classic{
  --print-blue:#064f78;
  --print-blue-deep:#043a5f;
  --print-blue-soft:#e8f1f7;
  --print-blue-soft-2:#f2f7fb;
  --print-line:#b9d0df;
  --print-text:#0a3152;
  --print-muted:#4f6f89;
  width:var(--balance-sheet-width,760px);
  min-height:0;
  padding:14px 16px 11px;
  border:0;
  border-radius:0;
  background:#fff!important;
  color:var(--print-text)!important;
  box-shadow:none;
  overflow:visible;
  font-family:Inter,Arial,sans-serif;
  line-height:1.25;
}
.balance-report-classic *{
  box-sizing:border-box;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.balance-report-classic .classic-top{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:66px;
}
.balance-report-classic .classic-logo{
  grid-column:1;
  justify-self:start;
  width:190px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.balance-report-classic .classic-logo img{
  display:block;
  max-width:190px;
  max-height:56px;
  object-fit:contain;
  object-position:left center;
}
.balance-report-classic .classic-logo-placeholder{
  width:130px;
  height:48px;
  border:1px dashed #93aec1;
  display:grid;
  place-items:center;
  color:#66839a;
  font-size:7px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  line-height:1.25;
  padding:4px;
}
.balance-report-classic .classic-title-wrap{
  grid-column:1;
  text-align:center;
  min-width:0;
  align-self:center;
}
.balance-report-classic .classic-title{
  margin:0;
  color:#07385f;
  font-size:30px;
  line-height:1;
  font-weight:950;
  letter-spacing:.012em;
  text-transform:uppercase;
  white-space:nowrap;
}
.balance-report-classic .classic-title-line{
  width:82%;
  height:1px;
  background:#316e95;
  margin:8px auto 0;
}
.balance-report-classic .classic-top-spacer{grid-column:3}
.balance-report-classic .classic-meta{
  min-height:30px;
  display:grid;
  grid-template-columns:repeat(var(--meta-cols,4),minmax(0,1fr));
  align-items:center;
  margin:3px 0 8px;
  padding:0 10px;
  background:linear-gradient(90deg,#e5eef5,#eff5f9,#e5eef5);
  color:#123e61;
  border-top:1px solid #d6e3ed;
  border-bottom:1px solid #d6e3ed;
}
.balance-report-classic .classic-meta-item{
  min-width:0;
  padding:3px 8px;
  text-align:center;
  border-right:1px solid #7f9eb5;
  font-size:8px;
  line-height:1.25;
  white-space:normal;
}
.balance-report-classic .classic-meta-item:last-child{border-right:0}
.balance-report-classic .classic-meta-item strong{font-weight:950}
.balance-report-classic .classic-body{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.balance-report-classic .classic-column{
  display:grid;
  gap:8px;
  min-width:0;
  align-content:start;
}
.balance-report-classic .classic-panel{
  min-width:0;
  border:1px solid var(--print-line);
  background:#fff;
  overflow:visible;
  break-inside:avoid;
  page-break-inside:avoid;
}
.balance-report-classic .classic-panel-title{
  min-height:24px;
  display:flex;
  align-items:center;
  padding:4px 9px;
  background:linear-gradient(90deg,var(--print-blue-deep),var(--print-blue));
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
  line-height:1.15;
}
.balance-report-classic .classic-panel-title-split{justify-content:space-between;gap:10px}
.balance-report-classic .classic-panel-total{margin-left:auto;font-size:7px;font-weight:900;letter-spacing:0;text-transform:none;white-space:nowrap}
.balance-report-classic .classic-panel-body{
  min-width:0;
  padding:0;
}
.balance-report-classic .classic-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  color:#113958;
  font-size:7px;
}
.balance-report-classic .classic-table th,
.balance-report-classic .classic-table td{
  border-right:1px solid #cbdce7;
  border-bottom:1px solid #d4e1e9;
  padding:3px 7px;
  vertical-align:top;
  line-height:1.25;
}
.balance-report-classic .classic-table th:last-child,
.balance-report-classic .classic-table td:last-child{border-right:0}
.balance-report-classic .classic-table tr:last-child td{border-bottom:0}
.balance-report-classic .classic-table th{
  background:#deebf3;
  color:#103c5c;
  font-size:6.8px;
  font-weight:950;
  text-align:left;
}
.balance-report-classic .classic-table tbody tr:nth-child(even) td{background:#f2f7fa}
.balance-report-classic .classic-table .num{text-align:right;font-weight:800;white-space:nowrap}
.balance-report-classic .classic-table .center{text-align:center}
.balance-report-classic .classic-table .strong-row td{
  background:#dbe9f2!important;
  font-weight:950;
}
.balance-report-classic .classic-instruments th:nth-child(1){width:auto}
.balance-report-classic .classic-instruments th:nth-child(2){width:62px;text-align:center}
.balance-report-classic .classic-instruments th:nth-child(3){width:74px;text-align:center}
.balance-report-classic .classic-instruments td:nth-child(2),
.balance-report-classic .classic-instruments td:nth-child(3){text-align:center;white-space:nowrap}
.balance-report-classic .classic-instrument-name{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}
.balance-report-classic .classic-instrument-name .dot{
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  margin-top:2px;
}
.balance-report-classic .dot.cordas{background:#4b90ef}
.balance-report-classic .dot.madeiras{background:#25a17d}
.balance-report-classic .dot.metais{background:#d49b25}
.balance-report-classic .dot.tecla{background:#7648bd}
.balance-report-classic .classic-naipe-table th:nth-child(1){width:35%}
.balance-report-classic .classic-naipe-table th:nth-child(2){width:16%;text-align:center}
.balance-report-classic .classic-naipe-table th:nth-child(3){width:18%;text-align:center}
.balance-report-classic .classic-naipe-table th:nth-child(4){width:auto}
.balance-report-classic .classic-naipe-table td:nth-child(2),
.balance-report-classic .classic-naipe-table td:nth-child(3){text-align:center;white-space:nowrap}
.balance-report-classic .classic-naipe-bar{
  height:10px;
  border:1px solid #d4e1ea;
  background:#e9f0f5;
  overflow:hidden;
}
.balance-report-classic .classic-naipe-bar i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#1c5478,#3b789c);
}
.balance-report-classic .classic-key-value{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:7px;
}
.balance-report-classic .classic-key-value td{
  border-right:1px solid #cbdce7;
  border-bottom:1px solid #d4e1e9;
  padding:4px 8px;
  line-height:1.25;
  vertical-align:top;
}
.balance-report-classic .classic-key-value tr:last-child td{border-bottom:0}
.balance-report-classic .classic-key-value td:last-child{border-right:0}
.balance-report-classic .classic-key-value td:first-child{
  width:36%;
  background:#e8f1f7;
  color:#123d5c;
  font-weight:800;
}
.balance-report-classic .classic-key-value td:last-child{
  color:#113958;
  font-weight:700;
}
.balance-report-classic .classic-regency-table th:nth-child(1){width:34%}
.balance-report-classic .classic-regency-table th:nth-child(2){width:31%}
.balance-report-classic .classic-regency-table th:nth-child(3){width:auto}
.balance-report-classic .classic-word-table th:nth-child(1){width:23%}
.balance-report-classic .classic-word-table th:nth-child(2){width:20%}
.balance-report-classic .classic-word-table th:nth-child(3){width:auto}
.balance-report-classic .classic-word-table td:nth-child(2){text-align:center}
.balance-report-classic .classic-word-table td strong{font-weight:900}
.balance-report-classic .classic-hymn-table td:first-child{width:41%;white-space:nowrap}
.balance-report-classic .classic-ministry-gem{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(135px,.9fr);
  gap:8px;
  align-items:start;
}
.balance-report-classic .classic-summary-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:7px;
}
.balance-report-classic .classic-summary-table td{
  padding:3px 7px;
  border-right:1px solid #cbdce7;
  border-bottom:1px solid #d4e1e9;
  line-height:1.25;
}
.balance-report-classic .classic-summary-table tr:last-child td{border-bottom:0}
.balance-report-classic .classic-summary-table td:last-child{
  width:48px;
  text-align:center;
  border-right:0;
  font-weight:900;
}
.balance-report-classic .classic-summary-table tbody tr:nth-child(even) td{background:#f2f7fa}
.balance-report-classic .classic-summary-table .total td{
  background:#dce9f2!important;
  font-weight:950;
}
.balance-report-classic .classic-cities{
  margin-top:8px;
}
.balance-report-classic .classic-city-grid{
  display:grid;
  grid-template-columns:repeat(var(--city-cols,5),minmax(0,1fr));
  column-gap:0;
  row-gap:0;
  padding:4px 6px 5px;
}
.balance-report-classic .classic-city-item{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:4px;
  align-items:start;
  min-width:0;
  padding:2px 5px;
  border-right:1px solid #d2e0e9;
  color:#123a59;
  font-size:6.4px;
  line-height:1.25;
  break-inside:avoid;
}
.balance-report-classic .classic-city-item:nth-child(5n){border-right:0}
.balance-report-classic .classic-city-number{
  text-align:right;
  font-weight:950;
  color:#194b70;
  white-space:nowrap;
}
.balance-report-classic .classic-total-panel{
  margin-top:8px;
}
.balance-report-classic .classic-total-grid{
  display:grid;
  grid-template-columns:repeat(var(--total-cols,6),minmax(0,1fr));
  background:#fff;
}
.balance-report-classic .classic-total-item{
  min-width:0;
  min-height:54px;
  padding:8px 5px 6px;
  border-right:1px solid #c6d9e5;
  text-align:center;
  display:grid;
  align-content:center;
  gap:3px;
}
.balance-report-classic .classic-total-item:last-child{border-right:0}
.balance-report-classic .classic-total-label{
  min-height:18px;
  color:#345773;
  font-size:6.3px;
  font-weight:750;
  line-height:1.25;
}
.balance-report-classic .classic-total-value{
  color:#0b3556;
  font-size:20px;
  font-weight:950;
  line-height:1;
}
.balance-report-classic .classic-legal{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:6px;
  color:#68839a;
  font-size:5.8px;
  line-height:1.35;
  text-align:center;
  padding:0 18px;
}
.balance-report-classic .classic-empty{
  padding:6px 8px;
  color:#7690a5;
  font-size:6.7px;
  line-height:1.35;
}
.balance-report-classic .nowrap{white-space:nowrap}

/* Densidades automáticas: reduzem espaçamento antes da escala global da folha. */
.balance-report-sheet.balance-report-classic[data-density="compact"]{
  padding:12px 14px 9px;
}
.balance-report-classic[data-density="compact"] .classic-top{min-height:60px}
.balance-report-classic[data-density="compact"] .classic-logo{height:53px}
.balance-report-classic[data-density="compact"] .classic-logo img{max-height:51px}
.balance-report-classic[data-density="compact"] .classic-title{font-size:28px}
.balance-report-classic[data-density="compact"] .classic-table,
.balance-report-classic[data-density="compact"] .classic-key-value,
.balance-report-classic[data-density="compact"] .classic-summary-table{font-size:6.7px}
.balance-report-classic[data-density="compact"] .classic-table th,
.balance-report-classic[data-density="compact"] .classic-table td{padding-top:2.5px;padding-bottom:2.5px}
.balance-report-classic[data-density="compact"] .classic-key-value td,
.balance-report-classic[data-density="compact"] .classic-summary-table td{padding-top:3px;padding-bottom:3px}
.balance-report-classic[data-density="compact"] .classic-total-item{min-height:50px}
.balance-report-classic[data-density="compact"] .classic-total-value{font-size:18px}

.balance-report-sheet.balance-report-classic[data-density="dense"]{
  padding:10px 12px 8px;
}
.balance-report-classic[data-density="dense"] .classic-top{min-height:54px;grid-template-columns:180px minmax(0,1fr) 180px}
.balance-report-classic[data-density="dense"] .classic-logo{width:170px;height:48px}
.balance-report-classic[data-density="dense"] .classic-logo img{max-width:170px;max-height:46px}
.balance-report-classic[data-density="dense"] .classic-title{font-size:25px}
.balance-report-classic[data-density="dense"] .classic-title-line{margin-top:6px}
.balance-report-classic[data-density="dense"] .classic-meta{min-height:26px;margin-bottom:6px}
.balance-report-classic[data-density="dense"] .classic-meta-item{font-size:7.2px;padding:2px 6px}
.balance-report-classic[data-density="dense"] .classic-body,
.balance-report-classic[data-density="dense"] .classic-column{gap:6px}
.balance-report-classic[data-density="dense"] .classic-panel-title{min-height:21px;padding:3px 7px;font-size:8px}
.balance-report-classic[data-density="dense"] .classic-table,
.balance-report-classic[data-density="dense"] .classic-key-value,
.balance-report-classic[data-density="dense"] .classic-summary-table{font-size:6.15px}
.balance-report-classic[data-density="dense"] .classic-table th{font-size:6px}
.balance-report-classic[data-density="dense"] .classic-table th,
.balance-report-classic[data-density="dense"] .classic-table td{padding:2px 5px}
.balance-report-classic[data-density="dense"] .classic-key-value td,
.balance-report-classic[data-density="dense"] .classic-summary-table td{padding:2.5px 6px}
.balance-report-classic[data-density="dense"] .classic-ministry-gem{gap:6px}
.balance-report-classic[data-density="dense"] .classic-cities,
.balance-report-classic[data-density="dense"] .classic-total-panel{margin-top:6px}
.balance-report-classic[data-density="dense"] .classic-city-grid{padding:3px 4px}
.balance-report-classic[data-density="dense"] .classic-city-item{font-size:5.8px;padding:1.6px 4px}
.balance-report-classic[data-density="dense"] .classic-total-item{min-height:45px;padding:6px 4px 5px}
.balance-report-classic[data-density="dense"] .classic-total-label{font-size:5.7px}
.balance-report-classic[data-density="dense"] .classic-total-value{font-size:17px}
.balance-report-classic[data-density="dense"] .classic-legal{margin-top:4px;font-size:5.2px}

.balance-report-sheet.balance-report-classic[data-density="ultra"]{
  padding:8px 10px 6px;
}
.balance-report-classic[data-density="ultra"] .classic-top{min-height:47px;grid-template-columns:160px minmax(0,1fr) 160px}
.balance-report-classic[data-density="ultra"] .classic-logo{width:150px;height:42px}
.balance-report-classic[data-density="ultra"] .classic-logo img{max-width:150px;max-height:40px}
.balance-report-classic[data-density="ultra"] .classic-title{font-size:22px}
.balance-report-classic[data-density="ultra"] .classic-title-line{margin-top:5px}
.balance-report-classic[data-density="ultra"] .classic-meta{min-height:23px;margin:2px 0 5px;padding:0 6px}
.balance-report-classic[data-density="ultra"] .classic-meta-item{font-size:6.3px;padding:2px 5px}
.balance-report-classic[data-density="ultra"] .classic-body,
.balance-report-classic[data-density="ultra"] .classic-column{gap:5px}
.balance-report-classic[data-density="ultra"] .classic-panel-title{min-height:19px;padding:3px 6px;font-size:7.2px}
.balance-report-classic[data-density="ultra"] .classic-table,
.balance-report-classic[data-density="ultra"] .classic-key-value,
.balance-report-classic[data-density="ultra"] .classic-summary-table{font-size:5.45px}
.balance-report-classic[data-density="ultra"] .classic-table th{font-size:5.25px}
.balance-report-classic[data-density="ultra"] .classic-table th,
.balance-report-classic[data-density="ultra"] .classic-table td{padding:1.5px 4px}
.balance-report-classic[data-density="ultra"] .classic-key-value td,
.balance-report-classic[data-density="ultra"] .classic-summary-table td{padding:2px 5px}
.balance-report-classic[data-density="ultra"] .classic-naipe-bar{height:8px}
.balance-report-classic[data-density="ultra"] .classic-ministry-gem{gap:5px}
.balance-report-classic[data-density="ultra"] .classic-cities,
.balance-report-classic[data-density="ultra"] .classic-total-panel{margin-top:5px}
.balance-report-classic[data-density="ultra"] .classic-city-grid{padding:2px 3px}
.balance-report-classic[data-density="ultra"] .classic-city-item{font-size:5.1px;padding:1.2px 3px;grid-template-columns:17px minmax(0,1fr);gap:3px}
.balance-report-classic[data-density="ultra"] .classic-total-item{min-height:39px;padding:5px 3px 4px}
.balance-report-classic[data-density="ultra"] .classic-total-label{min-height:15px;font-size:5.1px}
.balance-report-classic[data-density="ultra"] .classic-total-value{font-size:15px}
.balance-report-classic[data-density="ultra"] .classic-legal{margin-top:3px;font-size:4.7px}

.balance-inline-panel{display:grid;gap:12px}
.balance-inline-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e2e9f1;
  border-radius:10px;
  background:#fff;
}
.balance-inline-copy-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.balance-inline-preview{
  width:100%;
  min-height:520px;
  padding:16px;
  overflow:auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  border:1px solid #e2e9f1;
  border-radius:10px;
  background:#e9eef4;
}
html[data-theme="dark"] .balance-inline-toolbar{background:#151f2c;border-color:#283548}
html[data-theme="dark"] .balance-inline-preview{background:#0b1119;border-color:#283548}
@media(max-width:760px){
  .balance-inline-toolbar{align-items:stretch;flex-direction:column}
  .balance-inline-copy-options{width:100%}
  .balance-inline-toolbar .new-user-btn{width:100%}
}

/* Pré-visualização: folha sempre centralizada no topo. */
.balance-preview-body{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.balance-preview-layout{
  align-items:flex-start!important;
  justify-content:center!important;
  margin:0 auto;
}
.balance-preview-layout.one{
  width:var(--balance-preview-sheet-width,760px);
  margin:0 auto;
}
.balance-preview-layout.one .balance-preview-slot{
  width:var(--balance-preview-sheet-width,760px);
  height:1094px;
  overflow:visible;
  background:#fff;
  border:1px solid #cdd9e6;
  box-shadow:0 8px 22px rgba(25,53,92,.12);
  position:relative;
}
.balance-preview-layout.one .balance-report-sheet{
  width:var(--balance-sheet-width,760px);
  position:absolute;
  top:0;
  left:0;
  transform:scale(var(--preview-scale,1));
  transform-origin:top center;
}
.balance-preview-layout.two{
  display:flex;
  width:1050px;
  margin:0 auto;
  gap:14px;
  align-items:flex-start;
  justify-content:center;
}
.balance-preview-layout.two .balance-preview-slot{
  width:508px;
  height:719px;
  overflow:visible;
  background:#fff;
  border:1px solid #cdd9e6;
  box-shadow:0 8px 22px rgba(25,53,92,.12);
  position:relative;
}
.balance-preview-layout.two .balance-report-sheet{
  width:var(--balance-sheet-width,760px);
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%) scale(var(--preview-scale,.66));
  transform-origin:top center;
}
.balance-export-note{
  border:1px solid #e0e6ef;
  border-radius:12px;
  background:#f8fafd;
  color:#4b5b70;
  padding:12px 14px;
  font-size:11px;
  line-height:1.45;
}
.balance-export-note strong{color:#18283f}
html[data-theme="dark"] .balance-export-note{background:#161d27;border-color:#2b3442;color:#b6bfcc}
html[data-theme="dark"] .balance-export-note strong{color:#f2f5f8}

/* Impressão: mede o conteúdo real e encaixa em exatamente uma folha. */
#printReportRoot.print-measure{
  display:flex!important;
  position:absolute!important;
  left:-100000px!important;
  top:0!important;
  visibility:hidden!important;
  gap:20px!important;
  background:#fff!important;
  z-index:-1!important;
}
#printReportRoot.print-measure .balance-print-slot{
  width:var(--balance-sheet-width,760px)!important;
  height:auto!important;
  overflow:visible!important;
  position:relative!important;
}
#printReportRoot.print-measure .balance-report-sheet{
  width:var(--balance-sheet-width,760px)!important;
  min-height:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  border:0!important;
  box-shadow:none!important;
}
@media print{
  html,body{
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body>*:not(#printReportRoot):not(#dynamicPrintPageStyle){display:none!important}
  #printReportRoot{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:visible!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
  #printReportRoot .balance-print-slot{
    position:relative!important;
    overflow:visible!important;
    flex:0 0 auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printReportRoot .balance-report-sheet{
    width:760px!important;
    min-height:0!important;
    position:absolute!important;
    top:0!important;
    left:50%!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:translateX(-50%) scale(var(--print-scale,1))!important;
    transform-origin:top center!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    color-adjust:exact!important;
  }
  #printReportRoot.print-one{
    justify-content:center!important;
    gap:0!important;
  }
  #printReportRoot.print-one .balance-print-slot{
    width:196mm!important;
    height:282mm!important;
  }
  #printReportRoot.print-two{
    justify-content:center!important;
    gap:4mm!important;
  }
  #printReportRoot.print-two .balance-print-slot{
    width:140mm!important;
    height:198mm!important;
  }
}

.audit-panel{display:grid;gap:12px;animation:userTabFade .24s ease both}
.audit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.audit-count{font-size:10px;font-weight:800;color:#65768c}
.audit-list{display:grid;gap:9px}
.audit-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 14px;border:1px solid #e6ecf3;border-radius:10px;background:#fff}
.audit-main{min-width:0}
.audit-type{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.audit-type strong{color:#17304f;font-size:11px}
.audit-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef6ff;color:#0b63d8;font-size:8px;font-weight:850}
.audit-meta{color:#74839a;font-size:9px;line-height:1.5}
.audit-summary{margin-top:5px;color:#425a75;font-size:10px;line-height:1.5}
.audit-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.audit-edit-btn,.audit-delete-btn{height:32px;border-radius:7px;padding:0 9px;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.audit-edit-btn{border:1px solid #cfe1f7;background:#f7fbff;color:#0b63d8}
.audit-delete-btn{border:1px solid #efc9cf;background:#fff8f8;color:#b42332}
.audit-empty{min-height:230px;display:grid;place-items:center;text-align:center;border:1px dashed #dfe7f0;border-radius:10px;background:#fbfdff;color:#7b899b;padding:24px}
.audit-empty strong{display:block;color:#17304f;font-size:13px;margin-bottom:5px}
.audit-empty span{font-size:10px}
.audit-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.audit-edit-grid .full{grid-column:1/-1}
@media(max-width:650px){.audit-item{grid-template-columns:1fr}.audit-actions{justify-content:flex-start}.audit-edit-grid{grid-template-columns:1fr}.audit-edit-grid .full{grid-column:auto}}
.rehearsal-management{display:grid;gap:14px;animation:userTabFade .24s ease both}
.rehearsal-management-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:2px}
.rehearsal-management-count{display:inline-flex;align-items:center;gap:7px;color:#607086;font-size:11px;font-weight:750}
.rehearsal-management-count:before{content:"";width:7px;height:7px;border-radius:50%;background:#007AFF;box-shadow:0 0 0 4px rgba(0,122,255,.08)}
.rehearsal-management-list{display:grid;gap:9px}
.rehearsal-management-user{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #e7edf4;border-radius:10px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.rehearsal-management-user:hover{border-color:#d7e4f3;box-shadow:0 5px 16px rgba(25,53,92,.05);transform:translateY(-1px)}
.rehearsal-management-main{display:flex;align-items:center;gap:11px;min-width:0}
.rehearsal-management-meta{min-width:0}
.rehearsal-management-meta strong{display:block;color:#17304f;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rehearsal-management-meta span{display:block;color:#7b8899;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rehearsal-management-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}
.rehearsal-management-tags .temporary-pill{margin-left:0}
.rehearsal-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.rehearsal-management-you{font-size:10px;font-weight:800;color:#007AFF;background:#eef6ff;border-radius:999px;padding:6px 9px}
.rehearsal-management-remove{height:34px;border:1px solid #efc9cf;background:#fff8f8;color:#b42332;border-radius:8px;padding:0 11px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:.18s ease}
.rehearsal-management-remove:hover{background:#fff0f2;border-color:#e7aeb7}
.rehearsal-management-empty{min-height:210px;display:grid;place-items:center;text-align:center;padding:26px;color:#77869a;border:1px dashed #dfe7f0;border-radius:10px;background:#fbfdff}
.rehearsal-management-empty strong{display:block;color:#17304f;font-size:13px;margin-bottom:5px}
.rehearsal-management-empty span{display:block;font-size:10px}
@media(max-width:620px){.rehearsal-management-head{align-items:stretch;flex-direction:column}.rehearsal-management-head .new-user-btn{width:100%}.rehearsal-management-user{align-items:flex-start}.rehearsal-management-actions{align-self:center}.rehearsal-management-meta span{white-space:normal}}.temp-user-btn{background:#eef6ff;color:#007AFF;border:1px solid #d9eaff;box-shadow:none}.temporary-pill{display:inline-flex;align-items:center;border-radius:999px;background:#fff5df;color:#9a6510;padding:5px 8px;font-size:9px;font-weight:800;margin-left:7px}.status-pill.expired{background:#fff0f2;color:#b42332}.quick-list .quick-btn{width:100%}.modal-field select{width:100%;height:40px;border:1px solid #dbe4ef;background:#fff;border-radius:8px;padding:0 12px;color:#172d4b;font:inherit;font-size:12px;outline:none}.modal-field select:focus{border-color:#72aefc;box-shadow:0 0 0 3px rgba(0,122,255,.10)}
@media(max-width:760px){.rehearsal-view{padding:12px}.rehearsal-toolbar{align-items:stretch;flex-direction:column}.rehearsal-toolbar-right{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap}.organ-count-wrap{justify-content:space-between}.rehearsal-data-grid{grid-template-columns:1fr}.mobile-bottom{display:none!important}.users-toolbar{flex-wrap:wrap}.reports-view{padding:12px}.reports-tabs-wrap{padding:10px 10px 0}.reports-tabs{gap:2px}.report-tab{font-size:10px;padding:9px 9px 11px}.reports-content{padding:14px;}}

/* v2.11 — municípios, estados e localidades */
.autocomplete-wrap{position:relative}.autocomplete-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 7px);max-height:248px;overflow:auto;background:#fff;border:1px solid #dfe6f0;border-radius:13px;box-shadow:0 16px 38px rgba(9,35,72,.14);padding:6px;animation:autoMenuIn .18s ease both}.autocomplete-option{width:100%;border:0;background:transparent;border-radius:9px;padding:10px 11px;text-align:left;display:flex;justify-content:space-between;gap:12px;align-items:center;font:inherit;color:#0e2342;cursor:pointer}.autocomplete-option:hover,.autocomplete-option:focus{outline:0;background:#f0f6ff}.autocomplete-option strong{font-size:13px;font-weight:700}.autocomplete-option span{font-size:11px;color:#66758c;white-space:nowrap}.autocomplete-empty{padding:12px;color:#718096;font-size:12px}.autocomplete-loading{display:flex;align-items:center;gap:8px}.autocomplete-loading:before{content:'';width:11px;height:11px;border:2px solid #d5e3fa;border-top-color:#1474e8;border-radius:50%;animation:spinnerRotate .7s linear infinite}.modal-field input[readonly]{background:#f6f8fb;color:#4f5f75;cursor:default}.field-optional{font-weight:500;color:#8794a7;font-size:11px}.locality-control{display:flex;flex-direction:column;gap:6px}.locality-control small{font-size:11px;color:#78869a;line-height:1.4}.locality-toggle{display:inline-flex;align-items:center;gap:9px;width:max-content;cursor:pointer;font-size:13px;font-weight:700;color:#19304f}.locality-toggle input{position:absolute;opacity:0;pointer-events:none}.locality-toggle-box{width:36px;height:20px;border:1px solid #c5d0dd;border-radius:999px;background:#e7ecf2;box-sizing:border-box;position:relative;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.locality-toggle-box:after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;left:3px;top:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s ease}.locality-toggle input:checked+.locality-toggle-box{background:#1680ef;border-color:#1680ef}.locality-toggle input:checked+.locality-toggle-box:after{transform:translateX(16px)}.locality-toggle input:focus-visible+.locality-toggle-box{outline:3px solid rgba(22,128,239,.2)}
.catalog-panel{animation:userTabFade .24s ease both}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.catalog-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:16px;min-height:112px;display:flex;flex-direction:column;justify-content:center;gap:7px}.catalog-card strong{font-size:13px;color:#17304f}.catalog-card span{font-size:12px;color:#6f7e93;line-height:1.45}.catalog-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}.catalog-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f0f6ff;color:#165fba;font-size:11px;font-weight:750}.instrument-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.instrument-category{border:1px solid #e1e7ef;border-radius:16px;background:#fff;padding:0;overflow:hidden;color:#17304f;box-shadow:0 5px 16px rgba(17,43,78,.035);transition:border-color .2s ease,box-shadow .2s ease}.instrument-category.open{border-color:#d2e2f5;box-shadow:0 8px 22px rgba(17,43,78,.055)}.instrument-category-head{width:100%;min-height:54px;padding:15px 16px;border:0;background:#fbfcfe;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:background .18s ease}.instrument-category-head:hover{background:#f5f8fc}.instrument-category-head:focus-visible{outline:3px solid rgba(22,128,239,.2);outline-offset:-3px}.instrument-category-title{display:flex;align-items:center;gap:10px;min-width:0}.instrument-category-title strong{font-size:14px;font-weight:800;color:#17304f}.instrument-category-count{font-size:11px;font-weight:700;color:#738197;white-space:nowrap}.instrument-chevron{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;color:#738197;transition:transform .24s ease,color .18s ease}.instrument-chevron svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;transform:rotate(90deg)}.instrument-category.open .instrument-chevron{transform:rotate(90deg);color:#1680ef}.instrument-category-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,.61,.36,1)}.instrument-category.open .instrument-category-body{grid-template-rows:1fr}.instrument-category-body-inner{min-height:0;overflow:hidden;border-top:0 solid #edf1f6;transition:border-top-width .16s ease}.instrument-category.open .instrument-category-body-inner{border-top-width:1px}.instrument-list{list-style:none;margin:0;padding:8px 16px 12px}.instrument-list li{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid #f0f3f7;font-size:12px;line-height:1.45;color:#263b59}.instrument-list li:last-child{border-bottom:0}.instrument-list li:before{content:'';width:6px;height:6px;border-radius:50%;background:#1680ef;flex:0 0 auto;margin-top:5px}.instrument-list .instrument-alias{display:block;color:#758399;font-size:11px;margin-top:2px}.instrument-fixed-note{display:flex;align-items:center;gap:7px;margin-top:12px;padding:10px 12px;border:1px solid #e4eaf1;border-radius:12px;background:#f8fafc;color:#718096;font-size:11px;line-height:1.45}.instrument-fixed-note svg{width:15px;height:15px;stroke:#52708f;fill:none;flex:0 0 auto}@media(max-width:760px){.instrument-category-grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr}}
.localities-panel{min-height:300px}.localities-toolbar{display:flex;justify-content:flex-end;padding:0 0 16px}.localities-list{display:grid;gap:10px}.city-locality-card{border:1px solid #e1e7ef;border-radius:14px;overflow:hidden;background:#fff}.city-locality-head{width:100%;border:0;background:#fff;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:#10233f;font:inherit;cursor:pointer}.city-locality-head:hover{background:#f9fbfe}.city-locality-head strong{font-size:13px}.city-locality-head .city-count{font-size:11px;color:#738197;margin-left:auto}.city-locality-chevron{font-size:18px;color:#58708e;transition:transform .2s ease}.city-locality-card.open .city-locality-chevron{transform:rotate(90deg)}.city-locality-body{display:none;border-top:1px solid #edf1f6;padding:10px 16px 13px;background:#fbfcfe}.city-locality-card.open .city-locality-body{display:block;animation:fadeUp .2s ease both}.locality-chip-list{display:flex;flex-wrap:wrap;gap:8px}.locality-chip{padding:7px 10px;border-radius:999px;background:#eef6ff;color:#165fba;font-size:12px;font-weight:650}.localities-empty{min-height:260px;display:grid;place-items:center;text-align:center;color:#78869a}.localities-empty strong{display:block;color:#273b59;font-size:14px;margin-bottom:5px}.localities-empty span{font-size:12px}.wizard-location-note{font-size:11px;color:#738197;line-height:1.45;margin-top:4px}.locality-equivalent-note{font-size:11px;color:#17784b;margin-top:6px}
@keyframes autoMenuIn{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:760px){.localities-toolbar{align-items:stretch;gap:8px;flex-direction:column}.localities-toolbar .new-user-btn{width:100%}.autocomplete-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);max-height:220px}}


/* ===== Ensaios.click 2.13 — padrão global de Localidade ===== */
.modal-field label.locality-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin:0;
  color:#19304f;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  user-select:none;
}
.modal-field label.locality-toggle .locality-toggle-text{order:1;white-space:nowrap}
.modal-field label.locality-toggle .locality-toggle-box{
  order:2;
  display:inline-block;
  flex:0 0 40px;
  width:40px;
  height:22px;
  border:1px solid #b9c7d8;
  border-radius:999px;
  background:#dfe6ee;
  box-sizing:border-box;
  position:relative;
  vertical-align:middle;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.modal-field label.locality-toggle .locality-toggle-box:after{
  content:'';position:absolute;width:16px;height:16px;border-radius:50%;left:2px;top:2px;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.22);transition:transform .2s ease;
}
.modal-field label.locality-toggle input[type=checkbox]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}
.modal-field label.locality-toggle input[type=checkbox]:checked + .locality-toggle-box{background:#1474e8;border-color:#1474e8;box-shadow:0 0 0 3px rgba(20,116,232,.10)}
.modal-field label.locality-toggle input[type=checkbox]:checked + .locality-toggle-box:after{transform:translateX(18px)}
.modal-field label.locality-toggle:focus-within .locality-toggle-box{outline:3px solid rgba(20,116,232,.18);outline-offset:2px}
.locality-control{overflow:visible;min-width:0}
.locality-control small{margin-top:1px}
@media(max-width:520px){
  .modal-field label.locality-toggle{font-size:11px;gap:8px}
  .modal-field label.locality-toggle .locality-toggle-box{flex-basis:38px;width:38px;height:21px}
  .modal-field label.locality-toggle .locality-toggle-box:after{width:15px;height:15px}
  .modal-field label.locality-toggle input[type=checkbox]:checked + .locality-toggle-box:after{transform:translateX(17px)}
}



/* v2.56 — identidade oficial e revisão de legibilidade claro/escuro */
:root{
  --ink:#1D1D1F;
  --muted:#6E6E73;            /* texto secundário legível no fundo claro */
  --neutral:#AAAAAA;          /* cinza da paleta reservado a bordas/estado desabilitado */
  --bg:#F5F5F7;
  --card:#FFFFFF;
  --line:#D2D2D7;
  --blue:#007AFF;
  --blue-text:#0066CC;        /* derivação acessível para texto pequeno sobre fundo claro */
  --focus-ring:rgba(0,122,255,.30);
}
html[data-theme="dark"]{
  --ink:#F5F5F7;
  --muted:#C7C7CC;            /* contraste reforçado para textos secundários */
  --neutral:#AAAAAA;
  --bg:#1D1D1F;
  --card:#2C2C2E;
  --line:#48484A;
  --blue:#007AFF;
  --blue-text:#64A8FF;
  --focus-ring:rgba(100,168,255,.42);
}

/* Marca oficial: o arquivo original é mantido intacto; apenas retiramos visualmente
   o espaço vazio externo do SVG completo no menu expandido. */
.brand.brand-official{
  min-height:86px;
  padding:0 0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.brand-logo-full{
  display:block;
  position:relative;
  width:196px;
  height:78px;
  overflow:hidden;
  border-radius:12px;
  flex:0 0 auto;
  box-shadow:0 4px 14px rgba(0,0,0,.14);
}
.brand-logo-full img{
  display:block;
  width:196px;
  height:196px;
  max-width:none;
  transform:translateY(-59px);
  object-fit:contain;
}
.brand-logo-icon{
  display:none;
  width:48px;
  height:48px;
  overflow:hidden;
  border-radius:12px;
  flex:0 0 auto;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.brand-logo-icon img{
  display:block;
  width:48px;
  height:48px;
  object-fit:contain;
}
.sidebar.collapsed .brand.brand-official{
  min-height:48px;
  padding:0 0 14px;
  justify-content:center;
}
.sidebar.collapsed .brand-logo-full{display:none}
.sidebar.collapsed .brand-logo-icon{display:block}

/* No mobile o drawer lateral é sempre a versão expandida quando aberto. */
@media(max-width:760px){
  .sidebar .brand.brand-official,
  .sidebar.collapsed .brand.brand-official{
    min-height:86px;
    padding:0 0 14px;
    justify-content:center;
  }
  .sidebar .brand-logo-full,
  .sidebar.collapsed .brand-logo-full{display:block}
  .sidebar .brand-logo-icon,
  .sidebar.collapsed .brand-logo-icon{display:none}
}

/* Logo oficial completo no login, sem recriar tipografia ou símbolo. */
.login-brand-official{
  width:min(100%,340px);
  min-height:118px;
  overflow:hidden;
}
.login-brand-logo{
  width:100%;
  height:118px;
  overflow:hidden;
  border-radius:16px;
  position:relative;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.login-brand-logo img{
  display:block;
  width:340px;
  height:340px;
  max-width:none;
  transform:translateY(-111px);
  object-fit:contain;
}
@media(max-width:760px){
  .login-brand-official{width:min(100%,280px);min-height:96px}
  .login-brand-logo{height:96px;border-radius:14px}
  .login-brand-logo img{width:280px;height:280px;transform:translateY(-92px)}
}

/* Texto principal e secundário: aplica semântica consistente nos dois temas. */
html:not([data-theme="dark"]) :is(
  .subtitle,.profile-role,.metric-label,.metric-delta,.rehearsal-data-item span,
  .rehearsal-person-row span,.rehearsal-management-meta span,.attendance-section-head p,
  .theme-option-text span,.modal-head p,.wizard-help,.config-empty,.report-empty,
  .rehearsal-empty,.profile-detail span,.logo-upload-panel p,.logo-preview-panel p,
  .logo-file-name,.logo-guidance,.zone-settings-form p,.zone-city-main span,.zone-empty,
  .user-zone-list-head span,.user-zone-entry-main span,.user-zone-empty,
  .balance-preview-note,.empty-state,.empty-state small,.users-count,.report-section-subtitle
){color:#6E6E73!important}

html[data-theme="dark"] :is(
  .subtitle,.profile-role,.metric-label,.metric-delta,.rehearsal-data-item span,
  .rehearsal-person-row span,.rehearsal-management-meta span,.attendance-section-head p,
  .theme-option-text span,.modal-head p,.wizard-help,.config-empty,.report-empty,
  .rehearsal-empty,.profile-detail span,.logo-upload-panel p,.logo-preview-panel p,
  .logo-file-name,.logo-guidance,.zone-settings-form p,.zone-city-main span,.zone-empty,
  .user-zone-list-head span,.user-zone-entry-main span,.user-zone-empty,
  .balance-preview-note,.empty-state,.empty-state small,.users-count,.report-section-subtitle
){color:#C7C7CC!important}

/* Títulos e dados fortes nunca herdam cinza de baixo contraste. */
html:not([data-theme="dark"]) :is(
  .page-title,.profile-name,.metric-value,.card-title,.users-table td strong,
  .rehearsal-data-item strong,.rehearsal-person-row strong,.rehearsal-management-meta strong,
  .attendance-section-head h3,.attendance-entry-head strong,.rehearsal-word-reference strong,
  .rehearsal-hymn-card strong,.rehearsal-ministry-row strong,.rehearsal-gem-row strong,
  .role-name,.instrument-category-title strong,.catalog-card strong,.theme-option-text strong,
  .modal-head h2,.wizard-title,.first-access-card h1,.report-section-title
){color:#1D1D1F!important}
html[data-theme="dark"] :is(
  .page-title,.profile-name,.metric-value,.card-title,.users-table td strong,
  .rehearsal-data-item strong,.rehearsal-person-row strong,.rehearsal-management-meta strong,
  .attendance-section-head h3,.attendance-entry-head strong,.rehearsal-word-reference strong,
  .rehearsal-hymn-card strong,.rehearsal-ministry-row strong,.rehearsal-gem-row strong,
  .role-name,.instrument-category-title strong,.catalog-card strong,.theme-option-text strong,
  .modal-head h2,.wizard-title,.first-access-card h1,.report-section-title
){color:#F5F5F7!important}

/* Links/ações textuais pequenos usam um azul com contraste maior; fundos de ação mantêm #007AFF. */
html:not([data-theme="dark"]) :is(
  .card-link,.wizard-kicker,.user-action-btn.password,.report-tab.active,
  .config-tab.active,.user-tab.active,.rehearsal-tab.active,.system-setting-tab.active
){color:#0066CC!important}
html[data-theme="dark"] :is(
  .card-link,.wizard-kicker,.user-action-btn.password,.report-tab.active,
  .config-tab.active,.user-tab.active,.rehearsal-tab.active,.system-setting-tab.active
){color:#64A8FF!important}

/* Campos, placeholders e menus de sugestão. */
html:not([data-theme="dark"]) :is(input,select,textarea,.invite-message){
  color:#1D1D1F!important;
  background:#FFFFFF!important;
  border-color:#C7C7CC!important;
}
html:not([data-theme="dark"]) :is(input,textarea)::placeholder{color:#6E6E73!important;opacity:1}
html[data-theme="dark"] :is(input,select,textarea,.invite-message){
  color:#F5F5F7!important;
  background:#2C2C2E!important;
  border-color:#545458!important;
}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#B8B8BD!important;opacity:1}
html:not([data-theme="dark"]) .autocomplete-menu{background:#FFFFFF!important;border-color:#C7C7CC!important}
html:not([data-theme="dark"]) .autocomplete-option{color:#1D1D1F!important}
html[data-theme="dark"] .autocomplete-menu{background:#2C2C2E!important;border-color:#545458!important}
html[data-theme="dark"] .autocomplete-option{color:#F5F5F7!important}

/* Tabelas e superfícies: evita texto claro em fundo claro ou texto escuro em fundo escuro. */
html:not([data-theme="dark"]) :is(.users-table th,.report-data-table th){color:#6E6E73!important}
html:not([data-theme="dark"]) :is(.users-table td,.report-data-table td){color:#1D1D1F}
html[data-theme="dark"] :is(.users-table th,.report-data-table th){color:#C7C7CC!important;background:#2C2C2E!important}
html[data-theme="dark"] :is(.users-table td,.report-data-table td){color:#F5F5F7!important}

/* Ícones vetoriais seguem a cor do componente e mantêm traços nítidos. */
:is(button,a,.nav-item,.menu-btn,.bell,.profile-chevron,.chev,.city-locality-chevron,.top-theme-switch-icon) svg{
  color:inherit;
  stroke:currentColor;
  shape-rendering:geometricPrecision;
}
html:not([data-theme="dark"]) :is(.menu-btn,.bell,.profile-chevron,.chev,.city-locality-chevron){color:#515154!important}
html[data-theme="dark"] :is(.menu-btn,.bell,.profile-chevron,.chev,.city-locality-chevron){color:#F5F5F7!important}

/* Foco visível consistente para teclado e tecnologias assistivas. */
:is(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:3px solid var(--focus-ring)!important;
  outline-offset:2px;
}

/* Botões desabilitados continuam reconhecíveis sem parecer ativos. */
:is(button,.new-user-btn,.modal-primary,.modal-secondary,.quick-btn):disabled{
  opacity:.58;
  cursor:not-allowed;
}

/* Relatório impresso permanece deliberadamente claro em qualquer tema do aplicativo. */
html[data-theme="dark"] .balance-report-sheet,
html[data-theme="dark"] .balance-report-sheet *{
  color-scheme:light;
}



/* Paleta oficial do aplicativo: sem os azuis/navys legados da interface. */
:root{
  --navy:#1D1D1F!important;
  --navy-2:#1D1D1F!important;
  --blue:#007AFF!important;
  --blue-2:#007AFF!important;
  --green:#007AFF!important;
  --orange:#AAAAAA!important;
  --purple:#1D1D1F!important;
  --ink:#1D1D1F!important;
  --muted:#6E6E73!important;
  --neutral:#AAAAAA!important;
  --bg:#F5F5F7!important;
  --card:#FFFFFF!important;
  --line:rgba(170,170,170,.42)!important;
}
html[data-theme="dark"]{
  --ink:#F5F5F7!important;
  --muted:#D6D6D8!important;
  --neutral:#AAAAAA!important;
  --bg:#1D1D1F!important;
  --card:#1D1D1F!important;
  --line:rgba(170,170,170,.42)!important;
  color-scheme:dark;
}
.sidebar{background:#1D1D1F!important}
.login-screen{background:#F5F5F7!important}
.login-side{background:#1D1D1F!important}
.login-side:before,.login-side:after{background:rgba(0,122,255,.14)!important}
:is(.primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,.wizard-next,.user-primary-action){background:#007AFF!important;border-color:#007AFF!important;color:#F5F5F7!important}
:is(.nav-item.active,.rehearsal-tab.active,.user-tab.active,.report-tab.active,.config-tab.active,.system-setting-tab.active){color:#007AFF!important}
:is(input,textarea,select,.field input,.modal-field input,.modal-field select,.modal-field textarea){
  border-color:rgba(170,170,170,.55)!important;
}
html:not([data-theme="dark"]) :is(input,textarea,select,.field input,.modal-field input,.modal-field select,.modal-field textarea){background:#FFFFFF!important;color:#1D1D1F!important}
html[data-theme="dark"] :is(input,textarea,select,.field input,.modal-field input,.modal-field select,.modal-field textarea){background:#1D1D1F!important;color:#F5F5F7!important}
:is(input,textarea,select):focus{border-color:#007AFF!important;box-shadow:0 0 0 3px rgba(0,122,255,.20)!important}
:is(a,.link-btn,.text-link){color:#007AFF!important}

/* Autocomplete fica acima de modais/drawers e nunca é cortado. */
.autocomplete-wrap{position:relative!important;overflow:visible!important}
.autocomplete-menu{
  position:fixed!important;
  z-index:2147483000!important;
  display:block;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  min-width:180px!important;
  max-width:calc(100vw - 16px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(170,170,170,.55)!important;
  border-radius:12px!important;
  box-shadow:0 14px 38px rgba(29,29,31,.20)!important;
}
.autocomplete-menu[hidden]{display:none!important}
html:not([data-theme="dark"]) .autocomplete-menu{background:#FFFFFF!important}
html[data-theme="dark"] .autocomplete-menu{background:#1D1D1F!important}
.autocomplete-option{
  min-height:46px!important;
  padding:11px 12px!important;
  color:var(--ink)!important;
  background:transparent!important;
  border-bottom:1px solid rgba(170,170,170,.20)!important;
}
.autocomplete-option:last-child{border-bottom:0!important}
.autocomplete-option:hover,.autocomplete-option:focus,.autocomplete-option:active{background:rgba(0,122,255,.12)!important}
.autocomplete-option span,.autocomplete-empty{color:var(--muted)!important}
.autocomplete-loading:before{border-color:rgba(170,170,170,.45)!important;border-top-color:#007AFF!important}

/* Logotipos do sistema são transparentes. Somente favicon/PWA recebe fundo. */
.brand-logo-full,.brand-logo-icon,.login-brand-logo{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}



.autocomplete-menu{
  position:fixed!important;
  z-index:2147483640!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  contain:layout paint;
}
.autocomplete-menu:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.modal-card,.wizard-step,.modal-body,.modal-layer{
  /* menus are portaled to body, so these may safely keep their own scrolling/animation */
}



.brand-logo-full,.brand-logo-icon,.login-brand-logo,
.brand-logo-full img,.brand-logo-icon img,.login-brand-logo img,
.brand img,.login-brand img{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
}



:root{
  --blue:#007AFF!important;
  --blue-2:#007AFF!important;
  --navy:#1D1D1F!important;
  --navy-2:#1D1D1F!important;
  --bg:#F5F5F7!important;
  --card:#F5F5F7!important;
  --ink:#1D1D1F!important;
  --muted:#5F6368!important;
  --neutral:#AAAAAA!important;
  --line:#AAAAAA!important;
}

/* TEMA CLARO — superfícies principais */
html:not([data-theme="dark"]) body,
html:not([data-theme="dark"]) .shell,
html:not([data-theme="dark"]) .content,
html:not([data-theme="dark"]) .users-view,
html:not([data-theme="dark"]) .rehearsal-view,
html:not([data-theme="dark"]) .config-data-view,
html:not([data-theme="dark"]) .system-config-view,
html:not([data-theme="dark"]) .reports-view,
html:not([data-theme="dark"]) .my-profile-view,
html:not([data-theme="dark"]) .unconfigured-view,
html:not([data-theme="dark"]) .topbar,
html:not([data-theme="dark"]) .card,
html:not([data-theme="dark"]) .metric-card,
html:not([data-theme="dark"]) .users-card,
html:not([data-theme="dark"]) .rehearsal-card,
html:not([data-theme="dark"]) .config-card,
html:not([data-theme="dark"]) .reports-card,
html:not([data-theme="dark"]) .system-settings-card,
html:not([data-theme="dark"]) .modal-card,
html:not([data-theme="dark"]) .first-access-card,
html:not([data-theme="dark"]) .attendance-section,
html:not([data-theme="dark"]) .attendance-entry{
  background:#F5F5F7!important;
  color:#1D1D1F!important;
  border-color:#AAAAAA!important;
}

/* Em fundo claro, títulos, labels e elementos de ação usam o azul oficial. */
html:not([data-theme="dark"]) :is(
  h1,h2,h3,h4,
  .page-title,.page-subtitle strong,
  .modal-title,.modal-field>label,.field>label,
  .wizard-question,.wizard-step-label,
  .rehearsal-card-title,.card-title,
  .profile-detail-label,
  .report-section-title,
  .config-section-title,
  .system-setting-title
){
  color:#007AFF!important;
}

/* Texto corrido pequeno permanece escuro para legibilidade/acessibilidade. */
html:not([data-theme="dark"]) :is(
  p,small,.muted,.page-subtitle,
  .modal-subtitle,.wizard-description,
  .profile-detail-value,.table td,
  .users-table td,.report-data-table td
){
  color:#1D1D1F!important;
}

/* Menus do tema claro: fundo azul + texto claro. */
html:not([data-theme="dark"]) .sidebar,
html:not([data-theme="dark"]) .profile-menu,
html:not([data-theme="dark"]) .autocomplete-menu,
html:not([data-theme="dark"]) :is(
  .reports-tabs-wrap,.users-tabs-wrap,.config-tabs-wrap,
  .system-settings-tabs,.rehearsal-tabs-wrap
){
  background:#007AFF!important;
  color:#F5F5F7!important;
  border-color:#007AFF!important;
}

html:not([data-theme="dark"]) .sidebar :is(.nav-item,.nav-section,.cloud-title,.cloud-detail,.cloud-sync-label,.cloud-sync-time),
html:not([data-theme="dark"]) .profile-menu button,
html:not([data-theme="dark"]) .autocomplete-option,
html:not([data-theme="dark"]) :is(.report-tab,.user-tab,.config-tab,.system-setting-tab,.rehearsal-tab){
  color:#F5F5F7!important;
}

/* Item ativo sobre fundo claro: fundo claro + texto azul. */
html:not([data-theme="dark"]) .sidebar .nav-item.active,
html:not([data-theme="dark"]) :is(.report-tab,.user-tab,.config-tab,.system-setting-tab,.rehearsal-tab).active{
  background:#F5F5F7!important;
  color:#007AFF!important;
  box-shadow:none!important;
}

html:not([data-theme="dark"]) .profile-menu button:hover,
html:not([data-theme="dark"]) .autocomplete-option:hover,
html:not([data-theme="dark"]) .autocomplete-option:focus,
html:not([data-theme="dark"]) .autocomplete-option:active{
  background:#F5F5F7!important;
  color:#007AFF!important;
}

/* Inputs no tema claro. */
html:not([data-theme="dark"]) :is(input,textarea,select,.field input,.modal-field input,.modal-field textarea,.modal-field select){
  background:#F5F5F7!important;
  color:#1D1D1F!important;
  border-color:#AAAAAA!important;
}
html:not([data-theme="dark"]) :is(input,textarea)::placeholder{color:#77777B!important}

/* Botões/ações azuis sempre usam texto claro. */
:is(
  .primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,
  .wizard-next,.user-primary-action,.btn-primary
){
  background:#007AFF!important;
  border-color:#007AFF!important;
  color:#F5F5F7!important;
}

/* TEMA ESCURO — fundo #1D1D1F + texto #F5F5F7 */
html[data-theme="dark"]{
  --bg:#1D1D1F!important;
  --card:#1D1D1F!important;
  --ink:#F5F5F7!important;
  --muted:#D6D6D8!important;
  --line:#AAAAAA!important;
  color-scheme:dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .shell,
html[data-theme="dark"] .content,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .users-view,
html[data-theme="dark"] .rehearsal-view,
html[data-theme="dark"] .config-data-view,
html[data-theme="dark"] .system-config-view,
html[data-theme="dark"] .reports-view,
html[data-theme="dark"] .my-profile-view,
html[data-theme="dark"] .unconfigured-view,
html[data-theme="dark"] .card,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .users-card,
html[data-theme="dark"] .rehearsal-card,
html[data-theme="dark"] .config-card,
html[data-theme="dark"] .reports-card,
html[data-theme="dark"] .system-settings-card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .first-access-card,
html[data-theme="dark"] .attendance-section,
html[data-theme="dark"] .attendance-entry,
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .profile-menu,
html[data-theme="dark"] .autocomplete-menu,
html[data-theme="dark"] :is(
  .reports-tabs-wrap,.users-tabs-wrap,.config-tabs-wrap,
  .system-settings-tabs,.rehearsal-tabs-wrap
){
  background:#1D1D1F!important;
  color:#F5F5F7!important;
  border-color:#AAAAAA!important;
}

html[data-theme="dark"] :is(
  h1,h2,h3,h4,p,small,label,
  .page-title,.page-subtitle,.modal-title,.modal-subtitle,
  .wizard-question,.wizard-description,.wizard-step-label,
  .profile-detail-label,.profile-detail-value,
  .table td,.users-table td,.report-data-table td,
  .nav-item,.nav-section,.profile-menu button,
  .autocomplete-option,.report-tab,.user-tab,.config-tab,
  .system-setting-tab,.rehearsal-tab
){
  color:#F5F5F7!important;
}

html[data-theme="dark"] .sidebar .nav-item.active,
html[data-theme="dark"] :is(.report-tab,.user-tab,.config-tab,.system-setting-tab,.rehearsal-tab).active,
html[data-theme="dark"] .profile-menu button:hover,
html[data-theme="dark"] .autocomplete-option:hover,
html[data-theme="dark"] .autocomplete-option:focus{
  background:#007AFF!important;
  color:#F5F5F7!important;
}

html[data-theme="dark"] :is(input,textarea,select,.field input,.modal-field input,.modal-field textarea,.modal-field select){
  background:#1D1D1F!important;
  color:#F5F5F7!important;
  border-color:#AAAAAA!important;
}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#AAAAAA!important}

/* Tabelas: cabeçalho coerente com o tema/menu. */
html:not([data-theme="dark"]) :is(.users-table th,.report-data-table th,.table th){
  background:#007AFF!important;
  color:#F5F5F7!important;
}
html[data-theme="dark"] :is(.users-table th,.report-data-table th,.table th){
  background:#1D1D1F!important;
  color:#F5F5F7!important;
  border-color:#AAAAAA!important;
}

/* Foco sempre em azul oficial. */
:is(input,textarea,select,button,a):focus-visible{
  outline:3px solid #007AFF!important;
  outline-offset:2px!important;
}



/*
  Tema escuro 2.60
  O tema claro da 2.59 é preservado sem alterações.
  Paleta escura:
  Fundo principal     #10131A
  Superfície          #181D27
  Superfície elevada  #212733
  Primária            #7C86F5
  Hover primário      #929AFF
  Complementar        #40C4B8
  Texto principal     #F4F5F8
  Texto secundário    #B4BAC6
  Texto discreto      #939AA8
  Bordas              #343B49
  Hover neutro        #252C38
  Seleção suave       #292E52
*/
html[data-theme="dark"]{
  --bg:#10131A!important;
  --card:#181D27!important;
  --ink:#F4F5F8!important;
  --muted:#B4BAC6!important;
  --line:#343B49!important;
  --blue:#7C86F5!important;
  --blue-2:#929AFF!important;
  --navy:#181D27!important;
  --navy-2:#212733!important;
  --green:#40C4B8!important;
  --neutral:#939AA8!important;
  --dark-bg:#10131A;
  --dark-surface:#181D27;
  --dark-elevated:#212733;
  --dark-primary:#7C86F5;
  --dark-primary-hover:#929AFF;
  --dark-accent:#40C4B8;
  --dark-text:#F4F5F8;
  --dark-secondary:#B4BAC6;
  --dark-muted:#939AA8;
  --dark-border:#343B49;
  --dark-hover:#252C38;
  --dark-selected:#292E52;
  color-scheme:dark;
}

/* Estrutura principal */
html[data-theme="dark"] body,
html[data-theme="dark"] .shell,
html[data-theme="dark"] .content,
html[data-theme="dark"] .users-view,
html[data-theme="dark"] .rehearsal-view,
html[data-theme="dark"] .config-data-view,
html[data-theme="dark"] .system-config-view,
html[data-theme="dark"] .reports-view,
html[data-theme="dark"] .my-profile-view,
html[data-theme="dark"] .unconfigured-view{
  background:#10131A!important;
  color:#F4F5F8!important;
}

html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .topbar{
  background:#181D27!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
}

html[data-theme="dark"] .page-title,
html[data-theme="dark"] .profile-name{
  color:#F4F5F8!important;
}
html[data-theme="dark"] .subtitle,
html[data-theme="dark"] .profile-role{
  color:#B4BAC6!important;
}

/* Navegação lateral */
html[data-theme="dark"] .nav-item{
  color:#DDE0E8!important;
  background:transparent!important;
}
html[data-theme="dark"] .nav-item:hover{
  background:#252C38!important;
  color:#F4F5F8!important;
}
html[data-theme="dark"] .nav-item.active{
  background:#292E52!important;
  color:#929AFF!important;
  box-shadow:inset 3px 0 0 #7C86F5!important;
}
html[data-theme="dark"] .nav-section{color:#939AA8!important}

/* Indicador de nuvem */
html[data-theme="dark"] .cloud-panel{
  background:rgba(64,196,184,.08)!important;
  border-color:rgba(64,196,184,.34)!important;
  color:#B4BAC6!important;
}
html[data-theme="dark"] .cloud-title,
html[data-theme="dark"] .cloud-sync-time{color:#F4F5F8!important}
html[data-theme="dark"] .cloud-detail,
html[data-theme="dark"] .cloud-sync-label{color:#B4BAC6!important}
html[data-theme="dark"] .cloud-panel[data-cloud-state="ok"] .cloud-dot{
  background:#40C4B8!important;
  box-shadow:0 0 0 3px rgba(64,196,184,.12)!important;
}
html[data-theme="dark"] .cloud-panel[data-cloud-state="syncing"] .cloud-dot{background:#7C86F5!important}
html[data-theme="dark"] .cloud-panel[data-cloud-state="pending"] .cloud-dot{background:#F2B84B!important}
html[data-theme="dark"] .cloud-panel[data-cloud-state="error"] .cloud-dot{background:#FF6F7C!important}

/* Cards e superfícies */
html[data-theme="dark"] :is(
  .metric-card,.card,.users-card,.rehearsal-card,.config-card,.reports-card,
  .system-settings-card,.modal-card,.first-access-card,.profile-menu,
  .rehearsal-word-card,.attendance-section,.attendance-entry,
  .rehearsal-hymn-card,.rehearsal-ministry-row,.rehearsal-management-user,
  .audit-item,.balance-tab-card,.city-locality-card,.instrument-category,
  .catalog-card,.zone-settings-form,.zone-list-card,.report-summary-card
){
  background:#181D27!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
  box-shadow:none!important;
}

html[data-theme="dark"] :is(
  .rehearsal-data-item,.rehearsal-people-stat,.rehearsal-word-reference,
  .modal-note,.password-rules,.profile-detail,.catalog-panel,
  .instrument-category-body-inner,.report-table-wrap,.user-zone-entry
){
  background:#212733!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
}

/* Títulos e textos */
html[data-theme="dark"] :is(
  h1,h2,h3,h4,.card-title,.metric-value,.modal-title,.wizard-title,
  .report-panel-title,.report-summary-card strong,.zone-settings-form h3,
  .zone-list-head strong,.zone-city-main strong,.role-name,
  .instrument-category-title strong,.catalog-card strong,
  .city-locality-head strong,.user-name,.users-empty strong,.empty-state strong,
  .config-empty strong,.rehearsal-empty strong,.report-empty strong
){
  color:#F4F5F8!important;
}

html[data-theme="dark"] :is(
  p,small,.muted,.metric-label,.metric-delta,.wizard-help,.wizard-description,
  .report-panel-subtitle,.report-summary-card span,.zone-settings-form p,
  .zone-city-main span,.city-count,.instrument-category-count,.instrument-alias,
  .catalog-card span,.config-empty,.report-empty,.rehearsal-empty,
  .empty-state,.empty-state small,.footer,.quick-d
){
  color:#B4BAC6!important;
}

/* Dashboard */
html[data-theme="dark"] .metric-icon{
  background:#292E52!important;
  color:#929AFF!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .metric-delta strong,
html[data-theme="dark"] .metric-delta .up{color:#40C4B8!important}

html[data-theme="dark"] .empty-dot{
  background:#212733!important;
}
html[data-theme="dark"] .empty-dot:before,
html[data-theme="dark"] .empty-dot:after{
  background:#7C86F5!important;
}

html[data-theme="dark"] .quick-btn{
  background:#212733!important;
  border-color:#343B49!important;
  color:#F4F5F8!important;
}
html[data-theme="dark"] .quick-btn:hover{
  background:#252C38!important;
  border-color:#4A5364!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .quick-icon{color:#7C86F5!important}
html[data-theme="dark"] .quick-t{color:#F4F5F8!important}
html[data-theme="dark"] .quick-d{color:#B4BAC6!important}

html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .table{
  border-color:#343B49!important;
}
html[data-theme="dark"] .table th{
  background:#212733!important;
  color:#B4BAC6!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .table td{
  color:#F4F5F8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .table tbody tr:hover{background:#1E2430!important}

html[data-theme="dark"] .grid-line{stroke:#343B49!important}
html[data-theme="dark"] .axis-label{fill:#939AA8!important}
html[data-theme="dark"] .line-path{stroke:#7C86F5!important}
html[data-theme="dark"] .point{fill:#7C86F5!important;stroke:#181D27!important}
html[data-theme="dark"] .bar-bg{background:#212733!important}
html[data-theme="dark"] .bar{background:#7C86F5!important}
html[data-theme="dark"] .bar-row,
html[data-theme="dark"] .bar-n{color:#B4BAC6!important}
html[data-theme="dark"] .card-link{color:#929AFF!important}

/* Abas e barras internas */
html[data-theme="dark"] :is(
  .users-tabs-wrap,.rehearsal-tabs-wrap,.config-tabs-wrap,.reports-tabs-wrap,
  .system-settings-tabs,.rehearsal-toolbar,.config-head,.users-head
){
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] :is(
  .user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab
){
  color:#B4BAC6!important;
  background:transparent!important;
}
html[data-theme="dark"] :is(
  .user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab
):hover{
  background:#252C38!important;
  color:#F4F5F8!important;
}
html[data-theme="dark"] :is(
  .user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab
).active{
  background:#292E52!important;
  color:#929AFF!important;
}
html[data-theme="dark"] :is(
  .user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab
).active:after{
  background:#7C86F5!important;
}

/* Usuários — corrige nomes escuros/invisíveis da captura */
html[data-theme="dark"] .users-table-wrap{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .users-table{
  background:#181D27!important;
}
html[data-theme="dark"] .users-table thead,
html[data-theme="dark"] .users-table th{
  background:#212733!important;
  color:#B4BAC6!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .users-table td{
  background:#181D27!important;
  color:#DDE0E8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .users-table tbody tr:hover td{
  background:#1E2430!important;
}
html[data-theme="dark"] .user-name,
html[data-theme="dark"] .user-identity,
html[data-theme="dark"] .user-identity *{
  color:#F4F5F8!important;
}
html[data-theme="dark"] .role-pill{
  background:#292E52!important;
  color:#929AFF!important;
  border-color:rgba(124,134,245,.28)!important;
}
html[data-theme="dark"] .status-pill{
  background:rgba(59,203,145,.12)!important;
  color:#3BCB91!important;
  border-color:rgba(59,203,145,.26)!important;
}
html[data-theme="dark"] .status-pill.expired{
  background:rgba(255,111,124,.10)!important;
  color:#FF8B96!important;
  border-color:rgba(255,111,124,.26)!important;
}
html[data-theme="dark"] .temporary-pill{
  background:rgba(242,184,75,.12)!important;
  color:#F2B84B!important;
  border-color:rgba(242,184,75,.25)!important;
}
html[data-theme="dark"] .user-action-btn.password,
html[data-theme="dark"] .user-zone-action{
  background:#212733!important;
  color:#C8CCFF!important;
  border-color:#48516A!important;
}
html[data-theme="dark"] .user-action-btn.password:hover,
html[data-theme="dark"] .user-zone-action:hover{
  background:#292E52!important;
  color:#F4F5F8!important;
  border-color:#7C86F5!important;
}
html[data-theme="dark"] .user-action-btn.danger,
html[data-theme="dark"] .zone-remove-btn,
html[data-theme="dark"] .user-zone-remove{
  background:rgba(255,111,124,.08)!important;
  color:#FF8B96!important;
  border-color:rgba(255,111,124,.30)!important;
}
html[data-theme="dark"] .user-action-btn.danger:hover,
html[data-theme="dark"] .zone-remove-btn:hover,
html[data-theme="dark"] .user-zone-remove:hover{
  background:rgba(255,111,124,.15)!important;
}

/* Configuração de Dados — corrige o bloco branco da captura */
html[data-theme="dark"] .roles-panel,
html[data-theme="dark"] .roles-list{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .role-row{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .role-row:hover{background:#212733!important}
html[data-theme="dark"] .role-name{color:#F4F5F8!important}
html[data-theme="dark"] .role-icon{
  background:#292E52!important;
  color:#929AFF!important;
}
html[data-theme="dark"] .role-origin{
  background:#212733!important;
  color:#B4BAC6!important;
}
html[data-theme="dark"] .role-origin.custom{
  background:rgba(64,196,184,.10)!important;
  color:#40C4B8!important;
}

html[data-theme="dark"] .city-locality-card{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .city-locality-head{
  background:#181D27!important;
  color:#F4F5F8!important;
}
html[data-theme="dark"] .city-locality-head:hover{background:#252C38!important}
html[data-theme="dark"] .city-locality-body{
  background:#212733!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .locality-chip{
  background:#292E52!important;
  color:#C8CCFF!important;
}

html[data-theme="dark"] .catalog-panel,
html[data-theme="dark"] .instrument-category,
html[data-theme="dark"] .catalog-card{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .instrument-category-head{
  background:#181D27!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .instrument-category-head:hover{background:#252C38!important}
html[data-theme="dark"] .instrument-category-body,
html[data-theme="dark"] .instrument-category-body-inner{
  background:#212733!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .instrument-list li{
  color:#F4F5F8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .instrument-fixed-note{
  background:#212733!important;
  color:#B4BAC6!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .catalog-badge{
  background:#292E52!important;
  color:#C8CCFF!important;
}

/* Configuração do Sistema */
html[data-theme="dark"] .zone-add-grid{
  background:transparent!important;
}
html[data-theme="dark"] .zone-rule-note{
  background:rgba(242,184,75,.09)!important;
  border-color:rgba(242,184,75,.28)!important;
  color:#F2CE79!important;
}
html[data-theme="dark"] .zone-list-count{
  background:#292E52!important;
  color:#C8CCFF!important;
  border-color:rgba(124,134,245,.28)!important;
}
html[data-theme="dark"] .zone-city-row{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .zone-city-row:hover{background:#212733!important}

html[data-theme="dark"] .theme-option-card{
  background:#212733!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .theme-option input:checked+.theme-option-card{
  background:#292E52!important;
  border-color:#7C86F5!important;
}
html[data-theme="dark"] .theme-option-text strong{color:#F4F5F8!important}
html[data-theme="dark"] .theme-option-text span{color:#B4BAC6!important}

html[data-theme="dark"] .logo-upload-panel,
html[data-theme="dark"] .logo-preview-panel,
html[data-theme="dark"] .logo-preview-stage{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .logo-file-label{
  background:#212733!important;
  color:#B4BAC6!important;
  border-color:#48516A!important;
}
html[data-theme="dark"] .logo-file-label:hover{
  background:#292E52!important;
  color:#F4F5F8!important;
  border-color:#7C86F5!important;
}

/* Relatórios */
html[data-theme="dark"] .report-summary-card{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .report-summary-card span{color:#B4BAC6!important}
html[data-theme="dark"] .report-summary-card strong{color:#F4F5F8!important}
html[data-theme="dark"] .report-data-table{
  background:#181D27!important;
}
html[data-theme="dark"] .report-data-table th{
  background:#212733!important;
  color:#B4BAC6!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .report-data-table td{
  background:#181D27!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .report-data-table tr:hover td{background:#1E2430!important}

/* Gerir Ensaio */
html[data-theme="dark"] .rehearsal-management-user{
  background:#181D27!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .rehearsal-management-user:hover{background:#212733!important}
html[data-theme="dark"] .rehearsal-management-meta strong{color:#F4F5F8!important}
html[data-theme="dark"] .rehearsal-management-meta span{color:#B4BAC6!important}
html[data-theme="dark"] .rehearsal-current-pill{
  background:#292E52!important;
  color:#C8CCFF!important;
  border-color:rgba(124,134,245,.28)!important;
}

/* Formulários, modal e autocomplete */
html[data-theme="dark"] :is(
  input,select,textarea,.invite-message,
  .field input,.modal-field input,.modal-field select,.modal-field textarea
){
  background:#212733!important;
  color:#F4F5F8!important;
  border-color:#48516A!important;
}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#939AA8!important}
html[data-theme="dark"] :is(input,select,textarea):focus{
  border-color:#7C86F5!important;
  box-shadow:0 0 0 3px rgba(124,134,245,.18)!important;
}
html[data-theme="dark"] :is(.field>label,.modal-field>label){color:#DDE0E8!important}

html[data-theme="dark"] .autocomplete-menu{
  background:#212733!important;
  border-color:#48516A!important;
  box-shadow:0 18px 44px rgba(0,0,0,.40)!important;
}
html[data-theme="dark"] .autocomplete-option{
  background:transparent!important;
  color:#F4F5F8!important;
  border-color:#343B49!important;
}
html[data-theme="dark"] .autocomplete-option span{color:#B4BAC6!important}
html[data-theme="dark"] .autocomplete-option:hover,
html[data-theme="dark"] .autocomplete-option:focus,
html[data-theme="dark"] .autocomplete-option:active{
  background:#292E52!important;
  color:#F4F5F8!important;
}

/* Botões */
html[data-theme="dark"] :is(
  .primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,
  .wizard-next,.user-primary-action,.btn-primary,.new-user-btn,.role-add-btn
){
  background:#7C86F5!important;
  border-color:#7C86F5!important;
  color:#10131A!important;
  box-shadow:none!important;
}
html[data-theme="dark"] :is(
  .primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,
  .wizard-next,.user-primary-action,.btn-primary,.new-user-btn,.role-add-btn
):hover{
  background:#929AFF!important;
  border-color:#929AFF!important;
  color:#10131A!important;
  filter:none!important;
}
html[data-theme="dark"] .modal-secondary{
  background:#212733!important;
  color:#DDE0E8!important;
  border-color:#48516A!important;
}
html[data-theme="dark"] .modal-secondary:hover{
  background:#252C38!important;
}

/* Alternador claro/escuro */
html[data-theme="dark"] .top-theme-switch-track{
  background:#7C86F5!important;
}
html[data-theme="dark"] .top-theme-switch input:checked+.top-theme-switch-track{
  background:#7C86F5!important;
}
html[data-theme="dark"] .top-theme-switch input:focus-visible+.top-theme-switch-track{
  outline-color:rgba(124,134,245,.35)!important;
}
html[data-theme="dark"] .top-theme-switch-icon{color:#B4BAC6!important}

/* Estados semânticos */
html[data-theme="dark"] .modal-error,
html[data-theme="dark"] .error,
html[data-theme="dark"] .danger-text{color:#FF8B96!important}
html[data-theme="dark"] .success,
html[data-theme="dark"] .success-text,
html[data-theme="dark"] .theme-setting-status{color:#40C4B8!important}

/* Scrollbars no tema escuro */
html[data-theme="dark"] *{
  scrollbar-color:#4A5364 #181D27;
}
html[data-theme="dark"] *::-webkit-scrollbar{width:10px;height:10px}
html[data-theme="dark"] *::-webkit-scrollbar-track{background:#181D27}
html[data-theme="dark"] *::-webkit-scrollbar-thumb{
  background:#4A5364;
  border:2px solid #181D27;
  border-radius:999px;
}
html[data-theme="dark"] *::-webkit-scrollbar-thumb:hover{background:#5D677A}

/* Foco acessível no tema escuro */
html[data-theme="dark"] :is(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:3px solid rgba(124,134,245,.72)!important;
  outline-offset:2px!important;
}

/* O relatório/preview de impressão continua deliberadamente claro. */
html[data-theme="dark"] .balance-report-sheet,
html[data-theme="dark"] .balance-report-sheet *{
  color-scheme:light!important;
}



.wizard-zone-step{display:grid;gap:14px}.wizard-zone-builder{border:1px solid #D9DDE7;border-radius:14px;padding:14px;background:#F7F8FC}.wizard-zone-add{margin-top:10px;width:100%}.wizard-zone-suggestions{display:grid;gap:8px}.wizard-zone-suggestions>strong,.wizard-zone-selected-head strong{font-size:12px;color:#181B26}.wizard-zone-chips{display:flex;flex-wrap:wrap;gap:7px}.wizard-zone-chip{border:1px solid #D9DDE7;background:#fff;color:#3B46BB;border-radius:999px;padding:7px 10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.wizard-zone-chip:hover{background:#ECEEFC;border-color:#b9c0ee}.wizard-zone-selected-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-zone-selected-head span{font-size:11px;color:#777E8E}.user-zone-remove:disabled{opacity:.45;cursor:not-allowed}
html[data-theme="dark"] .wizard-zone-builder{background:#181D27;border-color:#343B49}html[data-theme="dark"] .wizard-zone-suggestions>strong,html[data-theme="dark"] .wizard-zone-selected-head strong{color:#F4F5F8}html[data-theme="dark"] .wizard-zone-chip{background:#212733;border-color:#343B49;color:#9fa7ff}html[data-theme="dark"] .wizard-zone-chip:hover{background:#292E52}
@media(max-width:760px){.wizard-zone-selected-head{align-items:flex-start;flex-direction:column;gap:4px}.wizard-zone-chip{min-height:36px}}



/* v2.85 — Impressão e exportação dos relatórios filtrados */
.report-filter-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-export-open{min-height:30px;border:0;border-radius:8px;background:#4B57D1;color:#fff;padding:7px 11px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 3px 9px rgba(75,87,209,.18)}.report-export-open:hover{background:#3B46BB}.report-export-open:disabled{opacity:.5;cursor:default}.report-export-note{display:grid;gap:5px;border:1px solid #D9DDE7;border-radius:10px;background:#F7F8FC;padding:12px;color:#181B26}.report-export-note strong{font-size:11px}.report-export-note span{font-size:12px;font-weight:800;color:#4B57D1}.report-export-note small{display:block;color:#5F6574;font-size:9px;line-height:1.45}.report-export-footer{flex-wrap:wrap}.report-export-footer button{min-width:104px}
html[data-theme="dark"] .report-export-open{background:#7C86F5;color:#10131A}html[data-theme="dark"] .report-export-open:hover{background:#8F97FF}html[data-theme="dark"] .report-export-note{background:#212733;border-color:#343B49;color:#F4F5F8}html[data-theme="dark"] .report-export-note span{color:#9DA5FF}html[data-theme="dark"] .report-export-note small{color:#B4BAC6}
@media(max-width:760px){.report-filter-actions{width:100%;justify-content:flex-start}.report-export-open{min-height:32px}.report-export-footer button{flex:1 1 120px}.report-export-footer #cancelReportExportBtn{flex-basis:100%}}
#printReportRoot.print-report-document{display:none}
@media print{
  #printReportRoot.print-report-document{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;color:#181B26!important}
  #printReportRoot.print-report-document .report-print-sheet{width:190mm!important;min-height:0!important;margin:0 auto!important;padding:0!important;background:#fff!important;color:#181B26!important;box-shadow:none!important;border:0!important}
  #printReportRoot.print-report-document .report-print-head{display:flex!important;justify-content:space-between!important;gap:10mm!important;align-items:flex-start!important;border-bottom:1.5pt solid #4B57D1!important;padding:0 0 4mm!important;margin-bottom:4mm!important}
  #printReportRoot.print-report-document .report-print-head h1{margin:0!important;font-size:16pt!important;color:#3B46BB!important}.report-print-meta{font-size:8pt!important;color:#5F6574!important;text-align:right!important}.report-print-filters{display:flex!important;flex-wrap:wrap!important;gap:2mm!important;margin-bottom:4mm!important}.report-print-filters span{border:1px solid #D9DDE7!important;background:#F0F2F8!important;color:#181B26!important;border-radius:12pt!important;padding:1.4mm 2.2mm!important;font-size:7pt!important}
  #printReportRoot.print-report-document .report-analytics,#printReportRoot.print-report-document .report-chart-card,#printReportRoot.print-report-document .report-kpi-card,#printReportRoot.print-report-document .report-table-wrap,#printReportRoot.print-report-document .report-share,#printReportRoot.print-report-document .report-quality-note{background:#fff!important;color:#181B26!important;border-color:#D9DDE7!important;box-shadow:none!important}
  #printReportRoot.print-report-document .report-kpi-card{break-inside:avoid!important;page-break-inside:avoid!important}.report-print-content{font-size:9pt!important}.report-print-content .report-section-head{margin-top:0!important}.report-print-content svg{max-width:100%!important}
}



/*
  Tema claro 2.64 — paleta aprovada Índigo + Turquesa
  Fundo principal       #F7F8FC
  Superfície / cards    #FFFFFF
  Superfície secundária #F0F2F8
  Primária              #4B57D1
  Hover primário        #3B46BB
  Complementar          #168F86
  Texto principal       #181B26
  Texto secundário      #5F6574
  Texto discreto        #777E8E
  Bordas                #D9DDE7
  Hover neutro          #EAECF4
  Seleção suave         #ECEEFC
  Sucesso               #168F62
  Atenção               #A96708
  Erro                  #C93B48
*/
html:not([data-theme="dark"]){
  --bg:#F7F8FC!important;
  --card:#FFFFFF!important;
  --ink:#181B26!important;
  --muted:#5F6574!important;
  --line:#D9DDE7!important;
  --blue:#4B57D1!important;
  --blue-2:#3B46BB!important;
  --blue-text:#3B46BB!important;
  --navy:#181B26!important;
  --navy-2:#F0F2F8!important;
  --green:#168F86!important;
  --orange:#A96708!important;
  --purple:#4B57D1!important;
  --neutral:#777E8E!important;
  --focus-ring:rgba(75,87,209,.28)!important;
  color-scheme:light;
}

/* Estrutura e superfícies */
html:not([data-theme="dark"]) body,
html:not([data-theme="dark"]) .shell,
html:not([data-theme="dark"]) .content,
html:not([data-theme="dark"]) :is(.users-view,.rehearsal-view,.config-data-view,.system-config-view,.reports-view,.my-profile-view,.unconfigured-view){
  background:#F7F8FC!important;
  color:#181B26!important;
}
html:not([data-theme="dark"]) :is(
  .topbar,.sidebar,.card,.metric-card,.users-card,.rehearsal-card,.config-card,.reports-card,
  .system-settings-card,.modal-card,.first-access-card,.attendance-section,.attendance-entry,
  .profile-menu,.rehearsal-word-card,.rehearsal-hymn-card,.rehearsal-ministry-row,
  .rehearsal-management-user,.audit-item,.balance-tab-card,.city-locality-card,
  .instrument-category,.catalog-card,.report-summary-card,.rehearsal-brotherhood-row
){
  background:#FFFFFF!important;
  color:#181B26!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) :is(
  .rehearsal-data-item,.rehearsal-people-stat,.rehearsal-word-reference,.modal-note,
  .password-rules,.profile-detail,.catalog-panel,.instrument-category-body-inner,
  .report-table-wrap,.user-zone-entry,.logo-file-label
){
  background:#F0F2F8!important;
  color:#181B26!important;
  border-color:#D9DDE7!important;
}

/* Navegação: neutra; índigo apenas para seleção e ação */
html:not([data-theme="dark"]) .sidebar{
  border-right:1px solid #D9DDE7!important;
}
html:not([data-theme="dark"]) .sidebar .nav-item{
  background:transparent!important;
  color:#5F6574!important;
}
html:not([data-theme="dark"]) .sidebar .nav-item:hover{
  background:#EAECF4!important;
  color:#181B26!important;
}
html:not([data-theme="dark"]) .sidebar .nav-item.active{
  background:#ECEEFC!important;
  color:#4B57D1!important;
  box-shadow:inset 3px 0 0 #4B57D1!important;
}
html:not([data-theme="dark"]) .sidebar .nav-section{color:#777E8E!important}

/* Barra superior e menus */
html:not([data-theme="dark"]) .topbar{border-color:#D9DDE7!important}
html:not([data-theme="dark"]) :is(.menu-btn,.bell,.profile-chevron,.chev,.city-locality-chevron,.top-theme-switch-icon){color:#5F6574!important}
html:not([data-theme="dark"]) :is(.menu-btn,.bell):hover{background:#EAECF4!important;color:#181B26!important}
html:not([data-theme="dark"]) .profile-menu{box-shadow:0 16px 40px rgba(24,27,38,.12)!important}
html:not([data-theme="dark"]) .profile-menu button{color:#181B26!important;background:transparent!important}
html:not([data-theme="dark"]) .profile-menu button:hover{background:#EAECF4!important;color:#4B57D1!important}

/* Títulos, textos e links */
html:not([data-theme="dark"]) :is(
  h1,h2,h3,h4,.page-title,.profile-name,.metric-value,.card-title,.modal-title,.modal-head h2,
  .wizard-title,.wizard-question,.rehearsal-card-title,.report-section-title,.config-section-title,
  .system-setting-title,.users-head h2,.rehearsal-data-item strong,.rehearsal-person-row strong,
  .rehearsal-management-meta strong,.attendance-section-head h3,.attendance-entry-head strong,
  .report-panel-title,.report-summary-card strong,.role-name,.instrument-category-title strong,
  .catalog-card strong,.theme-option-text strong,.first-access-card h1,.user-name
){color:#181B26!important}
html:not([data-theme="dark"]) :is(
  p,small,.muted,.subtitle,.profile-role,.metric-label,.metric-delta,.page-subtitle,.modal-subtitle,
  .wizard-description,.wizard-help,.rehearsal-data-item span,.rehearsal-person-row span,
  .rehearsal-management-meta span,.attendance-section-head p,.theme-option-text span,
  .profile-detail span,.logo-upload-panel p,.logo-preview-panel p,.logo-file-name,.logo-guidance,
  .zone-settings-form p,.zone-city-main span,.zone-empty,.user-zone-list-head span,
  .user-zone-entry-main span,.user-zone-empty,.balance-preview-note,.empty-state,.empty-state small,
  .users-count,.report-section-subtitle,.report-panel-subtitle,.quick-d,.user-secondary
){color:#5F6574!important}
html:not([data-theme="dark"]) :is(.wizard-kicker,.card-link,a.link-btn,.text-link,.user-action-btn.password){color:#4B57D1!important}
html:not([data-theme="dark"]) :is(.wizard-kicker,.card-link,a.link-btn,.text-link):hover{color:#3B46BB!important}

/* Abas */
html:not([data-theme="dark"]) :is(.users-tabs-wrap,.rehearsal-tabs-wrap,.config-tabs-wrap,.reports-tabs-wrap,.system-settings-tabs,.rehearsal-toolbar,.config-head,.users-head){
  background:#FFFFFF!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) :is(.user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab){
  background:transparent!important;
  color:#5F6574!important;
}
html:not([data-theme="dark"]) :is(.user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab):hover{
  background:#EAECF4!important;
  color:#181B26!important;
}
html:not([data-theme="dark"]) :is(.user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab).active{
  background:#ECEEFC!important;
  color:#4B57D1!important;
  box-shadow:none!important;
}
html:not([data-theme="dark"]) :is(.user-tab,.rehearsal-tab,.config-tab,.report-tab,.system-setting-tab).active:after{background:#4B57D1!important}

/* Formulários e autocomplete */
html:not([data-theme="dark"]) :is(input,select,textarea,.invite-message,.field input,.modal-field input,.modal-field select,.modal-field textarea){
  background:#FFFFFF!important;
  color:#181B26!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) :is(.field>label,.modal-field>label,.profile-detail-label){color:#181B26!important}
html:not([data-theme="dark"]) :is(input,textarea)::placeholder{color:#777E8E!important;opacity:1}
html:not([data-theme="dark"]) :is(input,select,textarea,.field input,.modal-field input,.modal-field select,.modal-field textarea):focus{
  border-color:#4B57D1!important;
  box-shadow:0 0 0 3px rgba(75,87,209,.14)!important;
}
html:not([data-theme="dark"]) .autocomplete-menu{
  background:#FFFFFF!important;
  border-color:#D9DDE7!important;
  box-shadow:0 16px 38px rgba(24,27,38,.14)!important;
}
html:not([data-theme="dark"]) .autocomplete-option{background:transparent!important;color:#181B26!important;border-color:#D9DDE7!important}
html:not([data-theme="dark"]) .autocomplete-option span,
html:not([data-theme="dark"]) .autocomplete-empty{color:#5F6574!important}
html:not([data-theme="dark"]) .autocomplete-option:hover,
html:not([data-theme="dark"]) .autocomplete-option:focus,
html:not([data-theme="dark"]) .autocomplete-option:active{background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) .autocomplete-loading:before{border-color:#D9DDE7!important;border-top-color:#4B57D1!important}

/* Botões primários e secundários */
html:not([data-theme="dark"]) :is(
  .primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,.wizard-next,
  .user-primary-action,.btn-primary,.new-user-btn,.role-add-btn,.zone-blocked-back
){
  background:#4B57D1!important;
  border-color:#4B57D1!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
  filter:none!important;
}
html:not([data-theme="dark"]) :is(
  .primary,.modal-primary,.login-submit,.attendance-add-btn,.report-action,.wizard-next,
  .user-primary-action,.btn-primary,.new-user-btn,.role-add-btn,.zone-blocked-back
):hover{
  background:#3B46BB!important;
  border-color:#3B46BB!important;
  color:#FFFFFF!important;
  filter:none!important;
}
html:not([data-theme="dark"]) .modal-secondary{
  background:#FFFFFF!important;
  color:#181B26!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) .modal-secondary:hover{background:#EAECF4!important;border-color:#C9CEDB!important}
html:not([data-theme="dark"]) .temp-user-btn,
html:not([data-theme="dark"]) .temp-password-copy{
  background:#ECEEFC!important;
  color:#4B57D1!important;
  border-color:#D9DDF5!important;
}

/* Dashboard e gráficos */
html:not([data-theme="dark"]) .metric-icon{box-shadow:none!important}
html:not([data-theme="dark"]) .metric-icon.blue,
html:not([data-theme="dark"]) .metric-icon.purple{background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) .metric-icon.green{background:rgba(22,143,134,.10)!important;color:#168F86!important}
html:not([data-theme="dark"]) .metric-icon.orange{background:rgba(169,103,8,.10)!important;color:#A96708!important}
html:not([data-theme="dark"]) .quick-btn{background:#FFFFFF!important;border-color:#D9DDE7!important;color:#181B26!important}
html:not([data-theme="dark"]) .quick-btn:hover{background:#EAECF4!important;border-color:#C9CEDB!important;box-shadow:none!important}
html:not([data-theme="dark"]) .quick-icon{color:#4B57D1!important}
html:not([data-theme="dark"]) .quick-t{color:#181B26!important}
html:not([data-theme="dark"]) .grid-line{stroke:#D9DDE7!important}
html:not([data-theme="dark"]) .axis-label{fill:#777E8E!important}
html:not([data-theme="dark"]) .line-path{stroke:#4B57D1!important}
html:not([data-theme="dark"]) .point{fill:#4B57D1!important;stroke:#FFFFFF!important}
html:not([data-theme="dark"]) .bar-bg{background:#F0F2F8!important}
html:not([data-theme="dark"]) .bar{background:#4B57D1!important}
html:not([data-theme="dark"]) .rehearsal-brotherhood-total{background:#ECEEFC!important;border-color:#CDD2F5!important}
html:not([data-theme="dark"]) .rehearsal-brotherhood-total strong{color:#4B57D1!important}

/* Tabelas e listas */
html:not([data-theme="dark"]) :is(.users-table-wrap,.table-wrap,.report-table-wrap){background:#FFFFFF!important;border-color:#D9DDE7!important}
html:not([data-theme="dark"]) :is(.users-table th,.report-data-table th,.table th){
  background:#F0F2F8!important;
  color:#5F6574!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) :is(.users-table td,.report-data-table td,.table td){
  background:#FFFFFF!important;
  color:#181B26!important;
  border-color:#D9DDE7!important;
}
html:not([data-theme="dark"]) :is(.users-table tbody tr:hover td,.report-data-table tr:hover td,.table tbody tr:hover){background:#FAFAFD!important}
html:not([data-theme="dark"]) .users-count{background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) .users-count-dot{background:#4B57D1!important}
html:not([data-theme="dark"]) .role-pill{background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) .type-pill{background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) .type-pill.local{background:rgba(22,143,134,.10)!important;color:#168F86!important}

/* Nuvem e estados semânticos */
html:not([data-theme="dark"]) .cloud-panel{
  background:#F7F8FC!important;
  border-color:#D9DDE7!important;
  color:#5F6574!important;
}
html:not([data-theme="dark"]) .cloud-title{color:#181B26!important}
html:not([data-theme="dark"]) :is(.cloud-detail,.cloud-sync-label,.cloud-sync-time){color:#5F6574!important}
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="ok"]{background:rgba(22,143,134,.07)!important;border-color:rgba(22,143,134,.28)!important}
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="ok"] .cloud-dot{background:#168F86!important;box-shadow:0 0 0 3px rgba(22,143,134,.11)!important}
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="syncing"] .cloud-dot,
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="checking"] .cloud-dot{background:#4B57D1!important}
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="pending"] .cloud-dot{background:#A96708!important}
html:not([data-theme="dark"]) .cloud-panel[data-cloud-state="error"] .cloud-dot{background:#C93B48!important}
html:not([data-theme="dark"]) .status-pill{background:rgba(22,143,98,.10)!important;color:#168F62!important}
html:not([data-theme="dark"]) .status-pill:before{background:#168F62!important}
html:not([data-theme="dark"]) .temporary-pill{background:rgba(169,103,8,.10)!important;color:#A96708!important}
html:not([data-theme="dark"]) .status-pill.expired{background:rgba(201,59,72,.09)!important;color:#C93B48!important}
html:not([data-theme="dark"]) :is(.modal-error,.login-error,.error,.danger-text,.role-add-feedback.error){color:#C93B48!important}
html:not([data-theme="dark"]) :is(.success,.success-text,.theme-setting-status,.role-add-feedback.success){color:#168F62!important}
html:not([data-theme="dark"]) :is(.finish-rehearsal-btn,.user-action-btn.danger){background:rgba(201,59,72,.06)!important;color:#C93B48!important;border-color:rgba(201,59,72,.28)!important}
html:not([data-theme="dark"]) :is(.finish-rehearsal-btn,.user-action-btn.danger):hover{background:rgba(201,59,72,.10)!important;border-color:rgba(201,59,72,.40)!important}

/* Avatar, controles e seleção */
html:not([data-theme="dark"]) :is(.avatar,.edit-avatar-preview,.my-profile-avatar,.user-avatar-mini):not(.has-photo){background:#ECEEFC!important;color:#4B57D1!important}
html:not([data-theme="dark"]) :is(.avatar,.edit-avatar-preview,.my-profile-avatar,.user-avatar-mini).has-photo{background-color:#ECEEFC!important;color:transparent!important}
html:not([data-theme="dark"]) input[type="range"]{accent-color:#4B57D1!important}
html:not([data-theme="dark"]) :is(.theme-option-card){background:#FFFFFF!important;border-color:#D9DDE7!important}
html:not([data-theme="dark"]) .theme-option-card:hover{background:#FAFAFD!important;border-color:#BCC2E9!important}
html:not([data-theme="dark"]) .theme-option input:checked+.theme-option-card{background:#ECEEFC!important;border-color:#4B57D1!important;box-shadow:0 0 0 3px rgba(75,87,209,.10)!important}
html:not([data-theme="dark"]) .theme-preview:not(.dark):not(.system) .theme-preview-side{background:#FFFFFF!important}
html:not([data-theme="dark"]) .theme-preview:not(.dark):not(.system) .theme-preview-main{background:#F7F8FC!important}
html:not([data-theme="dark"]) .theme-preview:not(.dark):not(.system) :is(.theme-preview-bar,.theme-preview-cards i){background:#FFFFFF!important;border-color:#D9DDE7!important}
html:not([data-theme="dark"]) .top-theme-switch-track{background:#D9DDE7!important}
html:not([data-theme="dark"]) .top-theme-switch input:checked+.top-theme-switch-track{background:#4B57D1!important}
html:not([data-theme="dark"]) .top-theme-switch input:focus-visible+.top-theme-switch-track{outline:3px solid rgba(75,87,209,.28)!important;outline-offset:2px}
html:not([data-theme="dark"]) .mobile-bottom{background:#FFFFFF!important;border-color:#D9DDE7!important}
html:not([data-theme="dark"]) .bottom-item{color:#5F6574!important}
html:not([data-theme="dark"]) .bottom-item.active{color:#4B57D1!important}
html:not([data-theme="dark"]) .bottom-item.active svg.home-fill{fill:#4B57D1!important;stroke:#4B57D1!important}

/* Login e primeiro acesso */
html:not([data-theme="dark"]) .login-screen{background:#F7F8FC!important;color:#181B26!important}
html:not([data-theme="dark"]) .login-side{
  background:#FFFFFF!important;
  color:#181B26!important;
  border-right:1px solid #D9DDE7!important;
}
html:not([data-theme="dark"]) .login-side:before{background:rgba(75,87,209,.07)!important}
html:not([data-theme="dark"]) .login-side:after{background:rgba(22,143,134,.07)!important}
html:not([data-theme="dark"]) .login-copy h1,
html:not([data-theme="dark"]) .login-brand-text{color:#181B26!important}
html:not([data-theme="dark"]) .login-copy p{color:#5F6574!important}
html:not([data-theme="dark"]) .login-side-footer{color:#777E8E!important}
html:not([data-theme="dark"]) .login-main{background:radial-gradient(circle at 90% 10%,rgba(75,87,209,.06),transparent 28%),#F7F8FC!important}
html:not([data-theme="dark"]) .login-card{background:#FFFFFF!important;border-color:#D9DDE7!important;box-shadow:0 18px 55px rgba(24,27,38,.10)!important}
html:not([data-theme="dark"]) .login-card h2{color:#181B26!important}
html:not([data-theme="dark"]) .login-card>p,
html:not([data-theme="dark"]) .login-hint{color:#5F6574!important}
html:not([data-theme="dark"]) .password-toggle{color:#5F6574!important}
html:not([data-theme="dark"]) .password-toggle:hover{background:#EAECF4!important}
html:not([data-theme="dark"]) .first-access-screen{background:linear-gradient(135deg,#F7F8FC,#F0F2F8 52%,#FFFFFF)!important}
html:not([data-theme="dark"]) .first-access-brand{color:#4B57D1!important}

/* Foco acessível do tema claro */
html:not([data-theme="dark"]) :is(button,a,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:3px solid rgba(75,87,209,.55)!important;
  outline-offset:2px!important;
}



/*
  2.64 — Correção de legibilidade no tema claro.
  Mantém a paleta Índigo + Turquesa aprovada e neutraliza regras legadas
  de maior especificidade que ainda deixavam conteúdo claro sobre fundo claro.
*/

/* Painel de nuvem: contraste explícito contra regras antigas da sidebar. */
html:not([data-theme="dark"]) .sidebar .cloud-title{
  color:#181B26!important;
  opacity:1!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-detail{
  color:#5F6574!important;
  opacity:1!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-sync-label{
  color:#777E8E!important;
  opacity:1!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-sync-time{
  color:#181B26!important;
  opacity:1!important;
}

/*
  O SVG oficial usa texto #F5F5F7, pensado para fundo escuro.
  No tema claro, uma base neutra escura mantém o arquivo oficial intacto
  e garante leitura do símbolo e do nome sem recolorir a arte.
*/
html:not([data-theme="dark"]) .sidebar .brand-logo-full,
html:not([data-theme="dark"]) .sidebar .brand-logo-icon,
html:not([data-theme="dark"]) .login-side .login-brand-logo{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Estado de sincronização mantém semântica da paleta sem sacrificar texto. */
html:not([data-theme="dark"]) .sidebar .cloud-panel[data-cloud-state="ok"]{
  background:rgba(22,143,134,.07)!important;
  border-color:rgba(22,143,134,.30)!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-panel[data-cloud-state="syncing"],
html:not([data-theme="dark"]) .sidebar .cloud-panel[data-cloud-state="checking"]{
  background:rgba(75,87,209,.055)!important;
  border-color:rgba(75,87,209,.24)!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-panel[data-cloud-state="pending"]{
  background:rgba(169,103,8,.055)!important;
  border-color:rgba(169,103,8,.26)!important;
}
html:not([data-theme="dark"]) .sidebar .cloud-panel[data-cloud-state="error"]{
  background:rgba(201,59,72,.055)!important;
  border-color:rgba(201,59,72,.26)!important;
}



/*
  2.65 — Marca oficial do tema claro.
  Usa os PNGs fornecidos pelo usuário, ambos com transparência real.
  O tema escuro mantém os SVGs anteriores para não alterar sua identidade.
*/
.brand-asset-light{display:block!important}
.brand-asset-dark{display:none!important}
html[data-theme="dark"] .brand-asset-light{display:none!important}
html[data-theme="dark"] .brand-asset-dark{display:block!important}

/* Tema claro: nenhuma tarja, preenchimento, borda ou sombra atrás da marca. */
html:not([data-theme="dark"]) :is(.brand-logo-full,.brand-logo-icon,.login-brand-logo){
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Logotipo expandido da sidebar: respeita a proporção original 2048 × 671. */
html:not([data-theme="dark"]) .brand-logo-full{
  width:196px!important;
  height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border-radius:0!important;
}
html:not([data-theme="dark"]) .brand-logo-full img.brand-asset-light{
  width:196px!important;
  height:auto!important;
  max-width:196px!important;
  max-height:70px!important;
  transform:none!important;
  object-fit:contain!important;
}

/* Ícone isolado usado na sidebar recolhida. */
html:not([data-theme="dark"]) .brand-logo-icon{
  width:48px!important;
  height:48px!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border-radius:0!important;
}
html:not([data-theme="dark"]) .sidebar.collapsed .brand-logo-icon{display:flex!important}
html:not([data-theme="dark"]) .brand-logo-icon img.brand-asset-light{
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  transform:none!important;
  object-fit:contain!important;
}

/* Logo do login, transparente sobre a superfície clara. */
html:not([data-theme="dark"]) .login-brand-logo{
  width:100%!important;
  height:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  border-radius:0!important;
}
html:not([data-theme="dark"]) .login-brand-logo img.brand-asset-light{
  width:340px!important;
  height:auto!important;
  max-width:100%!important;
  max-height:118px!important;
  transform:none!important;
  object-fit:contain!important;
}

@media(max-width:760px){
  html:not([data-theme="dark"]) .sidebar .brand-logo-full,
  html:not([data-theme="dark"]) .sidebar.collapsed .brand-logo-full{display:flex!important}
  html:not([data-theme="dark"]) .sidebar .brand-logo-icon,
  html:not([data-theme="dark"]) .sidebar.collapsed .brand-logo-icon{display:none!important}
  html:not([data-theme="dark"]) .login-brand-logo{height:96px!important}
  html:not([data-theme="dark"]) .login-brand-logo img.brand-asset-light{
    width:280px!important;
    max-height:96px!important;
  }
}



html:not([data-theme="dark"]) .login-brand-official{
  width:min(100%,420px)!important;
  min-height:0!important;
}
html:not([data-theme="dark"]) .login-brand-logo{
  width:min(100%,420px)!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:block!important;
  line-height:0!important;
}
html:not([data-theme="dark"]) .login-brand-logo img.brand-asset-light{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  transform:none!important;
  object-fit:contain!important;
}
html:not([data-theme="dark"]) .brand-official{
  min-height:0!important;
}
html:not([data-theme="dark"]) .brand-logo-full{
  width:196px!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  line-height:0!important;
}
html:not([data-theme="dark"]) .brand-logo-full img.brand-asset-light{
  display:block!important;
  width:196px!important;
  height:auto!important;
  max-width:196px!important;
  max-height:none!important;
  transform:none!important;
  object-fit:contain!important;
}
html:not([data-theme="dark"]) .brand-logo-icon{
  width:46px!important;
  height:46px!important;
  min-height:0!important;
  line-height:0!important;
}
html:not([data-theme="dark"]) .brand-logo-icon img.brand-asset-light{
  display:block!important;
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  transform:none!important;
  object-fit:contain!important;
}



/* Tema claro: a marca fornecida pelo usuário é transparente, sem qualquer caixa atrás. */
html:not([data-theme="dark"]) .sidebar .brand.brand-official .brand-logo-full,
html:not([data-theme="dark"]) .sidebar .brand.brand-official .brand-logo-icon,
html:not([data-theme="dark"]) .login-side .login-brand.login-brand-official .login-brand-logo{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html:not([data-theme="dark"]) .login-side .login-brand.login-brand-official,
html:not([data-theme="dark"]) .sidebar .brand.brand-official{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
html:not([data-theme="dark"]) .login-brand-logo img.brand-asset-light,
html:not([data-theme="dark"]) .brand-logo-full img.brand-asset-light,
html:not([data-theme="dark"]) .brand-logo-icon img.brand-asset-light{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}

/* Sidebar: nunca cria rolagem horizontal. */
.sidebar{overflow-x:hidden!important;overflow-y:auto!important;max-width:100vw!important}
.sidebar .brand,.sidebar .nav-main,.sidebar .nav-item{max-width:100%!important;box-sizing:border-box!important}
@media(min-width:761px){
  html:not([data-theme="dark"]) .sidebar.collapsed .brand-logo-full{display:none!important}
  html:not([data-theme="dark"]) .sidebar.collapsed .brand-logo-icon{display:flex!important}
  .sidebar.collapsed .brand.brand-official{width:100%!important;overflow:hidden!important;justify-content:center!important;padding-left:0!important;padding-right:0!important}
  .sidebar.collapsed .nav-main{width:100%!important;overflow:hidden!important}
}

/* Abas de Gerir Ensaio: rolagem apenas horizontal; nunca vertical. */
.rehearsal-tabs-wrap{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overscroll-behavior-x:contain;
}
.rehearsal-tabs{align-items:stretch!important;height:auto!important;min-height:0!important}
.rehearsal-tab{flex:0 0 auto!important}

/* Nova aba Instrumentos. */
.rehearsal-instruments-panel{display:grid;gap:12px}
.rehearsal-instruments-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid #D9DDE7;border-radius:12px;background:#FFFFFF}
.rehearsal-instruments-head>div:first-child{min-width:0}.rehearsal-instruments-head>div:first-child strong{display:block;color:#181B26;font-size:13px}.rehearsal-instruments-head>div:first-child span{display:block;margin-top:4px;color:#5F6574;font-size:10px;line-height:1.45}
.rehearsal-instrument-total{min-width:76px;padding:8px 10px;border-radius:10px;background:#ECEEFC;text-align:center;color:#4B57D1}.rehearsal-instrument-total span{display:block;font-size:9px;font-weight:800}.rehearsal-instrument-total strong{display:block;margin-top:2px;font-size:19px}
.rehearsal-instruments-table-wrap{overflow-x:auto;border:1px solid #D9DDE7;border-radius:12px;background:#FFFFFF}
.rehearsal-instruments-table{width:100%;border-collapse:collapse;min-width:620px}.rehearsal-instruments-table th{padding:10px 12px;background:#F0F2F8;color:#5F6574;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.03em}.rehearsal-instruments-table td{padding:10px 12px;border-top:1px solid #EAECF4;color:#5F6574;font-size:11px}.rehearsal-instruments-table td strong{color:#181B26;font-size:11px}.rehearsal-instruments-table input{width:92px;height:36px;border:1px solid #D9DDE7;border-radius:8px;background:#FFFFFF;color:#181B26;padding:0 10px;font:inherit;font-size:11px;outline:none}.rehearsal-instruments-table input:focus{border-color:#4B57D1;box-shadow:0 0 0 3px rgba(75,87,209,.12)}
.rehearsal-instruments-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.rehearsal-instruments-actions .rehearsal-people-save-status{margin-right:auto}
html[data-theme="dark"] .rehearsal-instruments-head,html[data-theme="dark"] .rehearsal-instruments-table-wrap{background:#181D27;border-color:#343B49}html[data-theme="dark"] .rehearsal-instruments-head>div:first-child strong,html[data-theme="dark"] .rehearsal-instruments-table td strong{color:#F4F5F8}html[data-theme="dark"] .rehearsal-instruments-head>div:first-child span,html[data-theme="dark"] .rehearsal-instruments-table td{color:#B4BAC6}html[data-theme="dark"] .rehearsal-instrument-total{background:#292E52;color:#929AFF}html[data-theme="dark"] .rehearsal-instruments-table th{background:#212733;color:#B4BAC6}html[data-theme="dark"] .rehearsal-instruments-table td{border-color:#343B49}html[data-theme="dark"] .rehearsal-instruments-table input{background:#10131A;border-color:#343B49;color:#F4F5F8}
@media(max-width:760px){.rehearsal-instruments-head{align-items:flex-start}.rehearsal-instruments-actions{align-items:stretch;flex-direction:column}.rehearsal-instruments-actions .rehearsal-people-save-status{margin-right:0}.rehearsal-instruments-actions button{width:100%}}



/* 2.71 — estabiliza Gerir Ensaio no Safari/iOS e navegadores mobile. */
@media(max-width:760px){
  .rehearsal-view{
    padding:12px!important;
    overflow-x:hidden!important;
  }
  .rehearsal-card{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .rehearsal-toolbar{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .rehearsal-tabs-wrap{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:10px 12px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none!important;
    position:relative!important;
    flex:none!important;
  }
  .rehearsal-tabs-wrap::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  .rehearsal-tabs{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    gap:4px!important;
    width:max-content!important;
    min-width:max-content!important;
    height:41px!important;
    min-height:41px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .rehearsal-tab{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-height:38px!important;
    height:38px!important;
    padding:8px 11px 10px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .rehearsal-content{
    width:100%!important;
    box-sizing:border-box!important;
    min-height:0!important;
    padding:14px!important;
    overflow:visible!important;
  }
  .rehearsal-content:empty{
    display:none!important;
    padding:0!important;
  }
}


/* v2.87 — refinamento geral de desempenho e UX */
:root{--motion-fast:120ms;--motion-normal:180ms}
.report-kpi-grid,.report-chart-grid,.reports-content,.realized-table-wrap,.rehearsal-instruments-table-wrap{content-visibility:auto;contain-intrinsic-size:1px 420px}
.report-chart-card,.report-kpi-card,.realized-card,.city-locality-card{contain:layout paint style}
.person-location-optional{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border,#D9DDE7);border-radius:10px;background:var(--card-soft,#F7F8FC);margin-bottom:12px}
.person-location-optional strong{font-size:11px;color:var(--ink,#181B26)}
.person-location-optional span{font-size:10px;color:var(--muted,#777E8E);line-height:1.35}
.person-location-skip{border:1px solid var(--border,#D9DDE7);background:transparent;color:var(--text-secondary,#5F6574);border-radius:9px;min-height:38px;padding:0 12px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.person-location-skip:hover{background:var(--hover,#EAECF4)}
.rehearsal-count-consistency{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:10px;padding:9px 11px;border-radius:9px;background:var(--surface-secondary,#F0F2F8);font-size:10px;color:var(--text-secondary,#5F6574);line-height:1.4}
.rehearsal-count-consistency b{color:var(--text,#181B26)}
.rehearsal-count-consistency.is-adjusted{border:1px solid color-mix(in srgb,var(--attention,#A96708) 28%,transparent)}
html[data-theme="dark"] .person-location-optional,html[data-theme="dark"] .rehearsal-count-consistency{background:#212733;border-color:#343B49}
html[data-theme="dark"] .person-location-optional strong,html[data-theme="dark"] .rehearsal-count-consistency b{color:#F4F5F8}
html[data-theme="dark"] .person-location-optional span,html[data-theme="dark"] .rehearsal-count-consistency{color:#B4BAC6}
@media(max-width:640px){.person-location-optional{align-items:flex-start;flex-direction:column}.person-location-skip{width:100%}}


/* v2.89 — identidade temporária sem logotipo até a nova marca ser fornecida. */
.login-brand-name-text,
.brand-name-text{
  font:900 24px/1.1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.035em;
  color:var(--text);
  white-space:nowrap;
}
.login-brand-name-text{
  font-size:34px;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.16);
}
.brand-name-text{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-name-compact{display:none}
.sidebar.collapsed .brand-name-full{display:none}
.sidebar.collapsed .brand-name-compact{display:inline}
@media(max-width:760px){
  .sidebar .brand-name-full,.sidebar.collapsed .brand-name-full{display:inline}
  .sidebar .brand-name-compact,.sidebar.collapsed .brand-name-compact{display:none}
  .login-brand-name-text{font-size:30px}
}
html[data-theme="dark"] .brand-name-text{color:var(--text)}
