:root{--rm-teal-900: #0A3A3A;--rm-teal-700: #0F6E6E;--rm-teal-600: #14807F;--rm-teal-100: #E3F1F0;--rm-teal-50: #F2F8F7;--rm-amber-600: #C7791E;--rm-amber-100: #FBEBD3;--rm-danger: #B3392C;--rm-danger-100: #FBE7E4;--rm-success: #2E7D5B;--rm-success-100: #E4F3EC;--rm-ink: #172626;--rm-ink-muted: #5B6E6E;--rm-border: #DCE7E6;--rm-surface: #FFFFFF;--rm-bg: #F6F9F8;--rm-font-display: "IBM Plex Sans", -apple-system, Segoe UI, sans-serif;--rm-font-body: "IBM Plex Sans", -apple-system, Segoe UI, sans-serif;--rm-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--rm-radius: 10px;--rm-radius-sm: 6px;--rm-shadow: 0 1px 2px rgba(10, 58, 58, .06), 0 4px 16px rgba(10, 58, 58, .06);--bs-primary: var(--rm-teal-700);--bs-primary-rgb: 15, 110, 110;--bs-body-font-family: var(--rm-font-body);--bs-body-color: var(--rm-ink);--bs-body-bg: var(--rm-bg);--bs-border-color: var(--rm-border);--bs-border-radius: var(--rm-radius-sm)}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--rm-font-body);background:var(--rm-bg);color:var(--rm-ink)}a{color:var(--rm-teal-700)}a:hover{color:var(--rm-teal-900)}.btn-primary{background-color:var(--rm-teal-700);border-color:var(--rm-teal-700)}.btn-primary:hover,.btn-primary:focus{background-color:var(--rm-teal-900);border-color:var(--rm-teal-900)}.btn-outline-primary{color:var(--rm-teal-700);border-color:var(--rm-teal-700)}.btn-outline-primary:hover{background-color:var(--rm-teal-700);border-color:var(--rm-teal-700)}.form-control:focus,.form-select:focus{border-color:var(--rm-teal-600);box-shadow:0 0 0 .2rem #0f6e6e26}.rm-shell{display:flex;min-height:100vh}.rm-sidebar{width:248px;flex-shrink:0;background:var(--rm-teal-900);color:#eaf3f2;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;transition:transform .2s ease;z-index:1030}.rm-sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.rm-sidebar-brand img{height:32px;width:auto;border-radius:4px;background:#fff;padding:2px}.rm-sidebar-brand .rm-wordmark{font-weight:700;font-size:1.05rem;line-height:1.1;letter-spacing:.2px}.rm-sidebar-brand .rm-tagline{font-size:.68rem;opacity:.7;letter-spacing:.3px}.rm-nav{padding:12px 10px;overflow-y:auto;flex:1}.rm-nav-section{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin:16px 10px 6px}.rm-nav a.rm-nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--rm-radius-sm);color:#d9eae8;text-decoration:none;font-size:.92rem;margin-bottom:2px}.rm-nav a.rm-nav-link:hover{background:#ffffff14;color:#fff}.rm-nav a.rm-nav-link.active{background:var(--rm-teal-700);color:#fff;font-weight:600}.rm-nav a.rm-nav-link.disabled{opacity:.4;pointer-events:none}.rm-nav .rm-badge-soon{margin-left:auto;font-size:.62rem;padding:1px 6px;border-radius:999px;background:#ffffff1f;color:#cfe3e1}.rm-sidebar-user{padding:12px 16px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem}.rm-sidebar-user .rm-role{opacity:.65;font-size:.72rem;text-transform:capitalize}.rm-sidebar-user button{color:#eaf3f2;opacity:.8}.rm-sidebar-user button:hover{opacity:1}.rm-main{margin-left:248px;flex:1;min-width:0;display:flex;flex-direction:column}.rm-topbar{background:var(--rm-surface);border-bottom:1px solid var(--rm-border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1020}.rm-topbar h1{font-size:1.15rem;font-weight:700;margin:0}.rm-topbar .rm-menu-toggle{display:none}.rm-content{padding:24px;flex:1}.rm-card{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius);box-shadow:var(--rm-shadow)}.rm-card-header{padding:16px 20px;border-bottom:1px solid var(--rm-border);display:flex;align-items:center;justify-content:space-between}.rm-card-header h2{font-size:1rem;font-weight:700;margin:0}.rm-card-body{padding:20px}.rm-stat{background:var(--rm-surface);border:1px solid var(--rm-border);border-radius:var(--rm-radius);padding:18px 20px}.rm-stat .rm-stat-value{font-family:var(--rm-font-mono);font-size:1.7rem;font-weight:600;color:var(--rm-teal-900)}.rm-stat .rm-stat-label{font-size:.78rem;color:var(--rm-ink-muted);text-transform:uppercase;letter-spacing:.04em}.rm-code{font-family:var(--rm-font-mono)}.badge-status-registered{background:var(--rm-teal-100);color:var(--rm-teal-900)}.badge-status-vitals_done,.badge-status-in_consultation{background:var(--rm-amber-100);color:var(--rm-amber-600)}.badge-status-completed{background:var(--rm-success-100);color:var(--rm-success)}.badge-status-cancelled{background:var(--rm-danger-100);color:var(--rm-danger)}.rm-status-badge{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:capitalize}.rm-empty{text-align:center;padding:48px 20px;color:var(--rm-ink-muted)}.rm-empty .rm-empty-icon{font-size:2rem;margin-bottom:10px;opacity:.5}.rm-toast-stack{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px}.rm-toast{min-width:260px;max-width:360px;padding:12px 16px;border-radius:var(--rm-radius-sm);box-shadow:var(--rm-shadow);font-size:.88rem}.rm-toast.success{background:var(--rm-success-100);color:var(--rm-success);border:1px solid rgba(46,125,91,.25)}.rm-toast.error{background:var(--rm-danger-100);color:var(--rm-danger);border:1px solid rgba(179,57,44,.25)}.rm-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--rm-teal-900) 0%,var(--rm-teal-700) 100%);padding:20px}.rm-auth-card{width:100%;max-width:400px;background:var(--rm-surface);border-radius:14px;box-shadow:0 20px 60px #00000040;padding:32px 28px}.rm-auth-brand{text-align:center;margin-bottom:22px}.rm-auth-brand img{height:46px;margin-bottom:8px}.rm-auth-brand .rm-wordmark{font-size:1.3rem;font-weight:700;color:var(--rm-teal-900)}.rm-auth-brand .rm-tagline{font-size:.78rem;color:var(--rm-ink-muted)}@media (max-width: 900px){.rm-sidebar{transform:translate(-100%)}.rm-sidebar.open{transform:translate(0)}.rm-main{margin-left:0}.rm-topbar .rm-menu-toggle{display:inline-flex}.rm-content{padding:16px}}.rm-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a3a3a59;z-index:1025}.rm-overlay.show{display:block}
