*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#202939}a{text-decoration:none;color:inherit}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;border-right:1px solid #e5e9f0;padding:22px 16px;display:flex;flex-direction:column}.brand{font-size:28px;font-weight:900;color:#303580}.brand-sub{font-size:11px;color:#4e80c4;margin-bottom:24px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:10px 12px;border-radius:9px;color:#667085}.sidebar nav a.active,.sidebar nav a:hover{background:#eef2ff;color:#303580;font-weight:700}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:12px}.sidebar-bottom a{color:#b42318}.content{margin-left:235px;padding:26px}.topbar h1{margin:0 0 18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.metric,.panel{background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 6px 20px rgba(31,41,55,.04)}.metric{padding:16px}.metric span{color:#667085;font-size:11px;text-transform:uppercase}.metric b{display:block;font-size:26px;margin-top:8px}.panel{padding:16px;margin-bottom:16px}.page-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.searchbar{display:flex;gap:8px;flex:1;max-width:650px}.searchbar input{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:#303580;color:#fff}.secondary{background:#fff;border:1px solid #d8dee8}.wide{width:100%}.small-btn{padding:6px 9px;font-size:11px}label{display:block;font-size:11px;font-weight:700;margin:8px 0 6px;color:#596273}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #d8dee8;border-radius:9px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:8px}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:11px;background:#fafbfc;border-bottom:1px solid #e5e9f0;font-size:10px;text-transform:uppercase;color:#667085}td{padding:11px;border-bottom:1px solid #edf0f4}.right{text-align:right}.empty{text-align:center;color:#98a2b3;padding:25px}.badge{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}.ok{background:#e8f6ef;color:#177c56}.off{background:#f2f4f7;color:#667085}.flash{padding:10px 12px;border-radius:9px;margin-bottom:14px}.flash.success{background:#e8f6ef;color:#177c56}.flash.error{background:#fdecec;color:#a93434}.center-page{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:26px;box-shadow:0 18px 60px rgba(31,41,55,.12)}.auth-card h1{margin-bottom:8px}.auth-card .wide{margin-top:16px}@media(max-width:800px){.sidebar{display:none}.content{margin-left:0;padding:14px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.page-actions{flex-direction:column}.searchbar{max-width:none}}

.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f4}
.summary-row:last-child{border-bottom:0}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}

