:root{--primary:#155eef;--primary-dark:#0b3b91;--navy:#12213a;--ink:#172033;--muted:#667085;--line:#e7eaf0;--canvas:#f5f7fa;--white:#fff;--radius:14px;--shadow:0 4px 18px rgba(18,33,58,.055)}
:root{--brand-teal:#3c6b71;--brand-mint:#39aab2;--brand-aqua:#39aab2;--brand-charcoal:#373435;--brand-gray:#666;--brand-soft:#eaf5f6;--primary:var(--brand-teal);--primary-dark:#31585d;--navy:var(--brand-charcoal);--ink:var(--brand-charcoal)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:.925rem}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);padding:18px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{height:88px;display:flex;align-items:center;padding:0 4px 20px;color:var(--navy);text-decoration:none}.sidebar-logo{display:block;width:100%;max-width:210px;height:68px;object-fit:contain;object-position:left center}.brand-mark{width:38px;height:38px;border-radius:11px;background:#eef4ff;color:var(--primary);display:inline-grid;place-items:center;font-size:1.2rem}.brand strong{font-size:1.25rem;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.03em}.nav-caption{font-size:.65rem;font-weight:700;color:#98a2b3;letter-spacing:.11em;padding:7px 12px}.app-nav .nav-link{min-height:44px;display:flex;align-items:center;gap:12px;color:#566174;border-radius:10px;margin:2px 0;padding:10px 12px;font-weight:500}.app-nav .nav-link i{font-size:1.05rem}.app-nav .nav-link.active{background:#edf4ff;color:#164eaf}.app-nav .nav-link.disabled{opacity:.62}.app-nav em{font-style:normal;font-size:.57rem;text-transform:uppercase;margin-left:auto;background:#eef2f6;padding:3px 6px;border-radius:10px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 7px 0;display:flex;align-items:center;gap:10px}.sidebar-footer strong{font-size:.8rem}.sidebar-footer small{font-size:.7rem;color:var(--muted)}.user-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:700}.min-w-0{min-width:0}.main-content{margin-left:248px;min-height:100vh}.topbar{height:82px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.eyebrow{font-size:.64rem;font-weight:700;color:var(--primary);letter-spacing:.12em}.topbar h1{font-size:1.15rem;margin:2px 0 0}.topbar-actions{display:flex;align-items:center;gap:10px}.btn-icon{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;position:relative}.notification-dot{position:absolute;width:6px;height:6px;background:#e5484d;border:1px solid #fff;border-radius:50%;top:8px;right:8px}.logout-button{display:flex;gap:7px;align-items:center;border:1px solid var(--line)}.page-content{padding:28px 32px 42px;max-width:1600px;margin:auto}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.welcome-row h2{font-size:1.5rem;margin:0 0 4px}.welcome-row p,.card-heading p{color:var(--muted);margin:0}.btn-primary{background:var(--primary);border-color:var(--primary);border-radius:9px}.metric-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{display:flex;gap:14px;align-items:center;padding:19px;height:100%}.metric-card>div{display:flex;flex-direction:column}.metric-card small{color:var(--muted);font-size:.72rem}.metric-card strong{font-size:1.55rem;line-height:1.2}.metric-card div span{color:#98a2b3;font-size:.65rem}.metric-icon{width:44px;height:44px;flex:0 0 44px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem}.metric-icon.blue{color:#155eef;background:#eef4ff}.metric-icon.cyan{color:#087ea4;background:#e9f8fb}.metric-icon.amber{color:#b54708;background:#fff6e6}.metric-icon.green{color:#067647;background:#ecfdf3}.content-card{padding:20px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.card-heading h3{font-size:1rem;margin:0 0 3px}.card-heading p{font-size:.75rem}.app-table{margin:0}.app-table th{color:#7b8495;font-size:.65rem;letter-spacing:.045em;text-transform:uppercase;border-bottom-color:var(--line);font-weight:600;padding:10px}.app-table td{padding:13px 10px;border-bottom-color:#eff1f4}.patient-cell{display:flex;align-items:center;gap:10px}.patient-cell>span{width:34px;height:34px;border-radius:10px;background:#f0f3f7;display:grid;place-items:center;color:#475467;font-weight:700}.patient-cell strong{font-size:.78rem;display:block}.patient-cell small{font-size:.66rem;color:var(--muted)}.progress{height:5px;background:#edf0f4}.progress-bar{background:var(--primary);border-radius:10px}.progress-label{font-size:.67rem;text-align:right;color:var(--muted);margin-bottom:5px}.status-badge{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 8px;font-size:.66rem;font-weight:600}.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.soft-info{background:#e9f8fb;color:#087ea4}.soft-primary{background:#eef4ff;color:#155eef}.soft-warning{background:#fff6e6;color:#b54708}.soft-success{background:#ecfdf3;color:#067647}.soft-danger{background:#fef0f0;color:#b42318}.soft-secondary{background:#f1f3f5;color:#667085}.clinical-route{display:flex;flex-direction:column}.route-item{display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:11px;padding:13px 0;position:relative}.route-item:not(:last-child):after{content:"";position:absolute;left:20px;top:51px;width:1px;height:18px;background:var(--line)}.route-item>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#f4f6f8;color:#98a2b3}.route-item strong,.route-item small{display:block}.route-item strong{font-size:.8rem}.route-item small{font-size:.68rem;color:var(--muted)}.route-item>i{color:#c7cdd6}.route-item.done>span{background:#ecfdf3;color:#067647}.route-item.done>i{color:#12b76a}.route-item.active>span{background:#eef4ff;color:var(--primary)}.route-item.active>i{color:var(--primary)}.empty-state{text-align:center;padding:35px;color:var(--muted);display:flex;flex-direction:column;align-items:center}.empty-state i{font-size:1.8rem;margin-bottom:8px}.empty-state strong{color:var(--ink)}.empty-state span{font-size:.75rem}.patient-attention{border:1px solid var(--line);border-radius:12px;padding:16px;position:relative}.patient-attention-icon{display:inline-grid;width:38px;height:38px;place-items:center;background:#eef4ff;color:var(--primary);border-radius:10px;margin-bottom:15px}.patient-attention h3{font-size:.9rem;margin:2px 0 12px}.patient-attention p{font-size:.72rem;color:var(--muted)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:#eef2f6}.login-card{width:min(1060px,100%);min-height:650px;background:#fff;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 24px 70px rgba(17,31,52,.13)}.login-visual{position:relative;overflow:hidden;padding:42px;color:#fff;background:linear-gradient(145deg,#0d2345,#0b3b91)}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent)}.login-brand{position:relative;display:flex;align-items:center;gap:12px;font-size:1.35rem;letter-spacing:.12em}.brand-mark.large{background:rgba(255,255,255,.12);color:#fff}.visual-copy{position:relative;margin-top:128px;max-width:440px}.status-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);padding:7px 11px;border-radius:20px;font-size:.7rem}.visual-copy h1{font-size:2.45rem;line-height:1.12;margin:22px 0 14px;letter-spacing:-.04em}.visual-copy p{color:#cbd9f1;font-size:1rem;line-height:1.6}.visual-stats{position:absolute;left:42px;bottom:42px;display:flex;gap:40px}.visual-stats strong,.visual-stats small{display:block}.visual-stats strong{font-size:1.15rem}.visual-stats small{font-size:.65rem;color:#a9bddd;text-transform:uppercase;letter-spacing:.08em}.login-form-panel{display:grid;place-items:center;padding:55px}.form-wrap{width:100%;max-width:355px}.form-wrap h2{font-size:1.65rem;margin:4px 0}.form-label{font-size:.75rem;font-weight:600}.input-icon{position:relative}.input-icon>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#98a2b3;z-index:2}.input-icon .form-control{padding-left:40px;height:47px;border-color:#dfe3e9;border-radius:9px;font-size:.85rem}.input-icon .form-control:focus{border-color:#84adff;box-shadow:0 0 0 .2rem rgba(21,94,239,.1)}.link-primary{color:var(--primary);text-decoration:none}.security-note{text-align:center;margin:28px 0 0;color:#98a2b3;font-size:.67rem}.mobile-brand{display:none;font-size:1.15rem;font-weight:700;align-items:center;gap:8px;margin-bottom:35px}
@media(max-width:991.98px){.sidebar{display:none}.main-content{margin-left:0}.login-card{grid-template-columns:1fr;max-width:520px}.login-visual{display:none}.mobile-brand{display:flex}.login-form-panel{min-height:610px}}@media(max-width:575.98px){.page-content{padding:22px 15px}.topbar{padding:0 15px}.welcome-row{align-items:flex-start;flex-direction:column}.metric-card{padding:14px;gap:9px}.metric-icon{width:38px;height:38px;flex-basis:38px}.metric-card strong{font-size:1.25rem}.login-page{padding:0}.login-card{border-radius:0;min-height:100vh}.login-form-panel{padding:30px}}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.search-form{display:flex;align-items:center;gap:8px;position:relative;width:min(680px,100%)}.search-form>i{position:absolute;left:13px;color:#98a2b3;z-index:2}.search-form .form-control{padding-left:38px;min-width:280px}.search-form .btn-link{text-decoration:none}.result-count{color:var(--muted);font-size:.72rem;white-space:nowrap}.crud-table .dropdown{display:inline-block}.dropdown-menu{border-color:var(--line);box-shadow:0 10px 30px rgba(18,33,58,.12);border-radius:10px;padding:6px}.dropdown-item{border-radius:7px;font-size:.78rem;padding:8px 10px}.dropdown-item i{margin-right:8px;color:#667085}.document-chip{display:inline-block;background:#f3f5f8;border:1px solid #e7eaf0;border-radius:7px;padding:5px 8px;font-size:.7rem;font-weight:600;color:#475467}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:.75rem;text-decoration:none;margin-bottom:10px}.form-card{max-width:1000px}.form-section-heading{display:flex;gap:12px;align-items:center;margin-bottom:20px}.form-section-heading>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef4ff;color:var(--primary);font-size:1rem}.form-section-heading h3{font-size:.95rem;margin:0 0 2px}.form-section-heading p{font-size:.7rem;color:var(--muted);margin:0}.form-card .form-control,.form-card .form-select{min-height:44px;border-color:#dfe3e9;border-radius:9px;font-size:.82rem}.form-card .form-control:focus,.form-card .form-select:focus{border-color:#84adff;box-shadow:0 0 0 .2rem rgba(21,94,239,.09)}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:25px;padding-top:19px}.form-divider{border-color:var(--line);margin:27px 0}@media(max-width:767.98px){.list-toolbar{align-items:stretch;flex-direction:column}.search-form{flex-wrap:wrap}.search-form .form-control{min-width:0;flex:1 1 200px}.result-count{align-self:flex-end}.form-actions{position:sticky;bottom:0;background:#fff;padding-bottom:4px}}

/* Identidad Umbrella Clinic: conserva fondos y tarjetas claras. */
.brand{justify-content:center}.sidebar-logo{object-position:center center;transform:translateX(7px)}
.app-nav .nav-link.active{background:var(--brand-soft);color:var(--brand-teal)}
.btn-primary{background:var(--brand-teal);border-color:var(--brand-teal)}
.btn-primary:hover,.btn-primary:focus{background:#31585d;border-color:#31585d}
.eyebrow,.back-link,.link-primary{color:var(--brand-teal)!important}
.metric-icon.blue,.patient-attention-icon,.form-section-heading>span{color:var(--brand-teal);background:var(--brand-soft)}
.metric-icon.cyan,.metric-icon.green{color:var(--brand-teal);background:var(--brand-soft)}
.soft-primary,.soft-info{color:var(--brand-teal);background:var(--brand-soft)}
.soft-success{color:var(--brand-teal);background:var(--brand-soft)}
.progress-bar{background:var(--brand-mint)}
.route-item.active>span{background:var(--brand-soft);color:var(--brand-teal)}
.route-item.active>i,.route-item.done>i{color:var(--brand-mint)}
.route-item.done>span{background:var(--brand-soft);color:var(--brand-teal)}
.form-card .form-control:focus,.form-card .form-select:focus,.input-icon .form-control:focus{border-color:var(--brand-mint);box-shadow:0 0 0 .2rem rgba(57,170,178,.13)}
.user-avatar{background:var(--brand-charcoal)}
.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.table-actions form{display:inline-flex;margin:0}.btn-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:.7rem;font-weight:600;border:1px solid transparent}.btn-action-edit{color:var(--brand-teal);background:var(--brand-soft);border-color:#cde4e6}.btn-action-edit:hover{color:#fff;background:var(--brand-teal);border-color:var(--brand-teal)}.btn-action-disable{color:#6b5b2a;background:#fff8e7;border-color:#f1dfaa}.btn-action-disable:hover{color:#684f0b;background:#f9edc9;border-color:#e8cf85}.btn-action-enable{color:var(--brand-teal);background:var(--brand-soft);border-color:#cde4e6}.btn-action-enable:hover{color:#fff;background:var(--brand-teal);border-color:var(--brand-teal)}.read-only-label{display:inline-flex;align-items:center;gap:5px;color:#7b8495;font-size:.68rem}.crud-table th:last-child,.crud-table td:last-child{min-width:210px}
@media(max-width:767.98px){.btn-action span{display:none}.btn-action{width:36px;padding:6px}.crud-table th:last-child,.crud-table td:last-child{min-width:95px}.table-actions{gap:5px}}
.app-modal .modal-dialog{padding:12px}.app-modal .modal-content{border:0;border-radius:18px;box-shadow:0 24px 80px rgba(55,52,53,.2);overflow:hidden}.app-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--line);background:#fff}.modal-title-wrap{display:flex;align-items:center;gap:13px}.modal-title-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;color:var(--brand-teal);background:var(--brand-soft);font-size:1.1rem}.modal-title-wrap .modal-title{font-size:1.12rem;font-weight:700;margin:2px 0}.modal-title-wrap p{font-size:.72rem;color:var(--muted);margin:0}.app-modal .modal-body{padding:24px;background:#fbfcfd}.app-modal .modal-footer{padding:15px 24px;border-top:1px solid var(--line);background:#fff}.app-modal .modal-footer .btn{min-width:110px}.modal-section-title{display:flex;align-items:center;gap:8px;color:var(--brand-charcoal);font-size:.78rem;font-weight:700;padding-bottom:10px;border-bottom:1px solid #edf0f2}.modal-section-title i{color:var(--brand-teal)}.app-modal .form-label{font-size:.72rem;font-weight:600;color:#4d4d4d}.app-modal .form-control,.app-modal .form-select{min-height:44px;border-color:#dfe3e9;border-radius:9px;font-size:.82rem;background-color:#fff}.app-modal .form-control:focus,.app-modal .form-select:focus{border-color:var(--brand-mint);box-shadow:0 0 0 .2rem rgba(57,170,178,.13)}.modal-backdrop.show{opacity:.38}@media(max-width:575.98px){.app-modal .modal-dialog{padding:0;margin:8px}.app-modal .modal-content{border-radius:14px;max-height:calc(100vh - 16px)}.app-modal .modal-header,.app-modal .modal-body,.app-modal .modal-footer{padding-left:16px;padding-right:16px}.modal-title-wrap p{display:none}.app-modal .modal-footer .btn{min-width:0;flex:1}}
.sidebar .app-nav{min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar-footer{flex:0 0 auto;display:block;padding:15px 5px 0}.sidebar-user{display:flex;align-items:center;gap:10px;padding:0 2px 12px}.sidebar-logout-form{margin:0}.sidebar-logout-button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:8px 11px;border:1px solid #e4e7ec;border-radius:9px;color:#4d4d4d;background:#fff;font-size:.75rem;font-weight:600}.sidebar-logout-button:hover,.sidebar-logout-button:focus{color:#8f2d2d;background:#fff3f2;border-color:#f0c9c6}.sidebar-logout-button i{font-size:.95rem}.topbar-user{max-width:250px;display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border:1px solid var(--line);border-radius:11px;background:#fff}.topbar-user-avatar{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--brand-charcoal);font-size:.72rem;font-weight:700}.topbar-user>div{min-width:0}.topbar-user strong,.topbar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-user strong{font-size:.72rem;max-width:180px}.topbar-user small{font-size:.62rem;color:var(--muted);margin-top:1px}@media(max-width:575.98px){.topbar-user{max-width:145px}.topbar-user strong{max-width:90px}.topbar-user small{display:none}}
.topbar-role-badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 13px;border-radius:18px;color:#fff;background:var(--brand-teal);font-size:.68rem;font-weight:600;white-space:nowrap}.topbar-user{max-width:285px;gap:9px;padding:4px 7px 4px 13px;border-radius:22px}.topbar-user strong{max-width:175px;font-size:.7rem;font-weight:600;text-transform:uppercase}.topbar-user-avatar{border-radius:50%;background:var(--brand-teal)}.topbar-chevron{color:#667085;font-size:.75rem;margin-right:2px}.sidebar-footer{padding-top:12px}.sidebar-logout-button{min-height:46px;font-size:.8rem}@media(max-width:767.98px){.topbar-role-badge{display:none}}@media(max-width:575.98px){.topbar-user{max-width:150px;padding-left:9px}.topbar-user strong{max-width:72px}.topbar-chevron{display:none}}
.app-modal .modal-content{height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.app-modal .modal-content>form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}.app-modal .modal-header,.app-modal .modal-footer{min-height:0}.app-modal .modal-body{min-height:0;overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brand-mint) #e7ecee}.app-modal .modal-body::-webkit-scrollbar{width:10px}.app-modal .modal-body::-webkit-scrollbar-track{background:#e7ecee;border-radius:10px}.app-modal .modal-body::-webkit-scrollbar-thumb{background:var(--brand-mint);border:2px solid #e7ecee;border-radius:10px}.app-modal .modal-body::-webkit-scrollbar-thumb:hover{background:var(--brand-teal)}@media(max-width:575.98px){.app-modal .modal-content{height:calc(100vh - 16px);max-height:calc(100vh - 16px)}}
.app-modal .modal-body{overflow-y:scroll!important;scrollbar-gutter:stable!important;scrollbar-width:auto;scrollbar-color:#3c6b71 #dbe5e7}.app-modal .modal-body::-webkit-scrollbar{-webkit-appearance:none!important;width:14px!important;background:#dbe5e7!important}.app-modal .modal-body::-webkit-scrollbar-track{background:#dbe5e7!important;border-radius:0!important}.app-modal .modal-body::-webkit-scrollbar-thumb{-webkit-appearance:none!important;min-height:80px!important;background-color:#3c6b71!important;border:3px solid #dbe5e7!important;border-radius:10px!important;background-clip:padding-box!important}.app-modal .modal-body::-webkit-scrollbar-thumb:hover{background-color:#39aab2!important}.app-modal .modal-body::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}
.btn-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn-with-icon i{font-size:.9em}.record-count{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem}.record-count i{color:var(--brand-teal)}.table-card tbody tr>*{transition:background-color .18s ease}.table-card tbody tr:hover>*{background-color:#edf9fa!important}.icon-action{width:36px;height:36px;padding:0;display:inline-grid;place-items:center;border:1px solid #cfe1e3;border-radius:10px;color:var(--brand-teal);background:#f5fbfb;transition:all .18s ease}.icon-action:hover{color:#fff;background:var(--brand-teal);border-color:var(--brand-teal);box-shadow:0 5px 14px rgba(60,107,113,.18);transform:translateY(-1px)}.status-switch{position:relative;width:42px;height:23px;padding:0;border:0;border-radius:20px;transition:background-color .2s ease,box-shadow .2s ease}.status-switch span{position:absolute;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .2s ease}.status-switch.is-active{background:var(--brand-teal)}.status-switch.is-active span{left:22px}.status-switch.is-inactive{background:#c8ced4}.status-switch.is-inactive span{left:3px}.status-switch:hover{box-shadow:0 0 0 4px rgba(57,170,178,.13)}.status-switch:focus-visible{outline:2px solid var(--brand-mint);outline-offset:3px}.status-badge>i.bi{width:auto;height:auto;border-radius:0;background:transparent;font-size:.72rem}.status-success{color:#236b5e;background:#e8f6f2}.status-neutral{color:#68727d;background:#f0f2f4}
.app-modal.compact-modal .modal-content{height:auto;max-height:calc(100vh - 40px)}.app-modal.compact-modal .modal-content>form{display:block;height:auto}.app-modal.compact-modal .modal-body{overflow-y:visible!important;min-height:auto;padding-top:22px;padding-bottom:22px}.app-modal.compact-modal .modal-footer{display:flex}.app-modal.compact-modal .form-select{min-height:48px}
.welcome-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-modal .modal-dialog{max-width:560px}.import-modal .form-text{font-size:.72rem;color:var(--muted)}@media(max-width:575.98px){.welcome-actions{width:100%}.welcome-actions .btn{flex:1}}
.login-brand-logo{position:relative;display:inline-flex;width:245px;height:82px;padding:7px 14px;background:#fff;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.14)}.login-brand-logo img,.mobile-brand-logo img{width:100%;height:100%;object-fit:contain}.login-visual .visual-copy{margin-top:92px}.mobile-brand-logo{display:none;width:205px;height:75px;margin:0 auto 32px}@media(max-width:991.98px){.mobile-brand-logo{display:flex}}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-item{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #e2e8eb;border-radius:12px;background:#fff}.detail-item>i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;color:var(--brand-teal);background:var(--brand-soft)}.detail-item small,.detail-item strong{display:block}.detail-item small{color:var(--muted);font-size:.67rem;margin-bottom:3px}.detail-item strong{font-size:.78rem;word-break:break-word}.contact-section-heading{justify-content:space-between}.contact-section-heading>div{display:flex;align-items:center;gap:8px}.contact-editor-card{margin-top:14px;padding:16px;border:1px solid #dce6e8;border-radius:14px;background:#fff}.contact-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.contact-card-head strong{font-size:.78rem;color:var(--brand-charcoal)}.contact-card-head i{color:var(--brand-teal);margin-right:5px}.contact-history-table th{font-size:.68rem;color:var(--muted);text-transform:uppercase}.contact-history-table td{font-size:.76rem}.contact-history-table tbody tr:hover>*{background:#edf9fa}.status-switch:disabled{opacity:.45;cursor:not-allowed}@media(max-width:767.98px){.detail-grid{grid-template-columns:1fr}}
.login-visual{background:linear-gradient(145deg,#427075,#22a1ab)}

/* Desplazamiento del menú: logo y cierre de sesión permanecen visibles. */
.sidebar{overflow:hidden}
.sidebar .app-nav{flex:1 1 auto;min-height:0;flex-wrap:nowrap!important;overflow-y:scroll!important;overflow-x:hidden!important;padding-right:7px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#58aaa5 #edf5f4}
.app-nav::-webkit-scrollbar{width:6px}
.app-nav::-webkit-scrollbar-track{background:#edf5f4;border-radius:999px}
.app-nav::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#58aaa5,#427075);border:1px solid #edf5f4;border-radius:999px}
.app-nav::-webkit-scrollbar-thumb:hover{background:#35656a}
.sidebar-footer{flex:0 0 auto;background:#fff}
