/* Tema minimalista compartido. Se carga después de los estilos de cada módulo. */
:root{--bs-primary:#0369a1;--bs-primary-rgb:3,105,161;--bs-link-color:#0369a1;--bs-link-hover-color:#075985;--bs-body-color:#18354b;--bs-body-font-family:"Segoe UI",Arial,sans-serif;--care-border:#d9e7f0}
body{font-family:"Segoe UI",Arial,sans-serif}body.dashboard-page,body.medical-theme,body.bg-body-tertiary{background:#f5faff!important;color:#18354b;min-height:100vh}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0369a1!important;outline-offset:3px}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#0369a1;color:white;font-size:32px;font-weight:400;line-height:1}
.care-hero{max-width:1240px;margin:auto;padding:72px 40px 76px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.care-intro{padding:16px 0}.care-caption{display:flex;align-items:center;gap:12px;margin:32px 0 0;color:#526c80;font-size:12px}.care-caption>span{font-size:24px;color:#0369a1}.care-panel{padding:30px 32px 16px;background:#e0f2fe;border:1px solid #bae6fd;border-radius:18px}.care-panel-top{display:flex;justify-content:space-between;align-items:center;color:#42677f;font-size:10px;font-weight:600;letter-spacing:1.7px}.care-panel-top>span:last-child{font-size:23px}.care-symbol{height:176px;display:grid;place-items:center;color:#0369a1}.care-symbol svg{width:132px;height:132px}.care-panel h2{font-size:34px;line-height:1.15}.care-panel>p{color:#526c80;font-size:13px;margin:16px 0 24px}.care-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #bfdeef;padding:18px 0;font-size:13px;font-weight:600}.care-row small{font-size:10px;font-weight:400;color:#526c80;margin-right:14px}.care-row:hover{color:#0369a1;text-decoration:underline}.care-path{max-width:1160px;margin:0 auto 64px;padding-top:40px;border-top:1px solid #d9e7f0;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:34px}.care-path .eyebrow{display:block;margin-bottom:16px}.care-path h2{font-size:30px}.care-path h3{font-size:16px;margin:18px 0 12px}.care-path p{font-size:13px;line-height:1.8;color:#526c80}.care-path a{font-size:12px;font-weight:600;color:#0369a1}
/* Estados positivos en azul, incluidos Bootstrap y SweetAlert. */
:root{--bs-success:#0369a1;--bs-success-rgb:3,105,161;--bs-success-text-emphasis:#0c4a6e;--bs-success-bg-subtle:#e0f2fe;--bs-success-border-subtle:#bae6fd}
.btn-success,.btn-outline-success{--bs-btn-border-color:#0369a1;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#075985;--bs-btn-hover-border-color:#075985;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0c4a6e;--bs-btn-active-border-color:#0c4a6e;--bs-btn-disabled-border-color:#0369a1;--bs-btn-focus-shadow-rgb:3,105,161}
.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#0369a1;--bs-btn-disabled-bg:#0369a1}
.btn-outline-success{--bs-btn-color:#0369a1;--bs-btn-disabled-color:#0369a1}
.alert-success{--bs-alert-color:#0c4a6e;--bs-alert-bg:#e0f2fe;--bs-alert-border-color:#bae6fd;--bs-alert-link-color:#075985}
.swal2-icon.swal2-success{border-color:#7dbbdf;color:#0369a1}.swal2-icon.swal2-success .swal2-success-ring{border-color:#bae6fd}.swal2-icon.swal2-success [class^=swal2-success-line]{background-color:#0369a1}
/* Acceso público y recuperación */
.theme-nav{min-height:82px;padding:20px max(24px,5vw);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9e7f0;background:#fff}.theme-nav a{color:#0369a1;text-decoration:none}.theme-brand{font-size:23px;font-weight:700;letter-spacing:1px}.theme-brand small{display:block;font-size:8px;font-weight:400;letter-spacing:2px}.theme-nav nav{display:flex;gap:24px;font-size:14px}.login-page{display:flex;flex-direction:column;min-height:100svh!important}.login-page .login-main{flex:1;max-width:1000px;padding:40px 16px!important}.login-page .login-box{background:white;border:1px solid #d9e7f0;border-radius:18px!important;min-height:580px;box-shadow:0 12px 40px #18354b08!important}.login-page .login-brand-panel{background:#e0f2fe;color:#18354b!important}.login-brand-logo{width:92px;height:104px;object-fit:contain;filter:none}.login-brand-panel h1{font-family:Georgia,serif;font-weight:400!important;font-size:36px}.login-brand-panel .lead{font-size:18px;line-height:1.7;opacity:1!important;color:#42677f}.login-brand-panel>small{font-size:10px;line-height:1.8;max-width:300px;color:#526c80}.login-page .login-form-panel{background:white;color:#18354b}.login-intro h2{font-size:30px;letter-spacing:-.8px}.login-intro{margin-bottom:28px!important}.login-page .form-control:-webkit-autofill{-webkit-text-fill-color:#18354b;box-shadow:0 0 0 1000px white inset}
/* Navigation et surfaces cliniques */
.dashboard-page>.navbar{background:#fff!important;border-bottom:1px solid #d9e7f0;box-shadow:none!important;min-height:76px}.dashboard-page .navbar-brand,.dashboard-page .navbar .text-white{color:#18354b!important}.dashboard-page .navbar-brand{font-size:17px;letter-spacing:.4px}.dashboard-logo{width:32px;height:37px;filter:none}.dashboard-page #logoutButton{color:#0369a1;border-color:#c6deed;background:white;padding:9px 14px}.dashboard-page #logoutButton:hover{background:#eaf6ff}.dashboard-page .card{color:#18354b;background:#fff;border:1px solid #d9e7f0!important;border-radius:12px;box-shadow:0 2px 8px #18354b03!important}.dashboard-page .modules-card{border-radius:0 12px 12px 0!important;box-shadow:none!important}.dashboard-page .nav-link{color:#526c80;font-size:13px;border-radius:7px;padding-top:10px;padding-bottom:10px}.dashboard-page .nav-link.active{background:#e0f2fe;color:#075985;font-weight:600}.dashboard-page .nav-link:hover{background:#f0f9ff;color:#075985}.dashboard-page .module-group-toggle{color:#587185!important;font-weight:600;font-size:10px;letter-spacing:.07em}.dashboard-page .sidebar-title{color:#587185!important;font-weight:600}.dashboard-page .welcome-panel{background:#e0f2fe;border:1px solid #bae6fd;border-radius:12px!important;box-shadow:none!important;color:#18354b!important}.dashboard-page .welcome-panel h1{color:#18354b!important;font-size:clamp(25px,3vw,38px);letter-spacing:-1px}.dashboard-page .welcome-panel p{color:#42677f!important;opacity:1!important}.welcome-logo{display:none}.dashboard-page .welcome-panel .lead{font-size:16px}.dashboard-page .text-primary,.dashboard-page .page-heading .text-primary,.text-primary{color:#0369a1!important}.dashboard-page .text-secondary,.dashboard-page .page-heading .text-secondary,.text-secondary{color:#526c80!important}.dashboard-page .text-dark,.dashboard-page .module-link h2{color:#18354b!important}.dashboard-page .module-link h2{font-size:20px}.dashboard-page .module-link p{font-size:14px;color:#526c80!important}.dashboard-page .module-link:hover,.profile-card:hover{transform:none;border-color:#7dbbdf!important;box-shadow:0 4px 16px #18354b08!important}.module-icon,.section-icon,.user-avatar,.profile-avatar,.initial{color:#0369a1!important;background:#eaf6ff!important}.module-icon{width:44px;height:44px;border-radius:10px;font-size:21px}.module-link .text-primary{font-size:13px}.btn-primary{--bs-btn-bg:#0369a1;--bs-btn-border-color:#0369a1;--bs-btn-hover-bg:#075985;--bs-btn-hover-border-color:#075985;--bs-btn-active-bg:#0c4a6e;--bs-btn-active-border-color:#0c4a6e;--bs-btn-disabled-bg:#0369a1;--bs-btn-disabled-border-color:#0369a1;--bs-btn-focus-shadow-rgb:3,105,161}.btn-outline-primary{--bs-btn-color:#0369a1;--bs-btn-border-color:#0369a1;--bs-btn-hover-bg:#0369a1;--bs-btn-hover-border-color:#0369a1;--bs-btn-active-bg:#075985;--bs-btn-active-border-color:#075985}.btn-link{color:#0369a1}.btn,.form-control,.form-select,.input-group-text{border-radius:7px}.form-control,.form-select,.input-group-text{border-color:#c6deed;color:#18354b}.form-control:focus,.form-select:focus{border-color:#0369a1;box-shadow:0 0 0 .2rem #0369a118}.form-check-input:checked{background-color:#0369a1;border-color:#0369a1}.modal-header.bg-primary{background:#0369a1!important}.modal-content,dialog{border-radius:14px;border-color:#d9e7f0}.table{--bs-table-color:#18354b;--bs-table-border-color:#e3edf5;--bs-table-hover-bg:#f0f9ff}.table thead{--bs-table-bg:#edf7ff}.table th{font-size:12px;font-weight:600;color:#526c80;vertical-align:middle}.table td{vertical-align:middle}.page-heading h1,.page-heading h2{letter-spacing:-.6px}.agenda-day.selected,.agenda-day.selected:hover:not(:disabled){background:#0369a1}.agenda-option:has(input:checked){border-color:#0369a1;background:#eaf6ff;box-shadow:inset 0 0 0 1px #0369a1}.agenda-option input{accent-color:#0369a1}
@media(max-width:1000px){.care-hero{gap:36px;padding:48px 28px}.care-path{margin:0 28px 48px;gap:24px;grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.care-hero{grid-template-columns:1fr;padding:40px 24px;gap:36px}.care-intro{padding:0}.care-intro h1{font-size:49px}.care-panel{padding:24px}.care-symbol{height:130px}.care-symbol svg{width:100px;height:100px}.care-panel h2{font-size:30px}.care-path{grid-template-columns:1fr;margin:0 24px 40px;gap:24px}.care-path article{border-top:1px solid #d9e7f0;padding-top:24px}.theme-nav{padding:16px 20px}.theme-brand{font-size:19px}.theme-nav nav{gap:16px}.login-page .login-main{padding:28px 16px!important}.login-page .login-box{min-height:0}.dashboard-page>.container-fluid{padding-right:16px!important;padding-left:16px!important}.dashboard-page>.container-fluid>.row>aside{padding-right:0}.dashboard-page .modules-card{min-height:0;border-radius:12px!important}.dashboard-page>.container-fluid>.row>.col-lg-10{padding-left:0}.brand-mark{width:32px;height:32px;font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.button-small{white-space:nowrap}.login-page .login-form-panel a:not(.btn){color:#0369a1}.dashboard-page .module-submodules[hidden]{display:none}

/* Estructura administrativa: navegación amplia y contenido flexible. */
.dashboard-page { --dashboard-sidebar:280px; }
.dashboard-page > .navbar { min-height:92px; padding:14px 0; }
.dashboard-page > .navbar > .container-fluid { padding-inline:28px!important; gap:20px; flex-wrap:nowrap; }
.dashboard-page .navbar-brand { margin:0; gap:12px!important; min-width:0; }
.dashboard-page .dashboard-logo { width:52px; height:58px; flex-shrink:0; }
.header-brand-text { display:flex; flex-direction:column; gap:3px; }
.header-brand-text strong { font-size:20px; letter-spacing:.6px; }
.header-brand-text small { font-size:11px; font-weight:400; letter-spacing:.1px; color:#526c80; }
.dashboard-page .header-account { gap:12px!important; min-width:0; }
.header-avatar { display:grid; place-items:center; flex:0 0 44px; height:44px; border:1px solid #b8dced; border-radius:50%; background:#e0f2fe; color:#075985; font-size:15px; font-weight:700; }
.dashboard-page .header-identity { display:block!important; min-width:0; max-width:220px; text-align:left!important; }
.header-identity strong { display:block; overflow-wrap:anywhere; font-size:14px; }
.dashboard-page #currentRole { margin-top:5px; color:#526c80; font-size:12px; opacity:1!important; overflow-wrap:anywhere; }
.dashboard-page #logoutButton { display:flex; align-items:center; justify-content:center; gap:9px; min-height:44px; margin-left:8px; border-radius:10px; font-weight:600; white-space:nowrap; }
.dashboard-page #logoutButton:hover { color:#9f2d35; background:#fff1f2; border-color:#fecdd3; }
.dashboard-page > main.container-fluid { padding:28px!important; }
.dashboard-page > main.container-fluid > .row { display:grid; grid-template-columns:var(--dashboard-sidebar) minmax(0,1fr); gap:28px; margin:0; }
.dashboard-page > main.container-fluid > .row > aside,
.dashboard-page > main.container-fluid > .row > .col-lg-10 { width:auto; min-width:0; padding:0!important; margin:0; }
.dashboard-page .modules-card { min-height:0; max-height:calc(100dvh - 32px); overflow-y:auto; scrollbar-width:thin; border-radius:16px!important; top:16px; }
.dashboard-page .modules-card[hidden] { display:none!important; }
.dashboard-page .modules-card > .card-body { padding:18px 14px!important; }
.dashboard-page .sidebar-title { margin:4px 12px 16px; font-size:11px; letter-spacing:.12em; }
.dashboard-page .modules-card .nav-link { min-height:44px; padding:11px 12px; font-size:14px; line-height:1.45; border-radius:9px; gap:10px; }
.dashboard-page .modules-card .nav-link > .bi { flex:0 0 20px; width:20px; font-size:18px; margin:0!important; }
.dashboard-page .nav-link.active { background:#e0f2fe; box-shadow:inset 3px 0 #0369a1; }
.dashboard-page .module-group { margin-top:12px; padding-top:12px; border-top:1px solid #edf2f7; }
.dashboard-page .module-group-toggle { min-height:42px; padding:8px 10px; margin:0 0 6px; font-size:12px; line-height:1.5; letter-spacing:0; text-transform:none; gap:8px; }
.dashboard-page .module-group-toggle > span { display:flex; align-items:center; gap:9px; }
.dashboard-page .module-group-toggle .section-nav-icon { font-size:16px; transform:none; }
.dashboard-page .module-group-toggle .group-chevron { font-size:11px; flex-shrink:0; }
.dashboard-page .module-submodules { gap:4px; }
.dashboard-page .module-submodules .nav-link { padding-left:14px; }
.dashboard-menu-toggle { display:none; }
/* Menú lateral compartido: grupos claros y selección visible. */
.dashboard-page .modules-card { background:linear-gradient(180deg,#fff,#f8fbfe);border:1px solid #d9e7f0!important;box-shadow:0 8px 28px #18354b06!important;scrollbar-color:#c5dce9 transparent; }
.dashboard-page .modules-card > .card-body { padding:22px 12px 16px!important; }
.dashboard-page .sidebar-title { margin:0 12px 4px;font-size:14px;letter-spacing:-.2px;text-transform:none;color:#18354b!important;font-weight:700; }
.dashboard-page .sidebar-description { margin:0 12px 20px;font-size:11px;line-height:1.6;color:#60788b; }
.dashboard-page .modules-card nav { gap:5px!important; }
.dashboard-page .modules-card .nav-link { position:relative;display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.5;border:1px solid transparent;border-radius:10px;color:#526c80;transition:background .18s,color .18s; }
.dashboard-page .modules-card .nav-link > .bi { display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#edf5fa;font-size:16px;color:#5b7e94; }
.dashboard-page .modules-card .nav-link:hover { color:#075985;background:#edf6fc; }
.dashboard-page .modules-card .nav-link.active { background:#e3f2fc;border-color:#c1e1f3;color:#075985;box-shadow:inset 3px 0 #0369a1;font-weight:650; }
.dashboard-page .modules-card .nav-link.active > .bi { color:white;background:#0369a1; }
.dashboard-page .modules-card .module-group { margin:4px 0 0;padding:7px 0 0;border-top:1px solid #e5eef5; }
.dashboard-page .modules-card .module-group-toggle { display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;margin:0;padding:10px;border:0;border-radius:10px;background:transparent;color:#405f74!important;cursor:pointer;font-family:inherit;font-size:12px;font-weight:650;text-align:left;letter-spacing:0; }
.dashboard-page .modules-card .module-group-toggle:hover { background:#edf5fa; }
.dashboard-page .modules-card .module-group-toggle > span { min-width:0;display:flex;align-items:center;gap:10px; }
.dashboard-page .modules-card .section-nav-icon { display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;font-size:16px;color:#0369a1; }
.dashboard-page .modules-card .group-chevron { transition:transform .18s; }
.dashboard-page .modules-card .module-group-toggle[aria-expanded="true"] .group-chevron { transform:rotate(180deg); }
.dashboard-page .modules-card .module-group-toggle[aria-expanded="true"] { color:#075985!important; }
.dashboard-page .modules-card .module-submodules { display:flex;flex-direction:column;gap:4px;margin:4px 0 8px 13px;padding-left:9px;border-left:1px solid #d5e6f0; }
.dashboard-page .modules-card .module-submodules[hidden] { display:none; }
.dashboard-page .modules-card .module-submodules .nav-link { padding:8px;gap:8px; }
.dashboard-page .modules-card .module-submodules .nav-link > .bi { width:26px;height:26px;flex-basis:26px;font-size:15px; }
/* Un mismo ancho y margen para plantillas con main, div o editor del sitio. */
html:has(> .dashboard-page),html:has(> body.dashboard-page) { scrollbar-gutter:stable; }
.dashboard-page > .container-fluid:has(.modules-card) { padding:28px!important; }
.dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) { display:grid;grid-template-columns:var(--dashboard-sidebar) minmax(0,1fr);gap:28px;margin:0;align-items:start; }
.dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) > :is(aside,.col-lg-10,.site-editor-content) { width:auto;min-width:0;padding:0!important;margin:0; }
.dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) > aside { position:sticky;top:16px;align-self:start; }
.dashboard-page .modules-card { width:100%; }
@media(min-width:992px){
  .dashboard-page .modules-card { height:calc(100dvh - 148px);max-height:calc(100dvh - 148px);min-height:0; }
  .dashboard-page .site-sidebar .modules-card { top:16px; }
}
@media(min-width:992px) and (max-width:1199.98px){
  .dashboard-page > .container-fluid:has(.modules-card) { padding:20px!important; }
  .dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) { gap:20px; }
}
@media(max-width:991.98px){
  .dashboard-page > .container-fluid:has(.modules-card) { padding:20px!important; }
  .dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) { grid-template-columns:minmax(0,1fr);gap:20px; }
  .dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) > aside { position:static; }
}
@media(max-width:575.98px){
  .dashboard-page > .container-fluid:has(.modules-card) { padding:16px!important; }
}
.dashboard-page .welcome-panel { background:linear-gradient(115deg,#e0f2fe,#f0f9ff); border-radius:16px!important; }
.dashboard-page .card { border-radius:14px; }
.dashboard-page .card-header:first-child { border-radius:14px 14px 0 0; }
.dashboard-page .page-heading { padding:4px 0 8px; }
.dashboard-page .page-heading h1 { font-size:clamp(26px,2.5vw,34px); }
.dashboard-page .card-body, .dashboard-page .page-heading > * { min-width:0; }
.dashboard-page .table-responsive { max-width:100%; }
.dashboard-page .table th, .dashboard-page .table td { padding:14px 16px; }
.dashboard-page .table th { white-space:nowrap; }
.dashboard-page dialog { max-width:calc(100vw - 24px); max-height:90dvh; overflow-y:auto; }
@media (max-width:1199.98px) and (min-width:992px) {
  .dashboard-page { --dashboard-sidebar:260px; }
  .dashboard-page > main.container-fluid { padding:20px!important; }
  .dashboard-page > main.container-fluid > .row { gap:20px; }
  .dashboard-page .col-xl-4 { width:50%; }
}
@media (max-width:991.98px) {
  .dashboard-page > main.container-fluid { padding:20px!important; }
  .dashboard-page > main.container-fluid > .row { grid-template-columns:minmax(0,1fr); gap:20px; }
  .dashboard-menu-toggle { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:12px 16px; background:white; color:#18354b; border:1px solid #d9e7f0; border-radius:12px; font-size:14px; font-weight:600; text-align:left; }
  .dashboard-menu-toggle > .bi:first-child { font-size:20px; color:#0369a1; }
  .dashboard-menu-toggle .menu-chevron { margin-left:auto; }
  .dashboard-menu-toggle[aria-expanded="true"] .menu-chevron { transform:rotate(180deg); }
  .dashboard-page .modules-card { margin-top:10px; max-height:65dvh; }
}
@media (max-width:575.98px) {
  .dashboard-page > .navbar { padding:12px 0; }
  .dashboard-page > .navbar > .container-fluid { padding-inline:16px!important; flex-wrap:wrap; gap:14px; }
  .dashboard-page .navbar-brand { width:100%; }
  .dashboard-page .dashboard-logo { width:42px; height:46px; }
  .header-brand-text strong { font-size:18px; }
  .dashboard-page .header-account { width:100%; padding-top:12px; border-top:1px solid #edf2f7; gap:10px!important; }
  .dashboard-page .header-identity { flex:1; max-width:none; }
  .header-avatar { flex-basis:38px; height:38px; font-size:13px; }
  .dashboard-page #logoutButton { margin-left:auto; width:44px; flex-shrink:0; padding:10px; font-size:18px; }
  .dashboard-page #logoutButton > span { display:none; }
  .dashboard-page > main.container-fluid { padding:16px!important; }
  .dashboard-page > main.container-fluid > .row { gap:20px; }
  .dashboard-page .welcome-panel { padding:24px!important; }
  .dashboard-page .welcome-panel h1 { overflow-wrap:anywhere; }
  .dashboard-page .page-heading { gap:16px!important; }
  .dashboard-page .page-heading > .btn { width:100%; }
  .dashboard-page .card-body.p-4 { padding:20px!important; }
  .dashboard-page .table th, .dashboard-page .table td { padding:12px; }
  .dashboard-page .toast-notice { left:16px; right:16px; bottom:16px; overflow-wrap:anywhere; }
}

/* Modales administrativos: superficies claras y formularios legibles. */
.dashboard-page .modal { --bs-modal-margin: 1.5rem; --bs-modal-header-border-color:#e3edf5; --bs-modal-footer-border-color:#e3edf5; }
.dashboard-page .modal .modal-content { border:1px solid #d9e7f0!important; border-radius:20px; box-shadow:0 24px 80px #18354b26!important; overflow:hidden; }
.dashboard-page .modal .modal-header { padding:24px 28px; border-bottom:1px solid #e3edf5; gap:16px; }
.dashboard-page .modal .modal-header.bg-primary { background:#f0f9ff!important; color:#18354b!important; }
.dashboard-page .modal-header.bg-primary .opacity-75 { color:#526c80; opacity:1!important; font-size:10px; font-weight:700; letter-spacing:.12em; margin-bottom:5px!important; }
.dashboard-page .modal .modal-title { letter-spacing:-.4px; line-height:1.35; }
.dashboard-page .modal .modal-title-icon { width:48px; height:48px; border:1px solid #c6e3f3; border-radius:14px; background:white; color:#0369a1; font-size:22px; }
.dashboard-page .modal .btn-close { flex-shrink:0; padding:10px; margin:0 0 0 auto; border-radius:10px; opacity:.65; }
.dashboard-page .modal-header.bg-primary .btn-close-white { filter:none; }
.dashboard-page .modal .btn-close:hover { background-color:#dceef9; opacity:1; }
.dashboard-page .modal .modal-body { padding:28px!important; }
.dashboard-page .modal .form-label { font-size:13px; color:#29495f; margin-bottom:9px; }
.dashboard-page .modal .form-control,.dashboard-page .modal .form-select { min-height:46px; font-size:14px; border-color:#cddfe9; background-color:#fff; }
.dashboard-page .modal .form-control::placeholder { color:#7a8f9f; font-size:13px; }
.dashboard-page .modal .input-group-text { min-width:44px; justify-content:center; background:#f5f9fc; border-color:#cddfe9; color:#668397; }
.dashboard-page .modal .form-text { margin-top:8px; font-size:12px; line-height:1.6; color:#627c8f; }
.dashboard-page .modal .status-box { padding:16px 18px; background:#f5faff; border:1px solid #d9e7f0; border-radius:12px; font-size:13px; line-height:1.6; }
.dashboard-page .modal .form-check-input { width:1.15em; height:1.15em; cursor:pointer; }
.dashboard-page .modal .status-box .form-check { padding-left:1.8em; }
.dashboard-page .modal .modal-footer { padding:18px 28px; gap:10px; background:#f8fbfd!important; }
.dashboard-page .modal .modal-footer .btn { min-height:44px; padding:10px 20px; border-radius:10px; font-size:14px; font-weight:600; margin:0; }
.dashboard-page .modal .modal-footer .btn-light { background:#fff; color:#526c80; border-color:#d9e7f0!important; }
.modal-form-section { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.modal-form-section h3 { margin:0 0 4px; color:#29495f; font-size:14px; font-weight:700; }
.modal-form-section p { margin:0; color:#627c8f; font-size:12px; line-height:1.6; }
.modal-form-divider { border:0; border-top:1px solid #d9e7f0; opacity:1; margin:26px 0; }
.dashboard-page #moduleChecks .module-option { display:flex; align-items:center; gap:10px; min-height:64px; margin:0; padding:14px 16px!important; border-radius:12px!important; border-color:#d9e7f0!important; background:#fff; font-size:13px; line-height:1.5; }
.dashboard-page #moduleChecks .module-option .form-check-input { float:none; flex-shrink:0; margin:0; }
.dashboard-page #moduleChecks .module-option .bi { margin:0!important; font-size:18px; }
.dashboard-page #moduleChecks .module-option:hover { border-color:#8fc5e2!important; background:#f5faff; }
.dashboard-page #moduleChecks .module-option:has(input:checked) { border-color:#4199c4!important; background:#eaf6ff; box-shadow:inset 0 0 0 1px #4199c4; color:#075985; }
.dashboard-page #moduleChecks .module-option:has(input:focus-visible) { outline:3px solid #0369a1; outline-offset:3px; }
@media(max-width:575.98px) {
 .dashboard-page .modal { --bs-modal-margin:.75rem; }
 .dashboard-page .modal .modal-content { border-radius:16px; }
 .dashboard-page .modal .modal-header,.dashboard-page .modal .modal-body { padding:20px!important; }
 .dashboard-page .modal .modal-title-icon { width:42px; height:42px; border-radius:12px; }
 .dashboard-page .modal .modal-footer { padding:16px 20px; flex-wrap:wrap; }
 .dashboard-page .modal .modal-footer .btn { flex:1; padding-inline:12px; }
}

.dashboard-page .modal-dialog-scrollable .modal-form-layout { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.dashboard-page .modal-form-layout .modal-footer { flex-shrink:0; }

/* Distribucion compartida de acciones en los modulos. */
.dashboard-page .page-heading { align-items:center; column-gap:24px!important; row-gap:16px!important; }
.dashboard-page .page-heading > :first-child { flex:1 1 300px; }
.dashboard-page .page-heading > .btn { flex:0 0 auto; }
.dashboard-page .page-heading .btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 20px; border-radius:10px; font-size:14px; font-weight:600; white-space:nowrap; }
.dashboard-page .page-heading p:last-child { margin-bottom:0; }
.dashboard-page .module-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.dashboard-page .module-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.dashboard-page td > .module-actions { width:max-content; max-width:280px; margin-left:auto; justify-content:flex-end; }
.dashboard-page .module-actions > :is(.btn,.edit-button) { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:38px; margin:0!important; padding:8px 12px; border-radius:8px; font-size:12px; line-height:1.35; white-space:nowrap; }
.dashboard-page td > .user-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:260px; }
.dashboard-page .user-actions > .btn { width:100%; }
.dashboard-page .user-actions > .delete:last-child:nth-child(odd) { grid-column:2; }
.dashboard-page .user-actions > .delete { min-width:38px; width:38px; justify-self:end; }
.dashboard-page .profile-card > .card-body { display:flex; flex-direction:column; }
.dashboard-page .profile-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px; margin-top:auto; }
.dashboard-page .profile-actions > .btn { min-width:0; padding-inline:8px; }
.dashboard-page #labTabs:not([hidden]) { display:flex; flex-wrap:wrap; gap:8px; padding:6px; width:fit-content; border:1px solid #d9e7f0; border-radius:12px; background:#edf6fc; }
.dashboard-page #labTabs .btn { min-height:42px; border-radius:8px; padding:10px 16px; font-size:13px; }
.dashboard-page dialog form > .d-flex.justify-content-end { flex-wrap:wrap; gap:10px!important; }
.dashboard-page dialog form > .d-flex.justify-content-end > .btn { min-height:44px; min-width:110px; }
@media(max-width:767.98px) {
 .dashboard-page .page-heading { align-items:stretch!important; flex-direction:column!important; }
 .dashboard-page .page-heading > :first-child { flex:0 1 auto; }
 .dashboard-page .page-heading > .btn,.dashboard-page .page-heading > div:has(> .btn) { width:100%; }
 .dashboard-page .page-heading > div:has(> .btn) { display:flex; flex-wrap:wrap; gap:10px; }
 .dashboard-page .page-heading > div > .btn { flex:1 1 180px; }
 .dashboard-page .module-toolbar { width:100%; }
 .dashboard-page .module-toolbar > .btn { flex:1 1 180px; }
 .dashboard-page td > .module-actions { max-width:240px; }
 .dashboard-page td > .user-actions { width:230px; }
 .dashboard-page .profile-actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px; }
}
