:root{
  --bg:#eef4ff;
  --bg2:#f8fbff;
  --card:#ffffff;
  --text:#102033;
  --muted:#667085;
  --primary:#2563eb;
  --primary2:#1d4ed8;
  --primary-soft:#dbeafe;
  --accent:#06b6d4;
  --dark:#0f172a;
  --dark2:#172554;
  --border:#dbe4f0;
  --success:#16a34a;
  --danger:#dc2626;
  --warning:#d97706;
  --info:#0891b2;
  --secondary:#64748b;
  --shadow:0 18px 45px rgba(15,23,42,.10);
  --shadow-soft:0 10px 25px rgba(15,23,42,.07);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(circle at top left,#dbeafe 0,#eef4ff 32%,#f8fbff 100%);
  color:var(--text);
  font-size:16px;
  line-height:1.45;
}
a{color:inherit}
.app{display:flex;min-height:100vh}
.sidebar{
  width:290px;
  background:linear-gradient(180deg,#0f172a 0%,#172554 55%,#0f172a 100%);
  color:#fff;
  padding:24px 20px;
  position:fixed;
  inset:0 auto 0 0;
  box-shadow:18px 0 45px rgba(15,23,42,.20);
  overflow-y:auto;
  z-index:10;
}
.brand{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:28px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.brand b{font-size:19px;letter-spacing:.2px}
.brand span{display:block;color:#cbd5e1;font-size:13px;margin-top:2px}
.logo{
  width:50px;height:50px;border-radius:18px;
  background:linear-gradient(135deg,#38bdf8,#2563eb);
  display:grid;place-items:center;font-size:24px;
  box-shadow:0 14px 30px rgba(37,99,235,.35);
}
nav{display:flex;flex-direction:column;gap:8px}
nav a{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  padding:15px 16px;
  border-radius:16px;
  color:#dbeafe;
  font-weight:800;
  font-size:15px;
  letter-spacing:.1px;
  border:1px solid transparent;
  transition:all .18s ease;
}
nav a:hover{
  transform:translateX(4px);
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.14);
}
nav a.active{
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  color:#fff;
  box-shadow:0 14px 28px rgba(37,99,235,.32);
  border-color:rgba(255,255,255,.24);
}
.main{
  margin-left:290px;
  width:calc(100% - 290px);
  padding:32px;
}
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:26px;
  gap:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(219,228,240,.9);
  padding:18px 20px;
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
}
.topbar h1{margin:0;font-size:31px;line-height:1.05;letter-spacing:-.6px}
.topbar p{margin:7px 0 0;color:var(--muted);font-size:16px}
.userbox{
  text-align:right;
  background:#fff;
  border:1px solid var(--border);
  padding:13px 17px;
  border-radius:18px;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  min-width:170px;
}
.userbox span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow-soft);
  margin-bottom:20px;
  transition:box-shadow .18s ease, transform .18s ease;
}
.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.card h2{margin:0 0 16px;font-size:22px;letter-spacing:-.2px}
.card.soft{background:linear-gradient(135deg,#eff6ff,#ecfeff);border-color:#bfdbfe}
.stat{position:relative;overflow:hidden;min-height:122px}
.stat:after{content:"";position:absolute;right:-26px;top:-26px;width:92px;height:92px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.16))}
.stat b{font-size:32px;display:block;margin-top:9px;letter-spacing:-.8px}
.stat span{color:var(--muted);font-weight:800;font-size:15px}
.btn,button.btn,input[type=submit].btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  border:0;
  border-radius:15px;
  padding:13px 20px;
  text-decoration:none;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  cursor:pointer;
  font-weight:900;
  font-size:16px;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
  transition:all .18s ease;
}
.btn:hover,button.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(37,99,235,.30)}
.btn.secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 12px 24px rgba(71,85,105,.18)}
.btn.danger{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 12px 24px rgba(220,38,38,.18)}
.btn.success{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 12px 24px rgba(22,163,74,.18)}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.table-wrap{width:100%;overflow:auto}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.table th,.table td{padding:15px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:15px}
.table th{background:#f1f5f9;font-size:14px;color:#334155;text-transform:uppercase;letter-spacing:.04em}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:#f8fafc}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.full{grid-column:1/-1}
.field label, form label{
  display:block;
  font-weight:900;
  margin-bottom:8px;
  font-size:16px;
  color:#1e293b;
}
.field input,.field select,.field textarea,
form input:not([type=checkbox]):not([type=radio]),form select,form textarea{
  width:100%;
  min-height:50px;
  padding:14px 15px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  color:var(--text);
  font-size:17px;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.03),0 7px 15px rgba(15,23,42,.04);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.field input:focus,.field select:focus,.field textarea:focus,
form input:not([type=checkbox]):not([type=radio]):focus,form select:focus,form textarea:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 4px rgba(37,99,235,.13),0 10px 20px rgba(15,23,42,.06);
}
.field textarea,form textarea{min-height:120px;resize:vertical}
input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary)}
.badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:13px;color:#fff;font-weight:900;box-shadow:0 6px 14px rgba(15,23,42,.12)}
.badge.success{background:var(--success)}.badge.danger{background:var(--danger)}.badge.warning{background:var(--warning)}.badge.info{background:var(--info)}.badge.primary{background:var(--primary)}.badge.secondary{background:var(--secondary)}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#38bdf8,#1d4ed8 42%,#0f172a)}
.login-card{width:min(440px,92vw);background:rgba(255,255,255,.96);border-radius:28px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.65)}
.login-card h1{margin:0 0 8px;font-size:34px;letter-spacing:-.7px}
.alert{padding:14px 16px;border-radius:16px;margin-bottom:16px;font-weight:800}.alert.error{background:#fee2e2;color:#991b1b}.alert.ok{background:#dcfce7;color:#166534}
.muted{color:var(--muted)}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{position:relative;width:100%;inset:auto}.app{display:block}.main{margin-left:0;width:100%;padding:18px}.grid,.form-grid{grid-template-columns:1fr}.topbar{display:block}.userbox{text-align:left;margin-top:14px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sidebar nav{grid-template-columns:1fr}.topbar h1{font-size:25px}.card{padding:17px}.btn{width:100%}.actions{align-items:stretch}.login-card{padding:24px}}

/* Ajustes do fluxo completo paciente + atendimento + pagamento */
.checkline{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:14px 16px;
  border:1px solid #dbe3f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 25px rgba(15,23,42,.06);
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.checkline input{width:22px!important;height:22px!important;accent-color:#16a34a;}
.card h2{font-size:22px;margin:6px 0 16px;color:#0f172a;}
.card h3{font-size:19px;margin:0 0 14px;color:#0f172a;}
.badge.success,.badge.success{background:#dcfce7;color:#166534;}
.badge.warning{background:#fef3c7;color:#92400e;}

/* Relatórios financeiros com pizzas e barras */
.reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}
.chart-card{min-height:360px}
.chart-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pie-chart{width:190px;height:190px;border-radius:50%;position:relative;box-shadow:0 20px 45px rgba(15,23,42,.14);border:10px solid #fff;flex:0 0 auto}
.pie-chart:after{content:"";position:absolute;inset:42px;background:#fff;border-radius:50%;box-shadow:inset 0 6px 20px rgba(15,23,42,.08)}
.pie-chart span{position:absolute;inset:0;display:grid;place-items:center;z-index:2;text-align:center;font-weight:900;font-size:15px;color:#0f172a;padding:54px 36px 0}
.legend-list{flex:1;min-width:220px;font-size:15px;color:#334155;font-weight:700;line-height:1.8}
.legend-list b{color:#0f172a}.legend-list hr{border:0;border-top:1px solid #e2e8f0;margin:10px 0}.dot{display:inline-block;width:13px;height:13px;border-radius:999px;margin-right:8px;vertical-align:-1px;box-shadow:0 2px 7px rgba(15,23,42,.18)}
.color1{background:#2563eb}.color2{background:#16a34a}.color3{background:#f59e0b}.color4{background:#dc2626}.color5{background:#7c3aed}.color6{background:#0891b2}.color7{background:#db2777}.color8{background:#65a30d}.color9{background:#ea580c}.color10{background:#475569}
.bar-chart{height:280px;display:flex;align-items:end;gap:12px;overflow-x:auto;padding:20px 4px 8px}.bar-item{min-width:82px;height:230px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.bar-value{font-size:12px;font-weight:900;color:#475569;white-space:nowrap}.bar-track{width:44px;height:155px;border-radius:999px;background:#e2e8f0;display:flex;align-items:flex-end;overflow:hidden;box-shadow:inset 0 4px 12px rgba(15,23,42,.09)}.bar-fill{width:100%;border-radius:999px;background:linear-gradient(180deg,#38bdf8,#2563eb);min-height:4px}.bar-label{font-size:12px;font-weight:900;color:#64748b;white-space:nowrap}
@media(max-width:1200px){.reports-grid{grid-template-columns:1fr}.chart-card{min-height:auto}}
@media(max-width:560px){.chart-wrap{display:block}.pie-chart{margin:0 auto 18px}.legend-list{min-width:0}.bar-item{min-width:70px}}
.timeline-block{
  border:1px solid var(--border);
  border-left:6px solid var(--primary);
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  border-radius:18px;
  padding:16px 18px;
  margin:14px 0;
  box-shadow:var(--shadow-soft);
}
.timeline-block b{display:block;font-size:18px;color:var(--dark);margin-bottom:4px}
.timeline-block span{display:block;color:var(--muted);font-size:14px;font-weight:800;margin-bottom:10px}
.timeline-block p{margin:8px 0 0;white-space:normal}
.alert.success{background:#dcfce7;color:#166534;border:1px solid #86efac}

/* Tema Dr. Diego Sales — azul profundo + dourado */
:root{
  --bg:#071a34;
  --bg2:#eef3fb;
  --card:#ffffff;
  --text:#102033;
  --muted:#68758a;
  --primary:#0b2a55;
  --primary2:#163d78;
  --primary-soft:#e8eef8;
  --accent:#d4a34f;
  --accent2:#f3d792;
  --dark:#071a34;
  --dark2:#0c254b;
  --border:#dfe7f2;
  --success:#139657;
  --danger:#c0392b;
  --warning:#c98218;
  --info:#147ea3;
  --secondary:#65748a;
  --shadow:0 24px 60px rgba(7,26,52,.16);
  --shadow-soft:0 12px 30px rgba(7,26,52,.10);
}
body{
  background:
    radial-gradient(circle at top left, rgba(212,163,79,.20), transparent 34%),
    linear-gradient(135deg,#eef3fb 0%,#f7f9fd 48%,#edf2f8 100%);
}
.sidebar{
  background:
    radial-gradient(circle at 20% 0%, rgba(212,163,79,.22), transparent 28%),
    linear-gradient(180deg,#071a34 0%,#0b2a55 54%,#061224 100%);
  border-right:1px solid rgba(212,163,79,.22);
}
.brand.brand-image{
  display:block;
  padding:10px;
  background:rgba(255,255,255,.07);
  border-color:rgba(212,163,79,.26);
}
.brand.brand-image img{
  width:100%;
  display:block;
  border-radius:16px;
  box-shadow:0 14px 34px rgba(0,0,0,.25);
  margin-bottom:12px;
}
.brand.brand-image b{color:#fff;font-size:20px}
.brand.brand-image span{color:#f1dca8}
.logo{background:linear-gradient(135deg,#f3d792,#b9822e);box-shadow:0 16px 35px rgba(212,163,79,.28)}
nav a{color:#eef4ff;border-color:rgba(255,255,255,.04)}
nav a:hover{background:rgba(212,163,79,.13);border-color:rgba(212,163,79,.28)}
nav a.active{
  background:linear-gradient(135deg,#d4a34f,#f3d792);
  color:#071a34;
  box-shadow:0 16px 32px rgba(212,163,79,.30);
  border-color:rgba(255,255,255,.32);
}
.topbar{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(212,163,79,.22);
  box-shadow:0 18px 45px rgba(7,26,52,.10);
}
.topbar h1{color:#071a34}
.topbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.topbar-logo{
  width:168px;
  max-width:34vw;
  height:58px;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
  border:1px solid rgba(212,163,79,.32);
  box-shadow:0 14px 30px rgba(7,26,52,.12);
}
.userbox{border-color:rgba(212,163,79,.22)}
.card{
  border-color:rgba(212,163,79,.16);
  box-shadow:0 14px 34px rgba(7,26,52,.09);
}
.card:hover{box-shadow:0 22px 54px rgba(7,26,52,.14)}
.card.soft{background:linear-gradient(135deg,#fffaf0,#eef5ff);border-color:rgba(212,163,79,.28)}
.stat:after{background:linear-gradient(135deg,rgba(212,163,79,.18),rgba(11,42,85,.12))}
.btn,button.btn,input[type=submit].btn{
  background:linear-gradient(135deg,#0b2a55,#163d78);
  box-shadow:0 14px 28px rgba(11,42,85,.24);
}
.btn:hover,button.btn:hover{box-shadow:0 18px 36px rgba(11,42,85,.32)}
.btn.gold,button.btn.gold,input[type=submit].btn.gold{
  background:linear-gradient(135deg,#c58d35,#f3d792);
  color:#071a34;
  box-shadow:0 16px 34px rgba(212,163,79,.28);
}
.table th{background:#f4efe5;color:#20324c}
.field label, form label{color:#102033}
.field input:focus,.field select:focus,.field textarea:focus,
form input:not([type=checkbox]):not([type=radio]):focus,form select:focus,form textarea:focus{
  border-color:#d4a34f;
  box-shadow:0 0 0 4px rgba(212,163,79,.18),0 10px 20px rgba(7,26,52,.06);
}
input[type=checkbox]{accent-color:#d4a34f}
.login-page.dr-diego-theme{
  background:
    radial-gradient(circle at 8% 0%, rgba(243,215,146,.32), transparent 32%),
    radial-gradient(circle at 86% 18%, rgba(212,163,79,.18), transparent 28%),
    linear-gradient(135deg,#061224 0%,#0b2a55 52%,#071a34 100%);
  padding:24px;
}
.login-shell{
  width:min(1180px,96vw);
  min-height:640px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:0;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(0,0,0,.34);
  border:1px solid rgba(212,163,79,.26);
  background:#fff;
}
.login-logo-panel{
  position:relative;
  min-height:640px;
  background:#061224;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.login-logo-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 15%, rgba(243,215,146,.22), transparent 24%), linear-gradient(135deg,rgba(6,18,36,.1),rgba(6,18,36,.56));
  z-index:1;
}
.login-logo-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.login-glow{position:absolute;inset:auto auto 38px 44px;width:210px;height:6px;background:#f3d792;filter:blur(10px);opacity:.7;z-index:2}
.login-card{
  width:100%;
  max-width:none;
  border-radius:0;
  padding:54px 48px;
  box-shadow:none;
  border:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-mini-brand{display:none;margin-bottom:22px}
.login-mini-brand img{width:100%;max-width:260px;border-radius:16px;box-shadow:0 14px 32px rgba(7,26,52,.16);display:block;margin-bottom:10px}
.login-mini-brand span{font-weight:900;color:#b9822e;text-transform:uppercase;font-size:13px;letter-spacing:.12em}
.login-card h1{font-size:42px;color:#071a34;line-height:1.02;margin-bottom:10px}
.login-card .muted{font-size:17px}
.login-help{font-size:13px;margin-top:20px;color:#7b879a!important}
.alert.error{background:#fff0f0;border:1px solid #f4b6b6;color:#981b1b}
.pie-chart{border-color:#fffaf0}
.color1{background:#0b2a55}.color2{background:#d4a34f}.color3{background:#c98218}.color4{background:#c0392b}.color5{background:#163d78}.color6{background:#147ea3}.color7{background:#8c5f22}.color8{background:#139657}.color9{background:#9b4d18}.color10{background:#65748a}
.bar-fill{background:linear-gradient(180deg,#f3d792,#0b2a55)}
.timeline-block{border-left-color:#d4a34f;background:linear-gradient(135deg,#ffffff,#fffaf0)}
@media(max-width:980px){
  .login-shell{grid-template-columns:1fr;min-height:auto}
  .login-logo-panel{display:none}
  .login-card{border-radius:34px;padding:36px 28px}
  .login-mini-brand{display:block}
  .login-page.dr-diego-theme{place-items:start center;padding:18px}
  .topbar-right{justify-content:flex-start;margin-top:14px}
}
@media(max-width:900px){
  .brand.brand-image{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px}
  .brand.brand-image img{margin:0}
}
@media(max-width:560px){
  .topbar-logo{width:100%;max-width:100%;height:auto;aspect-ratio:2.7/1}
  .login-card h1{font-size:32px}
  .brand.brand-image{display:block}
  .brand.brand-image img{margin-bottom:12px}
}

/* AJUSTE FINAL — Login com banner completo no topo, sem cortes */
.login-page.dr-diego-theme{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 12% 0%, rgba(243,215,146,.30), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(212,163,79,.18), transparent 30%),
    linear-gradient(135deg,#050d1b 0%,#071a34 48%,#0b2a55 100%);
  padding:28px;
}
.login-page.dr-diego-theme .login-shell{
  width:min(980px,96vw);
  min-height:auto;
  display:grid;
  grid-template-columns:1fr;
  border-radius:34px;
  overflow:hidden;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(243,215,146,.38);
  box-shadow:0 34px 95px rgba(0,0,0,.36);
}
.login-page.dr-diego-theme .login-logo-panel{
  min-height:0;
  height:auto;
  aspect-ratio:2.58/1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(243,215,146,.22), transparent 34%),
    linear-gradient(135deg,#061224,#0b2a55 58%,#071a34);
  border-bottom:1px solid rgba(212,163,79,.28);
}
.login-page.dr-diego-theme .login-logo-panel:before{
  display:none;
}
.login-page.dr-diego-theme .login-logo-panel img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:22px;
  display:block;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.login-page.dr-diego-theme .login-glow{
  display:none;
}
.login-page.dr-diego-theme .login-card{
  width:100%;
  max-width:640px;
  margin:0 auto;
  padding:44px 48px 46px;
  border-radius:0;
  background:transparent;
  display:block;
}
.login-page.dr-diego-theme .login-mini-brand{
  display:none!important;
}
.login-page.dr-diego-theme .login-card h1{
  text-align:center;
  font-size:40px;
  line-height:1.04;
  margin-bottom:12px;
  color:#071a34;
}
.login-page.dr-diego-theme .login-card > .muted{
  text-align:center;
  max-width:460px;
  margin:0 auto 26px;
  color:#65748a;
}
.login-page.dr-diego-theme .login-card .field label{
  font-size:16px;
}
.login-page.dr-diego-theme .login-card input{
  min-height:58px;
  font-size:18px;
}
.login-page.dr-diego-theme .login-card .btn.gold{
  min-height:58px;
  font-size:18px;
  border-radius:18px;
}
.login-page.dr-diego-theme .login-help{
  text-align:center;
  font-size:14px;
  margin-top:22px;
}
@media(max-width:980px){
  .login-page.dr-diego-theme .login-shell{grid-template-columns:1fr;}
  .login-page.dr-diego-theme .login-logo-panel{display:flex;}
}
@media(max-width:560px){
  .login-page.dr-diego-theme{padding:14px;place-items:start center;}
  .login-page.dr-diego-theme .login-shell{border-radius:26px;}
  .login-page.dr-diego-theme .login-logo-panel{padding:12px;aspect-ratio:2.25/1;}
  .login-page.dr-diego-theme .login-logo-panel img{border-radius:16px;}
  .login-page.dr-diego-theme .login-card{padding:30px 22px 34px;}
  .login-page.dr-diego-theme .login-card h1{font-size:31px;}
}


/* =========================================================
   OTIMIZAÇÃO MOBILE PREMIUM — Dr. Diego Sales
   Objetivo: evitar rolagem lateral e transformar tabelas em cards
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden;}
img{max-width:100%;height:auto;}

@media(max-width:760px){
  body{
    font-size:16px;
    background:
      radial-gradient(circle at 12% 0%, rgba(243,215,146,.20), transparent 30%),
      linear-gradient(180deg,#f7f9fd 0%,#edf3fa 100%);
  }
  .app{display:block;width:100%;overflow-x:hidden;}
  .sidebar{
    position:relative;
    width:100%;
    min-height:auto;
    padding:16px 14px 14px;
    border-right:0;
    border-bottom:1px solid rgba(212,163,79,.25);
    box-shadow:0 14px 34px rgba(7,26,52,.16);
  }
  .brand.brand-image{
    display:block;
    margin-bottom:14px;
    padding:10px;
    border-radius:22px;
  }
  .brand.brand-image img{
    width:100%;
    max-height:150px;
    object-fit:contain;
    object-position:center;
    border-radius:18px;
    margin:0 0 10px;
    background:#061224;
  }
  .brand.brand-image div{padding:2px 4px 0;}
  .brand.brand-image b{font-size:18px;}
  .brand.brand-image span{font-size:13px;}
  .sidebar nav{
    display:flex;
    flex-direction:row;
    gap:8px;
    overflow-x:auto;
    padding:2px 2px 8px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .sidebar nav::-webkit-scrollbar{height:4px;}
  .sidebar nav::-webkit-scrollbar-thumb{background:rgba(243,215,146,.55);border-radius:999px;}
  .sidebar nav a{
    flex:0 0 auto;
    min-width:max-content;
    padding:12px 14px;
    border-radius:999px;
    font-size:14px;
    scroll-snap-align:start;
  }
  nav a:hover{transform:none;}
  .main{
    margin:0;
    width:100%;
    padding:14px;
  }
  .topbar{
    display:block;
    margin-bottom:16px;
    padding:16px;
    border-radius:24px;
  }
  .topbar h1{
    font-size:24px;
    line-height:1.12;
    word-break:normal;
  }
  .topbar p{font-size:14px;line-height:1.35;}
  .topbar-right{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:14px;
    justify-content:stretch;
  }
  .topbar-logo{
    width:100%;
    max-width:none;
    height:auto;
    max-height:130px;
    object-fit:contain;
    border-radius:20px;
    background:#061224;
  }
  .userbox{
    width:100%;
    min-width:0;
    text-align:left;
    padding:16px;
    border-radius:20px;
  }
  .grid{grid-template-columns:1fr!important;gap:14px;}
  .card{
    width:100%;
    max-width:100%;
    padding:17px;
    border-radius:24px;
    margin-bottom:16px;
    overflow:hidden;
  }
  .card h2{font-size:22px;line-height:1.18;}
  .card h3{font-size:18px;line-height:1.2;}
  .stat{min-height:105px;}
  .stat b{font-size:30px;line-height:1.1;word-break:break-word;}
  .stat span{font-size:14px;}
  .actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:10px;
  }
  .actions h2,.actions h3{margin-bottom:4px;}
  .btn,button.btn,input[type=submit].btn{
    width:100%;
    min-height:56px;
    border-radius:18px;
    font-size:17px;
    padding:14px 16px;
  }
  .form-grid{grid-template-columns:1fr!important;gap:14px;}
  .full{grid-column:auto;}
  .field input,.field select,.field textarea,
  form input:not([type=checkbox]):not([type=radio]),form select,form textarea{
    min-height:56px;
    font-size:17px;
    border-radius:17px;
  }
  form textarea,.field textarea{min-height:125px;}
  .checkline{font-size:17px;align-items:flex-start;}

  /* Tabelas viram cartões empilhados no celular */
  .table-wrap{
    overflow:visible!important;
    width:100%;
  }
  table.table{
    display:block;
    width:100%;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  table.table tbody{display:block;width:100%;}
  table.table tr{
    display:block;
    width:100%;
    margin:0 0 14px;
    padding:14px;
    background:#fff;
    border:1px solid rgba(212,163,79,.20);
    border-radius:22px;
    box-shadow:0 12px 28px rgba(7,26,52,.08);
    overflow:hidden;
  }
  table.table tr.table-header-mobile,
  table.table tr:has(th){display:none;}
  table.table th{display:none;}
  table.table td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:10px;
    align-items:start;
    width:100%;
    border:0;
    border-bottom:1px solid #edf1f7;
    padding:10px 0;
    font-size:16px;
    line-height:1.35;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  table.table td:last-child{border-bottom:0;padding-bottom:0;}
  table.table td:first-child{padding-top:0;}
  table.table td::before{
    content:attr(data-label);
    font-weight:900;
    color:#0b2a55;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:12px;
    line-height:1.25;
  }
  table.table td:empty{display:none;}
  table.table td a:not(.btn){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 12px;
    border-radius:14px;
    background:linear-gradient(135deg,#0b2a55,#163d78);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    margin:2px 0;
    box-shadow:0 10px 22px rgba(11,42,85,.20);
  }
  .muted{font-size:14px;line-height:1.35;}
  .badge{font-size:12px;padding:6px 9px;}
  .reports-grid{grid-template-columns:1fr!important;gap:16px;}
  .chart-card{min-height:auto;}
  .chart-wrap{display:block;}
  .pie-chart{width:170px;height:170px;margin:0 auto 16px;}
  .legend-list{min-width:0;font-size:14px;}
  .bar-chart{height:auto;align-items:end;gap:10px;overflow-x:auto;padding-bottom:10px;}
  .bar-item{min-width:64px;height:205px;}
  .timeline-block{padding:14px;border-radius:18px;}
}

@media(max-width:390px){
  .main{padding:10px;}
  .sidebar{padding:12px 10px;}
  .card{padding:14px;border-radius:20px;}
  table.table td{grid-template-columns:96px minmax(0,1fr);font-size:15px;}
  table.table td::before{font-size:11px;}
  .stat b{font-size:26px;}
  .topbar h1{font-size:22px;}
}

/* Modal responsivo para recibo de repasse médico */
body.modal-open{overflow:hidden;}
.receipt-modal{position:fixed;inset:0;z-index:9999;}
.receipt-modal-backdrop{position:absolute;inset:0;background:rgba(6,27,61,.72);backdrop-filter:blur(6px);}
.receipt-modal-box{position:relative;margin:24px auto;width:min(1180px,calc(100vw - 32px));height:calc(100vh - 48px);background:#fff;border:1px solid rgba(214,173,87,.35);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;}
.receipt-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #eadfca;background:linear-gradient(135deg,#fff,#fbf7ef);}
.receipt-modal-header h2{margin:0;color:#061b3d;font-size:22px;}
.receipt-modal-header p{margin:4px 0 0;color:#667085;font-size:14px;}
.receipt-modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.receipt-modal iframe{width:100%;height:100%;border:0;background:#eef4ff;}
.btn.danger{background:#991b1b;color:#fff;}
@media(max-width:760px){
  .receipt-modal-box{width:100vw;height:100vh;margin:0;border-radius:0;}
  .receipt-modal-header{display:block;padding:14px;}
  .receipt-modal-header h2{font-size:18px;}
  .receipt-modal-actions{margin-top:12px;display:grid;grid-template-columns:1fr;gap:8px;}
  .receipt-modal-actions .btn{width:100%;text-align:center;}
}


/* Atualização: gráficos modernos sem pizza e controle de repasses mais claro */
.modern-reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px;align-items:stretch}
.modern-chart-card{min-height:auto;padding:22px!important}
.modern-chart-card h2{font-size:18px!important;margin:0 0 6px!important;font-weight:800;letter-spacing:-.02em;color:#071a34}
.chart-desc{font-size:13px;line-height:1.35;margin:0 0 16px!important;font-weight:500!important}
.modern-chart-list{display:flex;flex-direction:column;gap:13px}
.modern-chart-row{display:block}
.modern-chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:7px;font-size:13px;color:#20324c;font-weight:600;line-height:1.25}
.modern-chart-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58%}
.modern-chart-head em{font-style:normal;color:#65748a;font-size:12px;font-weight:500;text-align:right;white-space:nowrap}
.modern-chart-track{height:11px;border-radius:999px;background:#edf2f8;overflow:hidden;box-shadow:inset 0 2px 6px rgba(7,26,52,.08)}
.modern-chart-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0b2a55,#d4a34f);min-width:5px;box-shadow:0 5px 15px rgba(11,42,85,.12)}
.modern-chart-fill.fill2{background:linear-gradient(90deg,#d4a34f,#f3d792)}
.modern-chart-fill.fill3{background:linear-gradient(90deg,#163d78,#7aa4de)}
.modern-chart-fill.fill4{background:linear-gradient(90deg,#139657,#79d4a8)}
.modern-chart-fill.fill5{background:linear-gradient(90deg,#c98218,#f4c36f)}
.modern-chart-fill.fill6{background:linear-gradient(90deg,#65748a,#b9c2d0)}
.modern-chart-fill.fill7{background:linear-gradient(90deg,#8c5f22,#d4a34f)}
.modern-chart-fill.fill8{background:linear-gradient(90deg,#147ea3,#79c5df)}
.badge.warning{background:#fef3c7;color:#92400e;border:1px solid #f8d886}
@media(max-width:1200px){.modern-reports-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.modern-reports-grid{grid-template-columns:1fr}.modern-chart-card{padding:18px!important}.modern-chart-head{font-size:12.5px}.modern-chart-head em{font-size:11.5px}.modern-chart-head span{max-width:52%}}

/* =========================================================
   LAYOUT CLEAN TOP MENU — correção final
   ========================================================= */
body.clean-ui{
  background:#f5f7fb!important;
  color:#1d2939!important;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif!important;
  overflow-x:hidden;
}
.clean-app{display:block!important;min-height:100vh;background:#f5f7fb!important;}
.clean-header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);
  border-top:4px solid #0797a5;border-bottom:1px solid #e6ebf2;
  box-shadow:0 8px 28px rgba(16,24,40,.06);backdrop-filter:blur(12px);
}
.clean-header-main{
  height:78px;display:flex;align-items:center;gap:22px;padding:0 28px;max-width:1500px;margin:0 auto;
}
.clean-brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto;}
.clean-brand img{width:128px;height:48px;object-fit:contain;border-radius:8px;display:block;}
.clean-nav{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:100%;}
.clean-nav-item{
  height:50px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border-radius:14px;
  color:#344054;text-decoration:none;font-weight:600;font-size:15px;border:0;background:transparent;
  cursor:pointer;white-space:nowrap;transition:.18s ease;font-family:inherit;
}
.clean-nav-item:hover,.clean-nav-item.active,.clean-nav-group.open>.clean-nav-item{
  background:#edfafa;color:#047481;box-shadow:inset 0 -2px 0 #0797a5;
}
.clean-nav-group{position:relative;height:100%;display:flex;align-items:center;}
.clean-nav-button span{font-size:12px;color:#667085;margin-left:2px;}
.clean-dropdown{
  position:absolute;left:0;top:68px;min-width:245px;background:#fff;border:1px solid #e6ebf2;border-radius:0 0 12px 12px;
  box-shadow:0 18px 44px rgba(16,24,40,.12);padding:10px;display:none;z-index:1002;
}
.clean-dropdown.wide{min-width:292px;}
.clean-nav-group:hover>.clean-dropdown,.clean-nav-group.mobile-open>.clean-dropdown{display:block;}
.clean-dropdown a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;text-decoration:none;color:#344054;font-weight:500;font-size:14px;}
.clean-dropdown a:hover{background:#f2f8fa;color:#047481;}
.clean-user-area{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid #e6ebf2;background:#fff;color:#344054;font-weight:800;box-shadow:0 4px 14px rgba(16,24,40,.05);}
.clean-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:#344054;font-weight:800;}
.clean-userbox{line-height:1.15;min-width:120px;}
.clean-userbox b{display:block;font-size:14px;color:#1d2939;}
.clean-userbox span{display:block;font-size:12px;color:#667085;margin-top:3px;}
.clean-logout{height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:22px;background:#0797a5;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 18px rgba(7,151,165,.20);}
.clean-subnav{height:54px;display:flex;align-items:center;gap:16px;padding:0 28px;max-width:1500px;margin:0 auto;overflow-x:auto;border-top:1px solid #eef2f6;background:rgba(255,255,255,.92);}
.clean-subnav a{height:54px;display:flex;align-items:center;gap:8px;color:#475467;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;padding:0 8px;border-bottom:2px solid transparent;}
.clean-subnav a:hover,.clean-subnav a.active{color:#047481;border-bottom-color:#0797a5;}
.clean-main,.main{margin-left:0!important;width:100%!important;max-width:1500px!important;margin-right:auto!important;margin-left:auto!important;padding:30px 28px!important;}
.clean-page-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px;}
.clean-page-title h1{margin:0;font-size:26px;line-height:1.15;color:#101828;letter-spacing:-.03em;font-weight:750;}
.clean-page-title p{margin:7px 0 0;color:#667085;font-size:15px;}
.clean-footer{max-width:1500px;margin:0 auto;padding:18px 28px 32px;color:#667085;font-size:13px;}
.sidebar,.topbar{display:none!important;}
.card{background:#fff!important;border:1px solid #e6ebf2!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(16,24,40,.06)!important;padding:22px!important;margin-bottom:22px!important;}
.card:hover{transform:none!important;box-shadow:0 10px 28px rgba(16,24,40,.08)!important;}
.grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
.stat{min-height:120px!important;}
.stat:after{background:#f4f8fb!important;right:-24px!important;top:-24px!important;}
.stat span{font-size:14px!important;color:#667085!important;font-weight:600!important;}
.stat b{font-size:28px!important;color:#101828!important;}
.btn,button.btn,input[type=submit].btn{background:#0797a5!important;color:#fff!important;border-radius:12px!important;min-height:46px!important;box-shadow:0 8px 18px rgba(7,151,165,.18)!important;font-size:15px!important;}
.btn.gold{background:#d6a642!important;color:#101828!important;}
.btn.secondary{background:#667085!important;}
.btn.danger{background:#d92d20!important;}
.btn.success{background:#12b76a!important;}
.table{border:1px solid #e6ebf2!important;border-radius:14px!important;overflow:hidden!important;}
.table th{background:#f4efe5!important;color:#24324b!important;font-size:13px!important;font-weight:700!important;letter-spacing:.04em!important;}
.table td{font-size:14px!important;color:#24324b!important;}
.form-grid{gap:16px!important;}
.field input,.field select,.field textarea,form input:not([type=checkbox]):not([type=radio]),form select,form textarea{border-radius:10px!important;min-height:46px!important;font-size:15px!important;box-shadow:none!important;background:#fff!important;}
.field input:focus,.field select:focus,.field textarea:focus,form input:not([type=checkbox]):not([type=radio]):focus,form select:focus,form textarea:focus{border-color:#0797a5!important;box-shadow:0 0 0 3px rgba(7,151,165,.12)!important;}
.reports-grid{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:18px!important;}
.modern-chart,.chart-card{border-radius:18px!important;}
@media(max-width:1180px){.clean-header-main{height:auto;min-height:74px;flex-wrap:wrap;padding:14px 20px}.clean-nav{order:3;width:100%;height:auto;overflow-x:auto;padding-bottom:2px}.clean-subnav{padding:0 20px}.clean-user-area{margin-left:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reports-grid{grid-template-columns:1fr!important}}
@media(max-width:720px){.clean-header{position:relative}.clean-header-main{display:grid;grid-template-columns:1fr auto;gap:12px}.clean-brand img{width:118px}.clean-user-area{grid-column:2;grid-row:1}.clean-userbox{display:none}.icon-btn{display:none}.clean-nav{grid-column:1/-1;display:flex;overflow-x:auto;gap:8px}.clean-nav-item{height:42px;font-size:14px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #e6ebf2}.clean-dropdown{position:fixed;top:132px;left:14px;right:14px;min-width:0;border-radius:14px}.clean-subnav{height:auto;padding:8px 14px;gap:8px}.clean-subnav a{height:38px;border:1px solid #e6ebf2;border-radius:999px;padding:0 12px;background:#fff}.clean-main,.main{padding:18px 14px!important}.clean-page-title h1{font-size:24px}.grid{grid-template-columns:1fr!important}.card{padding:16px!important}.table-wrap{overflow-x:auto}.btn{width:auto!important}.actions .btn{width:100%!important}}

/* =========================================================
   HOTFIX MENU CLEAN — força menu superior horizontal
   Remove heranças do antigo menu lateral que deixavam itens empilhados
   ========================================================= */
body.clean-ui .clean-header,
body.clean-ui .clean-header *{
  box-sizing:border-box;
}
body.clean-ui .clean-header nav.clean-nav{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  height:78px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
body.clean-ui .clean-header nav.clean-nav a,
body.clean-ui .clean-header .clean-nav-item,
body.clean-ui .clean-header .clean-nav-button{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 15px!important;
  margin:0!important;
  border-radius:12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  color:#344054!important;
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.clean-ui .clean-header .clean-nav-item:hover,
body.clean-ui .clean-header .clean-nav-item.active,
body.clean-ui .clean-header .clean-nav-group.open > .clean-nav-item,
body.clean-ui .clean-header .clean-nav-group:hover > .clean-nav-item{
  background:#edfafa!important;
  color:#047481!important;
  box-shadow:inset 0 -2px 0 #0797a5!important;
}
body.clean-ui .clean-header .clean-nav-group{
  position:relative!important;
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:78px!important;
  margin:0!important;
  padding:0!important;
}
body.clean-ui .clean-header .clean-dropdown{
  position:absolute!important;
  left:0!important;
  top:64px!important;
  display:none!important;
  min-width:260px!important;
  width:max-content!important;
  max-width:360px!important;
  padding:10px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #e6ebf2!important;
  border-radius:14px!important;
  box-shadow:0 18px 44px rgba(16,24,40,.14)!important;
  z-index:9999!important;
}
body.clean-ui .clean-header .clean-dropdown.wide{
  min-width:310px!important;
}
body.clean-ui .clean-header .clean-nav-group:hover > .clean-dropdown,
body.clean-ui .clean-header .clean-nav-group.mobile-open > .clean-dropdown{
  display:block!important;
}
body.clean-ui .clean-header .clean-dropdown a{
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
  height:auto!important;
  min-height:40px!important;
  padding:11px 13px!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#344054!important;
  font-size:14px!important;
  font-weight:500!important;
  box-shadow:none!important;
}
body.clean-ui .clean-header .clean-dropdown a:hover{
  background:#f2f8fa!important;
  color:#047481!important;
}
body.clean-ui .clean-subnav{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:54px!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 28px!important;
  margin:0 auto!important;
}
body.clean-ui .clean-subnav a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 8px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  color:#475467!important;
  font-size:14px!important;
  font-weight:500!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.clean-ui .clean-subnav a:hover,
body.clean-ui .clean-subnav a.active{
  color:#047481!important;
  border-bottom-color:#0797a5!important;
}
body.clean-ui .clean-user-area{
  margin-left:auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
body.clean-ui .clean-brand{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.clean-ui .clean-brand img{
  width:128px!important;
  height:48px!important;
  object-fit:contain!important;
}
@media(max-width:1180px){
  body.clean-ui .clean-header-main{height:auto!important;min-height:78px!important;align-items:center!important;}
  body.clean-ui .clean-header nav.clean-nav{
    order:3!important;
    width:100%!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:6px 0 4px!important;
  }
  body.clean-ui .clean-header .clean-nav-group{height:46px!important;}
  body.clean-ui .clean-header .clean-dropdown{top:48px!important;}
}
@media(max-width:720px){
  body.clean-ui .clean-header nav.clean-nav{
    grid-column:1/-1!important;
    height:auto!important;
    gap:8px!important;
  }
  body.clean-ui .clean-header .clean-nav-item,
  body.clean-ui .clean-header .clean-nav-button,
  body.clean-ui .clean-header nav.clean-nav a{
    height:42px!important;
    min-height:42px!important;
    border:1px solid #e6ebf2!important;
    border-radius:999px!important;
    background:#fff!important;
    padding:0 12px!important;
    font-size:14px!important;
  }
  body.clean-ui .clean-header .clean-nav-group{height:42px!important;}
  body.clean-ui .clean-header .clean-dropdown{
    position:fixed!important;
    top:132px!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
}


/* =========================================================
   VIVAMED CLEAN UI — layout superior corrigido e paleta corporativa
   ========================================================= */
:root{
  --vm-bg:#f7f8f6;
  --vm-card:#ffffff;
  --vm-text:#263238;
  --vm-muted:#66706b;
  --vm-gold:#b47a2b;
  --vm-gold-2:#d2a35a;
  --vm-gold-soft:#f6efe4;
  --vm-border:#e6e1d8;
  --vm-teal:#0b7f7d;
  --vm-shadow:0 10px 30px rgba(70,55,35,.08);
}
body.vivamed-ui,
body.clean-ui.vivamed-ui{
  background:linear-gradient(180deg,#fbfbfa 0%,#f4f6f5 100%)!important;
  color:var(--vm-text)!important;
  overflow-x:hidden!important;
}
body.vivamed-ui .clean-header{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  background:rgba(255,255,255,.98)!important;
  border-top:4px solid var(--vm-gold)!important;
  border-bottom:1px solid var(--vm-border)!important;
  box-shadow:0 8px 28px rgba(35,35,35,.06)!important;
  backdrop-filter:blur(12px)!important;
}
body.vivamed-ui .clean-header-main{
  max-width:1540px!important;
  height:78px!important;
  min-height:78px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:24px!important;
  flex-wrap:nowrap!important;
}
body.vivamed-ui .clean-brand{
  flex:0 0 auto!important;
  width:160px!important;
  height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.vivamed-ui .clean-brand img{
  width:148px!important;
  height:56px!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  display:block!important;
}
body.vivamed-ui nav.clean-nav,
body.vivamed-ui .clean-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  height:78px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-nav-group{
  position:relative!important;
  display:flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:78px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}
body.vivamed-ui .clean-nav a,
body.vivamed-ui .clean-nav-item,
body.vivamed-ui .clean-nav-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  height:44px!important;
  min-height:44px!important;
  width:auto!important;
  min-width:auto!important;
  margin:0!important;
  padding:0 15px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:#3d4742!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif!important;
}
body.vivamed-ui .clean-nav-item:hover,
body.vivamed-ui .clean-nav-button:hover{
  background:#fbf7ef!important;
  color:#8a5a1d!important;
  border-color:#ead8bd!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-item,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button{
  background:var(--vm-gold-soft)!important;
  color:#8a5a1d!important;
  border-color:#dec293!important;
  box-shadow:inset 0 -3px 0 var(--vm-gold)!important;
}
/* Somente hover exibe dropdown; não pinta item não ativo */
body.vivamed-ui .clean-nav-group:hover > .clean-nav-button{
  background:#fbf7ef!important;
  color:#8a5a1d!important;
  border-color:#ead8bd!important;
}
body.vivamed-ui .clean-nav-button span{font-size:12px!important;color:inherit!important;margin-left:3px!important;}
body.vivamed-ui .clean-dropdown{
  position:absolute!important;
  top:62px!important;
  left:0!important;
  display:none!important;
  min-width:240px!important;
  max-width:340px!important;
  width:max-content!important;
  padding:8px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid var(--vm-border)!important;
  border-radius:14px!important;
  box-shadow:0 22px 45px rgba(52,44,33,.13)!important;
  z-index:9000!important;
}
body.vivamed-ui .clean-dropdown.wide{min-width:300px!important;}
body.vivamed-ui .clean-nav-group:hover > .clean-dropdown,
body.vivamed-ui .clean-nav-group.mobile-open > .clean-dropdown{display:block!important;}
body.vivamed-ui .clean-dropdown a{
  display:flex!important;
  width:100%!important;
  height:auto!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  color:#3d4742!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:500!important;
  text-decoration:none!important;
}
body.vivamed-ui .clean-dropdown a:hover{background:#fbf7ef!important;color:#8a5a1d!important;}
body.vivamed-ui .clean-user-area{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:12px!important;
}
body.vivamed-ui .icon-btn{background:#fff!important;border:1px solid var(--vm-border)!important;color:#6b5c45!important;box-shadow:0 5px 16px rgba(70,55,35,.06)!important;}
body.vivamed-ui .clean-avatar{background:#f2eee8!important;color:#7a5421!important;}
body.vivamed-ui .clean-userbox b{color:#28332d!important;}
body.vivamed-ui .clean-userbox span{color:var(--vm-muted)!important;}
body.vivamed-ui .clean-logout{background:var(--vm-gold)!important;color:#fff!important;box-shadow:0 8px 18px rgba(180,122,43,.20)!important;}
body.vivamed-ui .clean-subnav{
  max-width:1540px!important;
  height:56px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  background:rgba(255,255,255,.96)!important;
  border-top:1px solid #f0ebe4!important;
}
body.vivamed-ui .clean-subnav a{
  flex:0 0 auto!important;
  height:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  border-bottom:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#5b665f!important;
  font-size:14px!important;
  font-weight:500!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.vivamed-ui .clean-subnav a:hover{background:#fbf7ef!important;color:#8a5a1d!important;border-color:#ead8bd!important;}
body.vivamed-ui .clean-subnav a.active{
  background:var(--vm-gold-soft)!important;
  color:#8a5a1d!important;
  border-color:#dec293!important;
}
body.vivamed-ui .clean-main,
body.vivamed-ui .main{
  max-width:1540px!important;
  margin:0 auto!important;
  padding:30px 24px!important;
}
body.vivamed-ui .clean-page-title h1{color:#25312d!important;font-weight:720!important;}
body.vivamed-ui .clean-page-title p{color:var(--vm-muted)!important;}
body.vivamed-ui .card{
  background:#fff!important;
  border:1px solid var(--vm-border)!important;
  border-radius:18px!important;
  box-shadow:var(--vm-shadow)!important;
}
body.vivamed-ui .table th{background:#f5f0e8!important;color:#4a3a25!important;}
body.vivamed-ui .btn,
body.vivamed-ui button.btn,
body.vivamed-ui input[type=submit].btn{background:var(--vm-gold)!important;color:#fff!important;box-shadow:0 8px 18px rgba(180,122,43,.18)!important;}
body.vivamed-ui .btn.secondary{background:#68756e!important;}
body.vivamed-ui .btn.success{background:#0f8f6a!important;}
body.vivamed-ui .field input:focus,
body.vivamed-ui .field select:focus,
body.vivamed-ui .field textarea:focus,
body.vivamed-ui form input:not([type=checkbox]):not([type=radio]):focus,
body.vivamed-ui form select:focus,
body.vivamed-ui form textarea:focus{border-color:var(--vm-gold)!important;box-shadow:0 0 0 3px rgba(180,122,43,.13)!important;}
body.vivamed-ui.vivamed-login,
body.vivamed-login{
  background:linear-gradient(135deg,#f9f7f2 0%,#efe5d6 45%,#ffffff 100%)!important;
}
body.vivamed-login .login-logo-panel{background:#fff!important;}
body.vivamed-login .login-logo-panel img{object-fit:contain!important;background:#fff!important;}
body.vivamed-login .login-mini-brand img{object-fit:contain!important;background:#fff!important;}
body.vivamed-login .btn.gold{background:linear-gradient(135deg,#b47a2b,#d2a35a)!important;color:#fff!important;}
@media(max-width:1180px){
  body.vivamed-ui .clean-header-main{height:auto!important;min-height:78px!important;flex-wrap:wrap!important;gap:12px!important;padding:14px 18px!important;}
  body.vivamed-ui nav.clean-nav,body.vivamed-ui .clean-nav{order:3!important;flex:1 0 100%!important;width:100%!important;height:auto!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;padding:4px 0 2px!important;}
  body.vivamed-ui .clean-nav-group{height:44px!important;}
  body.vivamed-ui .clean-dropdown{top:46px!important;}
  body.vivamed-ui .clean-user-area{margin-left:auto!important;}
}
@media(max-width:720px){
  body.vivamed-ui .clean-header-main{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;}
  body.vivamed-ui .clean-brand{width:auto!important;height:auto!important;}
  body.vivamed-ui .clean-brand img{width:138px!important;height:52px!important;}
  body.vivamed-ui .clean-userbox,.vivamed-ui .icon-btn{display:none!important;}
  body.vivamed-ui .clean-user-area{grid-column:2!important;grid-row:1!important;}
  body.vivamed-ui nav.clean-nav,body.vivamed-ui .clean-nav{grid-column:1/-1!important;}
  body.vivamed-ui .clean-nav a,body.vivamed-ui .clean-nav-item,body.vivamed-ui .clean-nav-button{height:40px!important;min-height:40px!important;border:1px solid var(--vm-border)!important;border-radius:999px!important;background:#fff!important;font-size:14px!important;padding:0 12px!important;}
  body.vivamed-ui .clean-dropdown{position:fixed!important;top:118px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;}
  body.vivamed-ui .clean-subnav{height:auto!important;padding:8px 12px!important;}
  body.vivamed-ui .clean-main,body.vivamed-ui .main{padding:18px 12px!important;}
}

/* =========================================================
   AJUSTE VIVAMED — logo maior/transparente + submenus alinhados
   ========================================================= */
body.vivamed-ui .clean-header-main{
  height:86px!important;
  min-height:86px!important;
  align-items:center!important;
  gap:28px!important;
}
body.vivamed-ui .clean-brand{
  width:210px!important;
  height:76px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-brand img{
  width:196px!important;
  height:72px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}
body.vivamed-ui nav.clean-nav,
body.vivamed-ui .clean-nav{
  height:86px!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
body.vivamed-ui .clean-nav-group{
  height:86px!important;
}
body.vivamed-ui .clean-nav-item,
body.vivamed-ui .clean-nav-button,
body.vivamed-ui .clean-nav a{
  gap:8px!important;
  border-radius:12px!important;
}
body.vivamed-ui .nav-ico{
  display:inline-flex!important;
  width:20px!important;
  min-width:20px!important;
  justify-content:center!important;
  align-items:center!important;
  font-size:15px!important;
  line-height:1!important;
}
body.vivamed-ui .chev{font-size:12px!important;margin-left:0!important;opacity:.75;}
body.vivamed-ui .clean-dropdown{
  top:70px!important;
  left:0!important;
  text-align:left!important;
}
body.vivamed-ui .clean-dropdown a{
  justify-content:flex-start!important;
  text-align:left!important;
  gap:11px!important;
  padding:11px 13px!important;
}
body.vivamed-ui .clean-dropdown a span{
  display:inline-flex!important;
  width:22px!important;
  min-width:22px!important;
  justify-content:center!important;
  align-items:center!important;
  font-size:15px!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-button.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button,
body.vivamed-ui .clean-nav-group.open > .clean-nav-item{
  background:#f7efe3!important;
  color:#8a5a1d!important;
  border-color:#d9bd8b!important;
  box-shadow:inset 0 -3px 0 var(--vm-gold)!important;
}
body.vivamed-ui .clean-subnav{
  justify-content:flex-start!important;
  align-items:center!important;
  text-align:left!important;
  gap:10px!important;
  padding-left:24px!important;
}
body.vivamed-ui .clean-subnav a{
  justify-content:flex-start!important;
  text-align:left!important;
  gap:8px!important;
  height:40px!important;
  padding:0 13px!important;
}
body.vivamed-ui .clean-subnav a span{
  display:inline-flex!important;
  width:20px!important;
  min-width:20px!important;
  justify-content:center!important;
  align-items:center!important;
  font-size:15px!important;
}
body.vivamed-ui .clean-subnav a.active{
  background:#f7efe3!important;
  border-color:#d9bd8b!important;
  color:#8a5a1d!important;
}
body.vivamed-ui .clean-subnav a:not(.active){
  box-shadow:none!important;
}
@media(max-width:1180px){
  body.vivamed-ui .clean-header-main{height:auto!important;min-height:86px!important;}
  body.vivamed-ui .clean-brand{width:190px!important;height:66px!important;}
  body.vivamed-ui .clean-brand img{width:178px!important;height:64px!important;}
  body.vivamed-ui nav.clean-nav,body.vivamed-ui .clean-nav{height:auto!important;}
  body.vivamed-ui .clean-nav-group{height:44px!important;}
  body.vivamed-ui .clean-dropdown{top:48px!important;}
}
@media(max-width:720px){
  body.vivamed-ui .clean-brand img{width:158px!important;height:58px!important;}
  body.vivamed-ui .clean-brand{width:auto!important;height:60px!important;}
  body.vivamed-ui .clean-subnav{padding-left:12px!important;}
}

/* =========================================================
   CORREÇÃO FINAL TOPO VIVAMED — evita sobreposição menu/usuário
   ========================================================= */
body.vivamed-ui .clean-header-main{
  max-width:none!important;
  width:100%!important;
  height:86px!important;
  min-height:86px!important;
  padding:0 24px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) auto!important;
  column-gap:18px!important;
  align-items:center!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-brand{
  grid-column:1!important;
  width:220px!important;
  height:78px!important;
}
body.vivamed-ui .clean-brand img{
  width:205px!important;
  height:74px!important;
  object-fit:contain!important;
  background:transparent!important;
}
body.vivamed-ui nav.clean-nav,
body.vivamed-ui .clean-nav{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:86px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:thin!important;
  padding:0 6px!important;
  margin:0!important;
  white-space:nowrap!important;
}
body.vivamed-ui .clean-nav::-webkit-scrollbar{height:5px!important;}
body.vivamed-ui .clean-nav::-webkit-scrollbar-thumb{background:#d9bd8b!important;border-radius:999px!important;}
body.vivamed-ui .clean-nav-group{
  height:86px!important;
  flex:0 0 auto!important;
  position:relative!important;
}
body.vivamed-ui .clean-nav-item,
body.vivamed-ui .clean-nav-button,
body.vivamed-ui .clean-nav a{
  height:42px!important;
  min-height:42px!important;
  padding:0 11px!important;
  font-size:14px!important;
  font-weight:600!important;
  gap:7px!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-button.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button,
body.vivamed-ui .clean-nav-group.open > .clean-nav-item{
  background:#f7efe3!important;
  color:#8a5a1d!important;
  border-color:#d9bd8b!important;
  box-shadow:inset 0 -3px 0 var(--vm-gold)!important;
}
body.vivamed-ui .clean-nav-item:not(.active),
body.vivamed-ui .clean-nav-button:not(.active){
  border-color:transparent!important;
}
body.vivamed-ui .clean-dropdown{
  top:66px!important;
  left:0!important;
  z-index:99999!important;
}
body.vivamed-ui .clean-user-area{
  grid-column:3!important;
  position:relative!important;
  z-index:20!important;
  margin-left:0!important;
  flex:0 0 auto!important;
  background:rgba(255,255,255,.96)!important;
  padding-left:10px!important;
}
body.vivamed-ui .clean-userbox{
  min-width:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
body.vivamed-ui .clean-userbox b{font-size:14px!important;white-space:nowrap!important;}
body.vivamed-ui .clean-userbox span{font-size:12px!important;}
body.vivamed-ui .icon-btn{width:42px!important;height:42px!important;min-width:42px!important;}
body.vivamed-ui .clean-avatar{width:42px!important;height:42px!important;min-width:42px!important;}
body.vivamed-ui .clean-logout{height:42px!important;min-height:42px!important;padding:0 18px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;}
body.vivamed-ui .clean-subnav{
  max-width:none!important;
  width:100%!important;
  height:54px!important;
  padding:0 28px!important;
  justify-content:flex-start!important;
  overflow-x:auto!important;
}
body.vivamed-ui .clean-subnav a{
  font-size:14px!important;
  font-weight:500!important;
}
@media(max-width:1450px){
  body.vivamed-ui .clean-header-main{grid-template-columns:190px minmax(0,1fr) auto!important;padding:0 18px!important;column-gap:12px!important;}
  body.vivamed-ui .clean-brand{width:190px!important;}
  body.vivamed-ui .clean-brand img{width:178px!important;height:64px!important;}
  body.vivamed-ui .clean-nav-item,body.vivamed-ui .clean-nav-button,body.vivamed-ui .clean-nav a{font-size:13px!important;padding:0 9px!important;}
  body.vivamed-ui .clean-userbox{display:none!important;}
}
@media(max-width:1020px){
  body.vivamed-ui .clean-header-main{
    height:auto!important;
    min-height:86px!important;
    grid-template-columns:1fr auto!important;
    row-gap:8px!important;
    padding:10px 14px!important;
  }
  body.vivamed-ui .clean-brand{grid-column:1!important;width:auto!important;height:62px!important;}
  body.vivamed-ui .clean-brand img{width:160px!important;height:58px!important;}
  body.vivamed-ui .clean-user-area{grid-column:2!important;grid-row:1!important;}
  body.vivamed-ui nav.clean-nav,body.vivamed-ui .clean-nav{grid-column:1 / -1!important;grid-row:2!important;height:48px!important;padding:0 0 4px!important;overflow-x:auto!important;overflow-y:hidden!important;}
  body.vivamed-ui .clean-nav-group{height:46px!important;}
  body.vivamed-ui .clean-dropdown{position:fixed!important;top:122px!important;left:14px!important;right:14px!important;width:auto!important;max-width:none!important;}
}
@media(max-width:720px){
  body.vivamed-ui .clean-header-main{padding:10px 12px!important;}
  body.vivamed-ui .clean-brand img{width:145px!important;height:54px!important;}
  body.vivamed-ui .icon-btn{display:none!important;}
  body.vivamed-ui .clean-avatar{width:38px!important;height:38px!important;min-width:38px!important;}
  body.vivamed-ui .clean-logout{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:13px!important;}
  body.vivamed-ui .clean-subnav{padding:8px 12px!important;height:auto!important;}
}

/* =========================================================
   CORREÇÃO FINAL — VIVAMED MENU SUPERIOR + SUBMENUS VERTICAIS
   ========================================================= */
body.vivamed-ui .clean-header{z-index:9999!important;overflow:visible!important;}
body.vivamed-ui .clean-header-main{max-width:100%!important;width:100%!important;height:76px!important;min-height:76px!important;padding:0 22px!important;gap:18px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important;}
body.vivamed-ui .clean-brand{width:185px!important;flex:0 0 185px!important;}
body.vivamed-ui .clean-brand img{width:160px!important;height:60px!important;object-fit:contain!important;opacity:.96!important;}
body.vivamed-ui .clean-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:2px!important;flex:1 1 auto!important;min-width:0!important;height:76px!important;overflow:visible!important;}
body.vivamed-ui .clean-nav-group{position:relative!important;height:76px!important;display:flex!important;align-items:center!important;flex:0 0 auto!important;}
body.vivamed-ui .clean-nav-item,body.vivamed-ui .clean-nav-button,body.vivamed-ui .clean-nav a{height:40px!important;min-height:40px!important;padding:0 11px!important;border-radius:6px!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;color:#334039!important;border:1px solid transparent!important;box-shadow:none!important;background:transparent!important;line-height:1!important;}
body.vivamed-ui .clean-nav-item .nav-ico,body.vivamed-ui .clean-nav-button .nav-ico{font-size:15px!important;width:18px!important;display:inline-flex!important;justify-content:center!important;}
body.vivamed-ui .clean-nav-item:hover,body.vivamed-ui .clean-nav-button:hover{background:#faf7f2!important;border-color:#eadfce!important;color:#8a5a1d!important;}
body.vivamed-ui .clean-nav-item.active,body.vivamed-ui .clean-nav-group.open>.clean-nav-item,body.vivamed-ui .clean-nav-group.open>.clean-nav-button{background:#f6efe4!important;color:#8a5a1d!important;border-color:#dec293!important;box-shadow:inset 0 -2px 0 var(--vm-gold)!important;}
body.vivamed-ui .clean-user-area{margin-left:auto!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:max-content!important;}
body.vivamed-ui .icon-btn,body.vivamed-ui .clean-avatar{width:38px!important;height:38px!important;border-radius:7px!important;}
body.vivamed-ui .clean-userbox{min-width:110px!important;}
body.vivamed-ui .clean-userbox b{font-size:13px!important;font-weight:600!important;}
body.vivamed-ui .clean-userbox span{font-size:12px!important;}
body.vivamed-ui .clean-logout{height:38px!important;border-radius:7px!important;padding:0 15px!important;font-weight:600!important;background:#b47a2b!important;}

/* Dropdown em cascata vertical */
body.vivamed-ui .clean-dropdown,body.vivamed-ui .clean-dropdown.wide{position:absolute!important;top:58px!important;left:0!important;display:none!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:230px!important;min-width:230px!important;max-width:260px!important;padding:6px!important;margin:0!important;background:#fff!important;border:1px solid #e6e1d8!important;border-radius:8px!important;box-shadow:0 18px 40px rgba(35,35,35,.12)!important;z-index:20000!important;overflow:visible!important;}
body.vivamed-ui .clean-nav-group:hover>.clean-dropdown,body.vivamed-ui .clean-nav-group.mobile-open>.clean-dropdown{display:flex!important;}
body.vivamed-ui .clean-dropdown a,body.vivamed-ui .clean-dropdown a:visited{width:100%!important;height:38px!important;min-height:38px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:0 10px!important;border-radius:5px!important;color:#3d4742!important;background:#fff!important;border:0!important;box-shadow:none!important;font-size:13.5px!important;font-weight:500!important;line-height:1.1!important;text-align:left!important;white-space:nowrap!important;}
body.vivamed-ui .clean-dropdown a span{width:20px!important;min-width:20px!important;text-align:center!important;font-size:15px!important;}
body.vivamed-ui .clean-dropdown a:hover{background:#f6efe4!important;color:#8a5a1d!important;}

/* Submenu contextual abaixo do topo: vertical e alinhado à esquerda */
body.vivamed-ui .clean-subnav{max-width:100%!important;width:100%!important;min-height:48px!important;height:auto!important;margin:0!important;padding:8px 22px 8px 207px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:4px!important;overflow:visible!important;background:rgba(255,255,255,.98)!important;border-top:1px solid #eee8df!important;border-bottom:1px solid #eee8df!important;box-shadow:0 7px 18px rgba(35,35,35,.035)!important;}
body.vivamed-ui .clean-subnav a{width:230px!important;max-width:230px!important;height:34px!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:0 10px!important;border-radius:5px!important;background:transparent!important;border:1px solid transparent!important;border-bottom:1px solid transparent!important;box-shadow:none!important;color:#4d5953!important;font-size:13.5px!important;font-weight:500!important;text-align:left!important;text-decoration:none!important;white-space:nowrap!important;}
body.vivamed-ui .clean-subnav a span{width:20px!important;min-width:20px!important;text-align:center!important;font-size:15px!important;}
body.vivamed-ui .clean-subnav a:hover{background:#faf7f2!important;border-color:#eadfce!important;color:#8a5a1d!important;}
body.vivamed-ui .clean-subnav a.active{background:#f6efe4!important;border-color:#dec293!important;color:#8a5a1d!important;}
body.vivamed-ui .clean-main,body.vivamed-ui .main{padding-top:28px!important;}
body.vivamed-ui .card,body.vivamed-ui .table,body.vivamed-ui input,body.vivamed-ui select,body.vivamed-ui textarea{border-radius:10px!important;}
body.vivamed-ui .btn,body.vivamed-ui button.btn,body.vivamed-ui input[type=submit].btn{border-radius:7px!important;font-weight:600!important;}
body.vivamed-ui h1,body.vivamed-ui h2,body.vivamed-ui h3{font-weight:650!important;}
@media(max-width:1180px){body.vivamed-ui .clean-header-main{height:auto!important;min-height:76px!important;flex-wrap:wrap!important;padding:10px 16px!important;}body.vivamed-ui .clean-brand{width:150px!important;flex:0 0 150px!important;}body.vivamed-ui .clean-brand img{width:138px!important;}body.vivamed-ui .clean-nav{order:3!important;width:100%!important;height:auto!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:4px!important;}body.vivamed-ui .clean-nav-group{height:46px!important;}body.vivamed-ui .clean-dropdown{top:44px!important;}body.vivamed-ui .clean-subnav{padding-left:16px!important;}}
@media(max-width:720px){body.vivamed-ui .clean-userbox{display:none!important;}body.vivamed-ui .clean-subnav a{width:100%!important;max-width:100%!important;}}


/* =========================================================
   VIVAMED — MENU FINAL COM DROPDOWN VERTICAL NO HOVER
   - remove submenu fixo inferior
   - dropdown em cascata vertical
   - menu principal ativo destacado
   - visual limpo, neutro e mais quadrado
   ========================================================= */
body.vivamed-ui .clean-subnav,
body.vivamed-ui .vivamed-subnav{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.vivamed-ui .clean-header{
  overflow:visible!important;
  z-index:99999!important;
}
body.vivamed-ui .clean-header-main{
  max-width:100%!important;
  width:100%!important;
  height:76px!important;
  min-height:76px!important;
  padding:0 26px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-brand{
  flex:0 0 180px!important;
  width:180px!important;
}
body.vivamed-ui .clean-brand img{
  width:158px!important;
  height:58px!important;
  object-fit:contain!important;
  opacity:.96!important;
}
body.vivamed-ui .clean-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  height:76px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
}
body.vivamed-ui .clean-nav-group{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:76px!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-nav-item,
body.vivamed-ui .clean-nav-button,
body.vivamed-ui .clean-nav > a{
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:6px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#344039!important;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.vivamed-ui .clean-nav-item .nav-ico,
body.vivamed-ui .clean-nav-button .nav-ico{
  width:18px!important;
  min-width:18px!important;
  display:inline-flex!important;
  justify-content:center!important;
  font-size:15px!important;
}
body.vivamed-ui .clean-nav-item:hover,
body.vivamed-ui .clean-nav-button:hover{
  background:#faf7f2!important;
  color:#8a5a1d!important;
  border-color:#eadfce!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button,
body.vivamed-ui .clean-nav-group.open > .clean-nav-item{
  background:#f6efe4!important;
  color:#8a5a1d!important;
  border-color:#dec293!important;
  box-shadow:inset 0 -2px 0 #b47a2b!important;
}
body.vivamed-ui .clean-dropdown,
body.vivamed-ui .clean-dropdown.wide{
  position:absolute!important;
  top:61px!important;
  left:0!important;
  display:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:2px!important;
  width:228px!important;
  min-width:228px!important;
  max-width:260px!important;
  padding:7px!important;
  background:#ffffff!important;
  border:1px solid #e6e1d8!important;
  border-radius:7px!important;
  box-shadow:0 18px 40px rgba(35,35,35,.13)!important;
  z-index:100000!important;
  overflow:visible!important;
}
body.vivamed-ui .clean-nav-group:hover > .clean-dropdown,
body.vivamed-ui .clean-nav-group.mobile-open > .clean-dropdown{
  display:flex!important;
}
body.vivamed-ui .clean-dropdown a,
body.vivamed-ui .clean-dropdown a:visited{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:0 10px!important;
  border-radius:5px!important;
  background:#fff!important;
  border:0!important;
  color:#3d4742!important;
  box-shadow:none!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.1!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
body.vivamed-ui .clean-dropdown a span{
  width:20px!important;
  min-width:20px!important;
  text-align:center!important;
  font-size:15px!important;
}
body.vivamed-ui .clean-dropdown a:hover{
  background:#f6efe4!important;
  color:#8a5a1d!important;
}
body.vivamed-ui .clean-user-area{
  margin-left:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:max-content!important;
}
body.vivamed-ui .icon-btn,
body.vivamed-ui .clean-avatar{
  width:38px!important;
  height:38px!important;
  border-radius:7px!important;
}
body.vivamed-ui .clean-logout{
  height:38px!important;
  border-radius:7px!important;
  padding:0 15px!important;
  font-weight:600!important;
}
body.vivamed-ui .clean-main,
body.vivamed-ui .main{
  padding-top:28px!important;
}
body.vivamed-ui .card,
body.vivamed-ui .table,
body.vivamed-ui input,
body.vivamed-ui select,
body.vivamed-ui textarea,
body.vivamed-ui .btn{
  border-radius:8px!important;
}
@media(max-width:1180px){
  body.vivamed-ui .clean-header-main{height:auto!important;min-height:76px!important;flex-wrap:wrap!important;padding:10px 16px!important;}
  body.vivamed-ui .clean-brand{flex:0 0 145px!important;width:145px!important;}
  body.vivamed-ui .clean-brand img{width:136px!important;}
  body.vivamed-ui .clean-nav{order:3!important;width:100%!important;height:auto!important;flex-wrap:wrap!important;justify-content:flex-start!important;}
  body.vivamed-ui .clean-nav-group{height:46px!important;}
  body.vivamed-ui .clean-dropdown{top:44px!important;}
}
@media(max-width:720px){
  body.vivamed-ui .clean-userbox{display:none!important;}
  body.vivamed-ui .clean-dropdown,body.vivamed-ui .clean-dropdown.wide{left:0!important;width:230px!important;min-width:230px!important;}
}


/* =========================================================
   VIVAMED FIX DEFINITIVO — SUBMENU VERTICAL SOMENTE NO HOVER
   ========================================================= */
body.vivamed-ui .clean-subnav{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important;}
body.vivamed-ui .clean-header{overflow:visible!important;z-index:99999!important;}
body.vivamed-ui .clean-header-main{overflow:visible!important;position:relative!important;}
body.vivamed-ui .clean-nav{overflow:visible!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;}
body.vivamed-ui .clean-nav-group{position:relative!important;overflow:visible!important;display:flex!important;align-items:center!important;}
body.vivamed-ui .clean-nav-item,
body.vivamed-ui .clean-nav-button{
  border-radius:8px!important;
  font-weight:500!important;
  font-size:15px!important;
  box-shadow:none!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button,
body.vivamed-ui .clean-nav-group.open > .clean-nav-item{
  background:#f6efe4!important;
  color:#8a5a1d!important;
  border-color:#dec293!important;
  box-shadow:inset 0 -2px 0 #b47a2b!important;
}
body.vivamed-ui .clean-dropdown,
body.vivamed-ui .clean-dropdown.wide{
  position:absolute!important;
  left:0!important;
  top:58px!important;
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
  height:auto!important;
  min-height:0!important;
  padding:7px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #e6e1d8!important;
  border-radius:8px!important;
  box-shadow:0 18px 38px rgba(35,35,35,.14)!important;
  z-index:999999!important;
  overflow:visible!important;
  display:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:3px!important;
}
body.vivamed-ui .clean-nav-group:hover > .clean-dropdown,
body.vivamed-ui .clean-nav-group.mobile-open > .clean-dropdown{
  display:flex!important;
}
body.vivamed-ui .clean-dropdown a,
body.vivamed-ui .clean-dropdown a:link,
body.vivamed-ui .clean-dropdown a:visited{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 10px!important;
  gap:9px!important;
  border-radius:5px!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#344039!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1!important;
  float:none!important;
  clear:both!important;
}
body.vivamed-ui .clean-dropdown a span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1!important;
  text-align:center!important;
}
body.vivamed-ui .clean-dropdown a:hover{
  background:#f6efe4!important;
  color:#8a5a1d!important;
}
body.vivamed-ui .clean-main,
body.vivamed-ui .main{padding-top:28px!important;}
@media(max-width:1180px){
  body.vivamed-ui .clean-dropdown,body.vivamed-ui .clean-dropdown.wide{top:44px!important;left:0!important;width:245px!important;min-width:245px!important;max-width:245px!important;}
}


/* =========================================================
   VIVAMED — DROPDOWN REALMENTE VERTICAL, SEM SUBMENU FIXO
   Esta regra usa classes novas para não herdar CSS antigo.
   ========================================================= */
body.vivamed-ui .clean-subnav,
body.vivamed-ui .vivamed-subnav{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.vivamed-ui .clean-header,
body.vivamed-ui .clean-header-main,
body.vivamed-ui .clean-nav,
body.vivamed-ui .clean-nav-group{
  overflow:visible!important;
}
body.vivamed-ui .clean-header{z-index:999999!important;}
body.vivamed-ui .clean-nav{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
}
body.vivamed-ui .clean-nav-group{
  position:relative!important;
  height:76px!important;
  display:flex!important;
  align-items:center!important;
}
body.vivamed-ui .vm-dropdown{
  position:absolute!important;
  top:58px!important;
  left:0!important;
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:none!important;
  grid-template-columns:1fr!important;
  grid-auto-flow:row!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  padding:6px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #e6e1d8!important;
  border-radius:8px!important;
  box-shadow:0 18px 38px rgba(35,35,35,.14)!important;
  z-index:9999999!important;
  overflow:visible!important;
  float:none!important;
  clear:both!important;
  text-align:left!important;
}
body.vivamed-ui .clean-nav-group:hover > .vm-dropdown,
body.vivamed-ui .clean-nav-group.mobile-open > .vm-dropdown{
  display:grid!important;
}
body.vivamed-ui .vm-dropdown > .vm-dd-link,
body.vivamed-ui .vm-dropdown > a.vm-dd-link,
body.vivamed-ui .vm-dropdown > a.vm-dd-link:link,
body.vivamed-ui .vm-dropdown > a.vm-dd-link:visited{
  position:relative!important;
  display:grid!important;
  grid-template-columns:24px 1fr!important;
  align-items:center!important;
  justify-items:start!important;
  column-gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:5px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#344039!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
}
body.vivamed-ui .vm-dropdown > a.vm-dd-link + a.vm-dd-link{
  margin-top:2px!important;
}
body.vivamed-ui .vm-dropdown > a.vm-dd-link span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  margin:0!important;
  padding:0!important;
  font-size:15px!important;
  line-height:1!important;
  text-align:center!important;
  grid-column:1!important;
}
body.vivamed-ui .vm-dropdown > a.vm-dd-link:hover{
  background:#f6efe4!important;
  color:#8a5a1d!important;
}
/* neutraliza regras antigas que tentavam transformar dropdown em faixa horizontal */
body.vivamed-ui .clean-dropdown,
body.vivamed-ui .clean-dropdown.wide{
  display:none!important;
}
@media(max-width:1180px){
  body.vivamed-ui .vm-dropdown{top:44px!important;left:0!important;width:245px!important;min-width:245px!important;max-width:245px!important;}
}


/* Foto de perfil dos médicos */
.doctor-photo-panel{
  display:flex;
  align-items:center;
  gap:20px;
  padding:18px;
  margin-bottom:22px;
  border:1px solid var(--vm-border, #e6e1d8);
  background:#fff;
  border-radius:12px;
}
.doctor-photo-preview,
.doctor-list-photo{
  overflow:hidden;
  border-radius:999px;
  background:#f6efe4;
  border:1px solid #dec293;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.doctor-photo-preview{
  width:116px;
  height:116px;
}
.doctor-photo-preview img,
.doctor-list-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.doctor-photo-empty{
  font-size:42px;
  color:#8a5a1d;
}
.doctor-list-cell{
  display:flex;
  align-items:center;
  gap:12px;
}
.doctor-list-photo{
  width:44px;
  height:44px;
}
.doctor-list-photo span{
  font-size:20px;
}
@media(max-width:720px){
  .doctor-photo-panel{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Módulo de limpeza de testes */
.cleanup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.cleanup-card{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:14px;
  align-items:start;
  border:1px solid var(--vm-border,#e6e1d8);
  background:#fffdf8;
  border-radius:10px;
  padding:16px;
}
.cleanup-ico{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f6efe4;
  color:#8a5a1d;
  font-size:23px;
}
.cleanup-card b{
  display:block;
  color:#263238;
  margin-bottom:4px;
}
.cleanup-card p{
  color:#66706b;
  margin:0 0 10px;
  font-size:13px;
}
.cleanup-card label{
  display:block;
  font-size:12px;
  color:#66706b;
  margin-bottom:5px;
}
.cleanup-card input{
  margin-bottom:10px;
}
@media(max-width:860px){
  .cleanup-grid{grid-template-columns:1fr}
}


/* Ações em linha e botões de eliminação individual */
.row-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.row-actions a{
  text-decoration:none;
}
.row-actions form{
  display:inline-flex;
  margin:0;
}
.link-danger{
  border:0;
  background:transparent;
  color:#b42318;
  cursor:pointer;
  font:inherit;
  font-weight:600;
  padding:0;
  text-decoration:underline;
}
.link-danger:hover{
  color:#7a271a;
}
.btn.small{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  border-radius:6px!important;
  font-size:12px!important;
}


/* Filtro de relatórios financeiros em uma linha */
.report-filter-card{
  padding:22px!important;
}
.report-filter-form{
  width:100%;
}
.report-filter-row{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
  align-items:end;
}
.report-filter-row label{
  display:block;
  margin:0;
}
.report-filter-row label span{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#66706b;
  margin-bottom:6px;
}
.report-filter-row input,
.report-filter-row select{
  width:100%;
  height:44px;
  border:1px solid #d9e2ec;
  border-radius:8px!important;
  background:#fff;
  padding:0 12px;
  color:#102033;
  font-size:15px;
}
.report-filter-actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-start;
}
.report-filter-actions .btn{
  min-width:190px;
}
@media(max-width:800px){
  .report-filter-row{
    grid-template-columns:1fr;
  }
  .report-filter-actions .btn{
    width:100%;
  }
}


/* Filtro de repasses médicos em 3 colunas */
.repasse-filter-card{
  padding:22px!important;
}
.repasse-filter-row{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
  align-items:end;
}
.repasse-filter-row label{
  display:block;
  margin:0;
}
.repasse-filter-row label span{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#66706b;
  margin-bottom:6px;
}
.repasse-filter-row input,
.repasse-filter-row select{
  width:100%;
  height:44px;
  border:1px solid #d9e2ec;
  border-radius:8px!important;
  background:#fff;
  padding:0 12px;
  color:#102033;
  font-size:15px;
}
.repasse-filter-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}
@media(max-width:800px){
  .repasse-filter-row{
    grid-template-columns:1fr;
  }
  .repasse-filter-actions .btn{
    width:100%;
  }
}


/* Login VivaMed clean v2 */
body.login-clean-v2{
  min-height:100vh!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 15% 15%, rgba(180,122,43,.14), transparent 32%),
    linear-gradient(135deg,#f6f1e8 0%,#ffffff 48%,#eee4d6 100%)!important;
  padding:28px!important;
}
.login-clean-wrap{
  width:min(920px,100%)!important;
}
.login-clean-card{
  background:#fff!important;
  border:1px solid #eadfce!important;
  box-shadow:0 30px 80px rgba(31,41,51,.18)!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.login-clean-logo{
  height:300px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-bottom:1px solid #eadfce!important;
  overflow:hidden!important;
}
.login-clean-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:20px 32px!important;
}
.login-clean-content{
  max-width:520px!important;
  margin:0 auto!important;
  padding:38px 34px 44px!important;
  text-align:center!important;
}
.login-clean-content h1{
  margin:0 0 8px!important;
  color:#09203f!important;
  font-size:32px!important;
  line-height:1.08!important;
}
.login-clean-content p{
  margin:0 0 28px!important;
  color:#667085!important;
  font-size:16px!important;
}
.login-clean-form{
  text-align:left!important;
}
.login-clean-form label{
  display:block!important;
  color:#0f1c33!important;
  font-weight:700!important;
  margin-bottom:16px!important;
}
.login-clean-form input{
  width:100%!important;
  height:50px!important;
  border:1px solid #d8dee9!important;
  border-radius:10px!important;
  padding:0 14px!important;
  margin-top:7px!important;
  font-size:16px!important;
}
.login-clean-form button{
  width:100%!important;
  height:50px!important;
  border-radius:10px!important;
  margin-top:4px!important;
  font-size:16px!important;
}
.login-clean-help{
  margin-top:18px!important;
  color:#7a8394!important;
  font-size:14px!important;
}
@media(max-width:720px){
  body.login-clean-v2{padding:14px!important}
  .login-clean-logo{height:210px!important}
  .login-clean-content{padding:28px 22px 32px!important}
  .login-clean-content h1{font-size:26px!important}
}

/* Filtro da agenda / recibos de clientes em 3 colunas */
.agenda-filter-card{padding:22px!important}
.agenda-filter-row{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
  align-items:end;
}
.agenda-filter-row label{display:block;margin:0}
.agenda-filter-row label span{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#66706b;
  margin-bottom:6px;
}
.agenda-filter-row input,
.agenda-filter-row select{
  width:100%;
  height:44px;
  border:1px solid #d9e2ec;
  border-radius:8px!important;
  background:#fff;
  padding:0 12px;
  color:#102033;
  font-size:15px;
}
.agenda-filter-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}
@media(max-width:800px){
  .agenda-filter-row{grid-template-columns:1fr}
  .agenda-filter-actions .btn{width:100%}
}

/* Card explicativo no topo das telas */
.page-help-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:#fffdf8;
  border:1px solid #eadfce;
  border-left:4px solid #b47a2b;
  border-radius:10px;
  padding:13px 16px;
  margin:-6px 0 22px;
  color:#58645f;
  box-shadow:0 8px 22px rgba(31,41,51,.04);
}
.page-help-card span{
  font-size:18px;
  line-height:1;
}
.page-help-card p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}


/* Rodapé institucional VivaMed Cloud */
.system-footer.vivamed-system-footer{
  text-align:center;
  padding:20px 16px;
  margin-top:34px;
  font-size:13px;
  line-height:1.55;
  color:#66706b;
  border-top:1px solid #e8dfcf;
  background:#fff;
}
.system-footer.vivamed-system-footer span{
  color:#7a5a2c;
}


/* Formulário de agenda / novo atendimento mais moderno */
.appointment-form-card{
  max-width:1180px!important;
  margin:0 auto 28px!important;
  padding:26px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e6edf5!important;
  box-shadow:0 16px 42px rgba(15,23,42,.06)!important;
}
.appointment-form-card .form-section-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:8px 0 20px!important;
  color:#142033!important;
  font-size:22px!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
}
.appointment-form-card .form-section-title span{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  background:#f4efe8!important;
  color:#a06923!important;
  border:1px solid #e2cda8!important;
  font-size:16px!important;
  font-weight:700!important;
}
.appointment-form-card label,
.appointment-form-card .field label{
  display:block!important;
  margin:0 0 8px!important;
  color:#172033!important;
  font-size:15px!important;
  font-weight:650!important;
}
.appointment-form-card input:not([type=checkbox]):not([type=radio]),
.appointment-form-card select,
.appointment-form-card textarea{
  width:100%!important;
  min-height:52px!important;
  padding:0 16px!important;
  border:1px solid #d8e2ef!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#102033!important;
  font-size:16px!important;
  line-height:1.35!important;
  box-shadow:0 8px 20px rgba(15,23,42,.025)!important;
  transition:border-color .18s ease, box-shadow .18s ease!important;
}
.appointment-form-card textarea{
  min-height:96px!important;
  padding-top:14px!important;
  resize:vertical!important;
}
.appointment-form-card input:focus,
.appointment-form-card select:focus,
.appointment-form-card textarea:focus{
  outline:0!important;
  border-color:#b47a2b!important;
  box-shadow:0 0 0 4px rgba(180,122,43,.13), 0 12px 28px rgba(15,23,42,.045)!important;
}
.appointment-form-card small,
.appointment-form-card .muted{
  display:block!important;
  margin-top:7px!important;
  color:#6b7687!important;
  font-size:13px!important;
}
.appointment-form-card input[type=checkbox]{
  width:22px!important;
  height:22px!important;
  accent-color:#b47a2b!important;
}
.appointment-form-card .btn,
.appointment-form-card button.btn,
.appointment-form-card a.btn{
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:10px!important;
  font-size:15px!important;
  font-weight:700!important;
}
.appointment-form-card .card.soft,
.appointment-form-card .soft{
  border-radius:12px!important;
  padding:18px 20px!important;
  background:#fffdf8!important;
  border:1px solid #eadfce!important;
}
body.vivamed-ui .card form input:not([type=checkbox]):not([type=radio]),
body.vivamed-ui .card form select{
  min-height:46px;
}
body.vivamed-ui .card form textarea{
  min-height:88px;
}
@media(max-width:760px){
  .appointment-form-card{
    padding:18px!important;
    border-radius:12px!important;
  }
  .appointment-form-card .form-section-title{
    font-size:20px!important;
  }
  .appointment-form-card input:not([type=checkbox]):not([type=radio]),
  .appointment-form-card select,
  .appointment-form-card textarea{
    min-height:50px!important;
    font-size:16px!important;
  }
  .appointment-form-card .btn,
  .appointment-form-card button.btn,
  .appointment-form-card a.btn{
    width:100%!important;
    justify-content:center!important;
    margin-bottom:8px!important;
  }
}


/* CAMPOS MODERNOS GLOBAIS — VIVAMED */
body.vivamed-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.vivamed-ui select,
body.vivamed-ui textarea,
body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body:not(.login-page) select,
body:not(.login-page) textarea{
  width:100% !important;
  min-height:56px !important;
  padding:0 18px !important;
  border:1.5px solid #d7e0ee !important;
  border-radius:16px !important;
  background:#ffffff !important;
  color:#0f1c33 !important;
  font-size:17px !important;
  line-height:1.35 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.045) !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body.vivamed-ui textarea,
body:not(.login-page) textarea{
  min-height:110px !important;
  padding-top:16px !important;
  padding-bottom:16px !important;
  resize:vertical !important;
}

body.vivamed-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):focus,
body.vivamed-ui select:focus,
body.vivamed-ui textarea:focus,
body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):focus,
body:not(.login-page) select:focus,
body:not(.login-page) textarea:focus{
  outline:0 !important;
  border-color:#b47a2b !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(180,122,43,.13), 0 16px 36px rgba(15,23,42,.07) !important;
}

body.vivamed-ui input::placeholder,
body.vivamed-ui textarea::placeholder,
body:not(.login-page) input::placeholder,
body:not(.login-page) textarea::placeholder{
  color:#9aa4b2 !important;
}

body.vivamed-ui label,
body.vivamed-ui .field label,
body:not(.login-page) label,
body:not(.login-page) .field label{
  display:block !important;
  margin-bottom:9px !important;
  color:#102033 !important;
  font-size:15.5px !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
}

body.vivamed-ui .field,
body:not(.login-page) .field{
  margin-bottom:20px !important;
}

body.vivamed-ui .form-grid,
body:not(.login-page) .form-grid{
  gap:22px 26px !important;
}

body.vivamed-ui input[type="checkbox"],
body:not(.login-page) input[type="checkbox"]{
  width:22px !important;
  height:22px !important;
  accent-color:#b47a2b !important;
}

body.vivamed-ui input[type="file"],
body:not(.login-page) input[type="file"]{
  width:100% !important;
  min-height:48px !important;
  padding:10px 14px !important;
  border:1.5px dashed #d7e0ee !important;
  border-radius:16px !important;
  background:#fffdf8 !important;
  color:#0f1c33 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.035) !important;
}

body.vivamed-ui .btn,
body.vivamed-ui button.btn,
body.vivamed-ui input[type="submit"].btn,
body:not(.login-page) .btn,
body:not(.login-page) button.btn,
body:not(.login-page) input[type="submit"].btn{
  min-height:50px !important;
  padding:0 24px !important;
  border-radius:14px !important;
  font-size:15.5px !important;
  font-weight:750 !important;
}

body.vivamed-ui .actions input,
body.vivamed-ui .actions select,
body:not(.login-page) .actions input,
body:not(.login-page) .actions select{
  min-height:52px !important;
  border-radius:16px !important;
}

@media(max-width:760px){
  body.vivamed-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  body.vivamed-ui select,
  body.vivamed-ui textarea,
  body:not(.login-page) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  body:not(.login-page) select,
  body:not(.login-page) textarea{
    min-height:54px !important;
    font-size:16px !important;
    border-radius:14px !important;
  }
}


/* Fechamento de caixa por período */
.caixa-filter-card{
  padding:22px!important;
}
.caixa-filter-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:end;
}
.caixa-filter-row label{
  display:block;
  margin:0;
}
.caixa-filter-row label span{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#66706b;
  margin-bottom:6px;
}
.caixa-filter-row input{
  width:100%;
  height:44px;
  border:1px solid #d9e2ec;
  border-radius:8px!important;
  background:#fff;
  padding:0 12px;
  color:#102033;
  font-size:15px;
}
.caixa-filter-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}
@media(max-width:760px){
  .caixa-filter-row{
    grid-template-columns:1fr;
  }
  .caixa-filter-actions .btn{
    width:100%;
  }
}

/* Botões do recibo médico no rodapé do modal, sem ficar sob o menu */
.receipt-modal-header-clean{
  position:relative!important;
  z-index:1!important;
}
.receipt-modal-actions-bottom{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  padding:18px 24px!important;
  background:#fffdf8!important;
  border-top:1px solid #eadfce!important;
  box-shadow:0 -8px 22px rgba(15,23,42,.08)!important;
}
.receipt-modal-box{
  padding-bottom:0!important;
}
@media(max-width:760px){
  .receipt-modal-actions-bottom{
    position:static!important;
    flex-direction:column!important;
  }
  .receipt-modal-actions-bottom .btn{
    width:100%!important;
  }
}


/* Histórico de repasses — exclusão individual e em lote */
.history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.history-head h2{
  margin-bottom:6px;
}
.history-head form{
  margin:0;
}
.btn.danger{
  background:#b42318!important;
  color:#fff!important;
  border-color:#b42318!important;
}
.link-danger{
  border:0;
  background:transparent;
  color:#b42318;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  padding:0;
  text-decoration:underline;
}
.link-danger:hover{
  color:#7a271a;
}
.check-repasse,
#checkTodosRepasses{
  width:20px!important;
  height:20px!important;
  accent-color:#b47a2b!important;
}
@media(max-width:760px){
  .history-head{
    display:block;
  }
  .history-head .btn{
    width:100%;
    margin-top:12px;
  }
}

.dashboard-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.dashboard-filter label span{display:block;font-size:12px;font-weight:600;color:#667085;margin-bottom:6px}.weekday-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.repasse-filter-row{grid-template-columns:2fr 1fr!important}@media(max-width:760px){.dashboard-filter,.weekday-grid{grid-template-columns:1fr}}


/* Dashboard por período */
.dashboard-period-card{
  padding:22px!important;
  border-left:4px solid #b47a2b!important;
}
.dashboard-filter{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  gap:14px!important;
  align-items:end!important;
  margin-top:16px!important;
}
.dashboard-filter label span{
  display:block!important;
  margin-bottom:7px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#4b5563!important;
}
.dashboard-filter input{
  min-width:210px!important;
}

/* Agenda massiva dentro do cadastro do médico */
.doctor-mass-schedule{
  border:1px solid #e6d7bf!important;
  background:#fffdf8!important;
  border-radius:16px!important;
  padding:22px!important;
}
.doctor-mass-schedule h2{
  margin-top:0!important;
}
.weekday-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.weekday-grid .checkline{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  background:#fff!important;
  font-weight:600!important;
}

/* Campo de pagamento parcial */
#valor_parcial_box{
  padding:14px!important;
  border:1px solid #f0c36b!important;
  border-radius:14px!important;
  background:#fffaf0!important;
}

@media(max-width:850px){
  .dashboard-filter{
    grid-template-columns:1fr!important;
  }
  .dashboard-filter input{
    min-width:0!important;
  }
  .weekday-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Agenda do médico por datas específicas */
.date-schedule-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.date-schedule-row{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid #e3e9f1;
  border-radius:14px;
  background:#fbfcfe;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.date-schedule-row label{
  margin:0!important;
}
.date-schedule-row label span{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:700;
  color:#4b5563;
}
.remove-date-row{
  min-width:110px!important;
}
@media(max-width:860px){
  .date-schedule-row{
    grid-template-columns:1fr;
  }
  .remove-date-row{
    width:100%!important;
  }
}


/* =========================================================
   AJUSTE FINAL — MENU CENTRALIZADO E LOGO VIVAMED MAIOR
   ========================================================= */
@media(min-width:1181px){
  body.vivamed-ui .clean-header-main{
    width:100%!important;
    max-width:1780px!important;
    min-height:88px!important;
    height:88px!important;
    margin:0 auto!important;
    padding:0 28px!important;
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:22px!important;
    overflow:visible!important;
  }
  body.vivamed-ui .clean-brand,
  body.vivamed-ui .vivamed-brand{
    grid-column:1!important;
    width:230px!important;
    min-width:230px!important;
    height:80px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:0!important;
  }
  body.vivamed-ui .clean-brand img,
  body.vivamed-ui .vivamed-brand img{
    width:205px!important;
    max-width:205px!important;
    height:76px!important;
    max-height:76px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  body.vivamed-ui nav.clean-nav,
  body.vivamed-ui .clean-nav,
  body.vivamed-ui .vivamed-nav{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    height:88px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.vivamed-ui .clean-user-area{
    grid-column:3!important;
    margin:0!important;
    justify-self:end!important;
  }
}
@media(max-width:1180px) and (min-width:721px){
  body.vivamed-ui .clean-header-main{
    min-height:82px!important;
  }
  body.vivamed-ui .clean-brand img,
  body.vivamed-ui .vivamed-brand img{
    width:172px!important;
    height:64px!important;
  }
  body.vivamed-ui .clean-nav{
    justify-content:center!important;
  }
}
@media(max-width:720px){
  body.vivamed-ui .clean-brand img,
  body.vivamed-ui .vivamed-brand img{
    width:152px!important;
    height:56px!important;
  }
  body.vivamed-ui .clean-nav{
    justify-content:flex-start!important;
  }
}


/* Auditoria administrativa */
.audit-filter{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.audit-filter label span{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:700;
  color:#4b5563;
}
.audit-summary{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.audit-table td{
  vertical-align:top;
}
@media(max-width:1180px){
  .audit-filter{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .audit-filter .btn{
    width:100%;
  }
}
@media(max-width:720px){
  .audit-filter,
  .audit-summary{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   IDENTIDADE VISUAL CONFIGURÁVEL
   ========================================================= */
body.vivamed-ui,
body.login-page{
  background:var(--vm-bg)!important;
  color:var(--vm-text)!important;
}
body.vivamed-ui a:not(.btn):not(.clean-nav-item):not(.vm-dd-link),
body.login-page a{
  color:var(--vm-link);
}
body.vivamed-ui .card,
body.vivamed-ui .table,
body.vivamed-ui .clean-header,
body.vivamed-ui .page-help-card,
body.login-page .login-clean-card{
  background-color:var(--vm-surface)!important;
  border-color:var(--vm-border)!important;
}
body.vivamed-ui .clean-nav-item.active,
body.vivamed-ui .clean-nav-group.open > .clean-nav-button,
body.vivamed-ui .clean-nav-item:hover{
  color:var(--vm-primary-dark)!important;
  border-bottom-color:var(--vm-primary)!important;
  background:color-mix(in srgb,var(--vm-primary) 10%,white)!important;
}
body.vivamed-ui .clean-logout,
body.vivamed-ui .btn.gold,
body.login-page .btn.gold{
  background:var(--vm-accent)!important;
  border-color:var(--vm-accent)!important;
}
body.vivamed-ui .btn:not(.secondary):not(.danger):not(.gold):not(.success){
  background:var(--vm-primary)!important;
  border-color:var(--vm-primary)!important;
}
body.vivamed-ui .btn.success,
body.vivamed-ui .alert.success,
body.vivamed-ui .badge.success{
  background:var(--vm-success)!important;
}
body.vivamed-ui .btn.danger,
body.vivamed-ui .alert.error,
body.vivamed-ui .badge.danger{
  background:var(--vm-danger)!important;
}
body.vivamed-ui h1,
body.vivamed-ui h2,
body.vivamed-ui h3,
body.vivamed-ui .table th,
body.login-page h1{
  color:var(--vm-text)!important;
}
body.vivamed-ui .muted,
body.vivamed-ui .clean-page-title p,
body.vivamed-ui .page-help-card p,
body.login-page p{
  color:var(--vm-muted)!important;
}
body.vivamed-ui input,
body.vivamed-ui select,
body.vivamed-ui textarea,
body.login-page input{
  border-color:var(--vm-border)!important;
  background:var(--vm-surface)!important;
  color:var(--vm-text)!important;
}
body.vivamed-ui input:focus,
body.vivamed-ui select:focus,
body.vivamed-ui textarea:focus,
body.login-page input:focus{
  border-color:var(--vm-primary)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--vm-primary) 16%,transparent)!important;
}

/* Configurações visuais */
.system-brand-card{
  overflow:visible!important;
}
.system-logo-editor{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.system-logo-preview{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border:1px solid var(--vm-border);
  border-radius:14px;
  background:linear-gradient(135deg,#fff,#f4f5f7);
}
.system-logo-preview img{
  max-width:100%;
  max-height:190px;
  object-fit:contain;
}
.system-specs{
  margin:16px 0;
  padding:15px 18px;
  border-left:4px solid var(--vm-accent);
  background:color-mix(in srgb,var(--vm-accent) 7%,white);
}
.system-specs ul{
  margin:8px 0 0;
  padding-left:20px;
}
.color-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.color-setting{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px;
  margin:0!important;
  border:1px solid var(--vm-border);
  border-radius:12px;
  background:var(--vm-surface);
}
.color-label{
  display:block;
}
.color-label strong,
.color-label small{
  display:block;
}
.color-label small{
  margin-top:3px;
  color:var(--vm-muted);
  font-weight:400;
}
.color-control{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:170px;
}
.color-control input[type="color"]{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  padding:3px!important;
  border-radius:9px!important;
  cursor:pointer;
}
.color-control input[type="text"]{
  width:105px!important;
  min-height:46px!important;
  font-family:monospace;
  text-transform:uppercase;
}
.system-save-bar{
  position:sticky;
  bottom:0;
  z-index:20;
  display:flex;
  justify-content:flex-end;
  padding:16px 0;
  background:linear-gradient(transparent,var(--vm-bg) 35%);
}
@media(max-width:850px){
  .system-logo-editor,
  .color-settings-grid{
    grid-template-columns:1fr;
  }
  .color-setting{
    align-items:flex-start;
    flex-direction:column;
  }
  .color-control{
    width:100%;
  }
  .color-control input[type="text"]{
    flex:1;
    width:auto!important;
  }
}

/* VivaMed 3.0.7 — mensagens administrativas com alto contraste */
.alert.success,.alert.ok{
  background:#168a57!important;
  color:#ffffff!important;
  border-color:#0f7146!important;
}
.alert.error{
  background:#c6281c!important;
  color:#ffffff!important;
  border-color:#a81f16!important;
}
.alert.info{
  background:#1976a8!important;
  color:#ffffff!important;
  border-color:#135f87!important;
}
.alert.success a,.alert.ok a,.alert.error a,.alert.info a{
  color:#ffffff!important;
  text-decoration:underline;
}

/* VivaMed 3.0.8 — contraste absoluto das notificações, inclusive com tema personalizado */
body.vivamed-ui .alert.success,
body.vivamed-ui .alert.ok,
body.vivamed-ui .alert.success *,
body.vivamed-ui .alert.ok *{
  background-color:#168a57!important;
  color:#ffffff!important;
  border-color:#0f7146!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.vivamed-ui .alert.error,
body.vivamed-ui .alert.error *{
  background-color:#c6281c!important;
  color:#ffffff!important;
  border-color:#a81f16!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.vivamed-ui .alert.info,
body.vivamed-ui .alert.info *{
  background-color:#1976a8!important;
  color:#ffffff!important;
  border-color:#135f87!important;
  text-shadow:none!important;
  opacity:1!important;
}

/* VivaMed 3.0.9 — procedimento extra */
.procedure-extra-card{border-left:4px solid var(--vm-accent,#b47a2b)}
.procedure-extra-card h3{margin-top:0}

/* VivaMed 3.1.0 */
.procedure-extra-card select:disabled{background:#eef1f4;color:#718096;cursor:not-allowed}
.date-schedule-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}
@media(max-width:800px){.date-schedule-row{grid-template-columns:1fr}}

/* VivaMed 3.2.0 — cobrança simplificada e pagamentos divididos */
.payment-builder{border-left:4px solid var(--vm-accent,#b47a2b)}
.payment-method-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:end;
  margin-bottom:12px
}
.payment-toggle{margin:10px 0}
.pdf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:760px){
  .payment-method-row{grid-template-columns:1fr}
  .pdf-actions{flex-direction:column}
}