.report-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.report-nav a{padding:9px 12px;border:1px solid #d8dee8;border-radius:9px;background:#fff;font-size:12px;font-weight:700;color:#667085}
.report-nav a.active{background:#303580;color:#fff;border-color:#303580}
.report-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.report-filters>div{min-width:150px}
.report-buttons{display:flex;gap:8px;margin-left:auto}
.print-header,.print-footer{display:none}
@media(max-width:800px){.report-filters{align-items:stretch}.report-filters>div{width:100%}.report-buttons{width:100%;margin-left:0}.report-buttons .btn{flex:1}}
@media print{
 body{background:#fff;color:#000;font-size:10pt}
 .sidebar,.topbar,.no-print{display:none!important}
 .content{margin:0!important;padding:0!important}
 .panel{box-shadow:none;border:0;padding:0;margin:0 0 12px}
 .table-wrap{overflow:visible}
 .cards{grid-template-columns:repeat(3,1fr);gap:8px}
 .metric{box-shadow:none;border:1px solid #bbb;padding:8px}
 .metric b{font-size:15pt}
 table{font-size:8.5pt}
 th,td{padding:5px;border-bottom:1px solid #ccc}
 .print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #303580;padding-bottom:10px;margin-bottom:14px}
 .print-footer{display:block;margin-top:12px;text-align:right;font-size:8pt;color:#666}
 .report-cards{margin-bottom:12px}
 @page{size:A4 landscape;margin:10mm}
}

/* V6 - menu lateral organizado */
.sidebar{overflow:hidden}
.sidebar-brand{flex:0 0 auto}
.sidebar-scroll{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding-right:4px;margin-right:-4px}
.sidebar-nav{display:flex;flex-direction:column;gap:7px}
.nav-dashboard{display:block;padding:10px 12px;border-radius:9px;color:#667085}
.nav-dashboard:hover,.nav-dashboard.active{background:#eef2ff;color:#303580;font-weight:700}
.nav-group{border:1px solid #edf0f4;border-radius:10px;background:#fff}
.nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#667085;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-chevron{font-size:18px;line-height:1;transition:transform .15s ease}
.nav-group[open] .nav-chevron{transform:rotate(90deg)}
.nav-submenu{display:flex;flex-direction:column;padding:0 6px 7px}
.nav-submenu a{padding:9px 10px;border-radius:8px;color:#667085}
.nav-submenu a:hover,.nav-submenu a.active{background:#eef2ff;color:#303580;font-weight:700}
.sidebar-bottom{flex:0 0 auto;background:#fff;border-top:1px solid #edf0f4;padding-top:12px;margin-top:10px}
.sidebar-scroll::-webkit-scrollbar{width:6px}
.sidebar-scroll::-webkit-scrollbar-thumb{background:#d8dee8;border-radius:999px}
.checkline{display:flex!important;align-items:center;gap:9px;font-size:13px!important;cursor:pointer}
.checkline input{width:18px;height:18px;margin:0}
.badge.warn{background:#fff4e5;color:#9a6700}

.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.field-label-row label{margin-bottom:6px}
.quick-add{border:0;background:transparent;color:#303580;font-size:11px;font-weight:800;cursor:pointer;padding:3px 0 6px}
.quick-add:hover{text-decoration:underline}
.quick-modal-back{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:200;padding:20px}
.quick-modal-back.open{display:grid;place-items:center}
.quick-modal{width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.quick-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e9f0}
.quick-modal-head h3{margin:0}
.quick-close{border:0;background:transparent;font-size:26px;cursor:pointer}
.quick-modal-body{padding:18px}
.quick-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #e5e9f0}
@media(max-width:700px){.quick-modal-back{padding:0}.quick-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.quick-modal-foot{position:sticky;bottom:0;background:#fff}}

/* V8 - destaque financeiro */
.money-out{color:#c62828!important}
.money-in{color:#177c56}

/* V9 - usuários e permissões */
.permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;margin-top:8px}
.permission-item{display:flex!important;align-items:center;gap:8px;border:1px solid #e5e9f0;border-radius:9px;padding:9px 10px;margin:0!important;background:#fff;cursor:pointer}
.permission-item input{width:17px;height:17px;margin:0}
.permissions-disabled{opacity:.55}
.permissions-disabled:after{content:'Administrador possui acesso total.';display:block;margin-top:8px;color:#667085;font-size:11px;font-weight:700}
.user-profile{font-size:10px;color:#667085}
@media(max-width:900px){.permissions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.permissions-grid{grid-template-columns:1fr}}

/* V10 - mensalidade/licença */
.license-banner{border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:12px}
.license-warning{background:#fff7e6;color:#8a5a00;border:1px solid #f6d58b}
.license-overdue{background:#fdecec;color:#a93434;border:1px solid #f2b8b8}
.license-block-icon{text-align:center;font-size:42px;margin:14px 0}
.license-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.license-info>div{border:1px solid #e5e9f0;border-radius:10px;padding:12px}
.license-info span{display:block;color:#667085;font-size:10px;text-transform:uppercase}
.license-info b{display:block;margin-top:4px}
.license-admin-card{max-width:520px}

/* V11 - administração avançada da licença */
.license-admin-page{display:block;padding:24px}
.license-admin-wrap{width:min(1100px,100%);margin:0 auto}
.license-admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.license-status-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:18px;margin-bottom:14px}
.license-status-card strong{display:block;font-size:28px;margin:3px 0}
.license-status-card p{margin:0;color:#667085}
.status-label,.license-due span{display:block;color:#667085;font-size:10px;text-transform:uppercase;font-weight:800}
.license-due{text-align:right}.license-due b{display:block;font-size:20px;margin-top:4px}
.status-ativa{border-left:6px solid #177c56}
.status-aviso{border-left:6px solid #d18a00}
.status-vencida,.status-bloqueada{border-left:6px solid #c62828}
.license-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.license-quick-actions form{margin:0}
.btn.danger{background:#c62828;color:#fff}
.license-admin-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px}
@media(max-width:850px){.license-admin-grid{grid-template-columns:1fr}.license-status-card{align-items:flex-start;flex-direction:column}.license-due{text-align:left}.license-admin-top{align-items:flex-start;gap:12px;flex-direction:column}}

.icon-admin-link{margin-top:4px;border:1px dashed #303580!important;color:#303580!important}
.icon-lock-panel{max-width:560px}
.icon-password-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.icon-password-form label{grid-column:1/-1}
.icon-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.icon-admin-header h2{margin:0 0 4px}
.icon-admin-grid-simple{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px}
@media(max-width:1000px){.icon-admin-grid-simple{grid-template-columns:1fr}}
@media(max-width:650px){.icon-password-form{grid-template-columns:1fr}.icon-admin-header{flex-direction:column}}

/* V13 - ajustes de navegação */
.nav-anestesias-direct{margin-top:2px}
.icon-admin-bottom{margin-top:14px;padding-top:12px;border-top:1px solid #edf0f4}
.icon-admin-bottom .icon-admin-link{display:block}
.anesthesia-filters select{min-width:180px}
@media(max-width:900px){
 .anesthesia-filters{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
 .anesthesia-filters input[name=q],.anesthesia-filters select{grid-column:1/-1}
}
@media(max-width:600px){
 .anesthesia-filters{grid-template-columns:1fr}
 .anesthesia-filters>*{grid-column:1!important}
}

/* V15 - auditoria de usuários */
.audit-summary{display:flex;gap:30px;align-items:center}
.audit-summary span{display:block;font-size:10px;text-transform:uppercase;color:#667085;font-weight:800}
.audit-summary b{display:block;font-size:18px;margin-top:3px}
.audit-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;align-items:end}
.audit-search{grid-column:span 2}
.audit-filter-actions{display:flex;gap:8px;align-items:end}
.audit-table{min-width:1250px}
.audit-table td{vertical-align:top}
.audit-action{white-space:nowrap}
.audit-details summary{cursor:pointer;font-weight:700;color:#303580}
.audit-details pre{white-space:pre-wrap;word-break:break-word;max-width:430px;max-height:220px;overflow:auto;background:#f7f8fb;border:1px solid #e5e9f0;border-radius:8px;padding:8px;font-size:11px}
.nowrap{white-space:nowrap}
@media(max-width:1000px){.audit-filters{grid-template-columns:1fr 1fr}.audit-search{grid-column:1/-1}}
@media(max-width:600px){.audit-summary{flex-direction:column;align-items:flex-start;gap:8px}.audit-filters{grid-template-columns:1fr}.audit-search{grid-column:auto}}

/* V17 */
.badge.partial{background:#fff2cc;color:#8a5a00}
.icon-sistemas-link{font-size:12px!important;font-weight:400!important;color:#667085!important;text-decoration:none!important;margin-top:7px}
.icon-sistemas-link:hover{color:#303580!important;text-decoration:underline!important}

/* V20 - restauração visual segura */
.sidebar-brand.clinic-brand{
 height:92px!important;
 min-height:92px!important;
 padding:14px 18px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 overflow:hidden!important;
 background:#fff!important;
}
.sidebar-brand.clinic-brand img{
 display:block!important;
 width:100%!important;
 max-width:190px!important;
 height:58px!important;
 max-height:58px!important;
 object-fit:contain!important;
 object-position:left center!important;
}
.company-settings-link{
 margin-top:10px!important;
 border-top:1px solid #edf0f4!important;
 padding-top:12px!important;
}
.company-settings-page{max-width:1100px;margin:0 auto}
.company-card{padding:20px!important}
.company-card>h2{margin:0 0 4px}
.company-visual-block{margin-top:6px;padding-top:14px;border-top:1px solid #edf0f4}
.company-visual-block h3{margin:0 0 12px}
.company-visual-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.company-logo-preview{
 height:150px;border:1px dashed #cfd8e3;border-radius:10px;background:#fff;
 display:flex;align-items:center;justify-content:center;padding:14px;margin:6px 0 10px;
 overflow:hidden
}
.company-logo-preview img{
 max-width:100%!important;max-height:115px!important;width:auto!important;height:auto!important;
 object-fit:contain!important;display:block!important
}
.company-color-row{display:grid;grid-template-columns:52px 1fr;gap:8px;margin-bottom:12px}
.company-color-row input[type=color]{height:40px;padding:3px}
@media(max-width:800px){.company-visual-grid{grid-template-columns:1fr}}


/* V21 - layout azul com ícones e logo branca */
.sidebar-themed{
  background:linear-gradient(180deg,#114A78 0%, #0C3C62 100%)!important;
  border-right:none!important;
  box-shadow:8px 0 28px rgba(17,74,120,.12)!important;
}
.themed-brand{
  height:96px!important;
  min-height:96px!important;
  padding:16px 18px!important;
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  overflow:hidden!important;
}
.themed-brand .sidebar-logo{
  display:block!important;
  width:100%!important;
  max-width:190px!important;
  height:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.themed-brand .white-logo{
  filter:brightness(0) invert(1)!important;
}
.themed-nav{
  padding-top:10px!important;
}
.nav-main-link{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.nav-link-icon{
  width:18px!important;
  height:18px!important;
  display:inline-flex!important;
  flex:0 0 18px!important;
  align-items:center!important;
  justify-content:center!important;
}
.nav-link-icon svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sidebar-themed .nav-dashboard,
.sidebar-themed .nav-group summary{
  color:rgba(255,255,255,.88)!important;
  border-radius:10px!important;
}
.sidebar-themed .nav-dashboard:hover,
.sidebar-themed .nav-dashboard.active,
.sidebar-themed .company-settings-link.active,
.sidebar-themed .nav-group summary:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.sidebar-themed .nav-dashboard.active .nav-link-icon,
.sidebar-themed .company-settings-link.active .nav-link-icon{
  color:#fff!important;
}
.themed-group{
  border:none!important;
  background:transparent!important;
  margin:2px 12px!important;
  box-shadow:none!important;
}
.themed-group summary{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 14px!important;
}
.themed-group .nav-chevron{
  margin-left:auto!important;
}
.sidebar-themed .nav-submenu{
  padding:4px 0 8px 42px!important;
  background:transparent!important;
}
.sidebar-themed .nav-submenu a{
  color:rgba(255,255,255,.72)!important;
  border-radius:8px!important;
}
.sidebar-themed .nav-submenu a:hover,
.sidebar-themed .nav-submenu a.active{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.themed-sidebar-bottom{
  background:rgba(0,0,0,.04)!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.themed-sidebar-bottom b{
  color:#fff!important;
}
.themed-sidebar-bottom .user-profile{
  color:rgba(255,255,255,.68)!important;
}
.themed-sidebar-bottom a{
  color:rgba(255,255,255,.86)!important;
}
.themed-sidebar-bottom .icon-sistemas-link{
  color:rgba(255,255,255,.66)!important;
}
.topbar{
  background:#fff!important;
  border-bottom:1px solid #E3E9F1!important;
  box-shadow:0 2px 10px rgba(20,35,60,.03)!important;
}
.content{
  background:#F4F7FB!important;
}
.panel,.metric{
  border:1px solid #E2E8F0!important;
  box-shadow:0 4px 18px rgba(18,35,63,.03)!important;
}
.company-settings-page .company-card{
  border:1px solid #E2E8F0!important;
  box-shadow:0 4px 18px rgba(18,35,63,.03)!important;
}

/* mobile */
@media(max-width:700px){
  .themed-brand{
    height:82px!important;
    min-height:82px!important;
    padding:12px 14px!important;
  }
  .themed-brand .sidebar-logo{
    max-width:160px!important;
    height:48px!important;
  }
}


/* V22 - correção da logo branca no menu azul */
.sidebar-themed .sidebar-brand.clinic-brand.themed-brand{
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  height:96px!important;
  min-height:96px!important;
  padding:16px 18px!important;
  overflow:hidden!important;
}
.sidebar-themed .sidebar-brand.clinic-brand.themed-brand .sidebar-logo.white-logo{
  display:block!important;
  width:100%!important;
  max-width:190px!important;
  height:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:brightness(0) invert(1)!important;
  background:transparent!important;
}
.sidebar-themed .sidebar-scroll{
  top:96px!important;
}
.sidebar-themed .company-settings-link{
  border-top:1px solid rgba(255,255,255,.14)!important;
  margin-top:10px!important;
  padding-top:12px!important;
}

/* V23 - logo branca transparente real */
.sidebar-themed .sidebar-brand.clinic-brand.themed-brand .sidebar-logo{
  filter:none!important;
  background:transparent!important;
}
.sidebar-themed .sidebar-brand.clinic-brand.themed-brand{
  background:transparent!important;
}
.sidebar-logo-preview{
  height:auto!important;
  min-height:120px!important;
}
.sidebar-logo-preview-bg{
  width:100%;
  min-height:100px;
  padding:16px;
  border-radius:8px;
  background:#114A78;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sidebar-logo-preview-bg img{
  max-width:100%!important;
  max-height:72px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
}

/* V24 - cor principal realmente aplicada ao sistema */
:root{--brand:#114A78}

.sidebar-themed{
  background:linear-gradient(180deg,var(--brand) 0%, color-mix(in srgb,var(--brand) 78%, #000) 100%)!important;
}
.btn.primary{
  background:var(--brand)!important;
  border-color:var(--brand)!important;
}
.top-avatar,
.settings-section-icon{
  color:var(--brand)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%, transparent)!important;
}
.logo-upload-button{
  color:var(--brand)!important;
  border-color:var(--brand)!important;
}
.sidebar-logo-preview-bg{
  background:var(--brand)!important;
}
.company-settings-page .btn.primary{
  background:var(--brand)!important;
  border-color:var(--brand)!important;
}

/* V25 - rateio do resultado */
.rateio-cards{grid-template-columns:repeat(5,minmax(150px,1fr))}
.rateio-print-head{display:none}
.rateio-total td{background:#f7f9fc}
.rateio-regra .summary-row:last-child{border-bottom:0}
.rateio-dashboard-card{margin-bottom:18px}
@media(max-width:1100px){.rateio-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.rateio-cards{grid-template-columns:1fr 1fr}}
@media print{
  .sidebar,.topbar,.rateio-no-print,.license-banner:not(.license-warning){display:none!important}
  .content{margin:0!important;padding:0!important;background:#fff!important}
  body{background:#fff!important}
  .rateio-print-head{display:block!important;margin-bottom:16px}
  .rateio-print-head h2{margin:0 0 6px}
  .panel,.metric{box-shadow:none!important;break-inside:avoid}
  .rateio-cards{grid-template-columns:repeat(5,1fr)!important}
  .rateio-table{font-size:11px}
  @page{size:A4 landscape;margin:12mm}
}

/* V27 - modos detalhado/resumido do rateio */
.rateio-resumido th:last-child,
.rateio-resumido td:last-child{text-align:right}

/* V28 - rateio detalhado com balanço completo */
.resultado-equacao{
 display:grid;
 grid-template-columns:1fr auto 1fr auto 1fr;
 gap:14px;
 align-items:center;
 padding:16px;
 margin:14px 0 20px;
 background:#f8fafc;
 border:1px solid #e3e9f0;
 border-radius:12px;
}
.resultado-equacao>div:not(.operador){
 display:flex;
 flex-direction:column;
 gap:6px;
}
.resultado-equacao span{font-size:12px;color:#6f7e91;text-transform:uppercase}
.resultado-equacao b{font-size:22px}
.resultado-equacao .operador{font-size:24px;color:#8290a3;text-align:center}
.resultado-equacao .resultado-final{
 background:color-mix(in srgb,var(--brand) 8%, white);
 padding:12px;
 border-radius:10px;
}
.rateio-origens-grid{margin-top:8px}
.rateio-origens-grid>div{
 border:1px solid #edf1f5;
 border-radius:10px;
 padding:14px;
}
.rateio-origens-grid h3{margin:0 0 8px;font-size:16px}
.rateio-subtotal{margin-top:6px;border-top:2px solid #e2e8f0!important}
@media(max-width:850px){
 .resultado-equacao{grid-template-columns:1fr}
 .resultado-equacao .operador{display:none}
}
@media print{
 .demonstrativo-resultado{break-inside:auto!important}
 .resultado-equacao{grid-template-columns:1fr auto 1fr auto 1fr!important}
}


/* V29: interface de celular. Desktop sem alterações. */
.mobile-appbar{display:none}
@media(max-width:800px){
 html,body{max-width:100%;overflow-x:hidden}
 body{font-size:14px}
 .app{min-width:0;width:100%}
 .mobile-appbar{display:flex;position:sticky;top:0;z-index:110;align-items:center;justify-content:space-between;min-height:58px;padding:9px 16px;background:var(--brand,#114A78);color:#fff;box-shadow:0 2px 8px #11243b20}
 .mobile-appbrand{font-weight:850;font-size:19px;letter-spacing:.03em;color:#fff}
 .mobile-nav{position:relative}
 .mobile-nav summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;border:1px solid #ffffff55;border-radius:10px;padding:8px 11px;color:#fff;font-weight:700}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .mobile-nav nav{position:absolute;right:0;top:calc(100% + 10px);width:min(310px,calc(100vw - 28px));max-height:75dvh;overflow-y:auto;padding:8px;background:#fff;color:#23344d;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 35px #12223740}
 .mobile-nav nav a{display:block;padding:11px 12px;color:#243650;border-radius:7px;font-weight:600}
 .mobile-nav nav a:active,.mobile-nav nav a:hover{background:#edf4fc}
 .mobile-nav-group{font-size:11px;font-weight:800;text-transform:uppercase;color:#77859b;padding:13px 12px 3px;border-top:1px solid #edf0f5}
 .content{margin-left:0!important;padding:14px 12px!important;min-width:0;width:100%}
 .topbar{padding:13px 15px!important;margin:-14px -12px 14px!important}
 .topbar h1{font-size:24px!important;line-height:1.25!important;margin:0!important}
 .page-actions{min-width:0}
 .page-actions .searchbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important;max-width:none!important;width:100%!important;min-width:0}
 .page-actions .searchbar>input[type=date]{min-width:0!important;width:100%!important;font-size:14px!important;padding:10px 7px!important}
 .page-actions .searchbar>select{grid-column:1/-1!important;width:100%!important;min-width:0!important}
 .page-actions .searchbar>button{grid-column:1/-1!important;width:100%!important;min-height:42px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .metric{min-width:0!important;padding:14px 12px!important;border-radius:12px!important}
 .metric span{font-size:10px!important;line-height:1.35!important;display:block;min-height:28px;letter-spacing:.01em}
 .metric b{font-size:clamp(18px,5.3vw,25px)!important;line-height:1.18!important;overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important;letter-spacing:-.04em}
 .metric:last-child:nth-child(odd){grid-column:1/-1}
 .dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
 .dashboard-grid .panel,.panel{min-width:0;padding:16px 14px!important}
 .panel h2{font-size:19px!important;line-height:1.3!important}
 .summary-row{gap:10px!important;min-width:0}
 .summary-row>*{min-width:0}
 .summary-row b{white-space:nowrap;font-size:13px}
 .rateio-dashboard-card .page-actions{flex-direction:column!important;align-items:stretch!important}
 .rateio-dashboard-card .page-actions>.btn{width:100%!important}
 .table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
 .form-grid{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:360px){
 .metric{padding:12px 9px!important}
 .metric b{font-size:17px!important}
 .metric span{font-size:9px!important}
}

/* V30 - layout mobile baseado na demo, sem mudanças no desktop */
.mobile-v30-header,.mobile-v30-drawer{display:none}.mobile-v30-backdrop[hidden]{display:none!important}
@media(max-width:800px){
 html{overflow-x:hidden}body{overflow-x:hidden;background:#f5f7fb!important}body.mobile-v30-no-scroll{overflow:hidden}
 .mobile-v30-header{position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 15px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #15253808}
 .mobile-v30-trigger{width:45px;height:45px;border:1px solid #e0e5ec;border-radius:12px;background:#fff;color:#152740;font-size:24px;cursor:pointer;flex-shrink:0}
 .mobile-v30-title{font-size:18px;font-weight:750;color:#1e293b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mobile-v30-avatar{display:grid;place-items:center;width:38px;height:38px;background:var(--brand,#3067a2);color:#fff;border-radius:50%;font-weight:700}
 .mobile-v30-backdrop{position:fixed;inset:0;background:#11182775;z-index:135}
 .mobile-v30-drawer{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:min(340px,85vw);max-width:100%;background:#fff;z-index:140;box-shadow:12px 0 40px #15253830;transform:translateX(-105%);transition:transform .22s ease;overflow:hidden}
 .mobile-v30-drawer.open{transform:translateX(0)}
 .mobile-v30-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 18px;border-bottom:1px solid #e5eaf1}
 .mobile-v30-logo{font-size:23px;font-weight:850;letter-spacing:.04em;color:#315b8d}.mobile-v30-logo small{display:block;font-size:8px;letter-spacing:.13em;margin-top:3px;font-weight:700;color:#7990ad}
 .mobile-v30-close{font-size:30px;width:40px;height:40px;border:0;background:#f2f5f9;border-radius:10px;cursor:pointer;color:#283a51}
 .mobile-v30-drawer-body{overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 30px}
 .mobile-v30-section{padding:20px 13px 8px;color:#8b97a7;font-size:10px;letter-spacing:.09em;font-weight:850}
 .mobile-v30-link{display:flex;gap:14px;align-items:center;padding:13px 15px;border-radius:11px;color:#4a5566;font-size:15px;font-weight:550;min-height:47px;text-decoration:none}
 .mobile-v30-link span{width:22px;flex-shrink:0;text-align:center;font-size:19px;color:#75869b}
 .mobile-v30-link.selected{background:#edf1ff;color:#31428b;font-weight:750}.mobile-v30-link.selected span{color:#31428b}
 .mobile-appbar{display:none!important}.sidebar{display:none!important}.content{margin:0!important;padding:16px 14px 36px!important;max-width:100%!important;min-width:0!important}.content>.topbar{display:none!important}
 .page-actions{display:flex;flex-direction:column;align-items:stretch!important;gap:10px!important}.searchbar{max-width:none!important;width:100%;min-width:0;display:flex;flex-wrap:wrap;gap:9px!important}
 .searchbar input[type=date]{width:calc(50% - 5px)!important;min-width:0!important;flex:1 1 calc(50% - 5px)!important;font-size:13px;padding:10px 6px!important}
 .searchbar select{flex:1 1 100%!important;width:100%!important;min-width:0!important}.searchbar .btn{flex:1 1 100%;width:100%;min-height:43px}
 .cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .metric{padding:17px 14px!important;min-height:110px!important;border-radius:16px!important;min-width:0!important}
 .metric span{min-height:0!important;font-size:10px!important;line-height:1.5!important;font-weight:750!important;color:#64748b!important}
 .metric b{font-size:clamp(16px,4.6vw,24px)!important;line-height:1.22!important;white-space:normal!important;overflow-wrap:break-word!important;letter-spacing:-.04em!important;margin-top:13px!important}
 .metric:last-child:nth-child(odd){grid-column:1/-1}
 .dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.panel{padding:18px 16px!important;min-width:0!important;border-radius:16px!important}
 .panel h2{font-size:19px!important;line-height:1.35!important}.summary-row{align-items:baseline;flex-wrap:wrap;gap:6px!important}.summary-row span{min-width:0;overflow-wrap:anywhere}.summary-row b{font-size:13px!important}
 .page-actions>.btn{width:100%}.form-grid,.permissions-grid{grid-template-columns:minmax(0,1fr)!important}.form-grid>*{min-width:0}
 input,select,textarea{max-width:100%;min-height:43px;font-size:16px}.btn{min-height:42px}.table-wrap{overflow-x:auto!important;max-width:100%!important}
 .resultado-equacao{grid-template-columns:1fr!important}.rateio-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:375px){.content{padding:12px 10px 28px!important}.metric{padding:13px 10px!important}.metric b{font-size:16px!important}}


/* V31 - listas mobile em formato de cards */
.table-empty-row{display:table-row!important}
@media(max-width:800px){
  .table-wrap{padding:0;border:none;background:transparent;overflow:visible}
  .table-wrap table{width:100%;border-collapse:separate;border-spacing:0 12px;font-size:14px}
  .table-wrap thead{display:none}
  .table-wrap tbody{display:block}
  .table-wrap tbody tr{display:block;background:#fff;border:1px solid #e5e9f0;border-radius:18px;box-shadow:0 10px 26px rgba(31,41,55,.06);padding:8px 14px;overflow:hidden}
  .table-wrap tbody td{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #edf0f4;white-space:normal;word-break:break-word}
  .table-wrap tbody td:last-child{border-bottom:0}
  .table-wrap tbody td::before{content:attr(data-label);font-size:11px;line-height:1.35;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#667085}
  .table-wrap tbody td.right{display:block;text-align:left;padding-top:14px}
  .table-wrap tbody td.right::before{display:block;margin-bottom:10px}
  .table-wrap tbody td.right .btn{width:100%;justify-content:center;margin:0 0 8px}
  .table-wrap tbody td.right .btn:last-child{margin-bottom:0}
  .table-wrap tbody td .muted.small{display:inline-block;margin-top:2px}
  .table-wrap tbody tr.table-empty-row{padding:0;border:none;box-shadow:none;background:transparent}
  .table-wrap tbody tr.table-empty-row td{display:block;padding:18px 8px;border:1px dashed #d8dee8;border-radius:14px;background:#fff;text-align:center}
  .table-wrap tbody tr.table-empty-row td::before{display:none}
  .table-wrap tbody td[data-label="Valor"],
  .table-wrap tbody td[data-label="Total"],
  .table-wrap tbody td[data-label="Recebido"],
  .table-wrap tbody td[data-label="Saldo"],
  .table-wrap tbody td[data-label="Bruto"],
  .table-wrap tbody td[data-label="Líquido"],
  .table-wrap tbody td[data-label="Valor total"],
  .table-wrap tbody td[data-label="Valor líquido a receber"]{font-weight:700}
  .table-wrap tbody td[data-label="Paciente"] b,
  .table-wrap tbody td[data-label="Anestesista"] b,
  .table-wrap tbody td[data-label="Descrição"] b,
  .table-wrap tbody td[data-label="Conta"] b{font-size:15px}
}
@media(max-width:480px){
  .table-wrap tbody td{grid-template-columns:1fr;gap:4px;padding:11px 0}
  .table-wrap tbody td::before{margin-bottom:2px}
}
