:root{--medical:#0B3D6E;--medical-hover:#083357;--medical-rgb:11,61,110;--medical-contrast:#fff;--health:#14C5B8;--soft:#f8fafc;--text:#334155;--page:#f8fafc;--panel:#fff;--border:#e2e8f0;--hover:#e6fffb}[data-app-theme=turquesa]{--medical:#028090;--medical-hover:#026675;--medical-rgb:2,128,144}[data-app-theme=verde-agua]{--medical:#00a896;--medical-hover:#008878;--medical-rgb:0,168,150}[data-app-theme=verde-clinico]{--medical:#02c39a;--medical-hover:#029b7b;--medical-rgb:2,195,154}[data-app-theme=lima-suave]{--medical:#f0f3bd;--medical-hover:#dce28b;--medical-rgb:240,243,189;--medical-contrast:#16313a}body{background:var(--page);color:var(--text);font-family:"Inter",Arial,sans-serif;transition:background-color .2s ease,color .2s ease}a{color:var(--medical);text-decoration:none}.navbar-brand{display:inline-flex;align-items:center;gap:.35rem;letter-spacing:.2px}.brand-logo{width:28px;height:28px;object-fit:contain;border-radius:8px;vertical-align:middle}.login-logo{display:block;max-width:280px;width:100%;margin:0 auto}.admin-brand-icon{overflow:hidden}.admin-brand-icon img,.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-mark{overflow:hidden;background:#fff}.bg-primary{background-color:var(--medical)!important}.text-primary{color:var(--medical)!important}.text-bg-primary{background-color:var(--medical)!important;color:var(--medical-contrast)!important}.btn-primary{--bs-btn-color:var(--medical-contrast);--bs-btn-bg:var(--medical);--bs-btn-border-color:var(--medical);--bs-btn-hover-color:var(--medical-contrast);--bs-btn-hover-bg:var(--medical-hover);--bs-btn-hover-border-color:var(--medical-hover);--bs-btn-active-color:var(--medical-contrast);--bs-btn-active-bg:var(--medical-hover);--bs-btn-active-border-color:var(--medical-hover)}.btn-outline-primary{--bs-btn-color:var(--medical);--bs-btn-border-color:var(--medical);--bs-btn-hover-color:var(--medical-contrast);--bs-btn-hover-bg:var(--medical);--bs-btn-hover-border-color:var(--medical);--bs-btn-active-color:var(--medical-contrast);--bs-btn-active-bg:var(--medical);--bs-btn-active-border-color:var(--medical)}.form-check-input:checked{background-color:var(--medical);border-color:var(--medical)}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--medical);box-shadow:0 0 0 .25rem rgba(var(--medical-rgb),.2)}.card{border-radius:14px;background:var(--panel)}.btn,.form-control,.form-select{border-radius:8px}.form-control,.form-select{min-height:42px}.stat-card{transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px}.auth-bg{background:linear-gradient(135deg,#edf5ff,#e8fbf7)}.auth-card{width:100%;max-width:430px;border-radius:18px}.brand-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;background:var(--medical);color:var(--medical-contrast);display:grid;place-items:center;font-size:42px;line-height:1}.prescription-editor{font-family:Georgia,serif;font-size:1.05rem;line-height:1.65}.accordion-button:not(.collapsed){background:var(--hover);color:var(--medical)}.analytic-item{cursor:pointer}.upload-preview{height:70px;max-width:170px;object-fit:contain;border:1px solid var(--border);border-radius:8px;padding:5px}.searchable-select{position:relative}.searchable-select-panel{position:absolute;z-index:1060;width:100%;margin-top:4px;padding:8px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.searchable-select-options{max-height:240px;overflow-y:auto;margin-top:6px}.searchable-select-option{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:var(--panel);color:var(--text);text-align:left}.searchable-select-option:hover,.searchable-select-option:focus{background:var(--hover);color:var(--medical)}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.theme-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--panel)}.theme-option:has(input:checked){border-color:var(--medical);box-shadow:0 0 0 3px rgba(var(--medical-rgb),.16)}.theme-swatch{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--swatch);border:1px solid rgba(0,0,0,.12)}.theme-option small{display:block;color:var(--text);font-family:monospace}.plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.plan-options input{position:absolute;opacity:0}.plan-options span{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.plan-options strong{color:var(--medical);font-size:1.2rem}.plan-options small{color:var(--text)}.plan-options input:checked+span{border-color:var(--medical);box-shadow:0 0 0 3px rgba(var(--medical-rgb),.16)}[data-app-theme=lima-suave] .navbar-dark .navbar-brand,[data-app-theme=lima-suave] .navbar-dark .nav-link{color:#16313a}[data-bs-theme=dark]{--text:#d7dee7;--page:#111827;--panel:#1f2937;--border:#3b4758;--hover:#263c5a}[data-bs-theme=dark] .auth-bg{background:linear-gradient(135deg,#111827,#172b35)}[data-bs-theme=dark] .bg-white,[data-bs-theme=dark] .bg-light,[data-bs-theme=dark] .btn-light,[data-bs-theme=dark] .text-bg-light{background-color:#293548!important;color:#e5e7eb!important}[data-bs-theme=dark] .table{--bs-table-bg:transparent;--bs-table-color:#d7dee7;--bs-table-border-color:#3b4758}[data-bs-theme=dark] .accordion-item,[data-bs-theme=dark] .accordion-button{background-color:#1f2937;color:#d7dee7;border-color:#3b4758}[data-bs-theme=dark] .dropdown-menu{--bs-dropdown-bg:#1f2937;--bs-dropdown-link-color:#d7dee7;--bs-dropdown-link-hover-bg:#263c5a;--bs-dropdown-link-hover-color:#fff;border-color:#3b4758}[data-bs-theme=dark] .text-secondary{color:#9ca9b8!important}[data-bs-theme=dark] .border,[data-bs-theme=dark] .border-bottom{border-color:#3b4758!important}@media(max-width:575px){main.container-fluid{padding-left:14px!important;padding-right:14px!important}.h3{font-size:1.35rem}.stat-card .fs-3{font-size:1.5rem!important}.analytics-search{max-width:none!important;width:100%}.analytic-item{margin-bottom:.25rem}}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0}.btn-icon.btn-sm{width:31px;height:31px}.btn-icon i{font-size:.9rem}
.user-menu-toggle{display:inline-flex;align-items:center;gap:.35rem;line-height:1.2}.user-menu-toggle .nav-avatar{width:22px;height:22px;flex:0 0 22px}.nav-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle}img.nav-avatar{display:inline-block}.nav-avatar-fallback{background:rgba(255,255,255,.2);color:currentColor;font-size:.72rem;font-weight:800}.btn-light .nav-avatar-fallback{background:rgba(var(--medical-rgb),.12);color:var(--medical)}.avatar-preview{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid rgba(var(--medical-rgb),.18);background:var(--panel)}.avatar-preview-empty{display:grid;place-items:center;color:var(--medical);font-size:2rem}
.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:270px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--medical),var(--medical-hover));color:var(--medical-contrast);box-shadow:12px 0 32px rgba(0,0,0,.12)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 20px;color:var(--medical-contrast);font-weight:800;font-size:1.05rem}.sidebar-brand:hover{color:var(--medical-contrast)}.sidebar-brand i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.18)}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:8px 12px;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.82);font-weight:600}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--medical-contrast);background:rgba(255,255,255,.16)}.sidebar-nav i{width:20px;text-align:center}.sidebar-nav hr{margin:10px 8px;border-color:rgba(255,255,255,.28)}.sidebar-footer{display:flex;gap:8px;margin-top:auto;padding:14px}.app-content-wrap{min-height:100vh;margin-left:270px}.mobile-topbar{display:none;align-items:center;gap:10px;position:sticky;top:0;z-index:1030;padding:8px 12px}[data-app-theme=lima-suave] .app-sidebar{color:#16313a}[data-app-theme=lima-suave] .sidebar-brand,[data-app-theme=lima-suave] .sidebar-brand:hover,[data-app-theme=lima-suave] .sidebar-nav a,[data-app-theme=lima-suave] .sidebar-nav a:hover,[data-app-theme=lima-suave] .sidebar-nav a.active{color:#16313a}[data-bs-theme=dark] .app-sidebar{box-shadow:12px 0 32px rgba(0,0,0,.35)}@media(max-width:991px){.app-sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar-open .app-sidebar{transform:translateX(0)}.app-content-wrap{margin-left:0}.mobile-topbar{display:flex}.sidebar-open:after{content:"";position:fixed;inset:0;z-index:1035;background:rgba(15,23,42,.45)}}.table-responsive{border-radius:12px}.table{vertical-align:middle}.table th{white-space:nowrap}.table td{vertical-align:middle}.btn-icon{display:inline-grid;place-items:center;min-width:34px;min-height:34px}.dt-layout-row{gap:12px}.dt-search input{max-width:260px}.card .table-responsive:last-child .table{margin-bottom:0}.appointments-layout{align-items:flex-start}.appointments-calendar{--fc-border-color:var(--border);--fc-page-bg-color:var(--panel);--fc-neutral-bg-color:var(--hover);--fc-today-bg-color:rgba(var(--medical-rgb),.12);--fc-button-bg-color:var(--medical);--fc-button-border-color:var(--medical);--fc-button-hover-bg-color:var(--medical-hover);--fc-button-hover-border-color:var(--medical-hover);--fc-button-active-bg-color:var(--medical-hover);--fc-button-active-border-color:var(--medical-hover);color:var(--text)}.appointments-calendar .fc{font-size:.92rem}.appointments-calendar .fc-toolbar-title{font-size:1.15rem}.appointments-calendar .fc-event{border-radius:6px;padding:2px 4px;cursor:pointer}.appointments-calendar .fc-button{border-radius:8px!important}.appointments-expanded .appointments-sidebar{display:none}.appointments-expanded .appointments-main{flex:0 0 100%;max-width:100%}.appointments-expanded .appointments-filters{display:none}[data-bs-theme=dark] .appointments-calendar .fc-col-header-cell,[data-bs-theme=dark] .appointments-calendar .fc-timegrid-slot,[data-bs-theme=dark] .appointments-calendar .fc-daygrid-day{background:var(--panel)}@media(max-width:768px){.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table{min-width:0}.table td,.table th{padding:.65rem}.text-end.text-nowrap{white-space:normal!important}.text-end .btn,.text-end form{margin-bottom:4px}.card-body{padding:1rem}.dt-layout-row{display:block}.dt-search input{max-width:none;width:100%;margin-top:8px}.appointments-calendar .fc-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.appointments-calendar .fc-toolbar-chunk{display:flex;flex-wrap:wrap;gap:4px}.modal-header{padding:.875rem 1rem}.modal-body{padding:1rem}.modal-footer{padding:.875rem 1rem}}@media(max-width:575px){.consultation-form-page .vitals-grid > [class*="col-"]{flex:0 0 100%;max-width:100%}.consultation-form-page .vitals-grid .form-control,.consultation-form-page .vitals-grid .form-select{min-height:40px}.appointments-page .btn-group{width:100%}.appointments-page .btn-group .btn{flex:1 1 0}.appointments-page .js-appointment-new,.appointments-page .js-appointments-expand{width:100%}}
.clinical-timeline{position:relative;padding-left:28px}.clinical-timeline:before{content:"";position:absolute;left:10px;top:4px;bottom:4px;width:2px;background:rgba(var(--medical-rgb),.22)}.timeline-item{position:relative;margin-bottom:16px}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-28px;top:4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--medical);color:var(--medical-contrast);font-size:.75rem;box-shadow:0 0 0 4px var(--panel)}.timeline-card{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.timeline-card:hover{border-color:rgba(var(--medical-rgb),.42);box-shadow:0 8px 24px rgba(var(--medical-rgb),.08)}.text-pre-line{white-space:pre-line}[data-bs-theme=dark] .timeline-marker{box-shadow:0 0 0 4px var(--panel)}@media(max-width:768px){.clinical-timeline{padding-left:22px}.timeline-marker{left:-24px}.timeline-card .text-end{text-align:left!important;margin-top:10px}}
.clinical-background{display:grid;gap:10px}.clinical-background-item{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(var(--medical-rgb),.035)}.clinical-background-item p{white-space:pre-line}.clinical-background-item .fa-solid{width:18px;text-align:center}[data-bs-theme=dark] .clinical-background-item{background:rgba(var(--medical-rgb),.08)}
.attachment-list{display:grid;gap:9px}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.attachment-item strong{font-size:.92rem}.attachment-item:hover{border-color:rgba(var(--medical-rgb),.4);box-shadow:0 6px 18px rgba(var(--medical-rgb),.07)}@media(max-width:575px){.attachment-item{align-items:flex-start;flex-direction:column}.attachment-item .text-nowrap{white-space:normal!important}.patients-page .d-flex.justify-content-between,.documents-page .d-flex.justify-content-between,.support-page .d-flex.justify-content-between{align-items:flex-start}.patients-page .btn,.documents-page .btn,.support-page .btn{width:100%}.patients-page form,.documents-page form,.support-page .card-body form{margin-bottom:1rem}.patients-page .btn-icon,.documents-page .btn-icon,.support-page .btn-icon{min-width:32px;min-height:32px}.support-page pre{white-space:pre-wrap;word-break:break-word}}
.diagnosis-list,.diagnosis-summary{display:grid;gap:10px}.diagnosis-item,.diagnosis-summary-item{padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(var(--medical-rgb),.035)}.diagnosis-summary-item code{padding:2px 6px;border-radius:6px;background:rgba(var(--medical-rgb),.1);color:var(--medical)}[data-bs-theme=dark] .diagnosis-item,[data-bs-theme=dark] .diagnosis-summary-item{background:rgba(var(--medical-rgb),.08)}
.appointments-inline-filters{display:none}.appointments-expanded .appointments-inline-filters{display:block!important}
.modal-content{border-radius:16px;overflow:hidden}.modal-header{background:linear-gradient(135deg,var(--medical),var(--medical-hover));color:var(--medical-contrast);border-bottom:0;padding:1rem 1.25rem}.modal-header .modal-title{color:var(--medical-contrast);font-weight:800;letter-spacing:.2px}.modal-header .btn-close{filter:brightness(0) invert(1);opacity:.92;box-shadow:none}.modal-header .btn-close:hover{opacity:1}.modal-footer{border-top:1px solid var(--border);background:rgba(var(--medical-rgb),.03)}[data-bs-theme=dark] .modal-header{background:linear-gradient(135deg,var(--medical),var(--medical-hover));color:#fff}[data-bs-theme=dark] .modal-footer{background:rgba(255,255,255,.03)}
.appointments-calendar .fc-event{min-height:24px}.appointments-calendar .fc-event-main{min-height:24px;padding:4px 8px;display:flex;align-items:center;line-height:1.2}.appointments-calendar .fc-event-title,.appointments-calendar .fc-event-time{line-height:1.2}
.dashboard-page{display:grid;gap:1rem}.dashboard-hero{overflow:hidden;background:linear-gradient(135deg,rgba(var(--medical-rgb),.08),rgba(20,197,184,.10))}.dashboard-kicker{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:rgba(var(--medical-rgb),.12);color:var(--medical);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem}.dashboard-hero-copy{max-width:62ch}.dashboard-filter-badge{padding:.55rem .8rem;font-weight:700}.dashboard-stat-card{position:relative;overflow:hidden}.dashboard-stat-card:before{content:"";position:absolute;inset:auto -20px -20px auto;width:80px;height:80px;border-radius:50%;background:rgba(var(--medical-rgb),.06)}.dashboard-panel{overflow:hidden}.dashboard-analytics-panel{background:linear-gradient(180deg,rgba(var(--medical-rgb),.04),rgba(255,255,255,.98))}.dashboard-list,.dashboard-bars,.dashboard-rankings{display:grid;gap:.85rem}.dashboard-list-item,.dashboard-bar-item,.dashboard-ranking-item{padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.dashboard-list-item{display:flex;justify-content:space-between;align-items:center;gap:.9rem}.dashboard-list-item:hover,.dashboard-bar-item:hover,.dashboard-ranking-item:hover{border-color:rgba(var(--medical-rgb),.35);box-shadow:0 10px 24px rgba(var(--medical-rgb),.06)}.dashboard-ranking-index{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;margin-bottom:.25rem;padding:0 .55rem;border-radius:999px;background:rgba(var(--medical-rgb),.1);color:var(--medical);font-weight:800;font-size:.85rem}.dashboard-progress{height:10px;background:rgba(var(--medical-rgb),.08)}.dashboard-progress .progress-bar{border-radius:999px}.dashboard-progress-soft{background:rgba(25,135,84,.08)}.dashboard-empty{padding:1rem;border:1px dashed var(--border);border-radius:14px;color:var(--text);background:rgba(var(--medical-rgb),.03)}.dashboard-chart-box{position:relative;min-height:320px}.dashboard-chart-box-sm{min-height:260px}.dashboard-chart-box-lg{min-height:340px}.dashboard-chart-box canvas{width:100%!important;height:100%!important}.dashboard-ranking-list{display:grid;gap:.75rem}.dashboard-alert{border-radius:14px}.dashboard-alert-value{display:inline-block;font-size:2rem;font-weight:800;line-height:1.05;color:var(--medical)}
