:root { --bs-primary:#146c94; --bs-primary-rgb:20,108,148; }
html { scrollbar-gutter:stable; }
@supports not (scrollbar-gutter:stable) { html { overflow-y:scroll; } }
body > .navbar { min-height:60px; }
.modules-card .nav-link { display:flex; align-items:center; min-height:40px; }
.modules-card .nav-link > .bi { flex:0 0 1rem; width:1rem; text-align:center; }
.login-box { width:min(100%, 980px); min-height:620px; }
.reset-card { width:min(100%, 520px); }
.logo-cross { display:inline-grid; place-items:center; width:52px; height:52px; border-radius:14px; color:var(--bs-primary); background:#fff; font-size:2rem; font-weight:700; }
.small-cross { width:34px; height:34px; border-radius:9px; font-size:1.4rem; }
.hidden { display:none !important; }
.initial { display:inline-grid; place-items:center; width:36px; height:36px; margin-right:.6rem; border-radius:50%; color:var(--bs-primary); background:#e7f3f8; font-weight:700; }
.patient-name { font-weight:600; }
.edit-button { border:1px solid var(--bs-primary); border-radius:.375rem; color:var(--bs-primary); background:#fff; padding:.3rem .65rem; }
.edit-button:hover { color:#fff; background:var(--bs-primary); }
dialog { width:min(680px,94vw); }
dialog::backdrop { background:rgba(0,0,0,.55); }
.toast-notice { position:fixed; right:1.5rem; bottom:1.5rem; z-index:1100; border-radius:.5rem; color:#fff; background:#0369a1; padding:.8rem 1.2rem; box-shadow:0 .5rem 1rem rgba(0,0,0,.15); }
.modules-card { top:1rem; }
.welcome-panel { background:linear-gradient(135deg, var(--bs-primary), #0b4661); }
.module-icon { display:inline-grid; place-items:center; width:52px; height:52px; border-radius:14px; color:var(--bs-primary); background:#e7f3f8; font-size:1.5rem; }
.module-link { transition:transform .2s ease, box-shadow .2s ease; }
.module-link:hover { transform:translateY(-3px); }
.sidebar-title { margin:0 0 .65rem .75rem; color:#7b8790; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.page-heading { min-height:82px; }
.search-control .input-group-text, .search-control .form-control { border-color:#dfe5e8; }
.modal-clean { border-radius:1rem; overflow:hidden; }
.modal-clean .modal-header { padding:1.15rem 1.5rem; border:0; }
.modal-title-icon, .section-icon { display:inline-grid; place-items:center; flex:0 0 auto; width:42px; height:42px; border-radius:12px; font-size:1.25rem; }
.modal-title-icon { color:var(--bs-primary); background:#fff; }
.section-icon { color:var(--bs-primary); background:#e7f3f8; }
.status-box { min-height:48px; display:flex; align-items:center; padding:.8rem 1rem; border:1px solid #dfe5e8; border-radius:.5rem; background:#f8fafb; }
.user-avatar, .profile-avatar { display:inline-grid; place-items:center; flex:0 0 auto; color:var(--bs-primary); background:#e7f3f8; }
.user-avatar { width:38px; height:38px; border-radius:50%; }
.profile-avatar { width:52px; height:52px; border-radius:14px; font-size:1.35rem; }
.profile-card { transition:transform .2s ease, box-shadow .2s ease; }
.profile-card:hover { transform:translateY(-2px); }
.module-badges { min-height:32px; }
.module-option { cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.module-option:hover, .module-option:has(.module:checked) { border-color:var(--bs-primary) !important; background:#f1f8fb; }
@media (max-width: 991.98px) { .modules-card { position:static !important; } }
