﻿@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

:root{
    --primary:#006c5b;
    --primary-2:#008876;
    --primary-3:#0f766e;
    --primary-soft:#e8f7f2;
    --primary-soft-2:#f2fbf8;
    --accent:#36c486;
    --accent-2:#dff7ed;
    --navy:#061826;
    --navy-2:#082033;
    --text:#102033;
    --muted:#64748b;
    --border:#dceee8;
    --card:#ffffff;
    --page:#f4fbf8;
    --shadow:0 18px 48px rgba(0,108,91,.10);
}

*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:radial-gradient(circle at top left,rgba(0,136,118,.08),transparent 30%),var(--page);color:var(--text)}
.app-wrapper{display:flex;min-height:100vh}
.sidebar{width:280px;background:linear-gradient(180deg,var(--primary),#075447 55%,var(--navy));color:#fff;padding:24px 18px;position:fixed;right:0;top:0;bottom:0;z-index:100;box-shadow:-14px 0 35px rgba(0,108,91,.10)}
.brand-box{display:flex;align-items:center;gap:12px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:25px}
.brand-icon{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#fff,var(--accent-2));color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.brand-box h5{margin:0;font-weight:900}.brand-box span{font-size:12px;color:#dff7ed}
.menu{list-style:none;padding:0;margin:0}.menu li{margin-bottom:8px}
.menu a{display:flex;align-items:center;gap:12px;padding:13px 14px;color:#eefdf8;text-decoration:none;border-radius:16px;transition:.2s;font-size:15px;border:1px solid transparent}
.menu a:hover{background:rgba(255,255,255,.14);color:white;transform:translateX(-4px);border-color:rgba(255,255,255,.14)}
.menu i{font-size:19px}
.main-content{margin-right:280px;width:calc(100% - 280px);min-height:100vh}
.topbar{height:82px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 28px rgba(0,108,91,.05)}
.topbar h6{margin:0;font-size:18px;font-weight:900;color:var(--primary)}.topbar span{font-size:13px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:16px}
.user-box{height:44px;background:var(--primary-soft);color:var(--primary);padding:0 14px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:800;border:1px solid var(--border)}
.page-content{padding:28px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px}.page-header h4{font-weight:900;margin:0;color:var(--primary)}.page-header p{margin:6px 0 0;color:var(--muted)}
.stat-card{background:var(--card);border-radius:26px;padding:22px;box-shadow:var(--shadow);border:1px solid var(--border);transition:.2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(0,108,91,.14)}
.stat-icon{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:24px;color:white;margin-bottom:18px}.bg-blue{background:linear-gradient(135deg,var(--primary),#22c7ad)}.bg-green{background:linear-gradient(135deg,#0f9f72,#58d68d)}.bg-orange{background:linear-gradient(135deg,#d49b2a,#f8d876)}.bg-purple{background:linear-gradient(135deg,#0f766e,#7dd3c7)}.bg-teal{background:linear-gradient(135deg,#0f8f83,#4fd1c5)}
.stat-card h3{margin:0;font-weight:900;color:var(--navy)}.stat-card p{margin:6px 0 0;color:var(--muted)}
.panel{background:rgba(255,255,255,.96);border-radius:26px;padding:24px;box-shadow:var(--shadow);border:1px solid var(--border)}.panel-title{font-weight:900;margin-bottom:20px;color:var(--primary)}
.btn-main{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;border:none;border-radius:16px;padding:10px 18px;font-weight:800;box-shadow:0 12px 28px rgba(0,108,91,.22)}.btn-main:hover{color:white;opacity:.94;box-shadow:0 16px 34px rgba(0,108,91,.28)}
.btn-light{background:#f2fbf8;border-color:var(--border);color:var(--primary);font-weight:700}.btn-outline-primary{border-color:var(--primary);color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary);color:white}
.form-control,.form-select{border-radius:16px;padding:11px 14px;border-color:var(--border);background:#fff}.form-control:focus,.form-select:focus{box-shadow:0 0 0 4px rgba(0,108,91,.12);border-color:var(--primary)}
.table{vertical-align:middle}.table thead th{color:var(--primary);background:#f2fbf8;border-bottom:1px solid var(--border)}.table-responsive-mobile{overflow-x:auto}.action-cell{white-space:nowrap;display:flex;gap:6px}.form-panel{max-width:1000px}.form-panel h4{font-weight:900;margin-bottom:22px;color:var(--primary)}.form-actions{display:flex;gap:10px;margin-top:24px}
.follow-item{margin-bottom:14px;padding:16px;border-radius:20px;background:var(--primary-soft-2);border:1px solid var(--border)}.follow-item strong{font-size:14px;color:var(--primary)}.follow-item p{color:var(--muted);font-size:13px;margin:6px 0 0}
.mobile-bottom-nav,.mobile-card-list{display:none}.mobile-card{background:white;border:1px solid var(--border);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 10px 25px rgba(0,108,91,.07)}.mobile-card p{font-size:13px;color:var(--muted);margin:8px 0}
@media(max-width:992px){.sidebar{width:230px}.main-content{margin-right:230px;width:calc(100% - 230px)}}
@media(max-width:768px){body{background:var(--page);padding-bottom:82px}.desktop-sidebar{display:none}.main-content{margin-right:0;width:100%}.topbar{height:auto;min-height:76px;padding:16px;border-radius:0 0 28px 28px;box-shadow:0 10px 26px rgba(0,108,91,.08)}.topbar h6{font-size:17px}.topbar span{font-size:12px}.user-box{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}.user-box span{display:none}.page-content{padding:18px 14px}.page-header{align-items:flex-start;flex-direction:column}.page-header .btn{width:100%}.stat-card{border-radius:22px;padding:18px}.stat-icon{width:46px;height:46px;font-size:21px;border-radius:16px;margin-bottom:14px}.stat-card h3{font-size:22px}.stat-card p{font-size:13px}.panel{border-radius:22px;padding:18px}.panel-title{font-size:16px}.btn-main{padding:12px 16px;border-radius:16px}.table{min-width:650px;font-size:13px}.desktop-table{display:none}.mobile-card-list{display:block}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.mobile-bottom-nav{position:fixed;right:12px;left:12px;bottom:12px;height:66px;background:white;border-radius:26px;box-shadow:0 16px 38px rgba(0,108,91,.18);display:flex;align-items:center;justify-content:space-around;z-index:999;border:1px solid var(--border)}.mobile-bottom-nav a{text-decoration:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;min-width:48px}.mobile-bottom-nav i{font-size:20px}.mobile-bottom-nav a:hover{color:var(--primary)}.mobile-bottom-nav .center-action{width:56px;height:56px;border-radius:20px;margin-top:-32px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px rgba(0,108,91,.35)}.mobile-bottom-nav .center-action i{font-size:26px}.mobile-bottom-nav .center-action span{display:none}}
@media(max-width:420px){html{font-size:14px}.topbar{padding:14px}.page-content{padding:16px 12px}.mobile-bottom-nav{right:8px;left:8px;bottom:8px}}
.record-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.record-summary div{background:var(--primary-soft-2);border:1px solid var(--border);border-radius:18px;padding:14px;text-align:center}.record-summary strong{display:block;font-size:22px;font-weight:900;color:var(--primary)}.record-summary span{font-size:12px;color:var(--muted)}.empty-state{background:var(--primary-soft-2);border:1px dashed #badbd2;color:var(--muted);border-radius:20px;padding:18px;text-align:center}.hospital-note-row td{background:#fbfffd!important;color:var(--muted);font-size:13px}.hospital-note-row span{display:inline-block;margin-left:16px}.patient-actions .btn{border-radius:14px}
@media(max-width:768px){.patient-actions{width:100%}.patient-actions .btn{width:100%;justify-content:center}.record-summary{grid-template-columns:1fr 1fr 1fr}.hospital-note-row span{display:block;margin:4px 0}.table .action-cell{display:table-cell;white-space:nowrap}}

/* Login */
.login-page{min-height:100vh;background:radial-gradient(circle at top right,rgba(54,196,134,.22),transparent 32%),linear-gradient(135deg,var(--primary-soft-2),#ffffff 48%,#eaf8f4)}
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:430px;background:white;border-radius:34px;padding:32px;box-shadow:0 28px 70px rgba(0,108,91,.18);border:1px solid var(--border)}.login-brand{text-align:center}.login-brand h3{margin:18px 0 6px;font-weight:900;color:var(--primary)}.login-brand p,.login-help{color:var(--muted)}.login-help{margin-top:18px;text-align:center;font-size:13px;background:var(--primary-soft-2);border-radius:18px;padding:12px;border:1px solid var(--border)}

/* Patient-first workflow */
.quick-workflow{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-item{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:800;white-space:nowrap}.workflow-item i{width:36px;height:36px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.workflow-item.active i{color:white;background:linear-gradient(135deg,var(--primary),var(--primary-2))}.workflow-line{flex:1;height:2px;background:var(--border)}.patient-name-cell{display:flex;align-items:center;gap:10px}.patient-name-cell small{display:block;color:var(--muted);margin-top:3px}.avatar-circle{width:42px;height:42px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-weight:900}.mobile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-action-grid .btn{border-radius:14px;padding:10px;font-size:13px}.service-timeline{display:flex;flex-direction:column;gap:12px}.service-record-card{display:flex;justify-content:space-between;gap:14px;padding:16px;background:var(--primary-soft-2);border:1px solid var(--border);border-radius:20px}.service-record-card p{margin:6px 0 0;color:var(--muted);font-size:13px}.service-record-card small{display:block;margin-top:8px;color:#334155}.service-record-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:end}.service-record-actions span{color:var(--primary);font-weight:900}
@media(max-width:768px){.quick-workflow{overflow-x:auto;justify-content:flex-start}.workflow-line{min-width:28px;flex:0 0 28px}.service-record-card{flex-direction:column}.service-record-actions{justify-content:space-between}}

.dashboard-hero{background:linear-gradient(135deg,#ffffff 0%,#f3fbf8 44%,#e2f6ee 100%);border-radius:34px;color:var(--navy);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 22px 60px rgba(0,108,91,.12);border:1px solid var(--border);position:relative;overflow:hidden}.dashboard-hero:before{content:"";position:absolute;inset:auto -70px -120px auto;width:280px;height:280px;background:rgba(0,136,118,.10);border-radius:50%}.dashboard-hero h3{margin:8px 0;font-weight:900;color:var(--navy);position:relative}.dashboard-hero p{margin:0;color:#334155;position:relative}.hero-kicker{background:var(--accent-2);color:var(--primary);padding:7px 13px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid #c8efde;position:relative}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative}.recent-patient-list{display:flex;flex-direction:column;gap:12px}.recent-patient-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-radius:20px;background:var(--primary-soft-2);border:1px solid var(--border)}.recent-patient-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-state{padding:20px;text-align:center;color:var(--muted);background:var(--primary-soft-2);border-radius:20px}
@media(max-width:768px){.dashboard-hero{flex-direction:column;align-items:stretch;border-radius:26px;padding:20px}.hero-actions .btn{width:100%}.recent-patient-item{align-items:stretch;flex-direction:column}.recent-patient-actions .btn{flex:1}}


/* Profile */
.profile-mini{height:50px;display:flex;align-items:center;gap:10px;background:var(--primary-soft);border:1px solid var(--border);border-radius:999px;padding:5px 7px 5px 14px;text-decoration:none;color:var(--primary);transition:.2s}
.profile-mini:hover{transform:translateY(-2px);color:var(--primary);box-shadow:0 10px 24px rgba(0,108,91,.10)}
.profile-mini img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,108,91,.14)}
.profile-mini-text{display:flex;flex-direction:column;line-height:1.25}.profile-mini-text strong{font-size:13px;font-weight:900}.profile-mini-text small{font-size:11px;color:var(--muted);font-weight:800}
.profile-card{position:sticky;top:100px}.profile-avatar-large{width:138px;height:138px;border-radius:42px;object-fit:cover;border:6px solid #fff;box-shadow:0 18px 42px rgba(0,108,91,.18);background:var(--primary-soft)}
.profile-card h5{font-weight:900;color:var(--primary);margin:18px 0 10px}.role-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:999px;background:var(--accent-2);color:var(--primary);border:1px solid #c8efde;font-weight:900}
@media(max-width:768px){.profile-mini{width:46px;height:46px;padding:3px;justify-content:center}.profile-mini img{width:38px;height:38px}.profile-mini-text{display:none}.profile-card{position:static}.profile-avatar-large{width:120px;height:120px;border-radius:36px}}


/* Nikan Salamat Logo */
.brand-logo-box{
    width:58px;
    height:58px;
    border-radius:20px;
    background:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:6px;
    box-shadow:0 12px 28px rgba(0,0,0,.14);
    border:1px solid rgba(255,255,255,.65);
    flex:0 0 58px;
}
.brand-logo-box img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:14px;
}
.login-logo{
    width:118px;
    height:118px;
    border-radius:34px;
    object-fit:contain;
    background:#fff;
    padding:10px;
    box-shadow:0 18px 45px rgba(0,108,91,.16);
    border:1px solid var(--border);
}
@media(max-width:768px){
    .brand-logo-box{width:52px;height:52px;border-radius:18px;flex-basis:52px}
    .login-logo{width:104px;height:104px;border-radius:30px}
}

/* Dashboard clickable cards */
.stat-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.stat-link:hover {
    color: inherit;
}
.stat-hint {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    color: #167a55;
    font-weight: 800;
}

/* Patient record tabs */
.record-tabs {
    background: white;
    border-radius: 15px;
    padding: 8px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
}
.record-tabs .nav-link {
    white-space: nowrap;
    color: #475569;
    border-radius: 15px;
    font-weight: 800;
}
.record-tabs .nav-link.active {
    background: #167a55;
    color: white;
}
.summary-list div {
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7;
}
.summary-list div:last-child { border-bottom: 0; }
.medical-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.medical-history-grid > div {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 15px;
    padding: 16px;
}
.medical-history-grid .full { grid-column: 1 / -1; }
.medical-history-grid p { margin: 8px 0 0; color: #475569; white-space: pre-line; }
.lab-trend-list { display: grid; gap: 14px; }
.lab-trend-card {
    border: 1px solid #e5f2ec;
    background: #fbfefc;
    border-radius: 16px;
    padding: 16px;
}
.lab-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.lab-point {
    min-width: 120px;
    border-radius: 13px;
    background: white;
    border: 1px solid #e2e8f0;
    padding: 10px 12px;
    color: #0f172a;
    text-decoration: none;
}
.lab-point span { display: block; font-size: 12px; color: #64748b; }
.lab-point b { display: block; margin-top: 4px; }

/* Speech to text */
.speech-wrapper { position: relative; }
.speech-wrapper textarea { padding-bottom: 48px; }
.speech-btn {
    position: absolute;
    left: 10px;
    bottom: 10px;
    border: 0;
    border-radius: 12px;
    padding: 7px 12px;
    background: #e9f8f1;
    color: #167a55;
    font-weight: 800;
    font-size: 12px;
}
.speech-btn.recording {
    background: #fee2e2;
    color: #b91c1c;
    animation: pulseMic 1s infinite;
}
@keyframes pulseMic { 50% { transform: scale(1.04); } }

/* PWA install */
.pwa-install-box {
    position: fixed;
    right: 18px;
    bottom: 92px;
    left: 18px;
    max-width: 520px;
    margin: auto;
    background: white;
    border: 1px solid #e5f2ec;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
    border-radius: 15px;
    z-index: 2000;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.pwa-install-box p { margin: 4px 0 0; color: #64748b; font-size: 12px; }
.app-footer {
    text-align: center;
    color: #94a3b8;
    font-size: 12px;
    padding: 24px 0 8px;
}
.login-copyright {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eef2f7;
    color: #64748b;
    font-size: 12px;
    text-align: center;
    line-height: 1.9;
}

@media (max-width: 768px) {
    .medical-history-grid { grid-template-columns: 1fr; }
    .pwa-install-box { bottom: 86px; align-items: stretch; flex-direction: column; }
}

/* Persian date input */
.persian-date-input {
    direction: ltr;
    text-align: right;
    cursor: pointer;
    background-image: linear-gradient(90deg, transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23167a55' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
    padding-left: 42px;
}

.persian-date-picker {
    position: absolute;
    width: 292px;
    background: #ffffff;
    border: 1px solid #dfeee7;
    border-radius: 15px;
    box-shadow: 0 20px 55px rgba(16, 54, 39, 0.18);
    z-index: 3000;
    padding: 14px;
    direction: rtl;
}

.pdp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.pdp-header button,
.pdp-grid button {
    border: none;
    background: #eef8f2;
    color: #167a55;
    border-radius: 12px;
    min-width: 34px;
    height: 34px;
    font-weight: 800;
}

.pdp-header strong {
    color: #123a2a;
    font-size: 14px;
}

.pdp-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    text-align: center;
}

.pdp-week {
    color: #7b9389;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 0;
}

.pdp-grid button:hover {
    background: #167a55;
    color: white;
}

.pdp-time {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #edf5f1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    direction: ltr;
}

.pdp-time input {
    width: 62px;
    border: 1px solid #dfeee7;
    border-radius: 12px;
    padding: 7px;
    text-align: center;
}

@media (max-width: 480px) {
    .persian-date-picker {
        left: 12px !important;
        right: 12px !important;
        width: auto;
    }
}

/* Safari speech fallback notice */
.speech-btn.speech-help {
    background: #fff7ed;
    color: #c2410c;
}
.speech-notice {
    position: fixed;
    right: 16px;
    left: 16px;
    bottom: 90px;
    max-width: 560px;
    margin: auto;
    background: #0f172a;
    color: #fff;
    border-radius: 15px;
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.9;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.22);
    z-index: 3000;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: all .2s ease;
}
.speech-notice.show {
    opacity: 1;
    transform: translateY(0);
}

/* Searchable combo boxes */
.searchable-select { position: relative; }
.searchable-original { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 1px !important; height: 1px !important; }
.searchable-button {
    width: 100%; min-height: 46px; border-radius: 12px; border: 1px solid #dbe3ef;
    background: white; color: #1f2937; text-align: right; padding: 10px 14px; font: inherit;
}
.searchable-button:after { content: '⌄'; float: left; color: #64748b; }
.searchable-button:disabled { background: #f1f5f9; color: #94a3b8; cursor: not-allowed; opacity: .85; }
.searchable-option:disabled { color: #94a3b8; cursor: not-allowed; background: transparent; }
.searchable-panel {
    position: fixed; z-index: 10050;
    background: white; border: 1px solid #dbe3ef; border-radius: 13px;
    box-shadow: 0 18px 40px rgba(15,23,42,.16); padding: 8px;
    min-width: 180px; max-width: calc(100vw - 16px);
}
.searchable-panel.is-above { transform-origin: bottom center; }
.searchable-panel.is-below { transform-origin: top center; }
.searchable-input { width: 100%; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; outline: none; margin-bottom: 8px; }
.searchable-input:focus { border-color: #167a55; box-shadow: 0 0 0 4px rgba(22,122,85,.12); }
.searchable-list { max-height: 240px; overflow: auto; display: grid; gap: 4px; }
.searchable-option { border: 0; background: transparent; text-align: right; padding: 10px 12px; border-radius: 10px; color: #1f2937; }
.searchable-option:hover, .searchable-option.active { background: #e9f8f1; color: #167a55; }
.searchable-empty { padding: 12px; color: #94a3b8; font-size: 13px; }
.referral-card { background: #f8fafc; border: 1px solid #e8f2ee; border-radius: 15px; padding: 16px; margin-bottom: 12px; }
.referral-followups { background: white; border-radius: 11px; border: 1px solid #e2e8f0; padding: 12px; }

/* Professional treatment navigation additions */
.nav-status-badge{display:inline-flex;align-items:center;gap:6px;background:#e8f7ef;color:#167a55;border:1px solid #c9ead8;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}
.path-chip-wrap{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.path-chip-wrap.mini{margin-top:5px}.path-chip{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.path-chip small{color:#64748b;font-weight:600}.path-chip.more{background:#f8fafc;color:#475569;border-color:#e2e8f0}.patient-closed{opacity:.72;background:#f8fafc}.info-tile{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;height:100%}.info-tile b{color:#475569}.info-tile span{font-weight:900;color:#0f172a}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.file-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}.file-card>i{font-size:28px;color:#167a55;margin-bottom:8px}.activity-timeline{display:flex;flex-direction:column;gap:12px}.activity-item{position:relative;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:14px 16px}.activity-item span{font-size:12px;color:#64748b}.activity-item strong{display:block;margin-top:4px}.activity-item p{margin:6px 0;color:#334155}.notification-list{display:flex;flex-direction:column;gap:12px}.notification-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:16px}.notification-card.read{background:#f8fafc;border-color:#e5e7eb;opacity:.78}.notification-card p{margin:6px 0;color:#475569}.care-flow-map{display:flex;flex-direction:column;align-items:center;gap:12px;overflow-x:auto;padding:8px 0}.flow-node{min-width:160px;max-width:240px;text-align:center;text-decoration:none;color:#0f172a;background:white;border:2px solid #e5e7eb;border-radius:22px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:5px;align-items:center;transition:.2s}.flow-node i{font-size:24px}.flow-node strong{font-weight:900}.flow-node span,.flow-node small{font-size:12px;color:#64748b}.flow-node.done{border-color:#86efac;background:#f0fdf4}.flow-node.progress{border-color:#7dd3fc;background:#f0f9ff}.flow-node.waiting{border-color:#fde68a;background:#fffbeb}.flow-node.danger{border-color:#fecaca;background:#fef2f2}.flow-node:hover{transform:translateY(-3px);color:#0f172a}.flow-line{width:3px;height:24px;background:#d1d5db;border-radius:999px}.flow-branches{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:stretch;width:100%;padding:12px;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:24px}.homecare-flow{background:#f0fdf4;border-color:#bbf7d0}.quick-alert{border-radius:18px;padding:14px;background:#fff7ed;border:1px solid #fed7aa}.login-help a{direction:ltr;display:inline-block}
@media(max-width:768px){.care-flow-map{align-items:stretch}.flow-node{width:100%;max-width:100%;min-width:0}.flow-branches{flex-direction:column;align-items:stretch}.notification-card{flex-direction:column;align-items:stretch}.file-grid{grid-template-columns:1fr}.path-chip{font-size:11px;padding:5px 8px}.patient-table{min-width:1000px}.mobile-action-grid .btn{font-size:12px;padding:10px 8px}}

/* Categorized desktop menu + scroll fix */
.sidebar{display:flex;flex-direction:column;overflow:hidden;padding-bottom:14px}
.sidebar .brand-box{flex:0 0 auto}
.menu-scroll{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding-left:4px;padding-bottom:18px}
.menu-scroll::-webkit-scrollbar,.menu::-webkit-scrollbar{width:6px}.menu-scroll::-webkit-scrollbar-track,.menu::-webkit-scrollbar-track{background:transparent}.menu-scroll::-webkit-scrollbar-thumb,.menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}.menu-scroll::-webkit-scrollbar-thumb:hover,.menu::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
.menu-category{margin:18px 8px 8px;color:rgba(255,255,255,.68);font-size:11px;font-weight:900;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.menu-category:before{content:"";width:18px;height:1px;background:rgba(255,255,255,.28);display:inline-block}.categorized-menu li:first-child{margin-top:0}

/* Mobile complete navigation */
.mobile-menu-btn{width:42px;height:42px;border-radius:15px;background:var(--primary-soft);color:var(--primary);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:22px}.mobile-full-menu{border-radius:24px 0 0 24px;overflow:hidden}.mobile-menu-logo{width:46px;height:46px;border-radius:15px;object-fit:contain;background:white;border:1px solid var(--border);padding:5px}.mobile-full-menu .offcanvas-header b{display:block;color:var(--primary);font-weight:900}.mobile-full-menu .offcanvas-header small{display:block;color:var(--muted);font-size:12px}.mobile-menu-group{margin-bottom:18px}.mobile-menu-group>span{display:block;color:var(--muted);font-size:12px;font-weight:900;margin:0 4px 8px}.mobile-menu-group a,.mobile-menu-logout{display:flex;width:100%;align-items:center;gap:10px;text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e8f2ee;border-radius:16px;padding:12px 14px;margin-bottom:8px;font-weight:800}.mobile-menu-group a i,.mobile-menu-logout i{color:var(--primary);font-size:18px}.mobile-menu-logout{border:0;text-align:right;background:#fff1f2;color:#be123c}
.mobile-bottom-nav .center-action{border:0;text-decoration:none}.mobile-bottom-nav button.center-action{width:56px;height:56px;border-radius:20px;margin-top:-32px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px rgba(0,108,91,.32)}.mobile-bottom-nav button.center-action i{font-size:28px}
.quick-create-modal{border:0;border-radius:28px;overflow:hidden}.quick-create-modal .modal-title{font-weight:900;color:var(--primary)}.quick-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-create-grid a{min-height:92px;text-decoration:none;color:#0f172a;background:var(--primary-soft-2);border:1px solid var(--border);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:900;text-align:center}.quick-create-grid a i{font-size:26px;color:var(--primary)}
@media(max-width:768px){.topbar{gap:10px}.topbar h6{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar span{display:none}.page-content{padding-bottom:96px}.mobile-bottom-nav{right:10px;left:10px}.mobile-bottom-nav a span{font-size:10px}.mobile-bottom-nav a i{font-size:19px}}
@media(min-width:769px){.mobile-menu-btn{display:none!important}}

/* Accordion menu fix - desktop and mobile */
.accordion-menu .menu-single a,
.accordion-menu .submenu a {
    display: flex;
    align-items: center;
    gap: 10px;
}
.menu-group { margin: 8px 0; }
.menu-group-toggle {
    width: 100%;
    border: 0;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.88);
    border-radius: 13px;
    padding: 12px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 900;
    transition: .2s ease;
}
.menu-group-toggle span { display: inline-flex; align-items: center; gap: 10px; }
.menu-group-toggle:hover { background: rgba(255,255,255,.14); color: #fff; }
.menu-group-toggle .bi-chevron-down { transition: transform .2s ease; font-size: 14px; }
.menu-group-toggle:not(.collapsed) .bi-chevron-down { transform: rotate(180deg); }
.submenu { list-style: none; padding: 8px 8px 2px 0; margin: 0; border-right: 1px solid rgba(255,255,255,.12); }
.submenu li { margin-bottom: 6px; }
.submenu a { padding: 11px 12px !important; font-size: 14px !important; }
.menu-single { margin-bottom: 6px; }
.menu-single a { background: rgba(255,255,255,.03); }

.mobile-full-menu {
    background: linear-gradient(180deg, #04745e, #053a36);
    color: #fff;
    max-width: 86vw;
    width: 360px;
    z-index: 2055;
}
.mobile-full-menu .offcanvas-header {
    border-bottom: 1px solid rgba(255,255,255,.14);
    padding: 22px 18px;
}
.mobile-close-btn { filter: invert(1) grayscale(100%); opacity: .9; }
.mobile-full-menu .offcanvas-body { padding: 14px; overflow-y: auto; }
.mobile-menu-accordion { display: grid; gap: 10px; padding-bottom: 24px; }
.mobile-group-toggle {
    width: 100%;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    color: #fff;
    border-radius: 15px;
    padding: 13px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 900;
}
.mobile-group-toggle span { display: inline-flex; align-items: center; gap: 10px; }
.mobile-group-toggle .bi-chevron-down { transition: transform .2s ease; font-size: 14px; }
.mobile-group-toggle:not(.collapsed) .bi-chevron-down { transform: rotate(180deg); }
.mobile-group-links { padding: 8px 0 0; display: grid; gap: 5px; }
.mobile-group-links a,
.mobile-group-links .mobile-menu-logout {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: rgba(255,255,255,.96);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 13px;
    padding: 12px 14px;
    margin: 0;
    font-weight: 800;
}
.mobile-group-links a i,
.mobile-group-links .mobile-menu-logout i { color: #d9fff0; font-size: 18px; }
.mobile-group-links .mobile-menu-logout { background: rgba(255,255,255,.10); color: #fff; text-align: right; }
.mobile-bottom-nav.nav-hidden-by-menu { opacity: 0; transform: translateY(120%); pointer-events: none; }
.mobile-bottom-nav { transition: opacity .2s ease, transform .2s ease; }
.offcanvas-backdrop { z-index: 2050; }
body.offcanvas-open .mobile-bottom-nav { opacity: 0; pointer-events: none; }

@media (max-width: 768px) {
    .mobile-full-menu { border-radius: 24px 0 0 24px; }
}

/* Professional button system - refined mobile/desktop actions */
.btn {
    border-radius: 13px;
    font-weight: 900;
    letter-spacing: -0.2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 10px 18px;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-sm {
    min-height: 36px;
    padding: 7px 13px;
    border-radius: 13px;
    font-size: 13px;
}
.btn-main,
.btn-primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(0,108,91,.22);
}
.btn-main:hover,
.btn-primary:hover {
    color: #fff !important;
    box-shadow: 0 16px 36px rgba(0,108,91,.30);
}
.btn-light,
.btn-soft,
.btn-outline-primary {
    background: #f7fcfa !important;
    color: var(--primary) !important;
    border: 1px solid #cfe7df !important;
    box-shadow: 0 8px 18px rgba(0,108,91,.06);
}
.btn-light:hover,
.btn-soft:hover,
.btn-outline-primary:hover {
    background: #e8f7f2 !important;
    color: var(--primary) !important;
    border-color: #9fd3c5 !important;
    box-shadow: 0 12px 24px rgba(0,108,91,.12);
}
.btn-secondary {
    background: #eef6f3 !important;
    color: #285c52 !important;
    border: 1px solid #d3e7e0 !important;
}
.btn-danger,
.btn-outline-danger {
    border-radius: 13px;
    background: #fff1f2 !important;
    color: #be123c !important;
    border: 1px solid #fecdd3 !important;
    box-shadow: 0 8px 18px rgba(190,18,60,.06);
}
.btn-danger:hover,
.btn-outline-danger:hover {
    background: #be123c !important;
    color: #fff !important;
    border-color: #be123c !important;
}
.action-cell,
.service-record-actions,
.patient-actions,
.recent-patient-actions,
.mobile-action-grid,
.form-actions {
    gap: 10px;
}
.action-cell .btn,
.service-record-actions .btn,
.patient-actions .btn,
.recent-patient-actions .btn {
    white-space: nowrap;
}
.follow-item .btn,
.referral-card .btn,
.mobile-card .btn,
.file-card .btn,
.notification-card .btn {
    border-radius: 11px;
}
.table .action-cell .btn {
    min-width: 82px;
}
.mobile-card .btn,
.mobile-action-grid .btn {
    min-height: 36px;
}
@media (max-width: 768px) {
    .btn {
        min-height: 44px;
        border-radius: 13px;
    }
    .btn-sm {
        min-height: 40px;
        padding: 8px 12px;
        border-radius: 11px;
    }
    .action-cell {
        display: flex !important;
        flex-wrap: wrap;
        white-space: normal;
        gap: 8px;
    }
    .action-cell .btn {
        flex: 1 1 auto;
        min-width: 96px;
    }
    .mobile-action-grid {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }
    .mobile-action-grid .btn {
        width: 100%;
    }
    .follow-item .mt-2,
    .referral-card .mt-2 {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    .follow-item .mt-2 .btn,
    .referral-card .mt-2 .btn {
        flex: 1 1 120px;
    }
}

/* Click-to-call phone numbers */
.phone-call-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    direction: ltr;
    unicode-bidi: plaintext;
    color: #00745f;
    background: rgba(0, 116, 95, 0.08);
    border: 1px solid rgba(0, 116, 95, 0.18);
    border-radius: 999px;
    padding: 3px 9px;
    font-weight: 800;
    text-decoration: none;
    line-height: 1.6;
    transition: 0.18s ease;
}

.phone-call-link i {
    font-size: 0.95em;
}

.phone-call-link:hover,
.phone-call-link:active {
    color: #fff;
    background: #00745f;
    border-color: #00745f;
    text-decoration: none;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .phone-call-link {
        min-height: 28px;
        padding: 5px 11px;
        font-size: 0.95rem;
    }
}

/* Final mobile offcanvas hard fix: menu must be closed by default even if Bootstrap CSS is delayed/cached */
@media (max-width: 768px) {
    .mobile-full-menu.offcanvas.offcanvas-end {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        right: -110vw !important;
        left: auto !important;
        width: min(86vw, 360px) !important;
        max-width: 86vw !important;
        height: 100vh !important;
        transform: none !important;
        visibility: hidden !important;
        display: block !important;
        transition: right .25s ease, visibility .25s ease !important;
        z-index: 3055 !important;
        border-radius: 24px 0 0 24px !important;
    }

    .mobile-full-menu.offcanvas.offcanvas-end.show,
    .mobile-full-menu.offcanvas.offcanvas-end.showing {
        right: 0 !important;
        visibility: visible !important;
    }

    .offcanvas-backdrop {
        z-index: 3050 !important;
    }

    body.mobile-menu-force-closed .mobile-full-menu.offcanvas.offcanvas-end:not(.show):not(.showing) {
        right: -110vw !important;
        visibility: hidden !important;
    }

    body.mobile-menu-open .mobile-bottom-nav,
    body.offcanvas-open .mobile-bottom-nav,
    .mobile-bottom-nav.nav-hidden-by-menu {
        opacity: 0 !important;
        transform: translateY(120%) !important;
        pointer-events: none !important;
    }
}

.login-pwa-install {
    left: 18px;
    right: auto;
    bottom: 18px;
    z-index: 5000;
}


/* HARD CUSTOM MOBILE DRAWER FIX - no Bootstrap offcanvas state is used */
@media (max-width: 768px) {
    #mobileFullMenu.mobile-drawer.mobile-full-menu {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        right: auto !important;
        left: 0 !important;
        width: min(86vw, 370px) !important;
        max-width: 86vw !important;
        height: 100dvh !important;
        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        transform: translateX(-112%) !important;
        transition: transform .24s ease, opacity .2s ease, visibility .2s ease !important;
        z-index: 5000 !important;
        border-radius: 0 24px 24px 0 !important;
        overflow: hidden !important;
        box-shadow: 20px 0 55px rgba(0, 0, 0, .30) !important;
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu.open {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
    }

    #mobileMenuBackdrop.mobile-menu-backdrop-custom {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(2, 6, 23, .52) !important;
        display: none !important;
        z-index: 4990 !important;
        backdrop-filter: blur(2px);
    }

    #mobileMenuBackdrop.mobile-menu-backdrop-custom.show {
        display: block !important;
    }

    body.mobile-menu-open,
    html.mobile-menu-open {
        overflow: hidden !important;
    }

    body.mobile-menu-open .mobile-bottom-nav,
    .mobile-bottom-nav.nav-hidden-by-menu {
        opacity: 0 !important;
        transform: translateY(120%) !important;
        pointer-events: none !important;
    }

    .mobile-full-menu .offcanvas-header,
    .mobile-full-menu .offcanvas-body {
        width: 100%;
    }
}

@media (min-width: 769px) {
    #mobileFullMenu.mobile-drawer.mobile-full-menu,
    #mobileMenuBackdrop.mobile-menu-backdrop-custom,
    #mobileMenuOpenBtn {
        display: none !important;
    }
}


/* NUCLEAR MOBILE DRAWER FIX v3 - HTML starts hidden; only inline script can open it */
@media (max-width: 768px) {
    #mobileFullMenu[hidden],
    #mobileMenuBackdrop[hidden] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: min(88vw, 380px) !important;
        max-width: 88vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        background: linear-gradient(180deg, #006c5b, #053d36 65%, #061826) !important;
        border-radius: 24px 0 0 24px !important;
        overflow: hidden !important;
        z-index: 8000 !important;
        box-shadow: -20px 0 55px rgba(0,0,0,.32) !important;
        transform: translateX(115%) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: transform .24s ease, opacity .18s ease, visibility .18s ease !important;
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu.open {
        transform: translateX(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #mobileMenuBackdrop.mobile-menu-backdrop-custom {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(2, 6, 23, .55) !important;
        z-index: 7990 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .18s ease, visibility .18s ease !important;
    }

    #mobileMenuBackdrop.mobile-menu-backdrop-custom.show {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.mobile-menu-open .mobile-bottom-nav,
    .mobile-bottom-nav.nav-hidden-by-menu {
        opacity: 0 !important;
        transform: translateY(120%) !important;
        pointer-events: none !important;
    }
}


/* DESKTOP SIDEBAR HARD HIDE ON MOBILE/TABLET - fixes typo/old cached classes too */
@media (max-width: 991.98px) {
    aside.sidebar,
    aside.sildebar,
    aside.desktop-sidebar,
    aside.desktop-slidebar,
    .desktop-sidebar,
    .desktop-slidebar {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        transform: translateX(120%) !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    .main-content {
        margin-right: 0 !important;
        width: 100% !important;
    }

    #mobileMenuOpenBtn.mobile-menu-btn {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    #mobileMenuOpenBtn.mobile-menu-btn,
    #mobileFullMenu.mobile-drawer.mobile-full-menu,
    #mobileMenuBackdrop.mobile-menu-backdrop-custom,
    .mobile-bottom-nav {
        display: none !important;
    }
}


/* LOGIN PWA PROMPT FIX - visible before login only */
.login-install-card {
    position: static !important;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 18px 0 8px;
    padding: 14px;
    border-radius: 15px;
    border: 1px solid rgba(22, 122, 85, .18);
    background: linear-gradient(135deg, rgba(22, 122, 85, .09), rgba(255, 255, 255, .92));
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
    z-index: auto !important;
}
.login-install-card.d-none,
.login-install-card[hidden] {
    display: none !important;
}
.login-install-card .install-icon {
    width: 44px;
    height: 44px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #167a55;
    color: #fff;
    font-size: 22px;
    flex: 0 0 auto;
}
.login-install-card .install-text {
    flex: 1;
    text-align: right;
}
.login-install-card .install-text strong {
    display: block;
    color: #0f5132;
    font-size: 14px;
    margin-bottom: 4px;
}
.login-install-card .install-text p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.8;
}
.login-install-card .install-actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}
@media (max-width: 576px) {
    .login-install-card {
        align-items: stretch;
        flex-direction: column;
    }
    .login-install-card .install-actions {
        width: 100%;
    }
    .login-install-card .install-actions .btn {
        flex: 1;
    }
}


/* PWA install prompt must be mobile-only */
@media (min-width: 769px) {
    .login-install-card,
    .pwa-install-login-card,
    #pwaInstallBox {
        display: none !important;
        visibility: hidden !important;
    }
}

/* MOBILE MENU UX FIX - close button position and always-visible logout */
@media (max-width: 768px) {
    #mobileFullMenu.mobile-drawer.mobile-full-menu .offcanvas-header {
        position: relative !important;
        min-height: 92px !important;
        padding: 22px 18px 18px 72px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu .mobile-close-btn {
        position: absolute !important;
        left: 18px !important;
        top: 22px !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 16px !important;
        background-color: rgba(255,255,255,.12) !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        opacity: 1 !important;
        z-index: 3 !important;
        filter: invert(1) grayscale(100%) brightness(1.8) !important;
        background-size: 14px !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu .mobile-close-btn:active {
        transform: scale(.96);
    }

    #mobileFullMenu.mobile-drawer.mobile-full-menu .offcanvas-body {
        height: calc(100dvh - 92px) !important;
        overflow-y: auto !important;
        padding-bottom: 24px !important;
    }

    .mobile-menu-account-box {
        margin-top: 20px;
        padding: 14px;
        border-radius: 15px;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.12);
    }

    .mobile-profile-link {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #fff;
        text-decoration: none;
        padding-bottom: 12px;
        margin-bottom: 12px;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .mobile-profile-link img {
        width: 36px;
        height: 36px;
        border-radius: 13px;
        object-fit: cover;
        background: #fff;
        border: 2px solid rgba(255,255,255,.65);
    }

    .mobile-profile-link strong,
    .mobile-profile-link small {
        display: block;
    }

    .mobile-profile-link strong {
        font-size: 13px;
        font-weight: 900;
    }

    .mobile-profile-link small {
        color: rgba(255,255,255,.72);
        font-size: 11px;
        margin-top: 3px;
    }

    .mobile-logout-form {
        margin: 0;
    }

    .mobile-menu-logout-main {
        width: 100%;
        min-height: 48px;
        border: 0;
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        background: rgba(255,255,255,.14);
        color: #fff;
        font-weight: 900;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
    }

    .mobile-menu-logout-main i {
        font-size: 19px;
        color: #d9fff0;
    }

    .mobile-menu-logout-main:active {
        transform: scale(.98);
        background: rgba(255,255,255,.20);
    }
}

/* My Work dashboard */
.work-tabs .nav-link{border-radius:14px;color:var(--muted);font-weight:800}
.work-tabs .nav-link.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 10px 24px rgba(0,108,91,.18)}
.stat-card span{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}.stat-card strong{font-size:30px;color:var(--navy);font-weight:900}.soft-warning{background:linear-gradient(135deg,#fffdf5,#fff7dd)}.soft-info{background:linear-gradient(135deg,#f6fbff,#e8f5ff)}.soft-success{background:linear-gradient(135deg,#f6fff9,#e7f8ee)}

/* Patient record compact tabs */
.patient-record-nav {
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(20, 122, 85, .12);
    border-radius: 15px;
    padding: 8px;
    box-shadow: 0 10px 28px rgba(12, 80, 62, .06);
}
.record-tabs {
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
}
.record-tabs .nav-link {
    border-radius: 11px;
    padding: 9px 14px;
    white-space: nowrap;
    color: #1e5b4b;
    background: #f4faf7;
    border: 1px solid #e2f0ea;
    font-weight: 600;
}
.record-tabs .nav-link.active {
    background: linear-gradient(135deg, #147a55, #0d5f52);
    color: #fff;
    box-shadow: 0 8px 20px rgba(20,122,85,.2);
}
.record-more-menu {
    border-radius: 13px;
    border: 1px solid #e7f1ed;
    box-shadow: 0 18px 42px rgba(15, 73, 60, .14);
    min-width: 210px;
}
.record-more-menu .dropdown-item {
    border-radius: 10px;
    margin: 2px 6px;
    width: calc(100% - 12px);
    text-align: right;
}
.patient-tab-select {
    border-radius: 15px;
    border-color: #d9eee6;
    min-height: 46px;
    font-weight: 700;
    color: #175b49;
}

/* Patient record more-menu desktop fix - keep mobile selector hidden on desktop and make More open as a floating menu */
.patient-record-nav {
    position: relative;
    overflow: visible !important;
}

@media (min-width: 992px) {
    .patient-record-nav .patient-tab-select,
    select.patient-tab-select.d-lg-none {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .patient-record-nav #patientRecordTabs,
    #patientRecordTabs.record-tabs {
        display: flex !important;
        overflow: visible !important;
        flex-wrap: nowrap;
    }

    .record-tabs .dropdown {
        position: relative;
    }

    .record-tabs .dropdown-menu.record-more-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;
        z-index: 5000 !important;
        margin: 0 !important;
        padding: 8px !important;
        min-width: 230px;
        max-height: none !important;
        overflow: visible !important;
        text-align: right;
    }
}

@media (max-width: 991.98px) {
    .patient-record-nav #patientRecordTabs,
    #patientRecordTabs.record-tabs {
        display: none !important;
    }

    .patient-record-nav .patient-tab-select,
    select.patient-tab-select {
        display: block !important;
        width: 100%;
    }
}

/* Unified back button system */
.btn-back {
    background: #ffffff !important;
    color: var(--primary) !important;
    border: 1px solid #cfe7df !important;
    box-shadow: 0 8px 18px rgba(0,108,91,.06);
    border-radius: 13px;
    font-weight: 900;
}
.btn-back:hover {
    background: #e8f7f2 !important;
    color: var(--primary) !important;
    border-color: #9fd3c5 !important;
    box-shadow: 0 12px 24px rgba(0,108,91,.12);
}
.btn-back i { font-size: 1rem; }
@media (max-width: 768px) {
    .patient-actions .btn-back { width: 100%; order: -10; }
    .form-actions .btn-back,
    .page-header .btn-back { min-width: 100%; }
}


.quick-base-card {
    display: flex;
    gap: 10px;
    align-items: center;
    background: #fff;
    border: 1px solid rgba(15, 118, 110, .14);
    border-radius: 15px;
    padding: 16px;
    min-height: 92px;
    color: #12302f;
    box-shadow: 0 10px 25px rgba(0,0,0,.04);
    transition: .18s ease;
}
.quick-base-card:hover {
    transform: translateY(-2px);
    border-color: rgba(15, 118, 110, .35);
    box-shadow: 0 14px 30px rgba(0,0,0,.07);
    color: #0f766e;
}
.quick-base-card strong {
    display: block;
    margin-bottom: 4px;
}
.quick-base-card small {
    display: block;
    color: #64748b;
    line-height: 1.8;
}
.quick-base-icon {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: rgba(15, 118, 110, .1);
    color: #0f766e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex: 0 0 auto;
}

/* Reports module layout fix */
.report-page-header {
    align-items: flex-start;
}

.reports-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.report-kpi-card {
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--border);
    border-radius: 26px;
    padding: 18px;
    text-decoration: none;
    color: var(--text);
    box-shadow: var(--shadow);
    transition: .2s ease;
    overflow: hidden;
}

.report-kpi-card:hover {
    color: var(--text);
    transform: translateY(-3px);
    box-shadow: 0 24px 55px rgba(0,108,91,.14);
}

.report-kpi-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    font-size: 22px;
    box-shadow: 0 12px 24px rgba(0,108,91,.18);
}

.report-kpi-card > div {
    flex: 1;
    min-width: 0;
    text-align: right;
}

.report-kpi-title {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 6px;
}

.report-kpi-card strong {
    display: block;
    color: var(--primary);
    font-size: 30px;
    line-height: 1.1;
    font-weight: 950;
    letter-spacing: -1px;
}

.report-kpi-card small {
    display: block;
    color: #3b6474;
    font-size: 12px;
    margin-top: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.report-kpi-card-action {
    background: linear-gradient(135deg, #ffffff, #effaf6);
}

.report-kpi-card-action strong {
    font-size: 17px;
}

.reports-panel-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.report-panel {
    min-height: 154px;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--border);
    border-radius: 26px;
    padding: 20px;
    box-shadow: var(--shadow);
}

.report-panel-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    color: var(--primary);
    font-weight: 950;
    margin-bottom: 14px;
}

.report-list {
    display: grid;
    gap: 8px;
}

.report-list .list-group-item {
    border: 0 !important;
    border-radius: 14px !important;
    background: #f8fcfa;
    padding: 10px 12px;
    color: var(--text);
}

.report-list .badge {
    min-width: 30px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary) !important;
    font-weight: 900;
}

@media (max-width: 1199.98px) {
    .reports-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reports-panel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .reports-kpi-grid,
    .reports-panel-grid {
        grid-template-columns: 1fr;
    }

    .report-kpi-card {
        min-height: 116px;
        border-radius: 15px;
    }

    .report-kpi-card strong {
        font-size: 26px;
    }

    .report-panel {
        border-radius: 15px;
        padding: 16px;
    }
}

/* Follow-up result patient context */
.followup-workspace{display:grid;grid-template-columns:minmax(310px,380px) 1fr;gap:18px;align-items:start}.followup-context{display:flex;flex-direction:column;gap:14px}.followup-main-form{min-width:0}.context-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.05)}.context-card.inner-card{height:100%;box-shadow:none;background:#fbfffd}.context-card-title{display:flex;align-items:center;gap:10px;color:var(--primary);font-weight:900;margin-bottom:14px}.context-card-title i{width:34px;height:34px;border-radius:13px;background:var(--primary-soft);display:inline-flex;align-items:center;justify-content:center}.patient-call-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.patient-call-row strong{display:block;font-size:18px;color:#0f172a}.patient-call-row small{display:block;color:var(--muted);margin-top:3px}.phone-call-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;text-decoration:none;font-weight:900;padding:9px 13px;direction:ltr}.phone-call-chip:hover{color:#fff;opacity:.95}.context-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.context-info-grid div,.compact-summary div{background:#f8fafc;border:1px solid #edf2f7;border-radius:16px;padding:11px}.context-info-grid b,.compact-summary b{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.context-info-grid span,.compact-summary span{font-weight:800;color:#0f172a}.context-note{background:#fffbeb;border:1px solid #fde68a;border-radius:18px;padding:13px;color:#475569;line-height:1.9}.context-empty{background:#f8fafc;border:1px dashed #dbe3ef;border-radius:16px;color:#64748b;text-align:center;padding:14px}.compact-summary{display:grid;gap:8px}.followup-mini-timeline{display:flex;flex-direction:column;gap:10px;max-height:440px;overflow:auto;padding-left:4px}.followup-mini-item{position:relative;background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:13px 14px}.followup-mini-item:before{content:"";position:absolute;right:-1px;top:16px;width:4px;height:42px;border-radius:999px;background:var(--primary)}.followup-mini-date{font-size:12px;color:#64748b;margin-bottom:5px}.followup-mini-item strong{display:block;color:#0f172a}.followup-mini-item span{display:block;color:#64748b;font-size:12px;margin-top:4px}.followup-mini-item p,.mini-row-item p{margin:8px 0 0;color:#475569;font-size:13px;line-height:1.8}.mini-row-item{border-bottom:1px solid #edf2f7;padding:11px 0}.mini-row-item:last-child{border-bottom:0}.mini-row-item strong{display:block;color:#0f172a}.mini-row-item small{display:block;color:#64748b;margin-top:4px}
@media(max-width:992px){.followup-workspace{grid-template-columns:1fr}.followup-context{order:1}.followup-main-form{order:2}.context-info-grid{grid-template-columns:1fr}.followup-mini-timeline{max-height:none}}

/* Main dashboard alerts and embedded reports */
.urgent-dashboard-panel {
    border: 1px solid rgba(245, 158, 11, .18);
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,251,235,.88));
}
.smart-alert-card {
    display: block;
    min-height: 118px;
    padding: 16px;
    border-radius: 15px;
    text-decoration: none;
    color: var(--text);
    border: 1px solid var(--border);
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    transition: .18s ease;
}
.smart-alert-card:hover {
    transform: translateY(-2px);
    color: var(--text);
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}
.smart-alert-card strong {
    display: block;
    font-size: 15px;
    font-weight: 950;
    margin: 10px 0 7px;
}
.smart-alert-card small {
    display: block;
    line-height: 1.8;
    color: var(--muted);
}
.smart-alert-badge {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    background: rgba(16,185,129,.12);
    color: var(--primary);
}
.alert-danger-soft { border-color: rgba(239,68,68,.2); background: linear-gradient(135deg,#fff,#fff5f5); }
.alert-danger-soft .smart-alert-badge { background: rgba(239,68,68,.12); color: #dc2626; }
.alert-warning-soft { border-color: rgba(245,158,11,.24); background: linear-gradient(135deg,#fff,#fffbeb); }
.alert-warning-soft .smart-alert-badge { background: rgba(245,158,11,.16); color: #b45309; }
.alert-info-soft { border-color: rgba(14,165,233,.18); background: linear-gradient(135deg,#fff,#f0f9ff); }
.alert-info-soft .smart-alert-badge { background: rgba(14,165,233,.12); color: #0369a1; }
.reports-dashboard-embed {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,250,.94));
}
.report-mini-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 86px;
    padding: 16px;
    border-radius: 15px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
.report-mini-card:hover { color: var(--text); transform: translateY(-1px); }
.report-mini-card span { color: var(--muted); font-weight: 800; }
.report-mini-card strong { font-size: 26px; color: var(--primary); font-weight: 950; }
.report-summary-box {
    height: 100%;
    min-height: 210px;
    padding: 16px;
    border-radius: 15px;
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 12px 28px rgba(15,23,42,.04);
}
.report-summary-box h6 {
    font-weight: 950;
    color: var(--primary);
    margin-bottom: 12px;
}
@media(max-width:768px){
    .smart-alert-card{min-height:auto;border-radius:18px}
    .report-mini-card{min-height:74px;border-radius:18px;padding:13px}
    .report-mini-card strong{font-size:22px}
    .report-summary-box{min-height:auto;border-radius:18px}
}

/* Dashboard tabs - user configurable */
.dashboard-tabs-shell {
    margin-top: 10px;
}
.dashboard-tabs-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: rgba(255,255,255,.78);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 8px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
    position: sticky;
    top: 10px;
    z-index: 50;
    backdrop-filter: blur(10px);
}
.dashboard-tabs-scroll {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding: 2px 2px 6px;
    scrollbar-width: thin;
    flex: 1;
}
.dashboard-tab-btn {
    border: 1px solid #d8eee6;
    background: #f7fffc;
    color: #0f4f45;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 800;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: .18s ease;
}
.dashboard-tab-btn:hover {
    background: #e9f8f2;
    color: var(--primary);
}
.dashboard-tab-btn.active {
    background: linear-gradient(135deg, var(--primary), #069981);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(0, 122, 103, .22);
}
.dashboard-tab-panel {
    display: none;
}
.dashboard-tab-panel.active {
    display: block;
    animation: dashboardTabFade .18s ease-out;
}
.dashboard-default-tab-btn.saved {
    background: #e8fff5 !important;
    color: var(--primary) !important;
    border-color: #b8ead9 !important;
}
@keyframes dashboardTabFade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 768px) {
    .dashboard-tabs-toolbar {
        flex-direction: column;
        align-items: stretch;
        position: static;
        border-radius: 16px;
    }
    .dashboard-tabs-scroll {
        width: 100%;
        padding-bottom: 8px;
    }
    .dashboard-tab-btn {
        padding: 9px 13px;
        font-size: 12.5px;
    }
    .dashboard-default-tab-btn {
        width: 100%;
    }
}

/* Compact hospital/department report accordion */
.report-group-list {
    display: grid;
    gap: 10px;
}
.report-group-item {
    border: 1px solid #e8f1ee;
    border-radius: 15px;
    background: #f8fcfa;
    overflow: hidden;
}
.report-group-header {
    width: 100%;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    color: var(--text);
    text-align: right;
}
.report-group-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-weight: 950;
}
.report-group-title i { color: var(--primary); }
.report-group-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.report-group-meta small { color: var(--muted); font-weight: 800; white-space: nowrap; }
.report-group-meta .bi-chevron-down { transition: transform .18s ease; color: var(--muted); }
.report-group-header[aria-expanded="true"] .bi-chevron-down { transform: rotate(180deg); }
.report-group-details {
    display: grid;
    gap: 5px;
    padding: 0 12px 12px;
}
.report-group-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    border-radius: 13px;
    background: #fff;
    border: 1px solid #edf2f7;
    color: var(--text);
    text-decoration: none;
}
.report-group-detail-row:hover { color: var(--text); background: #f0fdf8; }
.report-group-detail-row strong { color: var(--primary); font-weight: 950; }
@media(max-width:768px){
    .report-group-header{padding:11px 12px}
    .report-group-meta small{display:none}
}

/* Login password visibility and Latin keyboard helpers */
.login-latin-input{
    direction:ltr;
    text-align:left;
    font-family:inherit;
    unicode-bidi: plaintext;
}
.login-latin-input::placeholder{
    direction:rtl;
    text-align:right;
    font-family:inherit;
    color:#7b8b9e;
    opacity:1;
}
.password-input-wrap{
    position:relative;
}
.password-input-wrap .password-toggle-input{
    padding-left:56px;
    padding-right:18px;
}
.password-eye-btn{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:0;
    border-radius:14px;
    background:#eef8f4;
    color:#167a55;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.18s ease;
    cursor:pointer;
}
.password-eye-btn:disabled,
.password-eye-btn.is-disabled{
    background:#f1f5f4;
    color:#a8b7b2;
    cursor:not-allowed;
    opacity:.75;
    box-shadow:none;
}
.password-eye-btn:not(:disabled):hover,
.password-eye-btn:not(:disabled):focus{
    background:#dff5ec;
    color:#0f5f49;
    outline:none;
    box-shadow:0 0 0 3px rgba(22,122,85,.12);
}
@media (max-width:576px){
    .password-eye-btn{width:38px;height:38px;border-radius:13px;}
}

/* Follow-up status badges - unified colors and compact layout */
.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid transparent;
}
.status-done {
    background: #dcfce7;
    color: #15803d;
    border-color: #bbf7d0;
}
.status-progress {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.status-overdue {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}
.status-scheduled {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #bfdbfe;
}
.status-cancelled {
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}
.followup-stop-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 10px 14px;
    font-weight: 800;
    color: var(--text);
}
.next-followup-field.is-disabled {
    opacity: .55;
}
.mobile-card .status-badge {
    min-width: 104px;
    min-height: 28px;
}

/* Manager dashboard: active hospitalizations by hospital/ward/doctor */
.manager-doctor-admission-box {
    border: 1px solid rgba(15, 23, 42, .08);
}
.manager-dashboard-filter {
    min-width: min(100%, 560px);
}
.manager-filter-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 10px 12px;
    font-size: 13px;
}
.manager-doctor-table td,
.manager-doctor-table th {
    vertical-align: middle;
}
@media (max-width: 768px) {
    .manager-dashboard-filter {
        min-width: 100%;
    }
    .manager-doctor-table .action-cell .btn {
        width: 100%;
        margin-top: 6px;
    }
}


/* Desktop/mobile patient file tabs visibility final fix
   The patient record select is mobile-only. On desktop/tablet it must not be shown beside pill tabs. */
@media (min-width: 769px) {
    .patient-record-nav > .patient-tab-select,
    .patient-record-nav > select.patient-tab-select,
    select.patient-tab-select.d-md-none,
    select.patient-tab-select.d-lg-none {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        pointer-events: none !important;
    }

    .patient-record-nav > #patientRecordTabs.record-tabs {
        display: flex !important;
        visibility: visible !important;
    }
}

@media (max-width: 768px) {
    .patient-record-nav > .patient-tab-select,
    .patient-record-nav > select.patient-tab-select {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: auto !important;
        min-height: 46px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .patient-record-nav > #patientRecordTabs.record-tabs {
        display: none !important;
    }
}

/* Patient details tabs visibility hard fix v2 */
@media (min-width: 768px) {
    .patient-record-nav .patient-tabs-mobile-only,
    .patient-record-nav .patient-tab-select {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .patient-record-nav .patient-tabs-desktop-only,
    .patient-record-nav #patientRecordTabs {
        display: flex !important;
        visibility: visible !important;
    }
}
@media (max-width: 767.98px) {
    .patient-record-nav .patient-tabs-mobile-only,
    .patient-record-nav .patient-tab-select {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: auto !important;
        min-height: 46px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    .patient-record-nav .patient-tabs-desktop-only,
    .patient-record-nav #patientRecordTabs {
        display: none !important;
        visibility: hidden !important;
    }
}


/* Patient details tabs real mobile-only override v3
   Hide the select on desktop. Show it only on actual touch/mobile narrow screens. */
.patient-record-nav .patient-tabs-mobile-only,
.patient-record-nav select.patient-tab-select.patient-tabs-mobile-only {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.patient-record-nav .patient-tabs-desktop-only,
.patient-record-nav #patientRecordTabs.patient-tabs-desktop-only {
    display: flex !important;
    visibility: visible !important;
}
@media (max-width: 767.98px) and (pointer: coarse) {
    .patient-record-nav .patient-tabs-mobile-only,
    .patient-record-nav select.patient-tab-select.patient-tabs-mobile-only {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: auto !important;
        min-height: 46px !important;
        max-height: none !important;
        margin: 0 0 8px 0 !important;
        padding: .6rem .9rem !important;
        border: 1px solid #d9eee6 !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    .patient-record-nav .patient-tabs-desktop-only,
    .patient-record-nav #patientRecordTabs.patient-tabs-desktop-only {
        display: none !important;
        visibility: hidden !important;
    }
}


/* Patient details duplicate tab final fix v4
   The mobile select is removed from Details.cshtml. Keep pill tabs visible everywhere. */
.patient-record-nav #patientRecordTabs,
.patient-record-nav .patient-tabs-desktop-only {
    display: flex !important;
    visibility: visible !important;
    overflow-x: auto;
    flex-wrap: nowrap;
}
.patient-record-nav select.patient-tab-select,
.patient-record-nav .patient-tabs-mobile-only {
    display: none !important;
    visibility: hidden !important;
}

/* Manager dashboard card AJAX refresh */
.manager-doctor-admission-box {
    position: relative;
}

.manager-doctor-admission-box.manager-card-loading {
    opacity: .65;
    pointer-events: none;
}

.manager-doctor-admission-box.manager-card-loading::after {
    content: "در حال به‌روزرسانی...";
    position: absolute;
    inset-inline-start: 1rem;
    top: 1rem;
    z-index: 5;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 128, 96, .18);
    border-radius: 999px;
    padding: .4rem .9rem;
    color: #007a68;
    font-size: .85rem;
    box-shadow: 0 8px 24px rgba(0, 80, 70, .08);
}

/* Patient index compact icon actions */
.patient-action-cell {
    min-width: 290px;
}
.patient-icon-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    flex-wrap: wrap;
    position: relative;
}
.patient-action-icon {
    width: 34px;
    height: 34px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #0f172a;
    background: linear-gradient(145deg, #ffffff, #f7fafc);
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    position: relative;
    isolation: isolate;
}
.patient-action-icon i {
    font-size: 16px;
    line-height: 1;
}
.patient-action-icon:hover,
.patient-action-icon:focus {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .16);
    color: #fff;
    outline: none;
}
.patient-action-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    right: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(50%) translateY(4px);
    background: #0f172a;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    border-radius: 10px;
    padding: 6px 9px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease, transform .15s ease;
    z-index: 50;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .24);
}
.patient-action-icon::before {
    content: "";
    position: absolute;
    right: 50%;
    bottom: calc(100% + 4px);
    transform: translateX(50%);
    border: 6px solid transparent;
    border-top: 0;
    border-bottom-color: #0f172a;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
    z-index: 51;
}
.patient-action-icon:hover::after,
.patient-action-icon:focus::after,
.patient-action-icon:hover::before,
.patient-action-icon:focus::before {
    opacity: 1;
    transform: translateX(50%) translateY(0);
}
.patient-action-icon.primary { color: #164e63; background: linear-gradient(145deg, #e6fffb, #ffffff); border-color: #b6efe8; }
.patient-action-icon.primary:hover { background: linear-gradient(145deg, #0891b2, #0e7490); }
.patient-action-icon.success { color: #166534; background: linear-gradient(145deg, #ecfdf3, #ffffff); border-color: #bbf7d0; }
.patient-action-icon.success:hover { background: linear-gradient(145deg, #16a34a, #15803d); }
.patient-action-icon.info { color: #075985; background: linear-gradient(145deg, #eff6ff, #ffffff); border-color: #bfdbfe; }
.patient-action-icon.info:hover { background: linear-gradient(145deg, #0284c7, #0369a1); }
.patient-action-icon.route { color: #6d28d9; background: linear-gradient(145deg, #f5f3ff, #ffffff); border-color: #ddd6fe; }
.patient-action-icon.route:hover { background: linear-gradient(145deg, #7c3aed, #5b21b6); }
.patient-action-icon.service { color: #1d4ed8; background: linear-gradient(145deg, #eef2ff, #ffffff); border-color: #c7d2fe; }
.patient-action-icon.service:hover { background: linear-gradient(145deg, #4f46e5, #3730a3); }
.patient-action-icon.hospital { color: #be123c; background: linear-gradient(145deg, #fff1f2, #ffffff); border-color: #fecdd3; }
.patient-action-icon.hospital:hover { background: linear-gradient(145deg, #e11d48, #be123c); }
.patient-action-icon.follow { color: #1d4ed8; background: linear-gradient(145deg, #eef2ff, #ffffff); border-color: #c7d2fe; }
.patient-action-icon.follow:hover { background: linear-gradient(145deg, #4f46e5, #3730a3); }
.patient-action-icon.lab { color: #b45309; background: linear-gradient(145deg, #fffbeb, #ffffff); border-color: #fde68a; }
.patient-action-icon.lab:hover { background: linear-gradient(145deg, #f59e0b, #b45309); }
.patient-action-icon.homecare { color: #047857; background: linear-gradient(145deg, #ecfdf5, #ffffff); border-color: #a7f3d0; }
.patient-action-icon.homecare:hover { background: linear-gradient(145deg, #10b981, #047857); }
.patient-action-icon.files { color: #475569; background: linear-gradient(145deg, #f8fafc, #ffffff); border-color: #cbd5e1; }
.patient-action-icon.files:hover { background: linear-gradient(145deg, #64748b, #334155); }
.patient-action-icon.history { color: #7c2d12; background: linear-gradient(145deg, #fff7ed, #ffffff); border-color: #fed7aa; }
.patient-action-icon.history:hover { background: linear-gradient(145deg, #ea580c, #9a3412); }
.patient-action-icon.payment { color: #854d0e; background: linear-gradient(145deg, #fefce8, #ffffff); border-color: #fef08a; }
.patient-action-icon.payment:hover { background: linear-gradient(145deg, #ca8a04, #854d0e); }
.mobile-patient-icon-actions {
    margin-top: 14px;
    justify-content: center;
    padding: 8px;
    border-radius: 15px;
    background: #f8fafc;
    border: 1px solid #eef2f7;
}
@media (max-width: 768px) {
    .patient-action-cell { min-width: unset; }
    .patient-action-icon { width: 38px; height: 38px; border-radius: 11px; }
    .patient-action-icon::after,
    .patient-action-icon::before { display: none; }
}


/* Patient details quick action cards */
.patient-details-header {
    margin-bottom: 14px;
}
.patient-details-quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
    gap: 10px;
    margin: 0 0 18px;
    padding: 14px;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(245, 252, 249, .96), rgba(255, 255, 255, .98));
    border: 1px solid rgba(0, 128, 96, .12);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .06);
}
.patient-quick-action {
    position: relative;
    overflow: hidden;
    min-height: 92px;
    border-radius: 15px;
    padding: 13px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-align: center;
    text-decoration: none;
    color: #0f172a;
    background: linear-gradient(145deg, #ffffff, #f8fafc);
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.patient-quick-action::before {
    content: "";
    position: absolute;
    inset: auto -30px -44px auto;
    width: 92px;
    height: 92px;
    border-radius: 999px;
    opacity: .14;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
}
.patient-quick-action span {
    width: 36px;
    height: 36px;
    border-radius: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .75);
    border: 1px solid rgba(255,255,255,.55);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 8px 18px rgba(15,23,42,.08);
}
.patient-quick-action i { font-size: 17px; }
.patient-quick-action b { font-size: 13px; font-weight: 900; line-height: 1.45; }
.patient-quick-action:hover,
.patient-quick-action:focus {
    transform: translateY(-3px);
    box-shadow: 0 18px 32px rgba(15, 23, 42, .13);
    outline: none;
}
.patient-quick-action:hover::before,
.patient-quick-action:focus::before { transform: scale(1.15); opacity: .22; }
.patient-quick-action.success { color: #15803d; background: linear-gradient(145deg, #ecfdf3, #ffffff); border-color: #bbf7d0; }
.patient-quick-action.info { color: #0369a1; background: linear-gradient(145deg, #eff6ff, #ffffff); border-color: #bfdbfe; }
.patient-quick-action.hospital { color: #be123c; background: linear-gradient(145deg, #fff1f2, #ffffff); border-color: #fecdd3; }
.patient-quick-action.follow { color: #3730a3; background: linear-gradient(145deg, #eef2ff, #ffffff); border-color: #c7d2fe; }
.patient-quick-action.service { color: #3730a3; background: linear-gradient(145deg, #eef2ff, #ffffff); border-color: #c7d2fe; }
.patient-quick-action.route { color: #6d28d9; background: linear-gradient(145deg, #f5f3ff, #ffffff); border-color: #ddd6fe; }
.patient-quick-action.lab { color: #b45309; background: linear-gradient(145deg, #fffbeb, #ffffff); border-color: #fde68a; }
.patient-quick-action.homecare { color: #047857; background: linear-gradient(145deg, #ecfdf5, #ffffff); border-color: #a7f3d0; }
.patient-quick-action.files { color: #475569; background: linear-gradient(145deg, #f8fafc, #ffffff); border-color: #cbd5e1; }
.patient-quick-action.history { color: #9a3412; background: linear-gradient(145deg, #fff7ed, #ffffff); border-color: #fed7aa; }
.patient-quick-action.payment { color: #854d0e; background: linear-gradient(145deg, #fefce8, #ffffff); border-color: #fef08a; }

/* Shared compact icon menus for list pages */
.list-action-cell { min-width: 138px; }
.list-icon-actions { justify-content: center; gap: 8px; }
.mobile-list-icon-actions {
    gap: 8px;
    padding: 6px;
    border-radius: 13px;
    background: rgba(248, 250, 252, .9);
    border: 1px solid #eef2f7;
}
@media (max-width: 768px) {
    .patient-details-quick-actions {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 12px;
        gap: 10px;
        border-radius: 15px;
    }
    .patient-quick-action {
        min-width: 104px;
        min-height: 84px;
        scroll-snap-align: start;
        border-radius: 19px;
    }
    .patient-quick-action span { width: 38px; height: 38px; border-radius: 15px; }
    .list-action-cell { min-width: unset; }
}

/* Patient details unified command center: merge quick actions and record tabs into one panel */
.patient-details-command-center {
    padding: 14px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(245,252,249,.97), rgba(255,255,255,.99));
    border: 1px solid rgba(0, 128, 96, .13);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .065);
}
.patient-details-command-center .patient-details-quick-actions {
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
    grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
}
.patient-command-block-title {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #075f51;
    font-weight: 900;
    font-size: 13px;
    margin: 0 4px 10px;
}
.patient-command-block-title i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #e8f7f1;
    color: #08745e;
}
.patient-command-divider {
    height: 1px;
    margin: 14px 0 10px;
    background: linear-gradient(90deg, transparent, rgba(20,122,85,.22), transparent);
}
.patient-record-nav.patient-record-nav-inline {
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
}
.patient-record-nav-inline .record-tabs {
    padding: 2px 2px 4px;
}
.patient-record-nav-inline .record-tabs .nav-link {
    background: rgba(255,255,255,.76);
    border-color: rgba(20,122,85,.14);
    box-shadow: 0 6px 14px rgba(15,23,42,.04);
}
.patient-record-nav-inline .record-tabs .nav-link.active {
    background: linear-gradient(135deg, #147a55, #0d5f52);
    color: #fff;
}
@media (max-width: 768px) {
    .patient-details-command-center {
        padding: 12px;
        border-radius: 24px;
    }
    .patient-details-command-center .patient-details-quick-actions {
        display: flex;
        overflow-x: auto;
        gap: 10px;
        scroll-snap-type: x mandatory;
    }
    .patient-record-nav-inline .record-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
    }
}


/* Service buttons theme aligned with Follow-up buttons */
.patient-action-icon.service,
.patient-quick-action.service {
    --service-theme-shadow: rgba(79, 70, 229, .16);
}
.patient-quick-action.service:hover,
.patient-quick-action.service:focus {
    border-color: #a5b4fc;
    box-shadow: 0 18px 34px rgba(79, 70, 229, .18);
}
.patient-quick-action.service span,
.patient-action-icon.service i {
    color: inherit;
}

/* Final unified patient command center: one non-duplicated toolbar */
.patient-details-command-center-compact {
    padding: 12px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(245,252,249,.98), rgba(255,255,255,1));
    border: 1px solid rgba(0,128,96,.14);
    box-shadow: 0 18px 38px rgba(15,23,42,.065);
}
.patient-unified-command-row {
    display: flex;
    align-items: stretch;
    gap: 9px;
    overflow-x: auto;
    padding: 3px 2px 5px;
    scrollbar-width: thin;
}
.patient-mini-action,
.patient-tab-command,
.patient-command-add {
    border: 1px solid rgba(15,23,42,.08);
    background: linear-gradient(145deg, #fff, #f8fafc);
    color: #0f172a;
    text-decoration: none;
    box-shadow: 0 9px 20px rgba(15,23,42,.055);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.patient-mini-action,
.patient-tab-command {
    min-width: 82px;
    height: 58px;
    border-radius: 16px;
    padding: 8px 12px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
    font-weight: 900;
    font-size: 11px;
    line-height: 1.15;
}
.patient-mini-action i,
.patient-tab-command i { font-size: 18px; }
.patient-mini-action:hover,
.patient-mini-action:focus,
.patient-tab-command:hover,
.patient-tab-command:focus,
.patient-command-add:hover,
.patient-command-add:focus {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15,23,42,.11);
    outline: none;
}
.patient-command-group {
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
    border-radius: 15px;
    background: rgba(255,255,255,.74);
    border: 1px solid rgba(15,23,42,.06);
    padding: 0;
    box-shadow: 0 10px 22px rgba(15,23,42,.045);
    overflow: hidden;
}
.patient-command-group .patient-tab-command {
    min-width: 86px;
    border-radius: 0 20px 20px 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}
.patient-command-add {
    width: 36px;
    min-width: 36px;
    height: 58px;
    border-radius: 20px 0 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-width: 0 1px 0 0;
    background: rgba(255,255,255,.55);
}
.patient-command-group.active .patient-tab-command,
.patient-tab-command.active,
.patient-tab-command[aria-selected="true"] {
    color: #fff !important;
    background: linear-gradient(135deg, #147a55, #0d5f52) !important;
}
.patient-command-group.active .patient-command-add {
    background: #fff;
}
.patient-mini-action.success { color: #15803d; background: linear-gradient(145deg, #ecfdf3, #fff); border-color: #bbf7d0; }
.patient-mini-action.info { color: #0369a1; background: linear-gradient(145deg, #eff6ff, #fff); border-color: #bfdbfe; }
.patient-command-group.hospital .patient-tab-command,
.patient-command-group.hospital .patient-command-add { color: #be123c; background: linear-gradient(145deg, #fff1f2, #fff); }
.patient-command-group.follow .patient-tab-command,
.patient-command-group.follow .patient-command-add { color: #3730a3; background: linear-gradient(145deg, #eef2ff, #fff); }
.patient-command-group.service .patient-tab-command,
.patient-command-group.service .patient-command-add { color: #3730a3; background: linear-gradient(145deg, #eef2ff, #fff); }
.patient-command-group.route .patient-tab-command,
.patient-command-group.route .patient-command-add { color: #6d28d9; background: linear-gradient(145deg, #f5f3ff, #fff); }
.patient-command-group.lab .patient-tab-command,
.patient-command-group.lab .patient-command-add { color: #b45309; background: linear-gradient(145deg, #fffbeb, #fff); }
.patient-command-group.homecare .patient-tab-command,
.patient-command-group.homecare .patient-command-add { color: #047857; background: linear-gradient(145deg, #ecfdf5, #fff); }
.patient-command-group.files .patient-tab-command,
.patient-command-group.files .patient-command-add { color: #475569; background: linear-gradient(145deg, #f8fafc, #fff); }
.patient-command-group.history .patient-tab-command,
.patient-command-group.history .patient-command-add { color: #9a3412; background: linear-gradient(145deg, #fff7ed, #fff); }
.patient-tab-command.standalone { flex: 0 0 auto; color: #075f51; background: linear-gradient(145deg, #f7fcfa, #fff); border-color: #cfe7df; }
.patient-tab-command.standalone.danger { color: #be123c; background: linear-gradient(145deg, #fff1f2, #fff); border-color: #fecdd3; }
.patient-tab-command.standalone.active,
.patient-tab-command.standalone[aria-selected="true"] { background: linear-gradient(135deg, #147a55, #0d5f52) !important; color: #fff !important; }
.patient-tab-command.standalone.danger.active,
.patient-tab-command.standalone.danger[aria-selected="true"] { background: linear-gradient(135deg, #e11d48, #be123c) !important; color: #fff !important; }

/* Services follow-up-like theme, including service record cards and list icons */
.patient-action-icon.service {
    color: #3730a3 !important;
    background: linear-gradient(145deg, #eef2ff, #ffffff) !important;
    border-color: #c7d2fe !important;
}
.patient-action-icon.service:hover,
.patient-action-icon.service:focus {
    color: #fff !important;
    background: linear-gradient(145deg, #4f46e5, #3730a3) !important;
    border-color: #4f46e5 !important;
}
.service-record-card-polished {
    background: linear-gradient(135deg, #f8fafc, #ffffff) !important;
    border: 1px solid #e0e7ff !important;
    box-shadow: 0 12px 26px rgba(79,70,229,.07);
}
.service-record-main strong { color: #3730a3; }
.service-record-icon-actions { align-items: center; gap: 8px; }
.service-price-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 11px;
    color: #3730a3 !important;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    font-weight: 900;
}
@media (max-width: 768px) {
    .patient-details-command-center-compact { border-radius: 24px; padding: 8px; }
    .patient-unified-command-row { gap: 8px; }
    .patient-mini-action,
    .patient-tab-command { min-width: 74px; height: 54px; border-radius: 15px; font-size: 11px; padding: 7px 10px; }
    .patient-command-add { height: 54px; width: 32px; min-width: 32px; }
}

/* Clean patient record command area: tabs plus one create menu */
.patient-record-command-clean {
    padding: 14px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top left, rgba(20, 122, 85, .08), transparent 34%),
        linear-gradient(135deg, rgba(248, 253, 250, .98), rgba(255,255,255,1));
    border: 1px solid rgba(20, 122, 85, .14);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .06);
}
.patient-record-command-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.patient-record-command-head > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.patient-record-command-head strong {
    color: #075f51;
    font-size: 15px;
    font-weight: 950;
}
.command-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-weight: 800;
    font-size: 12px;
}
.command-eyebrow i {
    color: #0f766e;
}
.patient-create-menu-btn {
    min-height: 44px;
    border-radius: 13px;
    padding: 8px 15px;
    color: #fff;
    font-weight: 950;
    border: 0;
    background: linear-gradient(135deg, #0f8b6f, #075f51);
    box-shadow: 0 14px 28px rgba(15, 118, 110, .20);
}
.patient-create-menu-btn:hover,
.patient-create-menu-btn:focus {
    color: #fff;
    background: linear-gradient(135deg, #0d9488, #0f766e);
    box-shadow: 0 18px 34px rgba(15, 118, 110, .25);
}
.patient-create-menu,
.patient-more-tabs-menu {
    border: 1px solid #dceee8;
    border-radius: 15px;
    padding: 8px;
    min-width: 230px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .13);
    text-align: right;
}
.patient-create-menu .dropdown-item,
.patient-more-tabs-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: 13px;
    padding: 10px 11px;
    font-weight: 850;
    color: #0f172a;
}
.patient-create-menu .dropdown-item i,
.patient-more-tabs-menu .dropdown-item i {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: #0f766e;
}
.patient-create-menu .dropdown-item:hover,
.patient-more-tabs-menu .dropdown-item:hover {
    background: #f4fbf8;
}
.patient-create-menu .dropdown-item.follow i,
.patient-create-menu .dropdown-item.service i { color: #3730a3; background: #eef2ff; }
.patient-create-menu .dropdown-item.hospital i { color: #be123c; background: #fff1f2; }
.patient-create-menu .dropdown-item.route i { color: #6d28d9; background: #f5f3ff; }
.patient-create-menu .dropdown-item.lab i { color: #b45309; background: #fffbeb; }
.patient-create-menu .dropdown-item.homecare i { color: #047857; background: #ecfdf5; }
.patient-create-menu .dropdown-item.files i { color: #475569; background: #f8fafc; }
.patient-create-menu .dropdown-item.history i { color: #9a3412; background: #fff7ed; }
.patient-create-menu .dropdown-item.payment i { color: #854d0e; background: #fefce8; }
.patient-tabs-row {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 5;
}
.patient-record-tabs-clean {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 2px 7px;
    scrollbar-width: thin;
}
.patient-clean-tab {
    flex: 0 0 auto;
    min-width: 98px;
    height: 56px;
    border: 1px solid rgba(20, 122, 85, .16);
    border-radius: 19px;
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,252,250,.96));
    color: #075f51;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-weight: 950;
    font-size: 12px;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.patient-clean-tab i { font-size: 18px; }
.patient-clean-tab:hover,
.patient-clean-tab:focus {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, .10);
    outline: none;
}
.patient-clean-tab.active,
.patient-clean-tab[aria-selected="true"] {
    color: #fff;
    background: linear-gradient(135deg, #147a55, #075f51);
    border-color: transparent;
    box-shadow: 0 15px 30px rgba(15, 118, 110, .22);
}
.patient-clean-tab.follow,
.patient-clean-tab.service {
    color: #3730a3;
    background: linear-gradient(145deg, #eef2ff, #fff);
    border-color: #c7d2fe;
}
.patient-clean-tab.follow.active,
.patient-clean-tab.follow[aria-selected="true"],
.patient-clean-tab.service.active,
.patient-clean-tab.service[aria-selected="true"] {
    color: #fff;
    background: linear-gradient(135deg, #4f46e5, #3730a3);
}
.patient-clean-tab.route {
    color: #6d28d9;
    background: linear-gradient(145deg, #f5f3ff, #fff);
    border-color: #ddd6fe;
}
.patient-clean-tab.route.active,
.patient-clean-tab.route[aria-selected="true"] {
    color: #fff;
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
}
.patient-more-tabs {
    flex: 0 0 auto;
    position: relative;
    z-index: 1000;
}
.patient-more-tabs .patient-clean-tab { min-width: 88px; }
.patient-more-tabs .dropdown-menu {
    position: absolute;
    z-index: 3000;
    top: calc(100% + 8px) !important;
    /* The More button sits near the left edge in RTL.
       Align the menu from the left side of the button so it opens inward,
       not outside the viewport. */
    left: 0 !important;
    right: auto !important;
    transform: none !important;
}
@media (max-width: 768px) {
    .patient-record-command-clean { padding: 12px; border-radius: 24px; }
    .patient-record-command-head { align-items: stretch; flex-direction: column; }
    .patient-create-menu-btn { width: 100%; justify-content: center; }
    .patient-clean-tab { min-width: 86px; height: 54px; font-size: 11px; border-radius: 17px; }
    .patient-record-tabs-clean { gap: 5px; }
    .patient-tabs-row { gap: 5px; align-items: stretch; }
    .patient-more-tabs .patient-clean-tab { height: 54px; }
}


/* Patient details beautiful section menu redesign: all sections visible, no More dropdown */
.patient-record-command-head-simple {
    justify-content: flex-start;
    margin-bottom: 14px;
}
.patient-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
    gap: 10px;
}
.patient-section-card {
    position: relative;
    padding: 8px;
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,249,.98));
    border: 1px solid rgba(15, 118, 110, .12);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .045);
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 98px;
    overflow: hidden;
}
.patient-section-card::before {
    content: none !important;
    display: none !important;
}
.patient-section-main,
.patient-section-quick {
    width: 100%;
    border: 0;
    background: transparent;
    text-decoration: none;
}
.patient-section-main {
    flex: 1 1 auto;
    min-height: 54px;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--menu-accent-deep, #075f51);
    font-weight: 950;
    transition: all .18s ease;
    background: rgba(255,255,255,.72);
}
.patient-section-main i {
    width: 36px;
    height: 36px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--menu-accent-deep, #075f51);
    background: var(--menu-soft, rgba(15,118,110,.10));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.patient-section-main span {
    font-size: 11px;
    line-height: 1.15;
}
.patient-section-main:hover,
.patient-section-main:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .07);
    outline: none;
}
.patient-section-main.active,
.patient-section-main[aria-selected="true"] {
    background: linear-gradient(135deg, var(--menu-accent, #147a55), var(--menu-accent-deep, #075f51));
    color: #fff;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--menu-accent, #147a55) 24%, transparent);
}
.patient-section-main.active i,
.patient-section-main[aria-selected="true"] i {
    color: var(--menu-accent-deep, #075f51);
    background: rgba(255,255,255,.92);
}
.patient-section-quick {
    min-height: 28px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 900;
    color: var(--menu-accent-deep, #075f51);
    background: rgba(255,255,255,.78);
    border: 1px solid color-mix(in srgb, var(--menu-accent, #147a55) 14%, #dbe4ea);
    transition: all .18s ease;
}
.patient-section-quick i { font-size: 11px; }
.patient-section-quick:hover,
.patient-section-quick:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, var(--menu-accent, #147a55), var(--menu-accent-deep, #075f51));
    border-color: transparent;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--menu-accent, #147a55) 18%, transparent);
    outline: none;
}
.patient-section-quick.neutral {
    background: rgba(148, 163, 184, .10);
    border-color: rgba(148, 163, 184, .22);
    color: #334155;
}
.patient-section-quick.neutral:hover,
.patient-section-quick.neutral:focus-visible {
    background: #334155;
    color: #fff;
}
.patient-section-quick.danger {
    color: #b91c1c;
    background: rgba(239, 68, 68, .08);
    border-color: rgba(239, 68, 68, .18);
}
.patient-section-quick.danger:hover,
.patient-section-quick.danger:focus-visible {
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    color: #fff;
}
.theme-hospital { --menu-accent:#0f766e; --menu-accent-deep:#115e59; --menu-soft: rgba(15,118,110,.10); }
.theme-history { --menu-accent:#f97316; --menu-accent-deep:#c2410c; --menu-soft: rgba(249,115,22,.10); }
.theme-summary { --menu-accent:#14b8a6; --menu-accent-deep:#0f766e; --menu-soft: rgba(20,184,166,.10); }
.theme-service { --menu-accent:#6366f1; --menu-accent-deep:#4338ca; --menu-soft: rgba(99,102,241,.10); }
.theme-follow { --menu-accent:#7c3aed; --menu-accent-deep:#5b21b6; --menu-soft: rgba(124,58,237,.10); }
.theme-route { --menu-accent:#8b5cf6; --menu-accent-deep:#6d28d9; --menu-soft: rgba(139,92,246,.10); }
.theme-map { --menu-accent:#0ea5e9; --menu-accent-deep:#0369a1; --menu-soft: rgba(14,165,233,.10); }
.theme-files { --menu-accent:#64748b; --menu-accent-deep:#475569; --menu-soft: rgba(100,116,139,.10); }
.theme-lab { --menu-accent:#f59e0b; --menu-accent-deep:#b45309; --menu-soft: rgba(245,158,11,.11); }
.theme-homecare { --menu-accent:#10b981; --menu-accent-deep:#047857; --menu-soft: rgba(16,185,129,.10); }
.theme-appointment { --menu-accent:#06b6d4; --menu-accent-deep:#0e7490; --menu-soft: rgba(6,182,212,.10); }
.theme-source { --menu-accent:#eab308; --menu-accent-deep:#a16207; --menu-soft: rgba(234,179,8,.12); }
.theme-contact { --menu-accent:#0f766e; --menu-accent-deep:#075f51; --menu-soft: rgba(15,118,110,.10); }
.theme-activity { --menu-accent:#94a3b8; --menu-accent-deep:#475569; --menu-soft: rgba(148,163,184,.10); }
.theme-danger { --menu-accent:#ef4444; --menu-accent-deep:#b91c1c; --menu-soft: rgba(239,68,68,.10); }

@media (max-width: 1200px) {
    .patient-sections-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
@media (max-width: 992px) {
    .patient-sections-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .patient-sections-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .patient-section-card {
        min-height: 94px;
        border-radius: 16px;
        padding: 8px;
    }
    .patient-section-main {
        min-height: 50px;
        gap: 5px;
    }
}


/* Force remove colored top lines from patient detail menu cards */
.patient-record-command-clean .patient-section-card::before,
.patient-sections-grid .patient-section-card::before {
    content: none !important;
    display: none !important;
    background: transparent !important;
    height: 0 !important;
    opacity: 0 !important;
}
.patient-record-command-clean .patient-section-card {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    border: 1px solid color-mix(in srgb, var(--menu-accent, #0f766e) 12%, #dbe7e4);
}


/* Service status badges - aligned with follow-up theme */
.status-needs-followup {
    background: #ede9fe;
    color: #6d28d9;
    border-color: #ddd6fe;
}
.status-service-generic {
    background: #ecfeff;
    color: #0f766e;
    border-color: #bae6fd;
}


/* Compact icon actions for service/report tables */
.patient-actions-inline {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    white-space: nowrap;
}
.patient-action-icon.danger {
    color: #b91c1c;
    background: linear-gradient(145deg, #fff1f2, #ffffff);
    border-color: #fecdd3;
}
.patient-action-icon.danger:hover,
.patient-action-icon.danger:focus {
    background: linear-gradient(145deg, #ef4444, #b91c1c);
    color: #fff;
}
.status-needs-followup {
    background: #ede9fe;
    color: #6d28d9;
    border-color: #ddd6fe;
}
.status-service-generic {
    background: #ecfeff;
    color: #0f766e;
    border-color: #bae6fd;
}


/* Icon action delete button */
.action-icon.action-delete {
    background: #fff1f2;
    color: #be123c;
    border-color: #fecdd3;
}
.action-icon.action-delete:hover,
.action-icon.action-delete:focus {
    background: #be123c;
    color: #fff;
    border-color: #be123c;
}


/* Hospitalization delete action visibility fix */
.hospitalization-actions-head {
    min-width: 118px;
    text-align: center;
}
.hospitalization-actions-cell {
    min-width: 118px;
    width: 118px;
    overflow: visible !important;
}
.hospitalization-actions {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-wrap: nowrap;
    overflow: visible !important;
    white-space: nowrap;
}
.hospitalization-delete-action {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #dc2626 !important;
    background: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
}
.hospitalization-delete-action:hover,
.hospitalization-delete-action:focus {
    color: #fff !important;
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}
.table .hospitalization-actions-cell .patient-action-icon,
.table .hospitalization-actions-cell .action-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
}


/* Hospitalization actions final visual polish */
.hospitalization-actions-cell .hospitalization-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 82px;
}
.hospitalization-actions-cell .patient-action-icon,
.hospitalization-actions .patient-action-icon,
.hospitalization-actions .action-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex: 0 0 34px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06) !important;
}
.hospitalization-actions .patient-action-icon i,
.hospitalization-actions .action-icon i {
    font-size: 15px !important;
    line-height: 1 !important;
}
.hospitalization-actions .action-icon.action-edit,
.hospitalization-actions .patient-action-icon.success {
    color: #15803d !important;
    background: #ecfdf5 !important;
    border: 1px solid #bbf7d0 !important;
}
.hospitalization-actions .action-icon.action-edit:hover,
.hospitalization-actions .patient-action-icon.success:hover,
.hospitalization-actions .action-icon.action-edit:focus,
.hospitalization-actions .patient-action-icon.success:focus {
    color: #fff !important;
    background: #16a34a !important;
    border-color: #16a34a !important;
}
.hospitalization-actions .action-icon.action-delete,
.hospitalization-actions .patient-action-icon.danger,
.hospitalization-actions .hospitalization-delete-action {
    color: #dc2626 !important;
    background: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
}
.hospitalization-actions .action-icon.action-delete:hover,
.hospitalization-actions .patient-action-icon.danger:hover,
.hospitalization-actions .hospitalization-delete-action:hover,
.hospitalization-actions .action-icon.action-delete:focus,
.hospitalization-actions .patient-action-icon.danger:focus,
.hospitalization-actions .hospitalization-delete-action:focus {
    color: #fff !important;
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}


/* Follow-up list phone visibility for responsible user */
.followup-phone-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 4px;
    color: #0f766e;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    direction: ltr;
}
.followup-phone-link:hover { color: #075f51; }
.mobile-followup-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 7px 0 8px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #047857;
    font-weight: 900;
    text-decoration: none;
    direction: ltr;
}
.mobile-followup-phone i { font-size: 14px; }
.mobile-followup-phone:hover {
    background: #d1fae5;
    color: #065f46;
}


/* Patient details service delete action */
.service-record-icon-actions .service-delete-action {
    color: #dc2626;
    background: #fff1f2;
    border-color: #fecaca;
}
.service-record-icon-actions .service-delete-action:hover,
.service-record-icon-actions .service-delete-action:focus {
    color: #fff;
    background: #dc2626;
    border-color: #dc2626;
}


/* Optional patient identity/contact helper text */
.optional-field-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.7;
}
.optional-field-hint i {
    color: #0f766e;
    font-size: 13px;
}

/* Money inputs */
.money-input-group .money-input {
    direction: ltr;
    text-align: left;
    font-weight: 800;
    letter-spacing: .2px;
}
.money-currency-label {
    background: #ecfdf5;
    color: #047857;
    border-color: #bbf7d0;
    font-weight: 900;
    min-width: 58px;
    justify-content: center;
}
.money-input-group:focus-within .money-currency-label {
    background: #d1fae5;
    color: #065f46;
}

/* Final UX fixes: smart filters, disabled roadmap menu, IPD badge */
.smart-filter-panel {
    border: 1px solid rgba(15, 118, 110, .12);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,250,.96));
    border-radius: 22px;
}
.filter-search-box {
    position: relative;
}
.filter-search-box > i {
    position: absolute;
    inset-inline-start: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #0f766e;
    z-index: 2;
}
.filter-search-box .form-control {
    padding-inline-start: 38px;
}
.filter-more-toggle {
    border-radius: 14px;
    font-weight: 800;
}
.advanced-filter-box {
    margin-top: 2px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(241, 245, 249, .72);
    border: 1px dashed rgba(15, 118, 110, .20);
}
.ipd-badge {
    background: #eef2ff;
    color: #4338ca;
    border: 1px solid #c7d2fe;
    font-weight: 900;
    border-radius: 999px;
    vertical-align: middle;
}
.ipd-switch-box {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 13px;
    border: 1px solid #dbe7e4;
    border-radius: 14px;
    background: #f8fafc;
}
.disabled-menu-item > a,
.disabled-menu-item > a:hover,
.disabled-menu-item > a:focus {
    pointer-events: none;
    opacity: .52;
    color: #94a3b8 !important;
    background: #f8fafc !important;
    cursor: not-allowed;
}
.disabled-menu-item em {
    margin-inline-start: auto;
    font-size: 10px;
    font-style: normal;
    background: #e2e8f0;
    color: #64748b;
    border-radius: 999px;
    padding: 2px 7px;
    font-weight: 800;
}

/* Modern patient create/edit form */
.patient-form-modern {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.patient-form-section {
    border: 1px solid rgba(15, 118, 110, .12);
    border-radius: 24px;
    padding: 18px;
    background:
        radial-gradient(circle at top right, rgba(15, 118, 110, .055), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,250,.96));
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045);
}
.patient-form-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px dashed rgba(15, 118, 110, .16);
}
.patient-form-section-title strong {
    display: block;
    color: #075f51;
    font-weight: 950;
    font-size: 15px;
}
.patient-form-section-title small {
    display: block;
    color: #64748b;
    font-weight: 750;
    margin-top: 2px;
}
.patient-form-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #075f51;
    background: #e7f7ef;
    border: 1px solid #c9ead8;
    font-size: 18px;
    flex: 0 0 auto;
}
.patient-form-icon.route {
    color: #5b21b6;
    background: #f5f3ff;
    border-color: #ddd6fe;
}
.patient-form-icon.note {
    color: #b45309;
    background: #fffbeb;
    border-color: #fde68a;
}
.input-with-soft-icon {
    position: relative;
}
.input-with-soft-icon > i {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #0f766e;
    opacity: .75;
    pointer-events: none;
    z-index: 2;
}
.input-with-soft-icon .form-control {
    padding-right: 38px;
}
.input-with-soft-icon.date-field .form-control {
    padding-right: 38px;
}
.patient-ipd-card {
    min-height: 45px;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 15px;
    background: rgba(255,255,255,.76);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.patient-ipd-card strong {
    display: block;
    font-size: 12px;
    color: #075f51;
    font-weight: 950;
}
.patient-ipd-card small {
    display: block;
    font-size: 11px;
    color: #64748b;
    margin-top: 2px;
}
.patient-ipd-card .form-check-input {
    width: 44px;
    height: 24px;
    cursor: pointer;
}
.patient-form-section .form-label {
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 6px;
}
.patient-form-section .form-control,
.patient-form-section .form-select {
    border-radius: 15px;
    min-height: 44px;
    border-color: #dbece7;
    background-color: rgba(255,255,255,.92);
}
.patient-form-section .form-control:focus,
.patient-form-section .form-select:focus {
    border-color: #0f8b6f;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .09);
}
.patient-form-section textarea.form-control {
    min-height: 128px;
}

.patient-form-section-notes textarea.patient-summary-textarea {
    min-height: 260px;
    line-height: 2;
}

.patient-summary-note-display div {
    min-height: 180px;
    line-height: 2;
    white-space: pre-line;
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 18px;
    padding: 18px;
}

@media (max-width: 768px) {
    .patient-form-section-notes textarea.patient-summary-textarea {
        min-height: 220px;
    }

    .patient-summary-note-display div {
        min-height: 150px;
        padding: 14px;
    }
}
.optional-field-hint {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 7px;
    color: #64748b;
    font-weight: 750;
    font-size: 11px;
}
.optional-field-hint i {
    color: #0f766e;
}
.form-panel > h4 {
    color: #075f51;
    font-weight: 950;
    margin-bottom: 18px;
}
.form-actions {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(15, 118, 110, .10);
}
@media (max-width: 768px) {
    .patient-form-section {
        padding: 14px;
        border-radius: 20px;
    }
    .patient-form-section-title {
        align-items: flex-start;
    }
    .patient-form-icon {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }
}

/* ==== Generic modern form theme for all create/edit forms ==== */
.modern-form-shell,
.panel.form-panel,
.panel:has(> form),
.card:has(> form) {
    border: 1px solid #e6edf4;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}
.panel.form-panel,
.panel:has(> form) {
    padding: 22px;
}
.panel.form-panel > h4,
.panel > h4 {
    margin: 0 0 18px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #eef3f8;
    font-size: 1.15rem;
    font-weight: 900;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 10px;
}
.panel.form-panel > h4::before,
.panel > h4::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4f46e5, #14b8a6);
    box-shadow: 0 0 0 6px rgba(99, 102, 241, .10);
}
.record-form-modern {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.record-form-modern > .row,
.record-form-modern > .soft-card,
.record-form-modern > .alert,
.record-form-modern > .border,
.record-form-modern > .rounded-4,
.record-form-modern > .bg-light,
.record-form-modern > div[class*='card'],
.record-form-modern > section {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,254,.98));
    border: 1px solid #e9f0f6;
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}
.record-form-modern .row.g-3 {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}
.record-form-modern .soft-card {
    background: linear-gradient(180deg, #f8fbff, #fdfefe) !important;
    border: 1px solid #dfeaf4 !important;
    border-radius: 20px !important;
    box-shadow: none;
}
.record-form-modern .alert {
    border-radius: 18px;
}
.form-label {
    font-weight: 800;
    color: #334155;
    margin-bottom: .5rem;
}
.record-form-modern .form-control,
.record-form-modern .form-select,
.patient-form-modern .form-control,
.patient-form-modern .form-select {
    border-radius: 16px;
    border: 1px solid #d8e3ee;
    background: #fff;
    min-height: 48px;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.02);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.record-form-modern textarea.form-control,
.patient-form-modern textarea.form-control {
    min-height: auto;
    border-radius: 18px;
}
.record-form-modern .form-control:focus,
.record-form-modern .form-select:focus,
.patient-form-modern .form-control:focus,
.patient-form-modern .form-select:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 .2rem rgba(139,92,246,.10);
}
.record-form-modern .input-with-soft-icon,
.patient-form-modern .input-with-soft-icon {
    position: relative;
}
.record-form-modern .input-with-soft-icon > i,
.patient-form-modern .input-with-soft-icon > i {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    z-index: 2;
}
.record-form-modern .input-with-soft-icon .form-control,
.patient-form-modern .input-with-soft-icon .form-control {
    padding-inline-start: 42px;
}
.record-form-modern .form-text,
.record-form-modern .text-muted,
.patient-form-modern .text-muted,
.optional-field-hint {
    display: block;
    margin-top: 6px;
    font-size: .82rem;
    color: #64748b !important;
}
.record-form-modern .form-check,
.record-form-modern .form-check.form-switch,
.patient-form-modern .form-check.form-switch {
    background: #f8fbff;
    border: 1px solid #e3edf6;
    border-radius: 16px;
    padding: 12px 14px 12px 42px;
}
.record-form-modern .form-check-input,
.patient-form-modern .form-check-input {
    cursor: pointer;
}
.record-form-modern .btn,
.panel form .btn,
.patient-form-modern + .form-actions .btn,
.form-actions .btn {
    border-radius: 14px;
    min-height: 44px;
    padding-inline: 18px;
    font-weight: 800;
}
.form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #eef3f8;
}
.form-actions .btn-main {
    box-shadow: 0 12px 24px rgba(79,70,229,.18);
}
.record-form-modern .searchable-select + .ts-wrapper,
.patient-form-modern .searchable-select + .ts-wrapper {
    border-radius: 16px;
}
.record-form-modern .searchable-select + .ts-wrapper .ts-control,
.patient-form-modern .searchable-select + .ts-wrapper .ts-control {
    border-radius: 16px;
    min-height: 48px;
    border-color: #d8e3ee;
    padding: 10px 12px;
}
@media (max-width: 768px) {
    .panel.form-panel,
    .panel:has(> form) {
        padding: 16px;
        border-radius: 20px;
    }
    .record-form-modern > .row,
    .record-form-modern > .soft-card,
    .record-form-modern > .alert,
    .record-form-modern > .border,
    .record-form-modern > .rounded-4,
    .record-form-modern > .bg-light,
    .record-form-modern > div[class*='card'],
    .record-form-modern > section {
        border-radius: 18px;
        padding: 14px;
    }
    .form-actions {
        flex-direction: column;
    }
    .form-actions .btn {
        width: 100%;
    }
}

/* ==== Service create/edit form: truly modern card layout ==== */
.service-form-modern {
    max-width: 980px;
    margin-inline: auto;
}
.selected-patient-card,
.service-recurring-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid #d8efe8;
    background: linear-gradient(135deg, #f0fdfa, #ffffff);
}
.selected-patient-card {
    justify-content: flex-start;
}
.selected-patient-card strong,
.service-recurring-card strong {
    display: block;
    color: #0f766e;
    font-weight: 900;
}
.selected-patient-card small,
.service-recurring-card small {
    display: block;
    margin-top: 3px;
    color: #64748b;
}
.selected-patient-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: #ccfbf1;
    color: #0f766e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex: 0 0 auto;
}
.service-form-modern .modern-money-input {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #d8e3ee;
    background: #fff;
}
.service-form-modern .modern-money-input .form-control {
    border: 0 !important;
    box-shadow: none !important;
}
.service-form-modern .modern-money-input .money-currency-label {
    border: 0;
    border-inline-start: 1px solid #d8e3ee;
    background: #ecfdf5;
    color: #047857;
    font-weight: 900;
    min-width: 66px;
    justify-content: center;
}
.service-form-modern .recurring-service-box {
    border: 1px dashed #cbd5e1;
    border-radius: 22px;
    padding: 16px;
    background: linear-gradient(180deg, #f8fbff, #fff);
}
.service-info-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 18px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #1e3a8a;
    font-size: .86rem;
    line-height: 1.9;
}
.service-info-note i {
    color: #2563eb;
    font-size: 1.1rem;
    margin-top: 2px;
}
.service-form-modern .patient-form-section-title {
    margin-bottom: 18px;
}
.service-form-modern .input-with-soft-icon .form-select,
.service-form-modern .input-with-soft-icon .ts-wrapper .ts-control {
    padding-inline-start: 42px;
}
.service-form-modern .input-with-soft-icon > .ts-wrapper {
    position: relative;
}
.service-form-modern .form-actions .btn-main i,
.form-actions .btn-main i {
    margin-inline-end: 5px;
}
@media (max-width: 768px) {
    .selected-patient-card,
    .service-recurring-card {
        align-items: flex-start;
        border-radius: 18px;
    }
    .service-recurring-card {
        flex-direction: row;
    }
    .service-form-modern .recurring-service-box {
        padding: 13px;
        border-radius: 18px;
    }
}


/* ==== Service recurring switch polished UI fix ==== */
.service-recurring-card {
    padding: 16px 18px;
}
.service-recurring-card > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.service-recurring-card .form-check.form-switch {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    min-height: auto;
    box-shadow: none !important;
}
.service-recurring-card .form-check-input {
    float: none;
    width: 3rem;
    height: 1.6rem;
    margin: 0;
    cursor: pointer;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background-color: #e2e8f0;
    background-size: 1.2rem 1.2rem;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
}
.service-recurring-card .form-check-input:checked {
    background-color: #14b8a6;
    border-color: #14b8a6;
}
.service-recurring-card .form-check-input:focus {
    border-color: #14b8a6;
    box-shadow: 0 0 0 .2rem rgba(20,184,166,.12);
}
.service-recurring-card .form-check-input:not(:checked) {
    background-position: left calc(1.6rem / 6) center;
}
.service-recurring-card .form-check-input:checked {
    background-position: right calc(1.6rem / 6) center;
}
@media (max-width: 768px) {
    .service-recurring-card {
        align-items: center;
        gap: 12px;
    }
    .service-recurring-card .form-check-input {
        width: 2.85rem;
        height: 1.5rem;
    }
}

/* ==== Patient IPD switch polished UI final fix ==== */
.patient-ipd-switch-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid #dbe7f1;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,251,255,.94));
    box-shadow: 0 12px 26px rgba(15, 23, 42, .04);
}
.patient-ipd-switch-body {
    flex: 1 1 auto;
    min-width: 0;
}
.patient-ipd-switch-body strong {
    display: block;
    font-size: .95rem;
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 4px;
}
.patient-ipd-switch-body small {
    display: block;
    font-size: .78rem;
    color: #64748b;
    line-height: 1.7;
}
.patient-ipd-switch-wrap {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: auto !important;
    width: auto !important;
}
.patient-ipd-switch {
    float: none !important;
    width: 3rem !important;
    height: 1.65rem !important;
    margin: 0 !important;
    cursor: pointer;
    border-radius: 999px !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #e2e8f0 !important;
    background-size: 1.2rem 1.2rem !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08) !important;
}
.patient-ipd-switch:checked {
    background-color: #0f766e !important;
    border-color: #0f766e !important;
    background-position: right calc(1.65rem / 6) center !important;
}
.patient-ipd-switch:not(:checked) {
    background-position: left calc(1.65rem / 6) center !important;
}
.patient-ipd-switch:focus {
    border-color: #0f766e !important;
    box-shadow: 0 0 0 .2rem rgba(15,118,110,.12) !important;
}
@media (max-width: 768px) {
    .patient-ipd-switch-card {
        min-height: 68px;
        padding: 12px 14px;
    }
    .patient-ipd-switch-body strong {
        font-size: .9rem;
    }
    .patient-ipd-switch-body small {
        font-size: .74rem;
    }
    .patient-ipd-switch {
        width: 2.85rem !important;
        height: 1.55rem !important;
    }
}


/* ==== Service patient/service searchable icon alignment fix ==== */
.service-form-modern .searchable-soft-field,
.patient-form-modern .searchable-soft-field {
    position: relative;
}
.service-form-modern .searchable-soft-field > i,
.patient-form-modern .searchable-soft-field > i {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8aa0b6;
    font-size: 1rem;
    z-index: 3;
}
.service-form-modern .searchable-soft-field .searchable-select,
.patient-form-modern .searchable-soft-field .searchable-select {
    display: block;
    width: 100%;
}
.service-form-modern .searchable-soft-field .searchable-button,
.patient-form-modern .searchable-soft-field .searchable-button {
    min-height: 48px;
    padding-inline-start: 42px;
    padding-inline-end: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.service-form-modern .searchable-soft-field .searchable-button::after,
.patient-form-modern .searchable-soft-field .searchable-button::after {
    float: none;
    margin-inline-start: auto;
}
.service-form-modern .searchable-soft-field .searchable-panel,
.patient-form-modern .searchable-soft-field .searchable-panel {
    margin-top: 2px;
}

/* ==== Service-user own patient management fix ==== */
.locked-user-field {
    min-height: 48px;
    border: 1px solid #d8e3ee;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(244,251,255,.95), rgba(255,255,255,.98));
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    color: #0f172a;
}
.locked-user-field i {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f766e;
    background: #ccfbf1;
    border: 1px solid #99f6e4;
    flex: 0 0 auto;
}
.locked-user-field strong {
    display: block;
    font-size: .9rem;
    font-weight: 900;
    color: #0f172a;
}
.locked-user-field small {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: .76rem;
    line-height: 1.7;
}


/* ==== FINAL: clean patient/service searchable fields in service form ==== */
.service-form-modern .searchable-soft-field {
    position: relative !important;
}
.service-form-modern .searchable-soft-field > i {
    position: absolute !important;
    inset-inline-start: 14px !important;
    top: 24px !important;
    transform: translateY(-50%) !important;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #8aa0b6 !important;
    font-size: .95rem !important;
    line-height: 1 !important;
    z-index: 5 !important;
    pointer-events: none;
}
.service-form-modern .searchable-soft-field .searchable-button {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding-inline-start: 46px !important;
    padding-inline-end: 14px !important;
    line-height: 1.6 !important;
}
.service-form-modern .searchable-soft-field .searchable-button::after {
    float: none !important;
    margin-inline-start: auto !important;
    line-height: 1 !important;
}
.service-form-modern .searchable-soft-field .searchable-panel {
    margin-top: 2px !important;
}

/* ==== FINAL: soft, RTL money placeholder in service form ==== */
.service-form-modern .modern-money-input .money-input {
    direction: rtl !important;
    text-align: right !important;
    font-weight: 800;
}
.service-form-modern .modern-money-input .money-input::placeholder {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    opacity: .78 !important;
    text-align: right !important;
}
.service-form-modern .modern-money-input .money-input::-webkit-input-placeholder {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    opacity: .78 !important;
    text-align: right !important;
}
.service-form-modern .modern-money-input .money-input::-moz-placeholder {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    opacity: .78 !important;
    text-align: right !important;
}

/* ==== FINAL OVERRIDE: money placeholder small/right, typed amount normal ==== */
.service-form-modern .modern-money-input .money-input {
    direction: ltr !important;
    text-align: left !important;
    font-weight: 800 !important;
    font-size: .95rem !important;
}
.service-form-modern .modern-money-input .money-input:placeholder-shown {
    direction: rtl !important;
    text-align: right !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #64748b !important;
}
.service-form-modern .modern-money-input .money-input::placeholder {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    opacity: .72 !important;
    text-align: right !important;
}


/* MyWork quick patient actions */
.mywork-quick-actions {
    justify-content: flex-start;
    gap: 7px;
    flex-wrap: nowrap;
}
.mywork-quick-actions .patient-action-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 12px;
}
.mywork-quick-actions .patient-action-icon i {
    font-size: 16px;
}
@media (max-width: 768px) {
    .mywork-quick-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* ==== Sidebar active state persistence fix ==== */
.accordion-menu a.active-menu-link,
.accordion-menu .menu-single a.active-menu-link,
.accordion-menu .submenu a.active-menu-link {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    box-shadow: inset -3px 0 0 rgba(255,255,255,.75);
}
.accordion-menu a.active-menu-link i {
    color: #fff !important;
}
.menu-group-toggle.active-menu-group {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
}
.mobile-group-links a.active-menu-link {
    background: rgba(255,255,255,.18) !important;
    border-color: rgba(255,255,255,.24) !important;
    color: #fff !important;
}
.mobile-group-toggle.active-menu-group {
    background: rgba(255,255,255,.18) !important;
    border-color: rgba(255,255,255,.26) !important;
}

/* ==== Follow-up My Work redesigned search and list UI ==== */
.followup-page-header .btn-main { display:inline-flex; align-items:center; gap:.45rem; }
.followup-stat-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(135px, 1fr));
    gap: .85rem;
    margin: 0 0 1rem;
}
.followup-stat-card {
    position: relative;
    overflow: hidden;
    min-height: 104px;
    border: 1px solid rgba(0, 128, 105, .13);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,253,245,.88));
    box-shadow: 0 14px 34px rgba(0, 88, 72, .07);
    padding: 15px 16px;
    text-decoration: none;
    color: #0f3f38;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    transition: .16s ease;
}
.followup-stat-card:before {
    content: "";
    position: absolute;
    inset-inline-end: -28px;
    top: -28px;
    width: 86px;
    height: 86px;
    border-radius: 999px;
    background: rgba(0,128,105,.08);
}
.followup-stat-card:hover { transform: translateY(-2px); color:#0f3f38; box-shadow: 0 18px 38px rgba(0, 88, 72, .11); }
.followup-stat-card.active { border-color: rgba(0,128,105,.35); box-shadow: 0 18px 42px rgba(0,128,105,.17); }
.followup-stat-card .stat-icon {
    width: 38px;
    height: 38px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 128, 105, .12);
    color: var(--primary, #00796b);
    font-size: 18px;
    z-index: 1;
}
.followup-stat-card small { color: #64748b; font-weight: 850; z-index: 1; }
.followup-stat-card strong { font-size: 27px; font-weight: 950; color: #0f3f38; z-index: 1; line-height: 1; }
.followup-stat-card.danger { background: linear-gradient(135deg, #fff, #fff1f2); border-color: rgba(220,38,38,.13); }
.followup-stat-card.danger .stat-icon { background:#fee2e2; color:#dc2626; }
.followup-stat-card.warning { background: linear-gradient(135deg, #fff, #fffbeb); border-color: rgba(217,119,6,.14); }
.followup-stat-card.warning .stat-icon { background:#fef3c7; color:#b45309; }
.followup-stat-card.success { background: linear-gradient(135deg, #fff, #f0fdf4); border-color: rgba(22,163,74,.14); }
.followup-stat-card.success .stat-icon { background:#dcfce7; color:#15803d; }
.followup-search-panel {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(0, 128, 105, .13);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,253,249,.92));
    box-shadow: 0 16px 38px rgba(0, 88, 72, .07);
}
.followup-search-panel label {
    display: block;
    margin-bottom: .45rem;
    color: #0f766e;
    font-size: .84rem;
    font-weight: 900;
}
.followup-search-main { margin-bottom: .9rem; }
.followup-search-box { position: relative; }
.followup-search-box i {
    position: absolute;
    inset-inline-start: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #0f766e;
    z-index: 2;
}
.followup-search-box .form-control {
    min-height: 48px;
    border-radius: 18px;
    padding-inline-start: 42px;
    border-color: rgba(0, 128, 105, .16);
    background: rgba(255,255,255,.92);
    font-weight: 750;
}
.followup-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: .75rem;
}
.followup-filter-grid .form-control,
.followup-filter-grid .form-select {
    min-height: 45px;
    border-radius: 16px;
    border-color: rgba(0, 128, 105, .15);
    background-color: #fff;
}
.followup-filter-actions {
    display: flex;
    gap: .6rem;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: .95rem;
}
.followup-filter-actions .btn { border-radius: 15px; font-weight: 900; display:inline-flex; align-items:center; gap:.4rem; }
.followup-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: .2rem 0 1rem;
}
.followup-chip {
    padding: .58rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 128, 105, .14);
    background: rgba(255,255,255,.88);
    color: #0f766e;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0, 88, 72, .05);
}
.followup-chip:hover,
.followup-chip.active { background: var(--primary, #00796b); color: #fff; border-color: var(--primary, #00796b); }
.followup-table-panel { border-radius: 26px; overflow: hidden; }
.followup-table-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
    color: #0f766e;
}
.followup-table-summary strong { font-weight: 950; }
.followup-table-summary span { color: #64748b; font-size: .88rem; font-weight: 800; }
.followup-table thead th { white-space: nowrap; }
.followup-patient-cell { display: flex; align-items: center; gap: .65rem; min-width: 170px; }
.followup-avatar {
    width: 38px;
    height: 38px;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--primary, #00796b), #0f766e);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(0, 128, 105, .16);
    flex: 0 0 auto;
}
.followup-subject-text { font-weight: 850; color: #1f2937; }
.followup-date-pill {
    display: inline-flex;
    align-items: center;
    padding: .35rem .55rem;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-weight: 850;
    white-space: nowrap;
}
.followup-result-cell {
    max-width: 220px;
    color: #475569;
    font-size: .9rem;
    line-height: 1.8;
}
.followup-mobile-card { border: 1px solid rgba(0, 128, 105, .12); box-shadow: 0 14px 30px rgba(0, 88, 72, .06); }
.followup-mobile-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; margin-bottom:.4rem; }
.followup-mobile-subject { color:#1f2937; font-weight:850; margin:.5rem 0; }
.followup-mobile-meta { display:grid; gap:.35rem; color:#64748b; font-size:.86rem; }
.followup-mobile-meta span { display:flex; align-items:center; gap:.4rem; }
.followup-mobile-result { background:#f8fafc; border-radius:14px; padding:.65rem .8rem; color:#475569; line-height:1.8; }
@media (max-width: 1200px) {
    .followup-stat-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .followup-filter-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
}
@media (max-width: 768px) {
    .followup-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .followup-stat-card { min-height: 92px; padding: 13px; }
    .followup-stat-card strong { font-size: 23px; }
    .followup-filter-grid { grid-template-columns: 1fr; }
    .followup-filter-actions { justify-content: stretch; }
    .followup-filter-actions .btn { flex: 1 1 130px; justify-content: center; }
    .followup-table-summary { flex-direction: column; align-items:flex-start; }
}


/* ==== FollowUp my work cleanup + preferred mobile ==== */
.followup-contact-toggle-card {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fbff 100%);
    padding: 14px 16px;
}
.followup-contact-collapse {
    display: none;
    margin-top: 4px;
    border: 1px dashed #cbd5e1;
    background: #fcfdff;
    border-radius: 18px;
    padding: 16px;
}
#followUpMobileCollapse.is-open .followup-contact-collapse {
    display: block;
}
.followup-search-panel .form-text,
.followup-contact-toggle-card .form-text,
.followup-contact-collapse .form-text {
    color: #64748b;
    font-size: .8rem;
}
.ltr-input {
    direction: ltr;
    text-align: left;
}

/* Follow-up delete action inline form */
.followup-delete-form {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
}
.followup-delete-form .patient-action-icon {
    cursor: pointer;
    padding: 0;
    font: inherit;
}

/* ==== Users create/edit modern permission form ==== */
.user-form-modern .user-form-panel {
    max-width: 1160px;
    margin-inline: auto;
}
.user-form-section {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,253,251,.98));
    border: 1px solid rgba(14, 116, 100, .12);
    border-radius: 24px;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .045);
}
.user-form-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(14, 116, 100, .10);
}
.user-form-section-title h6 {
    margin: 0;
    color: #075f51;
    font-weight: 950;
    font-size: 1rem;
}
.user-form-section-title p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: .84rem;
    font-weight: 700;
}
.user-form-icon {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: linear-gradient(135deg, rgba(0,128,105,.12), rgba(20,184,166,.08));
    color: #007f69;
    font-size: 1.25rem;
    border: 1px solid rgba(20, 184, 166, .18);
}
.service-domain-grid,
.hospital-scope-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.service-domain-chip {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #dbe9e6;
    border-radius: 16px;
    padding: 10px 12px;
    background: #fff;
    color: #334155;
    font-weight: 850;
    cursor: pointer;
    transition: .18s ease;
    user-select: none;
}
.service-domain-chip:hover {
    border-color: rgba(0,128,105,.45);
    box-shadow: 0 8px 18px rgba(0,128,105,.08);
    transform: translateY(-1px);
}
.service-domain-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.service-domain-chip .chip-check {
    width: 24px;
    height: 24px;
    border-radius: 9px;
    border: 1px solid #bddbd5;
    color: transparent;
    background: #f8fffd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.service-domain-chip input:checked + .chip-check {
    background: linear-gradient(135deg, #008069, #0f766e);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 8px 16px rgba(0,128,105,.20);
}
.service-domain-chip:has(input:checked) {
    border-color: rgba(0,128,105,.45);
    background: linear-gradient(180deg, #f0fdfa, #ffffff);
    color: #075f51;
}
.user-active-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #f0fdfa, #ffffff);
    border: 1px solid rgba(0,128,105,.18);
    border-radius: 18px;
    padding: 14px 16px;
    cursor: pointer;
    margin: 0;
}
.user-active-card .form-check-input {
    margin: 0;
    width: 1.2rem;
    height: 1.2rem;
}
.user-active-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,128,105,.10);
    color: #007f69;
    font-size: 1.25rem;
}
.user-active-card strong,
.user-active-card small {
    display: block;
}
.user-active-card strong {
    color: #075f51;
    font-weight: 950;
}
.user-active-card small {
    color: #64748b;
    margin-top: 3px;
    font-weight: 700;
}
.user-form-actions {
    justify-content: flex-end;
}
@media (max-width: 1200px) {
    .service-domain-grid,
.hospital-scope-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .user-form-section { padding: 14px; border-radius: 20px; }
    .user-form-section-title { align-items: flex-start; }
    .service-domain-grid,
.hospital-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-domain-chip { font-size: .86rem; }
}
@media (max-width: 480px) {
    .service-domain-grid,
.hospital-scope-grid { grid-template-columns: 1fr; }
}


/* ==== User hospital access UI + impersonation ==== */
.hospital-access-card {
    border: 1px solid rgba(0,128,105,.16);
    background: radial-gradient(circle at top right, rgba(20,184,166,.10), transparent 34%), linear-gradient(180deg, #ffffff, #f8fffd);
    border-radius: 22px;
    padding: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.hospital-access-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.hospital-access-head p {
    margin: 0;
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
}
.hospital-access-badge {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 8px 12px;
    background: #ecfdf5;
    color: #047857;
    border: 1px solid rgba(4,120,87,.16);
    font-weight: 900;
    font-size: .78rem;
}
.hospital-scope-grid-modern {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.hospital-scope-card {
    position: relative;
    min-height: 76px;
    border: 1px solid #dcece8;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    padding: 12px 12px 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: .18s ease;
    overflow: hidden;
}
.hospital-scope-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0,128,105,.42);
    box-shadow: 0 12px 22px rgba(0,128,105,.09);
}
.hospital-scope-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.hospital-card-icon {
    width: 30px;
    height: 30px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0fdfa;
    color: #0f766e;
    border: 1px solid rgba(15,118,110,.12);
}
.hospital-card-title {
    color: #0f172a;
    font-weight: 950;
    font-size: .88rem;
    line-height: 1.45;
}
.hospital-card-check {
    position: absolute;
    left: 10px;
    top: 10px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid #bddbd5;
    color: transparent;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.hospital-scope-card:has(input:checked) {
    border-color: rgba(0,128,105,.55);
    background: linear-gradient(180deg, #ecfdf5, #ffffff);
    box-shadow: 0 12px 24px rgba(0,128,105,.10);
}
.hospital-scope-card:has(input:checked) .hospital-card-check {
    background: linear-gradient(135deg, #008069, #0f766e);
    color: #fff;
    border-color: transparent;
}
.hospital-access-help {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
}
.user-actions-cell {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.impersonation-banner {
    margin-bottom: 14px;
    border: 1px solid rgba(245,158,11,.25);
    background: linear-gradient(135deg, #fffbeb, #fff7ed);
    color: #92400e;
    border-radius: 18px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-shadow: 0 10px 24px rgba(245,158,11,.10);
    font-weight: 800;
}
.impersonation-banner form { margin: 0; }
@media (max-width: 1199.98px) {
    .hospital-scope-grid-modern { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .hospital-access-head, .impersonation-banner { flex-direction: column; align-items: stretch; }
    .hospital-scope-grid-modern { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .hospital-scope-grid-modern { grid-template-columns: 1fr; }
}

/* First follow-up visual marker */
.followup-patient-name-line,
.followup-mobile-name-wrap {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.first-followup-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(251, 146, 60, .12);
}
.first-followup-badge i {
    font-size: .8rem;
}
.followup-mobile-name-wrap {
    min-width: 0;
}
.followup-mobile-name-wrap strong {
    overflow-wrap: anywhere;
}

/* v0.9.17 - Patient contacts UI polish: keep contacts module visually aligned with other patient module cards */
.patient-section-card.theme-contact {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
    border: 1px solid color-mix(in srgb, var(--menu-accent, #0f766e) 12%, #dbe7e4) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .045) !important;
}
.patient-section-card.theme-contact .patient-section-main,
.patient-section-card.theme-contact .patient-section-quick {
    background: rgba(255,255,255,.78);
}
.patient-section-card.theme-contact .patient-section-main:not(.active):not([aria-selected="true"]) {
    color: var(--menu-accent-deep, #075f51) !important;
}
.patient-section-card.theme-contact .patient-section-main:not(.active):not([aria-selected="true"]) i {
    color: var(--menu-accent-deep, #075f51) !important;
    background: var(--menu-soft, rgba(15,118,110,.10)) !important;
}
.patient-section-card.theme-contact .patient-section-main.active,
.patient-section-card.theme-contact .patient-section-main[aria-selected="true"] {
    background: linear-gradient(135deg, var(--menu-accent, #147a55), var(--menu-accent-deep, #075f51)) !important;
    color: #fff !important;
}
.patient-contact-count-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-inline-start: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(15,118,110,.08);
    color: #075f51;
    border: 1px solid rgba(15,118,110,.14);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}
.patient-contact-card .btn-outline-primary {
    --bs-btn-color: #075f51;
    --bs-btn-border-color: rgba(15,118,110,.28);
    --bs-btn-hover-bg: #0f766e;
    --bs-btn-hover-border-color: #0f766e;
    --bs-btn-hover-color: #fff;
}


/* ==== FollowUp result modal / compact table (v0.9.19) ==== */
.patient-action-icon.note {
    color: #0f766e;
    background: linear-gradient(145deg, #ecfdf5, #ffffff);
    border-color: #99f6e4;
}
.patient-action-icon.note:hover {
    background: linear-gradient(145deg, #0f766e, #0d9488);
}
.patient-action-icon.muted,
.patient-action-icon.muted:disabled {
    color: #94a3b8;
    background: #f8fafc;
    border-color: #e2e8f0;
    box-shadow: none;
    cursor: not-allowed;
    opacity: .78;
}
.patient-action-icon.muted:hover {
    transform: none;
    color: #94a3b8;
    background: #f8fafc;
}
.followup-has-result-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-right: 6px;
    border-radius: 10px;
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
    vertical-align: middle;
}
.followup-mobile-result-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 2px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f0fdfa;
    color: #0f766e;
    border: 1px solid #ccfbf1;
    font-size: 12px;
    font-weight: 800;
}
.followup-result-modal-content {
    border: 1px solid var(--border);
    border-radius: 26px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .18);
}
.followup-result-modal-content .modal-title {
    color: var(--primary);
    font-weight: 950;
    display: flex;
    align-items: center;
    gap: 8px;
}
.followup-result-modal-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.followup-result-modal-info span {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 16px;
    padding: 11px 12px;
    color: #64748b;
}
.followup-result-modal-info b {
    color: #0f172a;
    font-weight: 900;
}
.followup-result-full-text {
    min-height: 150px;
    max-height: 52vh;
    overflow: auto;
    white-space: pre-wrap;
    line-height: 2;
    background: linear-gradient(180deg, #ffffff, #fbfffd);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 16px 18px;
    color: #334155;
    font-weight: 700;
}
@media (max-width: 768px) {
    .followup-result-modal-info { grid-template-columns: 1fr; }
    .followup-result-full-text { max-height: 48vh; }
}

/* ==== Admission Context Selector (v0.9.24) ==== */
.admission-context-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,252,250,.98));
    border: 1px solid rgba(15,118,110,.16);
    box-shadow: 0 16px 34px rgba(15,23,42,.055);
}
.admission-context-card.empty {
    border-style: dashed;
    background: linear-gradient(135deg, rgba(248,250,252,.95), rgba(255,255,255,.98));
}
.admission-context-icon {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(15,118,110,.10);
    color: #075f51;
    border: 1px solid rgba(15,118,110,.14);
    flex: 0 0 auto;
}
.admission-context-icon i { font-size: 22px; }
.admission-context-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.context-eyebrow {
    color: #64748b;
    font-weight: 850;
    font-size: 12px;
}
.admission-context-body strong {
    color: #075f51;
    font-weight: 950;
    font-size: 16px;
}
.admission-context-body small { color: #64748b; font-weight: 700; }
.admission-context-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.admission-context-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(241,245,249,.86);
    color: #334155;
    border: 1px solid rgba(226,232,240,.95);
    font-weight: 800;
    font-size: 12px;
}
.admission-context-meta i { color: #0f766e; }
.admission-context-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.btn-context-select,
.btn-context-add {
    min-height: 40px;
    border-radius: 14px;
    padding: 8px 13px;
    font-weight: 900;
    border: 1px solid rgba(15,118,110,.18);
    white-space: nowrap;
}
.btn-context-select {
    background: #fff;
    color: #075f51;
}
.btn-context-select:hover,
.btn-context-select:focus {
    background: #f0fdfa;
    color: #075f51;
    border-color: rgba(15,118,110,.34);
}
.btn-context-add {
    background: linear-gradient(135deg, #0f8b6f, #075f51);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 12px 22px rgba(15,118,110,.16);
}
.btn-context-add:hover,
.btn-context-add:focus { color: #fff; background: linear-gradient(135deg, #0d9488, #0f766e); }
.admission-context-menu {
    border: 1px solid #dceee8;
    border-radius: 15px;
    padding: 8px;
    min-width: 270px;
    text-align: right;
    box-shadow: 0 18px 38px rgba(15,23,42,.13);
}
.admission-context-menu .dropdown-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-radius: 12px;
    padding: 9px 10px;
    font-weight: 850;
    color: #0f172a;
}
.admission-context-menu .dropdown-item small { color: #64748b; font-weight: 700; }
.admission-context-menu .dropdown-item:hover { background: #f4fbf8; }
.admission-context-menu .dropdown-item.active {
    background: linear-gradient(135deg, rgba(15,118,110,.12), rgba(20,184,166,.10));
    color: #075f51;
}
.admission-menu-title { font-weight: 950; }
@media (max-width: 768px) {
    .admission-context-card { align-items: stretch; flex-direction: column; padding: 12px; border-radius: 20px; }
    .admission-context-actions { width: 100%; }
    .admission-context-actions .dropdown { flex: 1 1 auto; }
    .btn-context-select, .btn-context-add { width: 100%; justify-content: center; }
    .admission-context-icon { width: 44px; height: 44px; }
}

/* RC4 - Patient Timeline Engine */
.patient-section-card.theme-timeline .patient-section-main,
.patient-section-card.theme-timeline .patient-section-quick {
    --section-accent: #7c3aed;
}

.patient-timeline-panel {
    overflow: hidden;
}

.timeline-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(124, 58, 237, 0.1);
    color: #5b21b6;
    font-weight: 800;
    padding: 0.45rem 0.85rem;
    white-space: nowrap;
}

.patient-timeline-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.25rem 0.25rem 0.25rem 0;
}

.patient-timeline-list::before {
    content: "";
    position: absolute;
    top: 1.35rem;
    bottom: 1.35rem;
    right: 1.35rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(124, 58, 237, 0.22), rgba(15, 23, 42, 0.08));
}

.patient-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.patient-timeline-marker {
    position: relative;
    z-index: 1;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #64748b, #334155);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.12);
}

.patient-timeline-content {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.2rem;
    padding: 1rem;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.patient-timeline-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.patient-timeline-type {
    display: inline-flex;
    align-items: center;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.patient-timeline-head h6 {
    margin: 0;
    color: #0f172a;
    font-weight: 900;
}

.patient-timeline-head time {
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 800;
    white-space: nowrap;
}

.patient-timeline-content p {
    margin: 0.65rem 0 0;
    color: #475569;
    line-height: 1.9;
}

.patient-timeline-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.85rem;
}

.timeline-status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.35rem 0.75rem;
}

.timeline-link {
    color: #1d4ed8;
    font-weight: 800;
    text-decoration: none;
}

.timeline-link:hover {
    color: #1e40af;
}

.timeline-theme-entry .patient-timeline-marker { background: linear-gradient(135deg, #0ea5e9, #0369a1); }
.timeline-theme-hospital .patient-timeline-marker { background: linear-gradient(135deg, #2563eb, #1e3a8a); }
.timeline-theme-discharge .patient-timeline-marker { background: linear-gradient(135deg, #64748b, #334155); }
.timeline-theme-service .patient-timeline-marker { background: linear-gradient(135deg, #16a34a, #166534); }
.timeline-theme-follow .patient-timeline-marker { background: linear-gradient(135deg, #f59e0b, #b45309); }
.timeline-theme-referral .patient-timeline-marker { background: linear-gradient(135deg, #7c3aed, #4c1d95); }
.timeline-theme-done .patient-timeline-marker { background: linear-gradient(135deg, #22c55e, #15803d); }
.timeline-theme-homecare .patient-timeline-marker { background: linear-gradient(135deg, #ec4899, #9d174d); }
.timeline-theme-closed .patient-timeline-marker { background: linear-gradient(135deg, #14b8a6, #0f766e); }

@media (max-width: 576px) {
    .patient-timeline-head {
        flex-direction: column;
        gap: 0.35rem;
    }

    .patient-timeline-head time {
        white-space: normal;
    }

    .patient-timeline-content {
        padding: 0.85rem;
    }
}

/* RC5 - Patient list UX redesign */
.patient-list-page-header {
    margin-bottom: 14px;
}

.patient-list-summary-bar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.patient-summary-tile {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 14px 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0, 128, 96, .10);
    box-shadow: 0 12px 28px rgba(15,23,42,.05);
}

.patient-summary-tile i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 20px;
    background: rgba(0, 128, 96, .10);
    color: var(--primary);
}

.patient-summary-tile strong {
    display: block;
    font-size: 21px;
    line-height: 1;
    font-weight: 950;
    color: #0f172a;
}

.patient-summary-tile span {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.patient-summary-tile.hospital i { background: #fff1f2; color: #be123c; }
.patient-summary-tile.route i { background: #f5f3ff; color: #6d28d9; }
.patient-summary-tile.homecare i { background: #ecfdf5; color: #047857; }
.patient-summary-tile.warning i { background: #fffbeb; color: #b45309; }

.patient-list-filter-panel {
    padding: 16px 18px;
    margin-bottom: 14px !important;
}

.patient-list-filter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.patient-filter-main-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) minmax(160px, 1fr) minmax(180px, 1fr) minmax(150px, .85fr) auto;
    gap: 12px;
    align-items: end;
}

.patient-filter-main-row .form-label,
.patient-advanced-filter-grid .form-label {
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 900;
    color: #334155;
}

.patient-filter-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}

.patient-filter-actions .btn {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.patient-filter-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 2px;
}

.patient-advanced-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 4px;
    padding: 14px;
    border-radius: 20px;
    border: 1px dashed rgba(0, 128, 96, .18);
    background: linear-gradient(135deg, rgba(240,253,250,.72), rgba(255,255,255,.88));
}

.patient-paging-summary {
    margin-bottom: 10px !important;
}

.patient-table th:last-child,
.patient-table td:last-child {
    width: 285px;
}

@media (max-width: 1200px) {
    .patient-list-summary-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .patient-filter-main-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .patient-filter-search { grid-column: 1 / -1; }
    .patient-filter-actions { justify-content: flex-start; }
    .patient-advanced-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .patient-list-summary-bar { grid-template-columns: 1fr; }
    .patient-summary-tile { min-height: auto; padding: 12px 14px; }
    .patient-list-filter-panel { padding: 14px; }
    .patient-filter-main-row,
    .patient-advanced-filter-grid { grid-template-columns: 1fr; }
    .patient-filter-actions { flex-direction: column; align-items: stretch; }
    .patient-filter-actions .btn { width: 100%; }
    .patient-filter-toolbar { align-items: flex-start; flex-direction: column; }
}


/* RC27.5.1 - Restore custom action tooltips and keep them above table rows */
.patient-icon-actions,
.list-icon-actions,
.mobile-list-icon-actions {
    overflow: visible;
}
.patient-action-icon::after,
.patient-action-icon::before {
    z-index: 9999;
}
.patient-table,
.patient-table tbody,
.patient-table tr,
.patient-table td,
.table-responsive-mobile {
    overflow: visible;
}

/* RC27.6 - Public tracking RTL label and stable prescription action tooltips */
.public-rx-status-form .form-label {
    display: block;
    width: 100%;
    text-align: right !important;
    direction: rtl;
}
.public-rx-status-form .public-rx-code-input {
    text-align: right !important;
    direction: rtl;
}
.public-rx-status-code {
    text-align: center !important;
}
.prescription-management-table .patient-icon-actions {
    overflow: visible;
    position: relative;
    z-index: 2;
}
.prescription-management-table .patient-action-icon::after,
.prescription-management-table .patient-action-icon::before {
    z-index: 10000;
}
.prescription-management-table .patient-action-icon:not([data-tooltip])::after,
.prescription-management-table .patient-action-icon:not([data-tooltip])::before {
    display: none;
}

/* RC29.4 - Home Care Visit Form UX Redesign */
.homecare-visit-page{display:flex;flex-direction:column;gap:18px}.hcv-context-card{background:linear-gradient(135deg,#f0fdfa,#ffffff);border:1px solid #bdeee3;border-radius:28px;padding:20px 22px;box-shadow:0 18px 42px rgba(15,118,110,.08);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.hcv-context-main{display:flex;align-items:center;gap:14px}.hcv-context-icon,.hcv-icon{width:48px;height:48px;border-radius:18px;background:#dcfce7;color:#047857;display:inline-flex;align-items:center;justify-content:center;font-size:23px;flex:0 0 auto}.hcv-context-card h4{font-weight:950;color:#064e3b;margin:0 0 6px}.hcv-context-card p{margin:0;color:#64748b;font-size:13px}.hcv-context-meta{display:flex;gap:10px;flex-wrap:wrap}.hcv-context-meta span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #dbeafe;border-radius:999px;padding:8px 12px;color:#334155;font-weight:800;font-size:13px}.homecare-visit-panel{padding:0;overflow:hidden}.homecare-visit-form{display:flex;flex-direction:column;gap:18px}.hcv-section{background:linear-gradient(145deg,#ffffff,#f8fffc);border:1px solid #d7f4ec;border-radius:26px;padding:22px;box-shadow:0 12px 32px rgba(15,118,110,.05)}.hcv-section-title{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed #ccefe5}.hcv-section-title h3{font-size:17px;font-weight:950;color:#064e3b;margin:0 0 4px}.hcv-section-title p{font-size:12.5px;color:#64748b;margin:0}.hcv-summary{background:linear-gradient(145deg,#f0fdfa,#ffffff)}.hcv-vitals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hcv-vital-field{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:12px;transition:.18s}.hcv-vital-field:hover{border-color:#99f6e4;box-shadow:0 10px 24px rgba(20,184,166,.08)}.hcv-vital-field label{display:block;font-weight:900;color:#334155;font-size:13px;margin-bottom:8px}.hcv-vital-field .form-control,.hcv-vital-field .form-select{height:46px;border-radius:14px}.hcv-large-note{min-height:150px}.hcv-review-check{display:flex;align-items:center;gap:12px;border:1px solid #fde68a;background:#fffbeb;border-radius:22px;padding:14px 16px;cursor:pointer}.hcv-review-check .form-check-input{margin:0;width:1.25rem;height:1.25rem}.hcv-review-check strong{display:block;color:#92400e;font-weight:950}.hcv-review-check small{display:block;color:#92400e;font-size:12px;margin-top:3px}.hcv-actions{padding:0 22px 22px;margin-top:0;justify-content:flex-start}.hcv-actions .btn{min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.homecare-visit-form .form-label{font-weight:900;color:#334155}.homecare-visit-form textarea.form-control{line-height:1.9}.homecare-visit-form .input-with-soft-icon{position:relative}.homecare-visit-form .input-with-soft-icon>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#0f766e;z-index:2}.homecare-visit-form .input-with-soft-icon>.form-control{padding-left:42px}
@media(max-width:1200px){.hcv-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.hcv-context-card,.hcv-section{border-radius:22px;padding:16px}.hcv-section-title{align-items:flex-start}.hcv-vitals-grid{grid-template-columns:1fr}.hcv-actions{padding:0 16px 16px;flex-direction:column}.hcv-actions .btn{width:100%}.hcv-context-meta{width:100%}.hcv-context-meta span{width:100%;justify-content:center}}


.followup-stopped-alert{
    margin: .8rem 0 0;
    padding: .75rem 1rem;
    border-radius: 16px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}
.followup-stopped-badge{
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    margin-inline-start:.35rem;
    padding:.25rem .55rem;
    border-radius:999px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:.75rem;
    font-weight:800;
    white-space:nowrap;
}

/* RC31 - Partner login standardized styles
   Partner Login must not use inline CSS. It uses the same global font and component rhythm as the main login. */
body.partner-login-page {
    min-height: 100vh;
    font-family: Vazirmatn, Tahoma, Arial, sans-serif;
    background:
        radial-gradient(circle at 15% 10%, rgba(8,127,103,.14), transparent 32%),
        radial-gradient(circle at 85% 90%, rgba(15,45,66,.12), transparent 36%),
        linear-gradient(135deg, #f8fffd 0%, #e9f8f4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.partner-login-shell { width: min(420px, calc(100% - 32px)); }
.partner-login-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(8,127,103,.12);
    border-radius: 30px;
    padding: 30px;
    box-shadow: 0 28px 70px rgba(8,127,103,.16);
}
.partner-brand { text-align: center; margin-bottom: 26px; }
.partner-logo {
    width: 74px;
    height: 74px;
    border-radius: 26px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #087f67, #19b58f);
    font-size: 34px;
    box-shadow: 0 18px 34px rgba(8,127,103,.26);
}
.partner-brand h3 { font-weight: 950; color: #0f2d42; margin: 0; font-size: 1.35rem; }
.partner-brand p { color: #667985; margin: 8px 0 0; font-size: .95rem; }
.partner-login-card .form-control {
    border-radius: 18px;
    min-height: 48px;
    border-color: #d9eee8;
    background: #fff;
}
.partner-login-card .form-control:focus {
    border-color: #087f67;
    box-shadow: 0 0 0 4px rgba(8,127,103,.12);
}
.partner-login-card .form-label { font-weight: 800; color: #0f2d42; margin-bottom: .55rem; }
.partner-login-card .login-latin-input { direction: ltr; text-align: left; }
.partner-submit {
    border: 0;
    border-radius: 18px;
    min-height: 50px;
    font-weight: 900;
    background: linear-gradient(135deg, #087f67, #16a085) !important;
    box-shadow: 0 16px 32px rgba(8,127,103,.24);
}
.partner-support {
    margin-top: 20px;
    border-radius: 16px;
    background: #f0faf7;
    border: 1px solid rgba(8,127,103,.12);
    padding: 11px 14px;
    text-align: center;
    color: #60727d;
    font-size: .9rem;
}
.partner-footer { text-align: center; color: #74858f; font-size: .82rem; margin-top: 20px; line-height: 1.9; }


/* RC39 - HomeCare dashboard redesign */
.homecare-command-center{--hc:#087c69;--hc-dark:#075b50;--hc-soft:#effaf6;--hc-border:#d8ece5}.homecare-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid var(--hc-border);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f4fbf8 60%,#e9f8f2 100%)}.homecare-section-head h4{font-weight:950;color:#0e4f47}.homecare-section-head p{color:#64748b}.homecare-eyebrow{display:inline-block;margin-bottom:6px;color:var(--hc);font-size:12px;font-weight:900}.homecare-head-actions{display:flex;flex-wrap:wrap;gap:8px}.homecare-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.homecare-metric-card{display:flex;align-items:center;gap:14px;min-height:112px;padding:18px;border-radius:24px;text-decoration:none;border:1px solid var(--hc-border);background:#fff;box-shadow:0 12px 34px rgba(15,80,69,.06);transition:.2s}.homecare-metric-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,80,69,.11)}.homecare-metric-card .metric-icon{width:50px;height:50px;flex:0 0 50px;border-radius:17px;display:grid;place-items:center;font-size:23px}.metric-copy{display:flex;flex-direction:column;min-width:0}.metric-copy strong{font-size:29px;line-height:1;color:#123b36;font-weight:950}.metric-copy b{margin-top:6px;color:#214e48;font-size:14px}.metric-copy small{margin-top:2px;color:#7b8e8a;font-size:11px}.metric-success .metric-icon{background:#e1f8ec;color:#15865d}.metric-warning .metric-icon{background:#fff5d9;color:#b77905}.metric-orange .metric-icon{background:#fff0df;color:#c6630a}.metric-danger .metric-icon{background:#ffe9e9;color:#c63c3c}.homecare-action-panel{display:grid;grid-template-columns:250px 1fr;gap:18px;padding:18px 20px;border-radius:24px;border:1px solid #f1dfbb;background:linear-gradient(135deg,#fffdfa,#fff8e9)}.homecare-action-title{display:flex;align-items:center;gap:12px}.homecare-action-title>i{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#fff0c7;color:#a86700;font-size:20px}.homecare-action-title h5{margin:0;font-weight:950;color:#5b4217}.homecare-action-title small{color:#8b7756}.homecare-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.homecare-action-list a{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #efe4cb;text-decoration:none;color:#3f4a48}.homecare-action-list a em{grid-column:2;font-size:11px;color:#8a7554;font-style:normal}.action-dot{width:9px;height:9px;border-radius:99px}.action-dot.warning{background:#e7aa21}.action-dot.orange{background:#e57418}.action-dot.danger{background:#d94a4a}.homecare-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid #e8f1ee}.homecare-panel-heading h5{margin:0;color:#0d6457;font-weight:950}.homecare-panel-heading small{color:#83918e}.homecare-panel-heading>a{text-decoration:none;font-weight:850;color:#087c69;font-size:12px}.homecare-patient-list{display:flex;flex-direction:column;gap:10px}.homecare-patient-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e4efeb;border-radius:18px;background:#fbfefd}.homecare-patient-row.needs-assignment{background:#fffaf1;border-color:#f1dfb6}.patient-avatar{width:44px;height:44px;border-radius:15px;background:#e9f7f2;color:#087c69;display:grid;place-items:center;font-size:20px;flex:0 0 44px}.patient-main{flex:1;min-width:0}.patient-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.patient-title-line strong{color:#123d37}.status-chip{padding:4px 9px;border-radius:999px;font-size:10px;font-weight:900}.status-chip.active{background:#ddf7e9;color:#177650}.status-chip.warning{background:#fff0cc;color:#9b6700}.patient-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:5px;color:#657975;font-size:12px}.patient-main>small{display:block;margin-top:5px;color:#8a9996}.homecare-review-panel{min-height:100%}.homecare-review-row{padding:13px 0;border-bottom:1px solid #edf2f0}.homecare-review-row:last-child{border-bottom:0}.review-row-top,.review-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.homecare-review-row p{margin:7px 0;color:#536864;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.priority-chip{padding:4px 9px;border-radius:999px;font-size:10px;font-weight:900}.priority-chip.urgent{background:#ffe5e5;color:#b32626}.priority-chip.important{background:#fff0d9;color:#a65900}.priority-chip.normal{background:#e5f7ed;color:#19734f}.review-footer small{color:#8a9996}.review-footer div{display:flex;gap:10px}.review-footer a{text-decoration:none;font-size:12px;font-weight:850;color:#64748b}.review-footer a.primary{color:#087c69}.homecare-all-clear{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2d7765}.homecare-all-clear i{font-size:38px;margin-bottom:9px}.homecare-all-clear small{color:#899a96;margin-top:4px}
@media(max-width:1100px){.homecare-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homecare-action-panel{grid-template-columns:1fr}.homecare-action-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.homecare-section-head{align-items:stretch;flex-direction:column;padding:18px;border-radius:22px}.homecare-head-actions .btn{flex:1}.homecare-metric-grid{grid-template-columns:1fr 1fr;gap:10px}.homecare-metric-card{min-height:100px;padding:13px;gap:9px;border-radius:19px}.homecare-metric-card .metric-icon{width:42px;height:42px;flex-basis:42px;border-radius:14px;font-size:19px}.metric-copy strong{font-size:23px}.metric-copy small{display:none}.homecare-action-list{grid-template-columns:1fr}.homecare-patient-row{align-items:flex-start;flex-wrap:wrap}.patient-actions{width:100%}.patient-actions .btn{width:100%}.patient-meta{flex-direction:column;gap:4px}}

/* RC39.3 - HomeCare visit form layout polish */
.hcv-assignment-block{margin-top:22px;padding-top:20px;border-top:1px solid #dcefe9}.hcv-assignment-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.hcv-assignment-heading-icon{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#ecfdf5;color:#047857;font-size:19px;flex:0 0 auto}.hcv-assignment-heading h4{margin:0 0 3px;font-size:15px;font-weight:950;color:#064e3b}.hcv-assignment-heading p{margin:0;color:#64748b;font-size:12px}.hcv-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hcv-company-card,.hcv-nurse-card{min-height:138px;border:1px solid #dce9ee;border-radius:20px;background:#fff;padding:16px 17px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.hcv-company-card{background:linear-gradient(145deg,#f0fdfa,#ffffff);border-color:#bdeee3}.hcv-nurse-card{background:linear-gradient(145deg,#f8fbff,#ffffff)}.hcv-assignment-label{display:flex;align-items:center;gap:11px;min-width:0}.hcv-assignment-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0f766e;border:1px solid #d8eee9;font-size:19px;flex:0 0 auto;box-shadow:0 8px 18px rgba(15,118,110,.06)}.hcv-assignment-label small{display:block;color:#64748b;font-size:12px;margin-bottom:4px}.hcv-assignment-label strong{display:block;color:#0f3d3a;font-size:15px;font-weight:950;white-space:normal;overflow-wrap:anywhere}.hcv-readonly-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;border-radius:999px;padding:7px 11px;background:#fff;color:#64748b;border:1px solid #dce9e6;font-size:11.5px;font-weight:800}.hcv-nurse-select{height:48px;border-radius:14px;border-color:#cbdde7;background-color:#fff;font-weight:800;color:#334155}.hcv-nurse-card .form-text{display:flex;align-items:center;gap:6px;margin-top:0;color:#64748b;font-size:11.5px}.hcv-nurse-warning{display:flex;align-items:flex-start;gap:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.8}.hcv-nurse-warning i{margin-top:3px;flex:0 0 auto}.hcv-summary>.row>.col-lg-4:nth-child(4),.hcv-summary>.row>.col-lg-4:nth-child(5){margin-top:2px}.homecare-visit-form .form-control[readonly]{background:#f8fafc;color:#475569}
@media(max-width:900px){.hcv-assignment-grid{grid-template-columns:1fr}.hcv-company-card,.hcv-nurse-card{min-height:auto}}
@media(max-width:576px){.hcv-assignment-block{margin-top:17px;padding-top:16px}.hcv-company-card,.hcv-nurse-card{padding:14px;border-radius:17px}.hcv-assignment-heading{align-items:flex-start}.hcv-assignment-label strong{font-size:14px}}


/* RC40.2.7 - Hospital assistant centered mobile primary action */
@media (max-width: 768px) {
    .mobile-bottom-nav.hospital-assistant-bottom-nav {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        justify-items: center;
        position: fixed;
        overflow: visible;
        padding-inline: 8px;
    }

    .mobile-bottom-nav.hospital-assistant-bottom-nav > a:not(.center-action) {
        min-width: 0;
        width: 100%;
        padding: 7px 2px 5px;
    }

    .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-dashboard { grid-column: 5; }
    .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-history { grid-column: 4; }
    .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-status { grid-column: 2; }
    .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-profile { grid-column: 1; }

    .mobile-bottom-nav.hospital-assistant-bottom-nav .center-action {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: 13px !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        width: 64px !important;
        height: 64px !important;
        border-radius: 22px !important;
        z-index: 3;
        transition: transform .15s ease, box-shadow .15s ease;
    }

    .mobile-bottom-nav.hospital-assistant-bottom-nav .center-action:active {
        transform: translateX(-50%) scale(.94) !important;
        box-shadow: 0 7px 16px rgba(0,108,91,.28) !important;
    }
}


/* RC40.2.8 - Hospital assistant mobile bottom navigation visibility fix */
@media (max-width: 768px) {
  .mobile-bottom-nav.hospital-assistant-bottom-nav {
    display: block !important;
    position: fixed !important;
    right: 10px !important;
    left: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    height: 72px !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .mobile-bottom-nav.hospital-assistant-bottom-nav > a:not(.center-action) {
    display: flex !important;
    position: absolute !important;
    top: 9px !important;
    width: 20% !important;
    min-width: 0 !important;
    height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
  }
  .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-profile { left: 0 !important; right: auto !important; }
  .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-status { left: 20% !important; right: auto !important; }
  .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-history { right: 20% !important; left: auto !important; }
  .mobile-bottom-nav.hospital-assistant-bottom-nav .assistant-nav-dashboard { right: 0 !important; left: auto !important; }
  .mobile-bottom-nav.hospital-assistant-bottom-nav .center-action {
    display: flex !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 12px !important;
    transform: translateX(-50%) !important;
    width: 64px !important;
    height: 64px !important;
    z-index: 4 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* RC43 - Global Tehran date/time widget */
.global-date-time{min-width:190px;height:50px;display:flex;align-items:center;gap:10px;padding:6px 12px;background:linear-gradient(135deg,#f1fbf7,#e8f7f1);border:1px solid var(--border);border-radius:18px;color:var(--primary);box-shadow:0 8px 22px rgba(0,108,91,.07);direction:rtl}
.global-date-time-icon{width:36px;height:36px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--primary);font-size:18px;box-shadow:0 4px 12px rgba(0,108,91,.09);flex:0 0 auto}
.global-date-time-copy{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
.global-date-time-copy strong{font-size:16px;font-weight:950;letter-spacing:.3px;color:#075f4d;font-variant-numeric:tabular-nums}
.global-date-time-copy>span{font-size:11px;font-weight:800;color:var(--muted);margin-top:4px}
.global-clock-weekday{display:inline-block;margin-inline-end:3px;direction:rtl;unicode-bidi:isolate}
.global-clock-weekday::after{content:"،"}
.global-clock-date-parts{display:inline-flex;flex-direction:row;align-items:center;gap:3px;direction:rtl;unicode-bidi:isolate;white-space:nowrap}
.global-clock-date-parts bdi{direction:rtl;unicode-bidi:isolate;font:inherit;color:inherit}
@media(max-width:992px){.global-date-time{min-width:154px;padding:6px 9px}.global-date-time-copy strong{font-size:14px}.global-date-time-copy span{max-width:110px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:768px){.topbar-actions{gap:8px}.global-date-time{min-width:0;width:auto;height:46px;padding:4px 8px;border-radius:16px}.global-date-time-icon{display:none}.global-date-time-copy strong{font-size:13px;text-align:center}.global-date-time-copy span{font-size:9px;max-width:92px;text-align:center;margin-top:2px}.profile-mini{flex:0 0 auto}}
@media(max-width:420px){.global-date-time-copy span{display:none}.global-date-time{width:74px;justify-content:center}.global-date-time-copy strong{font-size:12px}.topbar-actions{gap:6px}}


/* RC43.5 - Global mobile table containment and optional meeting end time */
@media (max-width: 767.98px) {
    /* Keep wide data tables inside their own horizontal scroller instead of widening/cropping the page. */
    .table-responsive-mobile,
    .table-responsive {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        position: relative;
        border-radius: 16px;
    }

    .table-responsive-mobile > table,
    .table-responsive > table {
        width: max-content !important;
        min-width: 760px !important;
        max-width: none !important;
        table-layout: auto !important;
        margin-bottom: 0;
    }

    .table-responsive-mobile > table th,
    .table-responsive-mobile > table td,
    .table-responsive > table th,
    .table-responsive > table td {
        min-width: 104px;
        max-width: 220px;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
        vertical-align: middle !important;
        padding: 12px 10px !important;
    }

    .table-responsive-mobile > table th,
    .table-responsive > table th {
        white-space: nowrap !important;
    }

    .table-responsive-mobile .action-cell,
    .table-responsive .action-cell,
    .table-responsive-mobile .patient-actions-inline,
    .table-responsive .patient-actions-inline {
        min-width: 132px;
        white-space: nowrap !important;
        flex-wrap: nowrap;
    }

    /* Prevent any table from forcing a global horizontal page scroll. */
    html, body, .app-main, main, .content-wrapper, .panel, .card {
        max-width: 100%;
    }
}

/* RC45.8 - cleaner report form and explicit registrar/provider separation */
.hcv-visit-meta-grid > [class*="col-"]{display:flex;flex-direction:column}
.hcv-fixed-report-type{min-height:48px;border:1px solid #cfe5df;border-radius:14px;background:#f7fcfa;padding:8px 12px;display:flex;align-items:center;gap:10px;color:#0f513f}
.hcv-fixed-report-icon{width:32px;height:32px;border-radius:10px;background:#e6f6f1;color:#00856f;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.hcv-fixed-report-type strong{display:block;font-size:14px;font-weight:900}
.hcv-fixed-report-type small{display:block;color:#64748b;font-size:11px;margin-top:1px}
.hcv-assignment-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.hcv-registrar-card{min-height:138px;border:1px solid #dce9ee;border-radius:20px;background:#fff;padding:16px 17px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
@media(max-width:1200px){.hcv-assignment-grid-three{grid-template-columns:1fr 1fr}.hcv-nurse-card{grid-column:1/-1}}
@media(max-width:900px){.hcv-assignment-grid-three{grid-template-columns:1fr}.hcv-nurse-card{grid-column:auto}.hcv-registrar-card{min-height:auto}}

/* RC45.11 - align report metadata labels and controls */
.hcv-visit-meta-grid > [class*="col-"] {
    justify-content: flex-start;
}

.hcv-visit-meta-grid .form-label {
    display: flex;
    align-items: center;
    min-height: 24px;
    margin-bottom: 8px;
    line-height: 1.35;
}

.hcv-visit-meta-grid .form-control,
.hcv-visit-meta-grid .form-select,
.hcv-visit-meta-grid .hcv-fixed-report-type {
    min-height: 48px;
}

.hcv-visit-meta-grid .form-text,
.hcv-visit-meta-grid .text-danger {
    margin-top: 6px;
}


/* RC45.12 - deterministic alignment for visit metadata fields */
.hcv-visit-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 14px;
    align-items: start;
}
.hcv-visit-meta-grid .hcv-meta-field {
    display: grid;
    grid-template-rows: 24px 48px minmax(18px, auto);
    align-content: start;
    min-width: 0;
}
.hcv-visit-meta-grid .form-label {
    min-height: 24px;
    height: 24px;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    line-height: 1.2;
}
.hcv-visit-meta-grid .form-control,
.hcv-visit-meta-grid .form-select,
.hcv-visit-meta-grid .input-with-soft-icon,
.hcv-visit-meta-grid .hcv-fixed-report-type {
    height: 48px;
    min-height: 48px;
}
.hcv-visit-meta-grid .input-with-soft-icon .form-control { height: 48px; }
.hcv-visit-meta-grid .hcv-meta-help {
    min-height: 18px;
    padding-top: 6px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.55;
}
.hcv-visit-meta-grid .text-danger { margin-top: 2px; font-size: 11px; }
@media (max-width: 991.98px) {
    .hcv-visit-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .hcv-visit-meta-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* RC46.24 - HomeCare review events visual hierarchy */
.homecare-review-panel{min-height:auto}
.homecare-review-panel .homecare-panel-heading{margin-bottom:14px}
.homecare-review-row{position:relative;display:grid;grid-template-columns:5px 42px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;padding:13px 14px 13px 10px;border:1px solid #e1ede9!important;border-radius:17px;background:linear-gradient(180deg,#fff 0%,#fbfefd 100%);box-shadow:0 5px 16px rgba(15,80,69,.045);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.homecare-review-row:last-child{margin-bottom:0;border-bottom:1px solid #e1ede9!important}
.homecare-review-row:hover{transform:translateY(-1px);border-color:#c9e2db!important;box-shadow:0 9px 22px rgba(15,80,69,.08)}
.review-accent{align-self:stretch;width:5px;border-radius:999px;background:#55aa85}.review-accent.important{background:#e7a52a}.review-accent.urgent{background:#dc4c4c}
.review-event-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eaf7f2;color:#087c69;font-size:18px}
.review-event-main{min-width:0}.review-event-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-patient-block{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.review-patient-block strong{font-size:14px;color:#173f39;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-type-chip{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef7f4;color:#287565;font-size:10px;font-weight:900;white-space:nowrap}
.review-event-summary{margin:6px 0 5px!important;color:#4f6661!important;font-size:12.5px!important;line-height:1.75;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.review-event-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#879692;font-size:10.5px}.review-event-meta span{display:inline-flex;align-items:center;gap:4px}
.review-event-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:112px}.review-event-actions a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 10px;border-radius:10px;text-decoration:none;font-size:10.5px;font-weight:900;white-space:nowrap}.review-action-link{color:#56716b;background:#f4f8f7;border:1px solid #deebe7}.review-action-primary{color:#fff;background:#087c69;border:1px solid #087c69;box-shadow:0 5px 12px rgba(8,124,105,.16)}
@media(max-width:1199.98px){.homecare-review-row{grid-template-columns:5px 40px minmax(0,1fr)}.review-event-actions{grid-column:2/-1;flex-direction:row;justify-content:flex-end;min-width:0}.review-event-actions a{min-width:110px}}
@media(max-width:767.98px){.homecare-review-row{grid-template-columns:4px 38px minmax(0,1fr);gap:9px;padding:11px 10px 11px 8px}.review-event-icon{width:38px;height:38px;border-radius:12px}.review-event-head{align-items:flex-start}.review-patient-block{gap:5px}.review-event-summary{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.review-event-meta{gap:8px}.review-event-actions{grid-column:2/-1;display:grid;grid-template-columns:1fr 1fr}.review-event-actions a{min-width:0}.priority-chip{padding:3px 7px}}

/* RC48.0 - Simplified HomeCare clinical event form */
.hcv-time-section .hcv-section-title { margin-bottom: 18px; }
.hcv-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 760px;
}
.hcv-time-grid .hcv-meta-field { min-width: 0; }
.hcv-time-grid .form-label {
    display: block;
    min-height: auto;
    margin-bottom: 7px;
    font-weight: 700;
}
.hcv-time-grid .input-with-soft-icon,
.hcv-time-grid .form-control { width: 100%; }
.hcv-time-grid .input-with-soft-icon .form-control { height: 48px; }
@media (max-width: 767.98px) {
    .hcv-time-grid { grid-template-columns: 1fr; gap: 12px; max-width: none; }
}


/* RC54 - HomeCare dashboard visual refinement and accurate latest-event presentation */
.homecare-command-center .panel{border:1px solid #dfeee9;border-radius:24px;box-shadow:0 14px 38px rgba(14,82,70,.055);background:#fff}
.homecare-command-center .row.g-3>.col-xl-5,.homecare-command-center .row.g-3>.col-xl-7{display:flex}
.homecare-command-center .homecare-patient-panel,.homecare-command-center .homecare-review-panel{width:100%;padding:20px}
.homecare-patient-row{position:relative;align-items:flex-start;padding:15px 16px;gap:13px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.homecare-patient-row:hover{transform:translateY(-1px);border-color:#c9e4dc;box-shadow:0 10px 25px rgba(16,89,76,.07)}
.patient-title-line{justify-content:space-between}
.patient-meta{margin-top:7px;padding-bottom:9px;border-bottom:1px dashed #dceae6}
.patient-last-event{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:10px;padding:9px 10px;border-radius:13px;background:#f1f9f6;border:1px solid #dceee8}
.patient-last-event .last-event-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#fff;color:#087c69;font-size:17px}
.patient-last-event>div{display:flex;flex-direction:column;min-width:0}
.patient-last-event small{color:#718681;font-size:10px}
.patient-last-event b{color:#174c44;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.patient-last-event time{font-size:10px;color:#70817e;white-space:nowrap}
.patient-event-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:10px;color:#71827f}
.patient-event-footer .trend-badge{padding:4px 8px;border-radius:999px;background:#eef7f4;color:#28685e;font-weight:800}
.patient-actions{align-self:center}
.patient-actions .btn-main{border-radius:12px;padding:8px 12px;white-space:nowrap}
.homecare-review-row{display:grid;grid-template-columns:4px 42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 4px}
.review-accent{height:72%;min-height:48px;border-radius:99px;background:#48a98e}.review-accent.urgent{background:#e45454}.review-accent.important{background:#e69029}
.review-event-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf8f4;color:#087c69;font-size:18px}
.review-event-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-patient-block{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.event-type-chip{padding:3px 8px;border-radius:999px;background:#eef6f3;color:#277064;font-size:10px;font-weight:800}
.review-event-summary{margin:6px 0!important}.review-event-meta{display:flex;gap:14px;flex-wrap:wrap;color:#7a8c88;font-size:10px}.review-event-actions{display:flex;flex-direction:column;gap:6px}.review-event-actions a{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:850;white-space:nowrap}.review-action-link{border:1px solid #d9e8e3;color:#4f6f69}.review-action-primary{background:#087c69;color:#fff}
@media(max-width:1199.98px){.homecare-command-center .row.g-3>.col-xl-5,.homecare-command-center .row.g-3>.col-xl-7{display:block}.homecare-review-row{grid-template-columns:4px 42px minmax(0,1fr)}.review-event-actions{grid-column:2/4;flex-direction:row}.review-event-actions a{flex:1}}
@media(max-width:575.98px){.patient-last-event{grid-template-columns:34px minmax(0,1fr)}.patient-last-event time{grid-column:2}.patient-event-footer{align-items:flex-start;flex-direction:column}.homecare-review-row{grid-template-columns:4px 36px minmax(0,1fr)}.review-event-icon{width:36px;height:36px}.review-event-head{align-items:flex-start;flex-direction:column}.review-event-actions{grid-column:1/4}}

/* RC55 - HomeCare daily operations dashboard */
.homecare-today-board{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:center;padding:16px 18px;border:1px solid #dbece7;border-radius:22px;background:linear-gradient(135deg,#fff,#f4fbf8)}
.today-board-title{display:flex;align-items:center;gap:11px}.today-board-title h5{margin:0;color:#105e53;font-weight:950}.today-board-title small{color:#7a8d88}.today-board-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#dff5ed;color:#087c69;font-size:20px}
.today-board-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.today-task{display:flex;align-items:center;gap:10px;min-height:66px;padding:10px 12px;border:1px solid #e1eee9;border-radius:16px;background:#fff;text-decoration:none;color:#214b45}.today-task>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#edf8f4;color:#087c69}.today-task span{display:flex;flex-direction:column}.today-task b{font-size:19px;line-height:1;color:#123e38}.today-task small{margin-top:4px;color:#71827e;font-size:10px}.today-task.stale>i{background:#fff0e6;color:#c6661c}
.last-event-copy{min-width:0;flex:1}.last-event-time{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.last-event-time strong{font-size:11px;color:#087c69}.last-event-time time{font-size:9px;color:#8a9996}
.patient-vitals-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;padding:7px;border-radius:13px;background:#f2f8f6}.patient-vitals-strip span{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:5px 4px;border-radius:9px;background:#fff}.patient-vitals-strip small{font-size:9px;color:#7b8d89}.patient-vitals-strip b{font-size:11px;color:#194b43;white-space:nowrap}.patient-vitals-strip .vital-alert{background:#fff0f0}.patient-vitals-strip .vital-alert b{color:#b53030}
.trend-badge.better{background:#dcf7e8;color:#18764f}.trend-badge.stable{background:#fff2cf;color:#946600}.trend-badge.worse{background:#ffe3e3;color:#b52b2b}.trend-badge.unknown{background:#edf2f1;color:#667773}
@media(max-width:1199.98px){.homecare-today-board{grid-template-columns:1fr}.today-board-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.today-board-items{grid-template-columns:1fr 1fr}.today-task{padding:9px}.today-task>i{display:none}.patient-vitals-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.last-event-time{align-items:flex-start;width:100%}.patient-last-event{flex-wrap:wrap}}

/* RC55.1 - simplified HomeCare dashboard */
.homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1100px){.homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:768px){.homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:1fr;}}

/* RC56 - HomeCare dashboard column balance */
.homecare-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,55fr) minmax(0,45fr);
    gap:1rem;
    align-items:stretch;
}
.homecare-dashboard-active,
.homecare-dashboard-events{
    min-width:0;
}
.homecare-dashboard-grid .homecare-patient-panel,
.homecare-dashboard-grid .homecare-review-panel{
    height:100%;
}
.homecare-dashboard-grid .review-event-summary{
    white-space:normal!important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media(max-width:1199.98px){
    .homecare-dashboard-grid{
        grid-template-columns:1fr;
    }
}


/* RC58.7 - unified centered form layout and consistent form width */
.page-content > .panel.form-panel,
.page-content > form.panel.form-panel,
.page-content > .panel.nikan-form-panel {
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;
}

.nikan-form-panel .prescription-request-clean-form {
    max-width: none;
    margin-inline: 0;
}

.nikan-standard-form-header {
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;
}

@media (max-width: 768px) {
    .page-content > .panel.form-panel,
    .page-content > form.panel.form-panel,
    .page-content > .panel.nikan-form-panel,
    .nikan-standard-form-header {
        max-width: 100%;
    }
}

/* Keep nested and standalone form surfaces aligned as well. */
.form-panel,
.nikan-form-panel {
    width: 100%;
    max-width: 1100px;
    margin-inline: auto;
}

/* RC58.8 - training videos on the public login page */
.login-training-card{
    display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 14px;
    border:1px solid #d9ebe5;border-radius:17px;background:linear-gradient(135deg,#f8fcfa,#edf8f4);
}
.login-training-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:#dff3eb;color:#167a55;font-size:20px}
.login-training-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;text-align:right}
.login-training-copy strong{font-size:13px;color:#174f42;font-weight:900}
.login-training-copy span{font-size:10px;line-height:1.75;color:#6e847d}
.login-training-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;border:1px solid #cfe4dc;background:#fff;color:#167a55;font-size:11px;font-weight:800;white-space:nowrap}
.login-training-btn:hover,.login-training-btn:focus{background:#167a55;color:#fff;border-color:#167a55}
.training-videos-modal .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(18,67,55,.22)}
.training-videos-modal .modal-header{align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e7f0ed;background:#f8fcfa}
.training-videos-modal .modal-title{color:#174f42;font-weight:950}
.training-videos-modal .modal-header p{margin-top:5px;color:#748983;font-size:12px}
.training-videos-modal .modal-body{padding:18px}
.training-video-layout{display:grid;grid-template-columns:minmax(230px,34%) minmax(0,1fr);gap:16px;direction:rtl}
.training-video-list{display:flex;flex-direction:column;gap:8px}
.training-video-item{width:100%;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e3ece9;border-radius:14px;background:#fff;color:#284e46;text-align:right;transition:.18s ease}
.training-video-item>i{width:35px;height:35px;flex:0 0 35px;border-radius:11px;display:grid;place-items:center;background:#eef7f4;color:#168063;font-size:16px}
.training-video-item span{display:flex;min-width:0;flex-direction:column;gap:2px}
.training-video-item b{font-size:12px;font-weight:900}
.training-video-item small{font-size:9px;color:#7d8e89;line-height:1.55}
.training-video-item:hover{border-color:#bcdccf;background:#f9fcfb}
.training-video-item.active{border-color:#88c5ad;background:#edf8f4;box-shadow:0 5px 15px rgba(22,122,85,.09)}
.training-video-item.active>i{background:#167a55;color:#fff}
.training-video-player-wrap{min-width:0;padding:12px;border:1px solid #e3ece9;border-radius:18px;background:#f9fbfa}
.training-video-title{margin:1px 3px 10px;color:#174f42;font-size:13px;font-weight:950}
.training-video-player{display:block;width:100%;max-height:430px;border-radius:14px;background:#0f1916;aspect-ratio:16/9}
.training-video-hint{display:flex;align-items:center;gap:6px;margin-top:9px;color:#7b8d88;font-size:9px;line-height:1.6}
@media(max-width:767.98px){
    .login-training-card{align-items:flex-start;flex-wrap:wrap}.login-training-copy{min-width:calc(100% - 58px)}.login-training-btn{width:100%;margin-top:2px}
    .training-videos-modal .modal-dialog{margin:10px}.training-videos-modal .modal-header{padding:16px}.training-videos-modal .modal-body{padding:12px}
    .training-video-layout{grid-template-columns:1fr}.training-video-list{max-height:215px;overflow:auto}.training-video-player-wrap{order:-1}
}

/* RC58.9 - full-page public training center */
.training-page{margin:0;min-height:100vh;background:linear-gradient(145deg,#eef7f3 0%,#f8fbfa 48%,#e9f3ef 100%);color:#274b43}
.training-page-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:28px 0 36px}
.training-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:18px 22px;border:1px solid #dcebe5;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 14px 40px rgba(24,79,64,.08)}
.training-page-brand{display:flex;align-items:center;gap:14px;min-width:0}
.training-page-brand img{width:62px;height:62px;object-fit:contain;border-radius:17px;background:#f3faf7;padding:5px}
.training-page-brand h1{margin:0 0 5px;color:#174f42;font-size:23px;font-weight:950}
.training-page-brand p{margin:0;color:#72867f;font-size:13px}
.training-back-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid #cfe4dc;background:#fff;color:#167a55;font-size:12px;font-weight:900;white-space:nowrap}
.training-back-btn:hover,.training-back-btn:focus{background:#167a55;color:#fff;border-color:#167a55}
.training-page-content{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;direction:rtl;align-items:start}
.training-page-sidebar,.training-page-player-card{border:1px solid #dcebe5;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 14px 40px rgba(24,79,64,.08)}
.training-page-sidebar{position:sticky;top:20px;padding:16px}
.training-sidebar-title{display:flex;align-items:center;gap:8px;margin:2px 2px 14px;color:#174f42;font-size:14px;font-weight:950}
.training-page-player-card{min-width:0;padding:18px}
.training-page-player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.training-page-player-head h2{margin:8px 0 0;color:#174f42;font-size:20px;font-weight:950}
.training-player-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#e8f6f0;color:#167a55;font-size:10px;font-weight:900}
.training-page-player{display:block;width:100%;max-height:calc(100vh - 245px);min-height:430px;border-radius:17px;background:#0f1916;aspect-ratio:16/9;object-fit:contain}
.training-page-description{margin:15px 2px 5px;color:#5f756e;font-size:13px;line-height:1.9}
.training-page .training-video-list{gap:9px}
.training-page .training-video-item{padding:12px}
.training-page .training-video-item b{font-size:12px}
.training-page .training-video-item small{font-size:9px}
@media(max-width:991.98px){
 .training-page-shell{width:min(100% - 24px,900px);padding:14px 0 24px}
 .training-page-header{align-items:flex-start;flex-direction:column;padding:15px;margin-bottom:12px}
 .training-page-brand img{width:52px;height:52px}.training-page-brand h1{font-size:18px}.training-page-brand p{font-size:11px}
 .training-back-btn{width:100%;justify-content:center}
 .training-page-content{grid-template-columns:1fr;gap:12px}
 .training-page-sidebar{position:static;order:2}.training-page-player-card{order:1;padding:12px}
 .training-page-player{min-height:0;max-height:none}.training-page-player-head h2{font-size:16px}
 .training-page .training-video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
 .training-page-shell{width:calc(100% - 16px);padding-top:8px}
 .training-page-header,.training-page-sidebar,.training-page-player-card{border-radius:17px}
 .training-page-brand{align-items:flex-start}.training-page-brand img{width:45px;height:45px;border-radius:13px}
 .training-page-brand h1{font-size:15px}.training-page-brand p{font-size:10px;line-height:1.7}
 .training-page .training-video-list{grid-template-columns:1fr}
 .training-page-description{font-size:11px}.training-video-hint{font-size:9px}
}

/* RC58.13 - Training page uses the project body font.
   Do not override font-family on the body-level training-page class. */
.training-page button,
.training-page input,
.training-page select,
.training-page textarea,
.training-page .btn,
.training-page .training-video-item,
.training-page .training-video-item b,
.training-page .training-video-item small {
    font-family: inherit;
}

/* RC60.9 - Unified operational dashboard for HomeCare roles */
.operational-homecare-dashboard .operational-hero-card{background:linear-gradient(135deg,#f8fffc 0%,#eefaf6 100%);border:1px solid #d8eee6}
.operational-homecare-dashboard .operational-kpis .stat-card{min-height:170px}
.operational-homecare-dashboard .operational-stat.danger{border-color:#ffd6d6}
.operational-homecare-dashboard .operational-stat.warning{border-color:#ffe6b8}
.operational-homecare-dashboard .operational-stat.blue{border-color:#d8e8ff}
.operational-homecare-dashboard .operational-stat.green{border-color:#d8f1e4}
.operational-homecare-dashboard .operational-stat.purple{border-color:#eadcff}
.operational-homecare-dashboard .operational-stat.teal{border-color:#d4efee}
.operational-homecare-dashboard .homecare-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.operational-homecare-dashboard .homecare-panel-heading h5{margin:0;font-weight:800;color:#0b5f52}
.operational-homecare-dashboard .homecare-panel-heading small{display:block;margin-top:.25rem;color:#78908b}
.operational-homecare-dashboard .homecare-panel-heading>a{font-size:.85rem;font-weight:700;text-decoration:none;color:#087d6b}
.operational-task-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem;border:1px solid #e2ece9;border-radius:18px;background:#fff;margin-bottom:.75rem;position:relative;overflow:hidden}
.operational-task-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:5px;background:#71aee8}
.operational-task-card.overdue{background:#fff8f8;border-color:#ffd3d3}
.operational-task-card.overdue:before{background:#dc3545}
.operational-task-card.today{background:#fffbf3;border-color:#ffe0a6}
.operational-task-card.today:before{background:#f0a800}
.operational-task-card .task-status-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#edf8f5;color:#07806e;font-size:1.15rem}
.operational-task-card.overdue .task-status-icon{background:#ffe9e9;color:#c93232}
.operational-task-card .task-head{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}
.operational-task-card .task-head strong{font-size:.95rem;color:#143d37}
.operational-task-card .task-head span{font-size:.75rem;border-radius:999px;padding:.2rem .55rem;background:#eaf5ff;color:#286a9d}
.operational-task-card p{margin:.35rem 0;color:#526c67;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operational-task-card .task-meta{display:flex;flex-wrap:wrap;gap:.7rem;color:#78908b;font-size:.75rem}
.operational-patient-list{display:grid;gap:.8rem}
.operational-patient-card{border:1px solid #dfebe7;border-radius:18px;padding:1rem;background:#fff}
.operational-patient-card .patient-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.operational-patient-card .patient-card-top strong{display:block;color:#123f37}
.operational-patient-card .patient-card-top small{display:block;margin-top:.25rem;color:#78908b}
.operational-patient-card .patient-last-event{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.85rem;padding:.7rem;background:#f5faf8;border-radius:14px}
.operational-patient-card .patient-last-event div{min-width:0}
.operational-patient-card .patient-last-event small{display:block;color:#81948f;font-size:.7rem}
.operational-patient-card .patient-last-event b{display:block;margin-top:.15rem;color:#385b55;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operational-patient-card .patient-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.8rem}
.compact-event-row{margin-bottom:.7rem}
.operational-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.operational-summary-grid a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-decoration:none;color:#42615b;background:#f4faf8;border:1px solid #e0eee9;padding:.9rem;border-radius:15px}
.operational-summary-grid a strong{font-size:1.25rem;color:#087d6b}
@media(max-width:1199.98px){.operational-homecare-dashboard .operational-kpis .stat-card{min-height:155px}}
@media(max-width:767.98px){.operational-task-card{grid-template-columns:auto minmax(0,1fr)}.operational-task-card>a{grid-column:1/-1}.operational-patient-card .patient-card-top{flex-direction:column}.operational-patient-card .patient-last-event{grid-template-columns:1fr}.operational-summary-grid{grid-template-columns:1fr}.operational-homecare-dashboard .homecare-panel-heading{align-items:flex-start}.operational-homecare-dashboard .operational-kpis .stat-card{min-height:145px}}

/* RC60.10 - HomeCare operational dashboard layout correction
   The unified dashboard is rendered inside the legacy dashboard-hero wrapper.
   Expand that wrapper instead of letting its single flex child shrink to content width. */
.dashboard-hero:has(.operational-homecare-dashboard){
    display:block;
    width:100%;
    padding:0;
    margin:0 0 1.5rem;
    overflow:visible;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.dashboard-hero:has(.operational-homecare-dashboard)::before{display:none}
.dashboard-hero:has(.operational-homecare-dashboard)>div{
    width:100%;
    min-width:0;
}
.dashboard-hero:has(.operational-homecare-dashboard) .partner-homecare-dashboard{
    width:100%;
    max-width:none;
}
.operational-homecare-dashboard .operational-kpis > [class*="col-"]{
    display:flex;
}
.operational-homecare-dashboard .operational-kpis .stat-card{
    width:100%;
    min-width:0;
    min-height:158px;
    padding:1rem .75rem;
}
.operational-homecare-dashboard .operational-kpis .stat-card h3{
    margin:.65rem 0 .25rem;
}
.operational-homecare-dashboard .operational-actions-panel,
.operational-homecare-dashboard .operational-patients-panel{
    min-height:430px;
}
@media(max-width:1199.98px){
    .operational-homecare-dashboard .operational-kpis .stat-card{min-height:145px}
    .operational-homecare-dashboard .operational-actions-panel,
    .operational-homecare-dashboard .operational-patients-panel{min-height:auto}
}
@media(max-width:575.98px){
    .dashboard-hero:has(.operational-homecare-dashboard){margin-bottom:1rem}
    .operational-homecare-dashboard .operational-kpis .stat-card{min-height:135px;padding:.85rem .6rem}
}

/* RC60.11 - Operational dashboard recent events layout fix */
.operational-homecare-dashboard .operational-bottom-row > [class*="col-"]{min-width:0}
.operational-homecare-dashboard .operational-events-panel,
.operational-homecare-dashboard .operational-summary-panel{height:auto!important;min-height:0}
.operational-homecare-dashboard .compact-event-row{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
    padding:14px!important;
    margin:0 0 10px!important;
    border:1px solid #dcebe6!important;
    border-radius:16px!important;
    overflow:visible!important;
}
.operational-homecare-dashboard .compact-event-row:last-child{margin-bottom:0!important}
.operational-homecare-dashboard .compact-event-row::before{display:none!important}
.operational-homecare-dashboard .compact-event-row .review-event-icon{
    width:42px;height:42px;display:grid;place-items:center;border-radius:13px;
    background:#eaf7f3;color:#08806d;font-size:18px;position:static!important;
}
.operational-homecare-dashboard .compact-event-row .review-event-main{min-width:0!important;width:auto!important}
.operational-homecare-dashboard .compact-event-row .review-event-head{display:block!important}
.operational-homecare-dashboard .compact-event-row .review-patient-block{
    display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex-wrap:wrap!important;
}
.operational-homecare-dashboard .compact-event-row .review-patient-block strong{
    display:block;max-width:100%;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
    font-size:14px!important;line-height:1.6;color:#173f39;
}
.operational-homecare-dashboard .compact-event-row .review-event-summary{
    display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;
    white-space:normal!important;overflow:hidden!important;margin:7px 0!important;
    color:#536864;font-size:12px!important;line-height:1.8;
}
.operational-homecare-dashboard .compact-event-row .review-event-meta{
    display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;
    color:#7a8c88;font-size:10.5px!important;
}
.operational-homecare-dashboard .compact-event-row .review-event-actions{
    display:flex!important;align-items:center!important;justify-content:center!important;min-width:86px!important;
    grid-column:auto!important;
}
.operational-homecare-dashboard .compact-event-row .review-action-link{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
    min-height:34px;padding:7px 12px!important;border-radius:11px!important;white-space:nowrap!important;
    background:#f5faf8!important;border:1px solid #d7e8e3!important;color:#426b63!important;
    text-decoration:none!important;font-size:11px!important;font-weight:850!important;
}
@media(max-width:767.98px){
    .operational-homecare-dashboard .compact-event-row{
        grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important;padding:11px!important;
    }
    .operational-homecare-dashboard .compact-event-row .review-event-icon{width:38px;height:38px}
    .operational-homecare-dashboard .compact-event-row .review-event-actions{
        grid-column:1/-1!important;justify-content:flex-end!important;min-width:0!important;
    }
}


/* RC60.15 role guidance */
.role-description-card { display:flex; align-items:flex-start; gap:.75rem; padding:.9rem 1rem; border:1px solid #d7ebe5; border-radius:14px; background:#f7fcfa; color:#174f45; }
.role-description-icon { width:2.25rem; height:2.25rem; flex:0 0 2.25rem; display:grid; place-items:center; border-radius:10px; background:#e2f5ef; color:#078268; font-size:1.05rem; }
.role-description-card strong { display:block; margin-bottom:.2rem; font-size:.95rem; }
.role-description-card p { margin:0; color:#607b75; font-size:.82rem; line-height:1.8; }

/* RC60.18 - Main dashboard full-width layout correction
   The standard dashboard tabs are nested inside the legacy dashboard-hero flex wrapper.
   Let the dashboard occupy all available page width, matching the HomeCare operational dashboard. */
.dashboard-hero:has(.dashboard-tabs-shell){
    display:block;
    width:100%;
    padding:0;
    margin:0 0 1.5rem;
    overflow:visible;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.dashboard-hero:has(.dashboard-tabs-shell)::before{display:none}
.dashboard-hero:has(.dashboard-tabs-shell)>div{
    display:block;
    width:100%;
    max-width:none;
    min-width:0;
}
.dashboard-hero:has(.dashboard-tabs-shell) .dashboard-tabs-shell{
    width:100%;
    max-width:none;
    min-width:0;
    margin-inline:0;
}
.dashboard-hero:has(.dashboard-tabs-shell) .dashboard-tab-panel,
.dashboard-hero:has(.dashboard-tabs-shell) .dashboard-tab-panel > *{
    max-width:none;
}

/* ==== RC60.21 Users management visual refresh ==== */
.users-filter-panel,
.users-list-panel {
    border: 1px solid rgba(14,116,100,.12);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(15,23,42,.045);
}
.users-filter-heading,
.users-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(14,116,100,.10);
}
.users-filter-heading strong,
.users-list-heading strong {
    display: block;
    color: #075f51;
    font-size: 1rem;
    font-weight: 950;
}
.users-filter-heading small,
.users-list-heading small {
    display: block;
    color: #71817d;
    margin-top: 4px;
    font-weight: 650;
}
.users-filter-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.5fr) minmax(220px, .9fr) minmax(160px, .45fr) auto;
    gap: 12px;
    align-items: end;
}
.users-filter-action .btn { min-width: 130px; min-height: 44px; }
.input-group-modern { position: relative; }
.input-group-modern > i {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #65928a;
    z-index: 2;
}
.input-group-modern .form-control { padding-right: 42px; }
.users-result-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    min-height: 34px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #edf9f5;
    color: #087663;
    border: 1px solid #cdebe4;
    font-weight: 900;
}
.users-table { margin: 0; vertical-align: middle; }
.users-table thead th {
    white-space: nowrap;
    color: #086a5a;
    background: #f1faf7;
    border-bottom-color: #d8ebe6;
    padding-block: 14px;
}
.users-table tbody td { padding-block: 13px; }
.users-table tbody tr { transition: background .16s ease; }
.users-table tbody tr:hover { background: #fbfefd; }
.user-identity-cell,
.user-login-cell,
.user-role-cell,
.user-scope-cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.user-identity-cell { flex-direction: row; align-items: center; gap: 10px; min-width: 180px; }
.user-identity-cell strong { color: #173c35; font-weight: 950; }
.user-identity-cell small,
.user-login-cell small,
.user-role-cell small,
.user-scope-cell small { color: #74847f; font-size: .78rem; line-height: 1.65; }
.user-avatar-initial {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: linear-gradient(135deg,#e6f7f2,#f8fffd);
    color: #087965;
    border: 1px solid #cce8e1;
    font-weight: 950;
}
.user-login-cell > span { direction: ltr; text-align: left; font-weight: 800; color: #334155; }
.user-role-badge {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eaf4ff;
    color: #1464b0;
    border: 1px solid #cfe5fb;
    font-weight: 900;
    font-size: .78rem;
}
.user-scope-cell > span,
.user-scope-cell > small { display: inline-flex; align-items: flex-start; gap: 6px; }
.user-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-weight: 900;
    font-size: .8rem;
    white-space: nowrap;
}
.user-status-badge.is-active { color: #087443; background: #eafaf1; border: 1px solid #c9efd8; }
.user-status-badge.is-inactive { color: #8a4b4b; background: #fff1f1; border: 1px solid #f4d1d1; }
.users-empty-state {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #76857f;
}
.users-empty-state > i { font-size: 2rem; color: #76aa9f; }
.users-empty-state strong { color: #31584f; font-size: 1rem; }
.users-empty-state span { font-size: .84rem; }
.user-form-modern .user-form-panel { max-width: 1320px; }
.user-form-modern .user-form-section { padding: 16px 18px; margin-bottom: 13px; }
.user-form-modern .user-form-section-title { margin-bottom: 14px; padding-bottom: 11px; }
.user-form-modern .form-control,
.user-form-modern .form-select { min-height: 44px; }
@media (max-width: 991.98px) {
    .users-filter-grid { grid-template-columns: 1fr 1fr; }
    .users-filter-action { grid-column: 1 / -1; }
    .users-filter-action .btn { width: 100%; }
}
@media (max-width: 767.98px) {
    .users-filter-heading,
    .users-list-heading { align-items: flex-start; flex-direction: column; }
    .users-filter-grid { grid-template-columns: 1fr; }
    .users-filter-action { grid-column: auto; }
    .users-table thead { display: none; }
    .users-table,
    .users-table tbody,
    .users-table tr,
    .users-table td { display: block; width: 100%; }
    .users-table tbody tr {
        border: 1px solid #dbeae6;
        border-radius: 18px;
        padding: 10px 12px;
        margin-bottom: 10px;
        background: #fff;
    }
    .users-table tbody td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        padding: 9px 0;
        border-bottom: 1px dashed #e2ece9;
    }
    .users-table tbody td:last-child { border-bottom: 0; }
    .users-table tbody td::before {
        content: attr(data-label);
        color: #607770;
        font-weight: 850;
        font-size: .78rem;
        flex: 0 0 82px;
    }
    .users-table tbody td[colspan]::before { display: none; }
    .user-actions-cell { justify-content: flex-end; }
    .user-actions-cell .btn span { display: none; }
}

/* ==== RC60.35 User management redesign ==== */
.users-filter-primary{grid-template-columns:minmax(280px,1.6fr) minmax(190px,.8fr) minmax(150px,.55fr) auto}
.users-filter-secondary{grid-template-columns:repeat(4,minmax(170px,1fr))}
.users-more-filters{border-top:1px solid #e1ece9;padding-top:12px}
.users-more-filters summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;color:#0b725f;font-weight:850}
.users-more-filters summary::-webkit-details-marker{display:none}
.user-permission-badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:3px 8px;border-radius:999px;background:#eef7ff;border:1px solid #d7e9f8;color:#24658d;font-size:.72rem;font-weight:800}
@media(max-width:1100px){.users-filter-primary{grid-template-columns:1fr 1fr}.users-filter-secondary{grid-template-columns:1fr 1fr}.users-filter-action .btn{width:100%}}
@media(max-width:680px){.users-filter-primary,.users-filter-secondary{grid-template-columns:1fr}.users-filter-heading{align-items:flex-start;flex-direction:column}}


/* RC60.39 - Users list visual refinement */
.users-table tbody tr{transition:background-color .18s ease,box-shadow .18s ease}.users-table tbody tr:hover{background:#fbfefd}.user-identity-cell{min-width:215px}.user-identity-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.user-identity-details strong{line-height:1.5}.user-mobile-line{display:flex!important;align-items:center;gap:5px;direction:ltr;text-align:left;color:#55706a!important;font-size:.76rem!important;font-weight:650}.user-mobile-line i{color:#159879;font-size:.78rem}.user-login-cell{min-width:150px}.user-login-cell>span{display:flex;align-items:center;gap:6px;justify-content:flex-start}.user-login-cell>small{margin-top:4px;color:#8a9a96!important;font-size:.72rem!important}.users-table td{vertical-align:middle}.user-actions-cell{white-space:nowrap}.users-filter-primary .form-control,.users-filter-primary .form-select{min-height:42px}.users-search-field .input-group-modern{min-height:42px}@media(max-width:767px){.user-identity-cell{min-width:0}.user-identity-details{align-items:flex-end}.user-mobile-line{align-self:flex-end}.user-login-cell>span{justify-content:flex-end}.user-login-cell>small{text-align:right}.users-table tbody tr{padding-top:.35rem;padding-bottom:.35rem}}

/* RC60.40 - Equal-size user search filters */
.users-filter-primary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) 130px;
    align-items: end;
}
.users-filter-secondary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
}
.users-filter-primary > div,
.users-filter-secondary > div {
    min-width: 0;
}
.users-filter-panel .form-control,
.users-filter-panel .form-select,
.users-filter-panel .searchable-button,
.users-filter-panel .input-group-modern,
.users-filter-panel .users-filter-action .btn {
    width: 100%;
    height: 44px;
    min-height: 44px;
    box-sizing: border-box;
}
.users-filter-panel .input-group-modern .form-control {
    height: 44px;
    min-height: 44px;
}
.users-filter-panel .searchable-select {
    width: 100%;
}
.users-filter-panel .searchable-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
}
.users-filter-panel .form-label {
    min-height: 24px;
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}
.users-filter-action .btn {
    min-width: 0;
    justify-content: center;
}
@media (max-width: 1100px) {
    .users-filter-primary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .users-filter-secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .users-filter-action {
        grid-column: 1 / -1;
    }
}
@media (max-width: 680px) {
    .users-filter-primary,
    .users-filter-secondary {
        grid-template-columns: 1fr;
    }
    .users-filter-action {
        grid-column: auto;
    }
}


/* RC60.55 - HomeCare My Patients Mobile Card Redesign */
@media (max-width: 768px) {
    .homecare-list-panel .table-responsive-mobile {
        overflow: visible;
    }

    .homecare-monitor-table,
    .homecare-monitor-table tbody {
        display:block;
        width:100%;
    }

    .homecare-monitor-table thead {
        display:none;
    }

    .homecare-monitor-table tr {
        display:block;
        width:100%;
        margin-bottom:16px;
        padding:14px;
        background:#fff;
        border:1px solid #dbeee7;
        border-radius:16px;
        box-shadow:0 2px 8px rgba(0,0,0,.04);
    }

    .homecare-monitor-table td {
        display:flex;
        width:100%;
        border:0;
        padding:8px 0;
        text-align:right;
        align-items:flex-start;
        gap:8px;
    }

    .homecare-monitor-table td::before {
        content:attr(data-label);
        min-width:75px;
        font-weight:600;
        color:#64748b;
    }

    .homecare-monitor-table .patient-cell,
    .homecare-monitor-table .team-cell,
    .homecare-monitor-table .date-cell,
    .homecare-monitor-table .latest-event-cell,
    .homecare-monitor-table .followup-cell {
        width:100%;
    }

    .homecare-monitor-table .team-member {
        display:flex;
        align-items:center;
        gap:6px;
        flex-wrap:wrap;
    }

    .homecare-monitor-table .team-member span:last-child {
        white-space:normal;
        word-break:normal;
    }
}


/* RC60.55.1 HomeCare mobile container width fix */
@media (max-width: 768px) {
    .page-content,
    .page-content > .row,
    .homecare-list-panel,
    .homecare-filter-panel {
        width: 100% !important;
        max-width: 100% !important;
    }

    .page-content {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .homecare-list-panel,
    .homecare-filter-panel {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .homecare-list-panel .table-responsive-mobile,
    .homecare-list-panel table {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ==== RC61.2: unified form action bar ==== */
.form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e8eef4;
}
.form-actions .btn {
    min-width: 132px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.form-actions .btn-main { order: 2; }
.form-actions .btn:not(.btn-main) { order: 1; }
@media (max-width: 768px) {
    .form-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .form-actions .btn {
        width: 100%;
        min-width: 0;
    }
    .form-actions > .btn:only-child {
        grid-column: 1 / -1;
    }
}
@media (max-width: 420px) {
    .form-actions { grid-template-columns: 1fr; }
}

/* ==========================================================================\n   RC61.3 - Unified Form Layout & Spacing\n   Visual-only foundation for consistent Create/Edit forms.\n   ========================================================================== */
:root {
    --form-content-max: 1040px;
    --form-panel-padding: 24px;
    --form-field-gap: 16px;
    --form-control-height: 44px;
    --form-control-radius: 12px;
    --form-section-radius: 16px;
}

/* Standard form container: consistent width without affecting dashboards/lists. */
.form-panel {
    width: 100%;
    max-width: var(--form-content-max);
    margin-inline: auto;
    padding: var(--form-panel-padding);
}

/* Complex forms may explicitly opt out of the default width. */
.form-panel.form-panel-wide,
.homecare-visit-panel.form-panel,
.user-form-panel.form-panel {
    max-width: none;
}

.form-panel > form,
.form-panel form[data-form-layout="standard"] {
    width: 100%;
}

/* Make Bootstrap form rows use one predictable vertical rhythm. */
.form-panel form > .row,
.form-panel form > [class*="-form-modern"] > .row,
.form-panel form > .record-form-modern > .row,
.form-panel form > .patient-form-modern > .row,
.form-panel form > .service-form-modern > .row {
    --bs-gutter-x: var(--form-field-gap);
    --bs-gutter-y: var(--form-field-gap);
}

/* Labels */
.form-panel .form-label,
.form-panel label:not(.form-check-label):not(.btn) {
    display: inline-block;
    margin-bottom: 7px;
    color: #36564f;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.5;
}

/* Required marker, when markup already uses it. */
.form-panel .required,
.form-panel .text-danger.required,
.form-panel label .text-danger {
    margin-inline-start: 3px;
}

/* Controls */
.form-panel .form-control,
.form-panel .form-select,
.form-panel .select2-container .select2-selection--single {
    min-height: var(--form-control-height);
    border-radius: var(--form-control-radius);
    border-color: #d7e6e1;
    background-color: #fff;
    box-shadow: none;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.form-panel .form-control,
.form-panel .form-select {
    padding-block: 9px;
    padding-inline: 12px;
}

.form-panel textarea.form-control {
    min-height: 112px;
    line-height: 1.75;
    resize: vertical;
}

.form-panel .form-control:focus,
.form-panel .form-select:focus,
.form-panel .select2-container--focus .select2-selection,
.form-panel .select2-container--open .select2-selection {
    border-color: rgba(0, 133, 111, .65);
    box-shadow: 0 0 0 3px rgba(0, 133, 111, .10);
}

.form-panel .form-control::placeholder {
    color: #99aaa5;
    opacity: 1;
}

.form-panel .form-control:disabled,
.form-panel .form-select:disabled,
.form-panel .form-control[readonly] {
    background-color: #f5f8f7;
    color: #6e7f7a;
}

/* Checkbox / switch alignment */
.form-panel .form-check {
    min-height: var(--form-control-height);
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.form-panel .form-check-input {
    flex: 0 0 auto;
    margin-top: 0;
}

.form-panel .form-check-label {
    margin: 0;
    color: #36564f;
    font-weight: 650;
}

/* Help and validation text sit consistently below their field. */
.form-panel .form-text,
.form-panel small.text-muted {
    display: block;
    margin-top: 6px;
    line-height: 1.6;
}

.form-panel span.field-validation-error,
.form-panel .validation-message,
.form-panel [data-valmsg-for].text-danger,
.form-panel .text-danger.small {
    display: block;
    margin-top: 6px;
    font-size: .78rem;
    line-height: 1.55;
}

.form-panel .input-validation-error,
.form-panel .form-control.is-invalid,
.form-panel .form-select.is-invalid {
    border-color: #dc6868;
    background-image: none;
}

/* Validation summary */
.form-panel .validation-summary-errors {
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid #f1caca;
    border-radius: 12px;
    background: #fff7f7;
    color: #a63838;
    font-size: .84rem;
}

.form-panel .validation-summary-errors ul {
    margin: 0;
    padding-right: 18px;
}

/* Common form section wrappers used across modules. */
.form-panel .form-section,
.form-panel .form-section-card,
.form-panel fieldset {
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid #e0ece8;
    border-radius: var(--form-section-radius);
    background: #fbfdfc;
}

.form-panel .form-section-title,
.form-panel fieldset > legend {
    margin: 0 0 14px;
    color: var(--primary);
    font-size: .96rem;
    font-weight: 850;
}

/* Keep action bar visually separated from fields. */
.form-panel .form-actions {
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid #e6efec;
}

/* Datepicker and input-group controls follow the same height. */
.form-panel .input-group > .form-control,
.form-panel .input-group > .form-select,
.form-panel .input-group > .btn {
    min-height: var(--form-control-height);
}

.form-panel .input-group > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    :root {
        --form-panel-padding: 16px;
        --form-field-gap: 14px;
        --form-control-height: 46px;
    }

    .form-panel {
        max-width: 100%;
        margin-inline: 0;
        border-radius: 18px;
    }

    .form-panel .form-section,
    .form-panel .form-section-card,
    .form-panel fieldset {
        padding: 14px;
        border-radius: 14px;
    }

    .form-panel textarea.form-control {
        min-height: 104px;
    }

    .form-panel .form-actions {
        margin-top: 22px;
        padding-top: 14px;
    }
}

/* ==== RC64.5 Users mobile card alignment fix ==== */
.user-mobile-link {
    text-decoration: none;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    unicode-bidi: isolate;
}
.user-mobile-link:hover { color: #087663 !important; }
.user-mobile-link > span {
    display: inline-block;
    direction: ltr;
    white-space: nowrap;
    letter-spacing: .02em;
}
.user-mobile-line.is-empty {
    direction: rtl;
    text-align: right;
}
.user-actions-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 7px;
}
.user-actions-group form { margin: 0; }

@media (max-width: 767.98px) {
    .users-list-panel {
        padding: 14px 12px 22px;
        margin-bottom: 76px;
    }
    .users-list-panel .users-list-heading {
        padding-inline: 2px;
        margin-bottom: 14px;
    }
    .users-table-wrap {
        overflow: visible !important;
    }
    .users-table tbody tr {
        overflow: hidden;
        padding: 0;
        margin-bottom: 14px;
        border-radius: 20px;
        border-color: #d7e8e3;
        box-shadow: 0 8px 22px rgba(31, 87, 73, .055);
    }
    .users-table tbody td {
        display: grid;
        grid-template-columns: 94px minmax(0, 1fr);
        align-items: center;
        justify-content: initial;
        gap: 12px;
        padding: 11px 14px;
        min-width: 0;
    }
    .users-table tbody td::before {
        width: auto;
        flex: none;
        min-width: 0;
        align-self: start;
        padding-top: 2px;
        line-height: 1.55;
    }
    .users-table tbody td:first-child {
        display: block;
        padding: 14px;
        background: linear-gradient(180deg, #f8fcfb 0%, #ffffff 100%);
        border-bottom-style: solid;
    }
    .users-table tbody td:first-child::before { display: none; }
    .user-identity-cell {
        width: 100%;
        min-width: 0;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 12px;
    }
    .user-avatar-initial {
        width: 44px;
        height: 44px;
        border-radius: 15px;
    }
    .user-identity-details {
        min-width: 0;
        flex: 1 1 auto;
        align-items: flex-start;
        text-align: right;
    }
    .user-identity-details strong {
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: .96rem;
    }
    .user-mobile-line,
    .user-mobile-line.is-empty {
        align-self: flex-start;
        max-width: 100%;
    }
    .user-mobile-link {
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        direction: ltr;
        text-align: left;
    }
    .user-login-cell,
    .user-role-cell,
    .user-scope-cell {
        width: 100%;
        min-width: 0;
        align-items: flex-start;
        text-align: right;
    }
    .user-login-cell > span {
        justify-content: flex-start;
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .user-login-cell > small { text-align: right; }
    .user-role-badge {
        max-width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.55;
    }
    .user-scope-cell > span,
    .user-scope-cell > small {
        max-width: 100%;
        line-height: 1.65;
    }
    .user-status-badge { justify-self: start; }
    .user-actions-cell {
        align-items: center !important;
        justify-content: initial !important;
        white-space: normal;
    }
    .user-actions-group {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .user-actions-group > a,
    .user-actions-group > form,
    .user-actions-group > form > button {
        width: 100%;
        min-width: 0;
    }
    .user-actions-group .btn {
        min-height: 40px;
        padding: 7px 9px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: .78rem;
    }
    .user-actions-cell .btn span { display: inline !important; }
}

@media (max-width: 390px) {
    .users-table tbody td {
        grid-template-columns: 84px minmax(0, 1fr);
        padding-inline: 12px;
        gap: 9px;
    }
    .user-actions-group { grid-template-columns: 1fr; }
}

/* ==== RC64.7 Users mobile list final width/compactness fix ==== */
@media (max-width: 767.98px) {
    /* The global mobile table rule keeps regular tables at 650px. The Users page
       becomes a card list on mobile, so it must explicitly opt out of that min-width. */
    .users-list-panel,
    .users-table-wrap,
    .users-table,
    .users-table tbody,
    .users-table tbody tr,
    .users-table tbody td {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .users-list-panel {
        margin-inline: 0 !important;
        padding: 12px 10px 96px;
        overflow: hidden;
    }

    .users-list-panel .users-list-heading {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px;
        padding-inline: 2px;
        padding-bottom: 11px;
        margin-bottom: 12px;
    }
    .users-list-panel .users-list-heading > div {
        min-width: 0;
        flex: 1 1 auto;
    }
    .users-list-panel .users-list-heading strong { font-size: .94rem; }
    .users-list-panel .users-list-heading small {
        font-size: .72rem;
        line-height: 1.65;
        margin-top: 2px;
    }
    .users-result-count {
        flex: 0 0 auto;
        min-width: 64px;
        min-height: 30px;
        padding: 4px 9px;
        font-size: .78rem;
    }

    .users-table-wrap { overflow: visible !important; }
    .users-table { table-layout: fixed; }

    .users-table tbody tr {
        overflow: hidden;
        margin: 0 0 12px;
        padding: 0;
        border-radius: 18px;
    }

    .users-table tbody td {
        grid-template-columns: 78px minmax(0, 1fr) !important;
        gap: 9px;
        padding: 8px 11px;
    }
    .users-table tbody td::before {
        font-size: .74rem;
        line-height: 1.45;
        padding-top: 1px;
    }

    .users-table tbody td:first-child {
        padding: 11px 12px;
    }
    .user-identity-cell { gap: 9px; }
    .user-avatar-initial {
        width: 40px;
        height: 40px;
        border-radius: 13px;
    }
    .user-identity-details strong {
        font-size: .91rem;
        line-height: 1.45;
    }
    .user-mobile-line { font-size: .72rem !important; }

    /* This explanatory line repeats the row label on a small card and wastes height. */
    .user-login-cell > small { display: none; }
    .user-login-cell > span,
    .user-role-cell,
    .user-scope-cell { line-height: 1.5; }
    .user-role-badge {
        padding: 4px 8px;
        font-size: .73rem;
    }
    .user-role-cell small,
    .user-scope-cell small,
    .user-scope-cell span { font-size: .73rem; }
    .user-status-badge {
        padding: 5px 8px;
        font-size: .74rem;
    }

    .user-actions-cell { padding-block: 9px !important; }
    .user-actions-group {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
    }
    .user-actions-group .btn {
        min-height: 38px;
        padding: 6px 7px;
        font-size: .72rem;
        white-space: nowrap;
    }
}

/* Only truly narrow screens need stacked action buttons. iPhone SE/375px keeps two columns. */
@media (max-width: 340px) {
    .users-table tbody td {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        padding-inline: 9px;
        gap: 7px;
    }
    .user-actions-group { grid-template-columns: 1fr !important; }
}

/* ==== RC66 Users management UI redesign - mobile first ==== */
.users-v2-filter,
.users-v2-list {
    border: 1px solid rgba(10, 113, 94, .12);
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(15, 75, 63, .045);
    overflow: visible;
}
.users-v2-filter { padding: 16px; }
.users-v2-list { padding: 0; overflow: hidden; }
.users-v2-filter__head,
.users-v2-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.users-v2-filter__head { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid #e5f0ed; }
.users-v2-list__head { padding: 16px 18px; border-bottom: 1px solid #e5f0ed; background: linear-gradient(180deg,#fbfefd,#fff); }
.users-v2-filter__head strong,
.users-v2-list__head strong { display: flex; align-items: center; gap: 7px; color: #086858; font-weight: 950; font-size: 1rem; }
.users-v2-filter__head small,
.users-v2-list__head small { display: block; margin-top: 3px; color: #72837e; font-size: .78rem; font-weight: 650; line-height: 1.65; }
.users-v2-count { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 4px 11px; border: 1px solid #cce9e1; border-radius: 999px; background: #eefaf6; color: #087663; font-size: .8rem; font-weight: 900; white-space: nowrap; }
.users-v2-clear { white-space: nowrap; }
.users-v2-filter__primary,
.users-v2-filter__advanced { display: grid; grid-template-columns: 1fr; gap: 11px; align-items: end; }
.users-v2-field { min-width: 0; }
.users-v2-field .form-label { margin-bottom: 6px; color: #425e57; font-size: .79rem; font-weight: 850; }
.users-v2-filter :is(.form-control,.form-select,.searchable-button,.users-v2-search-btn) { width: 100%; min-height: 44px; height: 44px; border-radius: 12px; }
.users-v2-filter .searchable-select { width: 100%; }
.users-v2-search-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.users-v2-more { margin-top: 12px; border-top: 1px solid #e8f1ef; padding-top: 10px; }
.users-v2-more > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 7px; color: #087663; font-size: .82rem; font-weight: 900; user-select: none; }
.users-v2-more > summary::-webkit-details-marker { display: none; }
.users-v2-more__chevron { margin-right: auto; transition: transform .18s ease; }
.users-v2-more[open] .users-v2-more__chevron { transform: rotate(180deg); }
.users-v2-filter__advanced { padding-top: 12px; }
.users-v2-advanced-action .btn { width: 100%; min-height: 44px; border-radius: 12px; }

.users-v2-cards { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 12px; }
.users-v2-card { min-width: 0; border: 1px solid #dbeae6; border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 6px 18px rgba(23, 79, 67, .045); }
.users-v2-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 13px; background: linear-gradient(180deg,#f8fcfb,#fff); border-bottom: 1px solid #edf4f2; }
.users-v2-person { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; }
.users-v2-avatar { width: 42px; height: 42px; border-radius: 14px; flex: 0 0 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbe7df; background: #eff9f6; color: #087663; font-weight: 950; }
.users-v2-person__text { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.users-v2-person__text > strong { color: #183d35; font-size: .94rem; font-weight: 950; line-height: 1.5; overflow-wrap: anywhere; }
.users-v2-mobile { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; color: #58716b; font-size: .74rem; font-weight: 700; text-decoration: none; direction: ltr; white-space: nowrap; }
.users-v2-mobile i { color: #159879; }
.users-v2-mobile.is-empty { direction: rtl; color: #8a9995; }
.users-v2-status { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: .72rem; font-weight: 900; white-space: nowrap; }
.users-v2-status.is-active { color: #087443; background: #ebfaf2; border: 1px solid #c9efd8; }
.users-v2-status.is-inactive { color: #8a4b4b; background: #fff2f2; border: 1px solid #f1d2d2; }
.users-v2-card__body { padding: 3px 13px; }
.users-v2-info-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #e5efec; min-width: 0; }
.users-v2-info-row:last-child { border-bottom: 0; }
.users-v2-info-row--stack { align-items: flex-start; }
.users-v2-info-row__label { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; color: #6a7d78; font-size: .75rem; font-weight: 850; }
.users-v2-info-row__label i { color: #4f8f81; }
.users-v2-username { min-width: 0; color: #334155; font-size: .79rem; font-weight: 850; overflow-wrap: anywhere; text-align: left; }
.users-v2-role-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; min-width: 0; }
.users-v2-role { display: inline-flex; align-items: center; max-width: 100%; padding: 4px 8px; border-radius: 999px; background: #edf5ff; border: 1px solid #d5e7fb; color: #1963a7; font-size: .72rem; font-weight: 900; line-height: 1.45; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.users-v2-role-wrap small { color: #72837e; font-size: .72rem; line-height: 1.6; text-align: left; overflow-wrap: anywhere; }
.users-v2-scope { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; min-width: 0; color: #526b65; font-size: .73rem; line-height: 1.55; text-align: left; }
.users-v2-scope > span { display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%; overflow-wrap: anywhere; }
.users-v2-scope i { color: #6d948b; margin-top: 2px; }
.users-v2-card__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 11px 13px 13px; border-top: 1px solid #edf4f2; background: #fcfefd; }
.users-v2-card__actions > a,
.users-v2-card__actions > form,
.users-v2-card__actions > form > button { width: 100%; min-width: 0; }
.users-v2-card__actions .btn { min-height: 39px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 8px; font-size: .75rem; white-space: nowrap; }
.users-v2-card__actions > a:only-child { grid-column: 1 / -1; }
.users-v2-card__actions form { margin: 0; }
.users-v2-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #72837e; padding: 30px 16px; text-align: center; }
.users-v2-empty i { font-size: 2rem; color: #78a99e; }
.users-v2-empty strong { color: #31584f; }
.users-v2-table-wrap { display: none; }

@media (min-width: 560px) {
    .users-v2-filter__primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .users-v2-field--search { grid-column: 1 / -1; }
    .users-v2-search-btn { grid-column: 1 / -1; }
    .users-v2-filter__advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .users-v2-advanced-action { grid-column: 1 / -1; }
    .users-v2-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 900px) {
    .users-v2-filter { padding: 18px; }
    .users-v2-filter__primary { grid-template-columns: minmax(250px,1.35fr) minmax(165px,.75fr) minmax(135px,.6fr) minmax(190px,.85fr) 120px; }
    .users-v2-field--search { grid-column: auto; }
    .users-v2-search-btn { grid-column: auto; }
    .users-v2-filter__advanced { grid-template-columns: repeat(2,minmax(0,1fr)) 150px; }
    .users-v2-advanced-action { grid-column: auto; }
    .users-v2-cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 14px; }
}

@media (min-width: 1200px) {
    .users-v2-cards { display: none; }
    .users-v2-table-wrap { display: block; overflow-x: auto; }
    .users-v2-table { min-width: 980px; margin: 0; vertical-align: middle; }
    .users-v2-table thead th { padding: 13px 12px; background: #f2faf7; color: #096a5a; border-bottom: 1px solid #d8ebe6; font-size: .79rem; font-weight: 900; white-space: nowrap; }
    .users-v2-table tbody td { padding: 13px 12px; border-color: #edf3f1; vertical-align: middle; font-size: .8rem; }
    .users-v2-table tbody tr:hover { background: #fbfefd; }
    .users-v2-person--table { min-width: 210px; }
    .users-v2-table .users-v2-role-wrap,
    .users-v2-table .users-v2-scope { align-items: flex-start; text-align: right; }
    .users-v2-table-actions { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
    .users-v2-table-actions form { margin: 0; }
    .users-v2-table-actions .btn { border-radius: 10px; }
}

@media (max-width: 559.98px) {
    .users-v2-filter__head { align-items: flex-start; }
    .users-v2-filter__head small { max-width: 235px; }
    .users-v2-clear span { display: none; }
    .users-v2-clear { width: 36px; height: 36px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
    .users-v2-list__head { padding: 13px 12px; }
    .users-v2-list__head small { display: none; }
    .users-v2-cards { padding: 10px; gap: 10px; }
    .users-v2-card__top { padding: 11px; }
    .users-v2-card__body { padding-inline: 11px; }
    .users-v2-card__actions { padding: 10px 11px 11px; }
}

@media (max-width: 340px) {
    .users-v2-card__top { flex-direction: column; }
    .users-v2-status { align-self: flex-end; }
    .users-v2-info-row { flex-direction: column; align-items: flex-start; gap: 6px; }
    .users-v2-role-wrap,
    .users-v2-scope { align-items: flex-start; text-align: right; }
    .users-v2-card__actions { grid-template-columns: 1fr; }
}

/* RC67.3 - Prescription list mobile cards */
.prescription-mobile-list { margin: 12px 0 4px; }
.prescription-mobile-card { padding: 0; overflow: hidden; }
.prescription-mobile-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:14px 14px 11px; border-bottom:1px solid var(--border); }
.prescription-mobile-card__patient { display:flex; align-items:center; gap:9px; min-width:0; }
.prescription-mobile-card__patient > div { min-width:0; }
.prescription-mobile-card__patient strong { display:block; color:var(--text); font-size:.91rem; line-height:1.55; overflow-wrap:anywhere; }
.prescription-mobile-card__patient small { display:block; margin-top:2px; color:var(--muted); font-size:.72rem; line-height:1.55; }
.prescription-mobile-card__icon { width:35px; height:35px; flex:0 0 35px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--primary-soft); color:var(--primary); font-size:1rem; }
.prescription-mobile-card__number { flex:0 0 auto; max-width:44%; padding:5px 8px; border:1px solid var(--border); border-radius:10px; background:var(--page); color:var(--primary); direction:ltr; font-size:.72rem; font-weight:800; overflow-wrap:anywhere; text-align:center; }
.prescription-mobile-card__status-row { display:flex; flex-wrap:wrap; gap:6px; padding:10px 14px 0; }
.prescription-mobile-card__tracking { margin:10px 14px 2px; padding:10px 12px; border:1px solid #a7e6d2; border-radius:12px; background:#eefcf7; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.prescription-mobile-card__tracking > span { color:#0b6d5b; font-size:.72rem; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.prescription-mobile-card__tracking > strong { color:#075e50; font-size:.92rem; letter-spacing:.02em; overflow-wrap:anywhere; text-align:left; }
.prescription-mobile-card__tracking.is-empty { border-color:var(--border); background:var(--page); }
.prescription-mobile-card__tracking.is-empty > span,
.prescription-mobile-card__tracking.is-empty > strong { color:var(--muted); }
.prescription-tracking-code { display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:6px 9px; border-radius:10px; border:1px solid #a7e6d2; background:#eefcf7; color:#075e50; font-size:.78rem; font-weight:800; white-space:nowrap; }
.prescription-tracking-code.is-empty { border-color:var(--border); background:var(--page); color:var(--muted); font-weight:600; }
.prescription-mobile-card__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; padding:7px 14px 12px; }
.prescription-mobile-card__grid > div { min-width:0; padding:8px 0; border-bottom:1px dashed var(--border); }
.prescription-mobile-card__grid span { display:block; color:var(--muted); font-size:.7rem; margin-bottom:3px; }
.prescription-mobile-card__grid strong { display:block; color:var(--text); font-size:.78rem; line-height:1.55; overflow-wrap:anywhere; }
.prescription-mobile-card__date { grid-column:1 / -1; }
.prescription-mobile-card__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:10px 14px 14px; border-top:1px solid var(--border); background:var(--page); }
.prescription-mobile-card__actions > a,
.prescription-mobile-card__actions > form,
.prescription-mobile-card__actions > form > button { width:100%; min-width:0; margin:0; }
.prescription-mobile-card__actions .btn { min-height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:.76rem; }
.prescription-mobile-empty { padding:14px; }
@media (max-width:359.98px) {
    .prescription-mobile-card__grid { grid-template-columns:1fr; }
    .prescription-mobile-card__date { grid-column:auto; }
    .prescription-mobile-card__actions { grid-template-columns:1fr; }
}

/* ==== RC67.5 Patient summary direction controls ==== */
.patient-summary-editor-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 4px 0 10px;
    padding: 10px 12px;
    border: 1px solid #dce9e4;
    border-radius: 14px;
    background: #f8fbfa;
}
.patient-summary-editor-toolbar__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #47645e;
    font-size: .82rem;
    font-weight: 800;
}
.patient-summary-direction-buttons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.patient-summary-direction-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #d6e5e0;
    border-radius: 10px;
    background: #fff;
    color: #536c66;
    font-size: .76rem;
    font-weight: 800;
    transition: .15s ease;
}
.patient-summary-direction-btn:hover {
    border-color: #98cdbf;
    color: #087663;
}
.patient-summary-direction-btn.active {
    border-color: #0c8b72;
    background: #eaf7f3;
    color: #087663;
    box-shadow: 0 0 0 2px rgba(12,139,114,.08);
}
.patient-summary-textarea[dir="rtl"],
.patient-summary-directional-text[dir="rtl"] {
    direction: rtl;
    text-align: right;
}
.patient-summary-textarea[dir="ltr"],
.patient-summary-directional-text[dir="ltr"] {
    direction: ltr;
    text-align: left;
}
.patient-summary-textarea[dir="auto"],
.patient-summary-directional-text[dir="auto"] {
    text-align: start;
    unicode-bidi: plaintext;
}
.patient-summary-direction-hint {
    display: block;
    margin-top: 7px;
    color: #738681;
    font-size: .75rem;
}
.patient-summary-directional-text {
    display: block;
    width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 2;
}
.patient-summary-inline-row {
    display: grid;
    gap: 5px;
    margin-bottom: 1rem;
}
.patient-summary-inline-row > b {
    color: inherit;
}
@media (max-width: 575.98px) {
    .patient-summary-editor-toolbar {
        align-items: stretch;
    }
    .patient-summary-direction-buttons {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }
    .patient-summary-direction-btn {
        padding-inline: 6px;
    }
    .patient-summary-direction-btn span {
        font-size: .7rem;
    }
}

/* RC68.05 - HomeCare nurse KPI card content alignment */
.operational-homecare-dashboard .nurse-operational-kpis .stat-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-icon{
    margin-left:auto;
    margin-right:auto;
    margin-bottom:.45rem;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-card h3,
.operational-homecare-dashboard .nurse-operational-kpis .stat-card p,
.operational-homecare-dashboard .nurse-operational-kpis .stat-card .stat-hint{
    width:100%;
    text-align:center;
}


/* RC68.20 - HomeCare call-center dashboard polish */
.operational-homecare-dashboard .nurse-operational-kpis{
    align-items:stretch;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-card{
    min-height:150px;
    padding:1rem .85rem;
    border-radius:20px;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(17,88,76,.08);
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-icon{
    width:48px;
    height:48px;
    border-radius:15px;
    display:grid;
    place-items:center;
    font-size:1.15rem;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-card h3{
    margin:.15rem 0 .15rem;
    font-size:1.55rem;
    line-height:1.2;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-card p{
    margin:0;
    font-weight:800;
    color:#244e47;
}
.operational-homecare-dashboard .nurse-operational-kpis .stat-hint{
    margin-top:.25rem;
    line-height:1.45;
}
.operational-homecare-dashboard .operational-patient-list{
    gap:.65rem;
}
.operational-homecare-dashboard .operational-patient-card{
    border-color:#dcebe6;
    border-radius:20px;
    padding:1rem 1.05rem;
    box-shadow:0 4px 16px rgba(21,83,72,.035);
}
.operational-homecare-dashboard .operational-patient-card .patient-card-identity{
    min-width:0;
}
.operational-homecare-dashboard .patient-assigned-nurse{
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.3rem;
    margin-top:.55rem;
    padding:.3rem .55rem;
    border-radius:10px;
    font-size:.77rem;
    background:#f1f8f6;
    color:#4c6c66;
}
.operational-homecare-dashboard .patient-assigned-nurse i{
    font-size:.9rem;
}
.operational-homecare-dashboard .patient-assigned-nurse b{
    color:#116f60;
    font-weight:800;
}
.operational-homecare-dashboard .patient-assigned-nurse.is-unassigned{
    background:#fff7e8;
    color:#8d651f;
}
.operational-homecare-dashboard .patient-assigned-nurse.is-unassigned b{
    color:#a46f0e;
}
.operational-homecare-dashboard .operational-patient-card .patient-card-actions{
    flex-wrap:wrap;
    gap:.4rem;
    padding-top:.7rem;
    border-top:1px solid #edf3f1;
}
.operational-homecare-dashboard .operational-patient-card .patient-card-actions .btn{
    border-radius:10px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    font-weight:700;
}
.operational-homecare-dashboard .operational-patient-card .patient-last-event{
    margin-top:.75rem;
    padding:.65rem .75rem;
}
@media (max-width:767.98px){
    .operational-homecare-dashboard .nurse-operational-kpis .stat-card{
        min-height:132px;
        padding:.8rem .5rem;
    }
    .operational-homecare-dashboard .nurse-operational-kpis .stat-icon{
        width:42px;
        height:42px;
        border-radius:13px;
    }
    .operational-homecare-dashboard .nurse-operational-kpis .stat-card h3{
        font-size:1.35rem;
    }
    .operational-homecare-dashboard .operational-patient-card{
        padding:.9rem;
    }
    .operational-homecare-dashboard .operational-patient-card .patient-card-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .operational-homecare-dashboard .operational-patient-card .patient-card-actions .btn{
        width:100%;
        min-width:0;
        white-space:normal;
    }
    .operational-homecare-dashboard .operational-patient-card .patient-card-actions .btn.btn-main{
        grid-column:1/-1;
    }
    .operational-homecare-dashboard .patient-assigned-nurse{
        width:100%;
    }
}


/* RC68.22 - compact HomeCare summary */
.homecare-summary-page{max-width:1180px;margin:0 auto}
.homecare-summary-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;margin-bottom:1rem;border-radius:20px}
.homecare-summary-person{display:flex;align-items:center;gap:.8rem}
.homecare-summary-avatar{width:52px;height:52px;border-radius:16px;background:#edf8f5;color:#157565;display:grid;place-items:center;font-size:1.35rem}
.homecare-summary-person h4{margin:0 0 .2rem;font-weight:900;color:#244e47}
.homecare-summary-person p{margin:0;color:#71817e;font-size:.84rem}
.homecare-summary-status{display:flex;flex-wrap:wrap;gap:.4rem}
.summary-mini-card{height:100%;min-height:112px;border:1px solid #e1ece8;border-radius:18px;background:#fff;padding:.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-align:center;text-decoration:none;color:#385b55;box-shadow:0 3px 12px rgba(20,80,70,.03)}
.summary-mini-card>i{font-size:1.15rem;color:#167665}
.summary-mini-card>strong{font-size:1.35rem;color:#174f45}
.summary-mini-card .summary-name-value{font-size:.9rem;line-height:1.55}
.summary-mini-card>span{font-size:.76rem;color:#748681}
.summary-mini-link:hover{border-color:#b9d9d1;transform:translateY(-1px)}
.summary-section-card{padding:1rem 1.05rem;border-radius:20px}
.summary-section-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid #edf2f0}
.summary-section-head>div{display:flex;align-items:center;gap:.45rem;color:#24554c}
.summary-section-head>a{font-size:.78rem;text-decoration:none}
.summary-latest-event p{margin:.7rem 0;line-height:1.85;color:#3e5752}
.summary-event-top,.summary-data-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.summary-event-top time,.summary-latest-event small,.summary-data-row small{font-size:.75rem;color:#7a8c87}
.summary-data-row>div{display:flex;flex-direction:column;gap:.2rem}
.summary-data-row>div:last-child{align-items:flex-end}
.summary-definition-list{margin:0;display:grid;gap:.15rem}
.summary-definition-list>div{display:grid;grid-template-columns:110px 1fr;gap:.6rem;padding:.65rem 0;border-bottom:1px dashed #e8efed}
.summary-definition-list>div:last-child{border-bottom:0}
.summary-definition-list dt{font-size:.77rem;color:#788985;font-weight:600}
.summary-definition-list dd{margin:0;color:#31554e;font-size:.82rem;line-height:1.7}
.summary-definition-list .summary-warning dd{color:#9b6412}
.summary-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.summary-quick-actions .btn{border-radius:11px;display:flex;align-items:center;justify-content:center;gap:.35rem}
@media(max-width:767.98px){
 .homecare-summary-hero{align-items:flex-start;flex-direction:column}
 .homecare-summary-status{width:100%}
 .summary-mini-card{min-height:100px}
 .summary-definition-list>div{grid-template-columns:1fr;gap:.15rem}
 .summary-quick-actions{grid-template-columns:1fr 1fr}
}


/* RC68.25 - HomeCare laboratory results & numeric trends */
.homecare-lab-trends-panel{
    scroll-margin-top:1rem;
    border-radius:22px;
    border:1px solid #dcebe6;
    overflow:hidden;
}
.homecare-lab-trends-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:1rem;
    margin-bottom:1rem;
    border-bottom:1px solid #edf3f1;
}
.homecare-lab-trends-head .panel-title{
    color:#155f52;
    font-weight:900;
}
.homecare-lab-trends-head small{
    display:block;
    margin-top:.3rem;
    line-height:1.7;
}
.homecare-lab-head-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    flex-shrink:0;
}
.homecare-lab-head-actions .btn{
    border-radius:11px;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
}
.homecare-lab-overview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
    margin-bottom:1rem;
}
.lab-overview-card{
    display:flex;
    align-items:center;
    gap:.65rem;
    min-height:72px;
    padding:.75rem .8rem;
    border:1px solid #e2ede9;
    border-radius:16px;
    background:#f8fcfa;
}
.lab-overview-card>i{
    width:36px;
    height:36px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:#e8f6f2;
    color:#167564;
    font-size:1rem;
    flex:0 0 auto;
}
.lab-overview-card>div{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.lab-overview-card strong{
    color:#174f45;
    font-size:1.05rem;
    line-height:1.35;
}
.lab-overview-card span{
    color:#78908a;
    font-size:.72rem;
    margin-top:.12rem;
}
.homecare-lab-empty{
    display:flex;
    align-items:center;
    gap:.8rem;
    padding:1rem;
    border:1px dashed #cfe3dd;
    border-radius:17px;
    background:#fbfefd;
}
.homecare-lab-empty-icon{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#edf8f5;
    color:#147362;
    flex:0 0 auto;
}
.homecare-lab-empty>div{
    flex:1;
    min-width:0;
}
.homecare-lab-empty strong{
    color:#31574f;
    display:block;
}
.homecare-lab-empty p{
    margin:.2rem 0 0;
    color:#7a8e89;
    font-size:.78rem;
}
.homecare-lab-latest{
    padding:.9rem;
    border:1px solid #e5eeeb;
    border-radius:18px;
    background:#fcfefd;
}
.homecare-lab-subhead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:.75rem;
}
.homecare-lab-subhead>div{
    display:flex;
    align-items:center;
    gap:.4rem;
    color:#315a52;
}
.homecare-lab-subhead>span{
    color:#839590;
    font-size:.73rem;
}
.homecare-lab-latest-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
}
.lab-latest-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.7rem;
    min-height:64px;
    padding:.65rem .75rem;
    background:#fff;
    border:1px solid #e7efed;
    border-radius:14px;
}
.lab-latest-title{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.lab-latest-title strong{
    color:#284f48;
    font-size:.84rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lab-latest-title small{
    margin-top:.15rem;
    color:#8a9995;
    font-size:.68rem;
}
.lab-latest-value{
    flex:0 0 auto;
    text-align:left;
    direction:ltr;
}
.lab-latest-value b{
    display:block;
    color:#116f60;
    font-size:1rem;
}
.lab-latest-value span{
    color:#81928d;
    font-size:.68rem;
}
.homecare-lab-trend-section{
    margin-top:1rem;
}
.homecare-lab-trend-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
}
.lab-trend-card{
    padding:.8rem .85rem;
    border:1px solid #e2ece9;
    border-radius:18px;
    background:#fff;
}
.lab-trend-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.6rem;
}
.lab-trend-card-head>div{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.lab-trend-card-head strong{
    color:#244f47;
    font-size:.88rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.lab-trend-card-head small{
    color:#899994;
    font-size:.68rem;
    margin-top:.1rem;
}
.lab-trend-direction{
    display:inline-flex;
    align-items:center;
    gap:.2rem;
    flex:0 0 auto;
    border-radius:999px;
    padding:.22rem .48rem;
    font-size:.67rem;
    font-weight:800;
    background:#f0f4f3;
    color:#637a75;
}
.lab-trend-direction.up{
    background:#eef7ff;
    color:#376f9d;
}
.lab-trend-direction.down{
    background:#f1f8f4;
    color:#3d7b5e;
}
.lab-trend-main{
    display:grid;
    grid-template-columns:94px minmax(0,1fr);
    align-items:center;
    gap:.7rem;
    margin-top:.65rem;
}
.lab-trend-current{
    display:flex;
    flex-direction:column;
    direction:ltr;
    text-align:left;
}
.lab-trend-current b{
    color:#0f6d5d;
    font-size:1.25rem;
    line-height:1.2;
}
.lab-trend-current span{
    color:#6e827d;
    font-size:.7rem;
}
.lab-trend-current small{
    margin-top:.22rem;
    color:#98a5a1;
    font-size:.64rem;
    direction:rtl;
}
.lab-sparkline-wrap{
    height:62px;
    min-width:0;
    border-radius:12px;
    background:#f8fbfa;
    padding:.25rem;
}
.lab-sparkline-wrap svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
}
.lab-sparkline-base{
    stroke:#e4eeeb;
    stroke-width:1;
}
.lab-sparkline-line{
    fill:none;
    stroke:currentColor;
    color:#16806e;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}
.lab-sparkline-dot{
    fill:#16806e;
    stroke:#fff;
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}
.lab-trend-footer{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    margin-top:.5rem;
    padding-top:.5rem;
    border-top:1px dashed #e8efed;
    color:#7c8e89;
    font-size:.67rem;
}
.lab-trend-footer span{
    display:inline-flex;
    align-items:center;
    gap:.22rem;
}
@media(max-width:991.98px){
    .homecare-lab-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
    .homecare-lab-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
    .homecare-lab-trends-head{flex-direction:column}
    .homecare-lab-head-actions{width:100%}
    .homecare-lab-head-actions .btn{flex:1;justify-content:center}
    .homecare-lab-overview{gap:.45rem}
    .lab-overview-card{padding:.65rem;min-height:66px}
    .homecare-lab-latest-grid{grid-template-columns:1fr}
    .homecare-lab-trend-grid{grid-template-columns:1fr}
    .homecare-lab-empty{align-items:flex-start;flex-wrap:wrap}
    .homecare-lab-empty .btn{width:100%}
}

/* RC68.55 - Daily HomeCare nurse report monitor for call center/company manager */
.nurse-report-monitor-panel{border:1px solid #dbece6;background:#fff}
.nurse-report-monitor-heading{align-items:flex-start!important}
.nurse-report-summary{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.report-summary-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}
.report-summary-chip.done{background:#e5f7ed;color:#16724d}.report-summary-chip.missing{background:#ffe9e9;color:#b93434}.report-summary-chip.score{background:#edf4ff;color:#315f9d}
.nurse-report-monitor-list{display:flex;flex-direction:column;gap:.65rem}
.nurse-report-monitor-row{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(180px,.95fr) minmax(175px,.9fr) minmax(170px,.85fr) auto;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid #e4efeb;border-radius:18px;background:#fbfefd}
.nurse-report-monitor-row.done{border-color:#cfe9da;background:#f7fcf9}.nurse-report-monitor-row.missing{border-color:#f3caca;background:#fff9f9}.nurse-report-monitor-row.waiting{border-color:#e8e1c8;background:#fffdf8}
.nurse-report-person{display:flex;align-items:center;gap:.7rem;min-width:0}.nurse-report-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:#e9f7f2;color:#087c69;font-size:1.15rem}
.nurse-report-person>div{min-width:0}.nurse-report-person strong{display:block;color:#163f39}.nurse-report-person small{display:block;margin-top:.25rem;color:#748985;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nurse-performance-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;min-width:0}.nurse-performance-cell>small{font-size:.71rem;color:#738783}.nurse-performance-score{display:inline-flex;align-items:center;gap:.32rem;padding:.42rem .62rem;border-radius:999px;font-size:.76rem;font-weight:900;white-space:nowrap}.nurse-performance-score.score-excellent{background:#daf5e6;color:#137249}.nurse-performance-score.score-good{background:#e6f1ff;color:#2b5f9f}.nurse-performance-score.score-attention{background:#fff1cc;color:#916300}.nurse-performance-score.score-followup{background:#ffe2e2;color:#b32626}.nurse-performance-score.score-new{background:#eef1f2;color:#667773}.nurse-score-details{margin-top:.1rem}.nurse-score-details summary{cursor:pointer;font-size:.7rem;font-weight:800;color:#58706a;list-style:none}.nurse-score-details summary::-webkit-details-marker{display:none}.nurse-score-grid{display:grid;grid-template-columns:repeat(2,minmax(78px,1fr));gap:.35rem;margin-top:.4rem;min-width:190px}.nurse-score-grid span{padding:.42rem .48rem;border:1px solid #e6eeeb;border-radius:10px;background:#fff}.nurse-score-grid b,.nurse-score-grid small{display:block}.nurse-score-grid b{font-size:.78rem;color:#234b44}.nurse-score-grid small{font-size:.66rem;color:#82928e;margin-top:.08rem}.nurse-score-formula-note{margin-top:.55rem;color:#7b8c88;font-size:.72rem;line-height:1.8}
.nurse-report-last small{display:block;color:#8a9a96;font-size:.72rem}.nurse-report-last strong{display:block;margin-top:.2rem;color:#405b56;font-size:.82rem}
.report-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border-radius:999px;font-size:.75rem;font-weight:850;white-space:nowrap}.report-status-badge.done{background:#ddf7e9;color:#177650}.report-status-badge.missing{background:#ffe2e2;color:#b32626}.report-status-badge.waiting{background:#fff2cf;color:#946500}
.nurse-report-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.nurse-report-actions .btn{white-space:nowrap}.nurse-report-monitor-note{margin-top:.8rem;padding:.7rem .85rem;border-radius:14px;background:#f8faf9;color:#71837f;font-size:.78rem}.homecare-all-clear.compact{min-height:120px}
@media(max-width:1199.98px){.nurse-report-monitor-row{grid-template-columns:1fr 1fr 1fr}.nurse-report-actions{justify-content:flex-start}}
@media(max-width:991.98px){.nurse-report-monitor-row{grid-template-columns:1fr 1fr}.nurse-report-actions{justify-content:flex-start}.nurse-report-summary{justify-content:flex-start}}
@media(max-width:575.98px){.nurse-report-monitor-row{grid-template-columns:1fr;gap:.65rem}.nurse-performance-cell,.nurse-report-last,.nurse-report-status{padding-right:3.25rem}.nurse-report-actions{padding-right:3.25rem}.nurse-report-actions form,.nurse-report-actions .btn{width:100%}.nurse-report-actions .btn{display:flex;align-items:center;justify-content:center}.nurse-report-summary{width:100%;display:grid;grid-template-columns:1fr}.report-summary-chip{justify-content:center}.nurse-score-grid{width:100%;min-width:0}.nurse-report-monitor-note,.nurse-score-formula-note{line-height:1.8}}

/* RC68.80 - browser-independent Persian dictation + compact clinical rich editor */
.speech-enabled-textarea {
    min-height: 150px;
    resize: vertical;
    padding-bottom: 54px !important;
    line-height: 2;
}
.speech-btn, .clinical-speech-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.speech-btn.processing, .clinical-speech-btn.processing {
    background: #eef2ff;
    color: #4338ca;
}
.clinical-editor {
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.clinical-editor:focus-within {
    border-color: #86c8ad;
    box-shadow: 0 0 0 3px rgba(22, 122, 85, .08);
}
.clinical-editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    padding: 8px 10px;
    border-bottom: 1px solid #edf2f7;
    background: #f8fafc;
}
.clinical-editor-toolbar button,
.clinical-speech-btn {
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    background: #fff;
    color: #334155;
    min-height: 34px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 700;
}
.clinical-editor-toolbar button:hover { background: #f1f5f9; }
.clinical-editor-body {
    min-height: 210px;
    max-height: 520px;
    overflow-y: auto;
    padding: 14px 16px;
    line-height: 2.05;
    outline: none;
    white-space: pre-wrap;
}
.clinical-editor-body:empty::before {
    content: attr(data-placeholder);
    color: #94a3b8;
    pointer-events: none;
}
.clinical-editor-body mark, .clinical-richtext-display mark {
    background: #fff3a3;
    padding: 0 2px;
    border-radius: 3px;
}
.clinical-editor-body ul, .clinical-editor-body ol,
.clinical-richtext-display ul, .clinical-richtext-display ol {
    padding-right: 22px;
    margin: 6px 0;
}
.clinical-speech-btn {
    margin: 8px 10px 10px;
    background: #e9f8f1;
    color: #167a55;
    border-color: #ccebdc;
}
.clinical-speech-btn.recording {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
    animation: pulseMic 1s infinite;
}
.clinical-report-textarea {
    min-height: 210px;
}
@media (max-width: 576px) {
    .clinical-editor-toolbar button span { display: none; }
    .clinical-editor-toolbar button { min-width: 38px; }
    .clinical-editor-body { min-height: 190px; }
}

/* RC68.80 - transparent nurse performance formula */
.nurse-self-score-card {
    border: 1px solid #dcebe4;
    background: #fff;
    border-radius: 16px;
    padding: 15px 16px;
}
.nurse-self-score-head, .nurse-self-score-head > div {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.nurse-self-score-head > div { justify-content: flex-start; }
.nurse-self-score-head strong, .nurse-self-score-head small { display: block; }
.nurse-self-score-head small { color: #64748b; margin-top: 3px; }
.nurse-self-score-icon {
    width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center;
    background: #ecfdf5; color: #15803d; flex: 0 0 auto;
}
.nurse-self-score-value { font-size: 25px; font-weight: 900; color: #166534; white-space: nowrap; }
.nurse-self-score-value small { display: inline; font-size: 12px; color: #64748b; }
.nurse-self-score-new { font-size: 12px; color: #64748b; background: #f8fafc; padding: 7px 10px; border-radius: 10px; }
.nurse-score-explain { margin-top: 12px; border-top: 1px solid #edf2f7; padding-top: 10px; }
.nurse-score-explain summary { cursor: pointer; color: #166534; font-weight: 800; }
.nurse-score-formula-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.nurse-score-formula-grid > div { border: 1px solid #e5e7eb; border-radius: 12px; padding: 10px; background: #fafcfb; }
.nurse-score-formula-grid b { color: #166534; font-size: 18px; display: block; }
.nurse-score-formula-grid strong, .nurse-score-formula-grid small { display: block; }
.nurse-score-formula-grid small { color: #64748b; margin-top: 5px; line-height: 1.8; }
.nurse-score-help { margin: 10px 0 0; color: #475569; font-size: 12px; }
@media(max-width: 768px) {
    .nurse-score-formula-grid { grid-template-columns: 1fr 1fr; }
    .nurse-self-score-head { align-items: flex-start; }
}


/* RC68.99 - Admin HomeCare dashboard visual cleanup */
.admin-homecare-dashboard{
    --hc-card-radius:18px;
}
.admin-homecare-dashboard .homecare-section-head{
    padding:16px 18px;
    border-radius:20px;
    box-shadow:0 8px 24px rgba(15,80,69,.04);
}
.admin-homecare-dashboard .homecare-section-head h4{font-size:1.15rem;}
.admin-homecare-dashboard .homecare-section-head p{font-size:.82rem;}
.admin-homecare-dashboard .homecare-head-actions .btn{
    min-height:38px;
    padding:.45rem .75rem;
    border-radius:12px;
}
.admin-homecare-dashboard .homecare-metric-grid{gap:10px;}
.admin-homecare-dashboard .homecare-metric-card{
    min-height:88px;
    padding:13px 15px;
    gap:11px;
    border-radius:18px;
    box-shadow:0 7px 20px rgba(15,80,69,.045);
}
.admin-homecare-dashboard .homecare-metric-card .metric-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:13px;
    font-size:19px;
}
.admin-homecare-dashboard .metric-copy strong{font-size:23px;}
.admin-homecare-dashboard .metric-copy b{font-size:12px;margin-top:4px;}
.admin-homecare-dashboard .metric-copy small{font-size:10px;}
.admin-homecare-dashboard .homecare-subtabs{
    margin-bottom:10px;
    padding:4px;
    gap:4px;
    border-radius:14px;
}
.admin-homecare-dashboard .homecare-subtab-btn{
    padding:.52rem .8rem;
    border-radius:10px;
    font-size:.82rem;
}
.admin-homecare-dashboard .panel.homecare-patient-panel,
.admin-homecare-dashboard .panel.homecare-review-panel{
    padding:14px;
    border-radius:18px;
}
.admin-homecare-dashboard .homecare-panel-heading{
    padding-bottom:10px;
    margin-bottom:10px;
}
.admin-homecare-dashboard .homecare-panel-heading h5{font-size:1rem;}
.admin-homecare-dashboard .homecare-panel-heading small{font-size:.72rem;}
.admin-homecare-dashboard .homecare-patient-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.admin-homecare-dashboard .homecare-patient-row{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:12px;
    border-radius:16px;
    min-width:0;
}
.admin-homecare-dashboard .patient-avatar{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:12px;
    font-size:17px;
}
.admin-homecare-dashboard .patient-title-line{gap:6px;}
.admin-homecare-dashboard .patient-title-line strong{font-size:.9rem;}
.admin-homecare-dashboard .status-chip{padding:3px 7px;font-size:9px;}
.admin-homecare-dashboard .patient-meta{
    gap:8px;
    margin-top:4px;
    font-size:10px;
}
.admin-homecare-dashboard .patient-last-event{
    grid-template-columns:31px minmax(0,1fr) auto;
    gap:7px;
    margin-top:8px;
    padding:7px 8px;
    border-radius:11px;
}
.admin-homecare-dashboard .patient-last-event .last-event-icon{
    width:31px;
    height:31px;
    border-radius:9px;
    font-size:14px;
}
.admin-homecare-dashboard .patient-last-event small{font-size:9px;}
.admin-homecare-dashboard .patient-last-event b{font-size:11px;}
.admin-homecare-dashboard .last-event-time strong{font-size:10px;}
.admin-homecare-dashboard .patient-last-event time{font-size:9px;}
.admin-homecare-dashboard .patient-vitals-strip{
    gap:4px;
    margin-top:6px;
    padding:5px;
    border-radius:10px;
}
.admin-homecare-dashboard .patient-vitals-strip span{padding:4px 3px;border-radius:7px;}
.admin-homecare-dashboard .patient-vitals-strip small{font-size:8px;}
.admin-homecare-dashboard .patient-vitals-strip b{font-size:10px;}
.admin-homecare-dashboard .patient-event-footer{
    margin-top:6px;
    gap:6px 10px;
    font-size:9px;
}
.admin-homecare-dashboard .trend-badge{font-size:9px;padding:3px 7px;}
.admin-homecare-dashboard .patient-actions{
    grid-column:1/-1;
    width:100%;
    display:flex;
    gap:6px;
    padding-top:8px;
    margin-top:1px;
    border-top:1px dashed #dce9e5;
}
.admin-homecare-dashboard .patient-actions .btn{
    width:auto;
    min-height:34px;
    padding:.35rem .7rem;
    border-radius:10px;
    font-size:.72rem;
    white-space:nowrap;
}
.admin-homecare-dashboard .patient-actions .btn-main{margin-inline-start:auto;}

@media(max-width:1199.98px){
    .admin-homecare-dashboard .homecare-patient-list{grid-template-columns:1fr;}
}
@media(max-width:767.98px){
    .admin-homecare-dashboard .homecare-section-head{padding:14px;}
    .admin-homecare-dashboard .homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:1fr;}
    .admin-homecare-dashboard .homecare-metric-card{min-height:78px;}
    .admin-homecare-dashboard .homecare-subtab-btn{font-size:.78rem;padding:.48rem .65rem;}
    .admin-homecare-dashboard .homecare-patient-row{grid-template-columns:36px minmax(0,1fr);padding:10px;}
    .admin-homecare-dashboard .patient-avatar{width:36px;height:36px;flex-basis:36px;}
    .admin-homecare-dashboard .patient-last-event{grid-template-columns:29px minmax(0,1fr);}
    .admin-homecare-dashboard .last-event-time{grid-column:2;align-items:flex-start;}
    .admin-homecare-dashboard .patient-actions{flex-wrap:wrap;}
    .admin-homecare-dashboard .patient-actions .btn{flex:1 1 auto;}
}


/* RC68.100 - Admin HomeCare quick actions + mobile action height guard */
.admin-homecare-dashboard .admin-homecare-quick-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    align-items:stretch;
}
.admin-homecare-dashboard .admin-homecare-quick-actions .btn{
    width:100%;
    min-width:0;
    margin:0;
    min-height:36px;
    padding:.38rem .48rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    line-height:1.35;
    white-space:normal;
    text-align:center;
}
.admin-homecare-dashboard .admin-homecare-quick-actions .btn-main{
    margin-inline-start:0;
}
@media(max-width:1199.98px){
    .admin-homecare-dashboard .admin-homecare-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:767.98px){
    .admin-homecare-dashboard .admin-homecare-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
    .admin-homecare-dashboard .admin-homecare-quick-actions .btn{
        flex:none !important;
        width:100% !important;
        min-height:42px;
        height:auto;
        padding:.5rem .45rem;
    }

    /* shared filter-actions gives buttons a 140px flex-basis; when the Patients
       filter changes to column layout that basis becomes button height. */
    .patient-list-filter-panel .patient-filter-actions .btn{
        flex:0 0 auto !important;
        width:100%;
        min-height:46px;
        height:46px;
        padding:.55rem .9rem;
    }
    .patient-list-filter-panel .filter-more-toggle{
        flex:0 0 auto !important;
        min-height:44px;
        height:44px;
        padding:.5rem .85rem;
    }
}

/* RC68.104 - two-column HomeCare patient cards for non-admin role dashboards */
@media (min-width: 1200px) {
    .operational-homecare-dashboard .operational-patient-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .operational-homecare-dashboard .operational-patient-card {
        height: 100%;
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    .operational-homecare-dashboard .operational-patient-card .patient-card-actions {
        margin-top: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .operational-homecare-dashboard .operational-patient-card .patient-card-actions .btn {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    .operational-homecare-dashboard .operational-patient-card .patient-card-actions .btn.btn-main {
        grid-column: 1 / -1;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .operational-homecare-dashboard .operational-patient-list {
        grid-template-columns: 1fr;
    }
}

/* RC68.112 - Home-care admin dashboard balance */
.admin-homecare-dashboard .homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.admin-homecare-dashboard .homecare-metric-card{min-height:96px;padding:14px 16px;border-radius:19px;box-shadow:0 8px 24px rgba(15,80,69,.045);}
.admin-homecare-dashboard .homecare-metric-card .metric-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px;font-size:19px;}
.admin-homecare-dashboard .metric-copy strong{font-size:24px;}
.admin-homecare-dashboard .homecare-section-head{padding:17px 20px;border-radius:20px;}
.admin-homecare-dashboard .homecare-subtabs{margin-top:2px;}
.admin-homecare-dashboard .homecare-patient-panel{padding-top:14px;}
@media(max-width:1200px){.admin-homecare-dashboard .homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:768px){.admin-homecare-dashboard .homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:1fr 1fr;}.admin-homecare-dashboard .homecare-metric-card{min-height:88px;padding:12px}.admin-homecare-dashboard .metric-copy small{display:none;}}
@media(max-width:480px){.admin-homecare-dashboard .homecare-metric-grid.homecare-metric-grid-compact{grid-template-columns:1fr;}}

/* RC68.128 - compact action-required counters in desktop/mobile navigation */
.menu-attention-badge{
    min-width:22px;
    height:22px;
    padding:0 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:900;
    line-height:1;
    box-shadow:0 0 0 2px rgba(255,255,255,.10);
    flex:0 0 auto;
}
.mobile-group-links .menu-attention-badge{margin-inline-start:auto!important;color:#fff!important;background:#dc3545!important;border-color:transparent!important}
