:root{--svms-navy:#173a56;--svms-navy-deep:#102d43;--svms-primary:#1d638f;--svms-primary-hover:#174f73;--svms-teal:#167d80;--svms-bg:#f3f6f8;--svms-surface:#fff;--svms-text:#283f50;--svms-muted:#607587;--svms-border:#dce5eb;--svms-success:#246c52;--svms-warning:#8a610f;--svms-danger:#a53e47;--svms-info:#285f90;--surface-subtle:#f8fafb;--success-bg:#edf6f0;--warning-bg:#fbf4e5;--danger-bg:#fbefef;--info-bg:#edf4fa;--radius-sm:6px;--radius:10px;--radius-lg:12px;--shadow-sm:0 1px 3px rgba(20,48,67,.035);--shadow:0 4px 18px rgba(20,48,67,.055);--sidebar-width:248px;--space-page:clamp(1rem,2.3vw,2.5rem);--font-body:"Segoe UI",Tahoma,Arial,sans-serif;--bs-body-color:var(--svms-text);--bs-body-font-family:var(--font-body);--bs-link-color:var(--svms-primary)}
*{box-sizing:border-box}
html{min-width:320px}
body{margin:0;background:var(--svms-bg);color:var(--svms-text);font-family:var(--font-body);font-size:.925rem;line-height:1.6}
a{color:var(--svms-primary)}
a:hover{color:var(--svms-primary-hover)}
:focus-visible{outline:3px solid rgba(23,106,168,.3);outline-offset:2px}
.app-shell{min-height:100vh}
.sidebar{width:var(--sidebar-width);background:var(--svms-navy-deep);color:#d9e6f1;border:0}
.sidebar-brand,.auth-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}
.sidebar-brand{min-height:80px;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#168d9b;color:#fff;font-weight:800;font-size:1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.sidebar-brand strong,.auth-brand strong{display:block;font-size:1rem;letter-spacing:.035em}
.sidebar-brand small,.auth-brand small{display:block;font-size:.7rem;opacity:.72;letter-spacing:.01em}
.sidebar-nav{padding:1.25rem .85rem}
.sidebar-nav a,.sidebar-footer a{display:flex;align-items:center;gap:.8rem;min-height:46px;color:#c1d1de;text-decoration:none;border-radius:var(--radius-sm);padding:.7rem .85rem;margin:.25rem 0;font-weight:600;transition:background .15s ease,color .15s ease}
.sidebar-nav a:hover{background:rgba(255,255,255,.075);color:#fff}
.sidebar-nav a.active,.sidebar-footer a.active{background:#234b65;color:#fff;box-shadow:inset 3px 0 0 #6dc3be}
.sidebar-nav i{font-size:1rem;width:1.25rem;text-align:center}
.nav-caption{font-size:.68rem;color:#97afc0;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:1.6rem .85rem .5rem}
.sidebar-footer{position:absolute;bottom:1rem;left:.75rem;right:.75rem}
.app-content{min-height:100vh;margin-left:var(--sidebar-width)}
.topbar{min-height:80px;background:var(--svms-surface);border-bottom:1px solid var(--svms-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--space-page)}
.topbar-title{color:var(--svms-navy);font-weight:600;font-size:.875rem;min-width:0}
.user-menu{display:flex;align-items:center;gap:.8rem;min-width:0}
.user-menu strong,.user-menu small{display:block;font-size:.78rem;line-height:1.35}
.user-menu small{color:var(--svms-muted)}
.user-avatar{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#e5f1f0;color:var(--svms-teal);font-weight:700}
.page-content{padding:var(--space-page);max-width:1680px;margin-inline:auto}
.page-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--svms-border)}
.page-heading h1{font-size:1.65rem;line-height:1.25;color:var(--svms-navy);margin:0 0 .4rem;font-weight:700;letter-spacing:-.025em}
.page-heading p{margin:0;color:var(--svms-muted);max-width:720px;font-size:.9rem}
.btn{border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;padding:.6rem .9rem;line-height:1.45;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.btn:active{transform:none}
.btn-primary{background:var(--svms-primary);border-color:var(--svms-primary)}
.btn-primary:hover,.btn-primary:focus{background:var(--svms-primary-hover);border-color:var(--svms-primary-hover);box-shadow:0 2px 6px rgba(23,106,168,.2)}
.btn-outline-primary{color:var(--svms-primary);border-color:#adc8dc}
.btn-outline-primary:hover{background:#eef6fb;border-color:#8ab4d2;color:var(--svms-primary-hover)}
.btn-light{background:#f6f8fa;border-color:var(--svms-border);color:#506274}
.btn-light:hover{background:#eef2f5;border-color:#cbd8e2}
.btn-outline-danger{color:var(--svms-danger);border-color:#e6b8b8}
.btn-outline-danger:hover{background:#fff2f2;color:#9c3030}
.btn-icon{padding:.35rem .5rem;color:var(--svms-navy)}
.metric-card,.content-card,.form-card{background:var(--svms-surface);border:1px solid var(--svms-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.metric-card{padding:1.25rem;height:100%;position:relative;overflow:hidden;border-top:3px solid #bdd3df;display:flex;flex-direction:column;gap:.5rem}
.metric-label{color:var(--svms-muted);font-size:.78rem;font-weight:600;line-height:1.45}
.metric-value{font-size:1.85rem;line-height:1.2;font-weight:700;color:var(--svms-navy);margin-top:.15rem;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.metric-icon{position:static;order:-1;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--info-bg);color:var(--svms-primary);font-size:1rem;margin-bottom:.2rem}
.metric-positive .metric-icon{background:#e9f5ef;color:var(--svms-success)}
.metric-negative .metric-icon{background:#fceeee;color:var(--svms-danger)}
.content-card{overflow:hidden}
.content-card-header{padding:1.15rem 1.4rem;border-bottom:1px solid var(--svms-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface-subtle)}
.content-card-header h2{font-size:.97rem;color:var(--svms-navy);font-weight:650;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.content-card-body{padding:1.4rem}
.quick-action{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--svms-text);border:1px solid var(--svms-border);border-radius:var(--radius-sm);padding:1.1rem;height:100%;transition:border-color .15s ease,background .15s ease}
.quick-action:hover{border-color:#a8c8de;background:#fbfdfe;box-shadow:var(--shadow-sm);color:var(--svms-primary)}
.quick-action i{font-size:1.2rem;color:var(--svms-teal);width:38px;height:38px;display:grid;place-items:center;background:#eaf4f3;border-radius:8px;flex-shrink:0}
.quick-action strong{font-weight:680}
.quick-action small{display:block;color:var(--svms-muted);margin-top:.1rem}
.table{margin:0;color:var(--svms-text);--bs-table-color:var(--svms-text);--bs-table-bg:transparent;font-size:.875rem}
.table thead th{background:var(--surface-subtle);color:var(--svms-muted);font-size:.75rem;font-weight:650;border-bottom:1px solid var(--svms-border);padding:.85rem 1.15rem;white-space:nowrap}
.table td{padding:1rem 1.15rem;vertical-align:middle;border-color:#eaf0f4;line-height:1.5}
.table tbody tr{transition:background .12s ease}
.table-hover>tbody>tr:hover>*{background:#f8fbfd;color:inherit}
.table tbody tr:last-child td{border-bottom:0}
.table a.fw-bold{color:var(--svms-navy)}
.badge{font-weight:600;font-size:.74rem;line-height:1.35;padding:.32rem .6rem;border-radius:5px;letter-spacing:0;white-space:normal;text-align:start}
.badge-soft{background:var(--info-bg);color:var(--svms-info)}
.badge-hospital{background:#e8f5f9;color:#19728b}
.badge-pharmacy{background:#eaf5ed;color:#267345}
.badge-laboratory{background:#f1ebfb;color:#684496}
.text-bg-success{background:#e8f5ed!important;color:#176345!important}
.text-bg-warning{background:#fff5dc!important;color:#805500!important}
.text-bg-danger{background:#fcebec!important;color:#a33131!important}
.text-bg-secondary{background:#edf1f4!important;color:#5b6d7d!important}
.search-box{position:relative;min-width:250px}
.search-box i{position:absolute;left:.75rem;top:.62rem;color:#8295a6}
.search-box input{padding-left:2.15rem}
.form-card{padding:1.75rem;max-width:1080px}
.form-section-title{font-size:.88rem;color:var(--svms-navy);font-weight:650;border-bottom:1px solid var(--svms-border);padding-bottom:.8rem;margin-bottom:1.25rem}
.form-label{font-weight:600;color:var(--svms-text);font-size:.84rem;margin-bottom:.45rem}
.form-label .required{color:var(--svms-danger)}
.form-control,.form-select{border-color:#c7d6df;border-radius:var(--radius-sm);padding:.65rem .8rem;color:var(--svms-text);font-size:.9rem;min-height:44px;background-color:var(--svms-surface)}
.form-select{padding-inline-end:2.5rem}
.form-control::placeholder{color:#718597;opacity:1}
.form-control:focus,.form-select:focus{border-color:#6399b6;box-shadow:0 0 0 .2rem rgba(29,99,143,.12)}
textarea.form-control{min-height:auto}
.form-text{color:var(--svms-muted);font-size:.79rem}
.field-validation-error,.validation-summary-errors{color:var(--svms-danger)!important;font-size:.8rem}
.input-validation-error{border-color:#ce7373}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:2.5rem 1.25rem;color:var(--svms-muted);font-size:.875rem;min-height:110px}
.empty-state i{font-size:1.5rem;color:var(--svms-teal);display:grid;place-items:center;background:#eef5f7;border:1px solid var(--svms-border);border-radius:10px;width:46px;height:46px}
.alert{border-radius:var(--radius-sm);border-width:1px;font-size:.88rem;padding:.75rem 1rem;box-shadow:var(--shadow-sm)}
.alert-success{color:#176345;background:#eff9f3;border-color:#bde2ca}
.alert-danger{color:#942f2f;background:#fff2f2;border-color:#efc3c3}
.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f4f7fa}
.auth-brand{color:var(--svms-navy);margin-bottom:1.4rem;max-width:100%}
.auth-card{background:var(--svms-surface);border:1px solid var(--svms-border);box-shadow:var(--shadow);border-radius:var(--radius-lg);padding:2rem;width:min(100%,460px)}
.auth-card h1{font-size:1.45rem;color:var(--svms-navy);font-weight:700}
.auth-card .row{margin:0}
.auth-card .col-md-4,.auth-card .col-md-6,.auth-card .col-md-8,.auth-card .col-md-10{width:100%;max-width:100%;padding:0}
.auth-card #account{width:100%}
.auth-footer{color:var(--svms-muted);font-size:.76rem;margin-top:1.15rem}
@media(min-width:992px){.sidebar{position:fixed;top:0;bottom:0;left:0}
.offcanvas-lg{visibility:visible!important;transform:none!important}
}
@media(max-width:991.98px){.sidebar{width:270px}
.app-content{margin-left:0}
.sidebar-footer{position:static;margin-top:1.5rem}
.topbar{min-height:80px;background:var(--svms-surface);border-bottom:1px solid var(--svms-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--space-page)}
.page-content{padding:var(--space-page);max-width:1680px;margin-inline:auto}
.offcanvas{box-shadow:10px 0 30px rgba(5,30,50,.25)}
}
@media(max-width:575.98px){body{margin:0;background:var(--svms-bg);color:var(--svms-text);font-family:var(--font-body);font-size:.925rem;line-height:1.6}
.topbar{min-height:80px;background:var(--svms-surface);border-bottom:1px solid var(--svms-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--space-page)}
.page-content{padding:var(--space-page);max-width:1680px;margin-inline:auto}
.page-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--svms-border)}
.page-heading h1{font-size:1.65rem;line-height:1.25;color:var(--svms-navy);margin:0 0 .4rem;font-weight:700;letter-spacing:-.025em}
.page-heading .btn,.page-heading .d-flex{margin-top:.9rem}
.content-card-header{padding:1.15rem 1.4rem;border-bottom:1px solid var(--svms-border);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface-subtle)}
.content-card-body,.form-card{padding:1rem}
.search-box{min-width:100%}
.metric-value{font-size:1.85rem;line-height:1.2;font-weight:700;color:var(--svms-navy);margin-top:.15rem;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.table thead th,.table td{padding:.75rem}
.btn{border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;padding:.6rem .9rem;line-height:1.45;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.user-menu{display:flex;align-items:center;gap:.8rem;min-width:0}
}


/* Arabic display only; Bootstrap RTL handles its own components and utilities. */
[dir="rtl"] .app-content{margin-left:0;margin-right:var(--sidebar-width)}
[dir="rtl"] .sidebar-nav a.active,.sidebar-footer a.active{box-shadow:inset -3px 0 0 #58c1c2}
[dir="rtl"] .metric-icon{right:auto;left:1rem}
[dir="rtl"] .search-box i{left:auto;right:.75rem}
[dir="rtl"] .search-box input{padding-left:.72rem;padding-right:2.15rem}
[dir="rtl"] .bi-box-arrow-right{display:inline-block;transform:scaleX(-1)}
[dir="rtl"] input[type="email"],[dir="rtl"] input[type="tel"],[dir="rtl"] input[type="date"],[dir="rtl"] input[type="time"],[dir="rtl"] code{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .form-select{padding-left:2.25rem}
[dir="rtl"] .metric-label,[dir="rtl"] .form-section-title,[dir="rtl"] .table thead th{letter-spacing:normal}
@media(min-width:992px){[dir="rtl"] .sidebar{left:auto;right:0}}
@media(max-width:991.98px){[dir="rtl"] .app-content{margin-right:0}}
@media(max-width:575.98px){.language-switcher .btn{padding:.3rem .4rem;font-size:.75rem}[dir="rtl"] .content-card-header{flex-wrap:wrap}[dir="rtl"] .user-avatar{display:none}}
[dir="rtl"] .content-card{position:relative}[dir="rtl"] .content-card .col-md-1>.w-100{width:auto!important;flex:1;min-width:0}

/* Responsive corrections shared by English and Arabic. */
.user-menu strong {
    max-width: clamp(6rem, 20vw, 16rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.page-heading,
.content-card-body,
.quick-action,
.auth-card {
    overflow-wrap: anywhere;
}
.content-card {
    /* Contain positioned screen-reader labels within horizontally scrolling tables. */
    position: relative;
}
.content-card-header {
    flex-wrap: wrap;
}
.content-card-header > * {
    min-width: 0;
}
.content-card-header .search-box {
    max-width: 100%;
}
.content-card .col-md-1.d-flex {
    /* The filter action column must fit both Apply and Clear at every breakpoint. */
    width: auto;
    flex: 1 0 auto;
}
.content-card .col-md-1.d-flex > .w-100 {
    width: auto !important;
    flex: 1 0 auto;
}
[dir="rtl"] .content-card .col-md-1.d-flex > .w-100 {
    flex: 1 0 auto;
}
.auth-card .row > [class*="col-"] {
    /* A fixed-width sign-in card must not inherit viewport-wide column splits. */
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
}
.sidebar {
    overflow-y: auto;
}
.sidebar-brand {
    flex-shrink: 0;
}
@media (max-height: 600px) {
    .sidebar-footer {
        position: static;
        margin: 1.5rem .75rem 1rem;
    }
}
@media (max-width: 575.98px) {
    .content-card-header .search-box {
        flex: 1 0 100%;
    }

}

/* Login uses the app's existing navy, teal and form styles. */
.login-shell { padding: 2rem 1rem; }
.login-shell .auth-brand { text-decoration: none; display: flex; align-items: center; gap: .8rem; max-width: 100%; }
.login-shell .auth-brand strong, .login-shell .auth-brand small { display: block; }
.login-shell .auth-brand strong { font-size: 1.1rem; }
.login-shell .auth-brand small { color: var(--svms-muted); font-size: .8rem; }
.login-shell .auth-card { width: min(100%, 460px); padding: 2rem; border-top: 3px solid var(--svms-teal); }
.login-heading { margin-bottom: 1.65rem; }
.login-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #e3f3f3; color: var(--svms-teal); font-size: 1.3rem; margin-bottom: 1rem; }
.login-heading h1 { margin: 0 0 .5rem; font-size: 1.65rem; }
.login-heading p { margin: 0; color: var(--svms-muted); font-size: .9rem; }
.login-panel .form-control { min-height: 46px; }
.login-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem 1rem; margin: .25rem 0 1.25rem; font-size: .8rem; }
.login-options .form-check { margin-bottom: 0; }
.login-panel a { text-decoration: none; }
.login-panel a:hover { text-decoration: underline; }
.login-panel #login-submit { min-height: 46px; }
.login-help { display: flex; flex-direction: column; align-items: center; gap: .65rem; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--svms-border); font-size: .82rem; text-align: center; }
.login-help #resend-confirmation { color: var(--svms-muted); font-size: .77rem; }
.login-validation.validation-summary-errors { padding: .75rem; margin-bottom: 1rem; border-radius: var(--radius-sm); background: #fff2f2; }
.login-validation ul { margin: 0; padding-inline-start: 1.2rem; }
.login-external { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--svms-border); }
.login-external h2 { font-size: .9rem; margin-bottom: 1rem; }
@media (max-width: 575.98px) { .login-shell .auth-card { padding: 1.5rem; } .login-heading h1 { font-size: 1.45rem; } }
@media (max-height: 720px) { .login-shell { justify-content: flex-start; } }
/* Shared record, form and navigation components. */
.sidebar.offcanvas-lg { background-color: var(--svms-navy-deep) !important; }
.sidebar-brand .brand-mark { flex-shrink: 0; }
.sidebar-brand .btn-close { margin-inline-start: auto; }
.sidebar-nav a:focus-visible, .sidebar-footer a:focus-visible { outline-color: #8fd1d2; }
.page-heading > div { min-width: 0; }
.page-heading > .d-flex { flex-wrap: wrap; }
.page-heading .btn { white-space: normal; }
.topbar .language-switcher { padding-inline-end: .8rem; border-inline-end: 1px solid var(--svms-border); }
.metric-positive { border-top-color: #93c5af; }
.metric-negative { border-top-color: #dbaeb0; }
.content-card-header h2 > .bi { color: var(--svms-teal); font-size: 1.05rem; }
.content-card-header .search-box { width: min(100%, 300px); }
.table a:not(.btn) { text-decoration: none; font-weight: 550; }
.table a:not(.btn):hover { text-decoration: underline; }
.table .btn-sm { font-size: .78rem; padding: .4rem .65rem; min-height: 34px; }
.table td:last-child .btn { margin-block: .15rem; }
.table td:last-child form { white-space: nowrap; }
.table td:last-child:has(form) { min-width: 220px; }
.table-responsive { scrollbar-width: thin; scrollbar-color: #b4c7d2 var(--surface-subtle); }
.badge[data-outcome="Positive"], .badge[data-outcome="Interested"], .badge[data-status="Completed"] { background: var(--success-bg); color: var(--svms-success); }
.badge[data-outcome="Negative"], .badge[data-outcome="NotInterested"], .badge[data-status="Cancelled"] { background: var(--danger-bg); color: var(--svms-danger); }
.badge[data-outcome="FollowUpRequired"], .badge[data-outcome="DecisionMakerUnavailable"], .badge[data-status="Pending"] { background: var(--warning-bg); color: var(--svms-warning); }
.badge[data-outcome="Other"], .badge[data-status="None"] { background: #eef2f4; color: #596f7e; }
.badge[data-status="InProgress"], .badge[data-status="Planned"], .badge[data-outcome="InformationProvided"] { background: var(--info-bg); color: var(--svms-info); }
.filter-card .content-card-body { padding: 1.15rem 1.4rem; }
.filter-card .row { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; margin: 0; }
.filter-card .row > [class*="col-"] { width: auto; min-width: 0; padding: 0; flex: initial; }
.filter-card .form-label { font-size: .78rem; color: var(--svms-muted); }
.form-card > .row { --bs-gutter-y: 1.25rem; }
.form-card textarea { min-height: 105px; resize: vertical; }
.form-actions { border-top: 1px solid var(--svms-border); padding-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .65rem; }
.form-actions .btn-primary { min-width: 130px; }
.form-check-input:checked { background-color: var(--svms-primary); border-color: var(--svms-primary); }
.form-check-input:focus { border-color: #6399b6; box-shadow: 0 0 0 .2rem rgba(29,99,143,.12); }
.validation-summary-errors:not(:has(li)) { display: none; }
.validation-summary-errors:has(li) { background: var(--danger-bg); border-inline-start: 3px solid var(--svms-danger); border-radius: var(--radius-sm); padding: .8rem 1rem; margin-bottom: 1.25rem; }
.validation-summary-errors ul { margin: 0; padding-inline-start: 1rem; }
.alert { border-inline-start-width: 3px; }
.record-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--svms-border); }
.record-icon { width: 46px; height: 46px; border-radius: 9px; display: grid; place-items: center; flex-shrink: 0; background: #eaf3f6; color: var(--svms-teal); font-size: 1.3rem; }
.record-summary h2 { font-size: 1.1rem; margin: 0 0 .3rem; font-weight: 650; color: var(--svms-navy); overflow-wrap: anywhere; }
.record-summary p { margin: 0; color: var(--svms-muted); font-size: .85rem; }
.record-section + .record-section { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--svms-border); }
.record-section h2, .record-section h3 { font-size: .95rem; color: var(--svms-navy); margin-bottom: 1.1rem; font-weight: 650; }
.record-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem 2rem; margin: 0; }
.record-grid > div { min-width: 0; }
.record-grid dt { color: var(--svms-muted); font-size: .77rem; font-weight: 600; margin-bottom: .3rem; }
.record-grid dd { margin: 0; overflow-wrap: anywhere; font-size: .92rem; }
.record-grid .record-wide { grid-column: 1 / -1; }
.record-notes { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; line-height: 1.75; }
.record-grid dd a { text-decoration: none; }
.record-grid dd a:hover { text-decoration: underline; }
.summary-stack > .content-card + .content-card { margin-top: 1.25rem; }
.dashboard-actions .col-md-4 { flex: 1 0 260px; max-width: 100%; }
.auth-card h2 { font-size: 1.05rem; color: var(--svms-muted); line-height: 1.55; margin-block: .5rem 1.15rem; }
.auth-card h3, .auth-card h4 { font-size: 1rem; color: var(--svms-navy); }
.auth-card > h1 { margin-bottom: 1.2rem; }
.auth-card .row > [class*="col-"] { min-width: 0; }
.auth-card form p { margin-block: .85rem; }
.auth-shell { padding: 2rem 1rem; }
.account-navigation { background: var(--surface-subtle); border: 1px solid var(--svms-border); border-radius: var(--radius); padding: .75rem; }
.account-navigation .nav-link { color: var(--svms-text); font-size: .85rem; padding: .7rem .8rem; }
.account-navigation .nav-link.active { background: var(--svms-primary); color: #fff; }
.account-content { padding: 1.5rem; min-width: 0; }
.account-content h3 { font-size: 1.15rem; color: var(--svms-navy); margin-bottom: 1.25rem; }
.account-content .row > [class*="col-"] { width: 100%; max-width: 680px; }
@media (min-width: 992px) { .sidebar.offcanvas-lg { height: 100vh; } }
@media (max-width: 767.98px) { .record-grid { grid-template-columns: 1fr; } .content-card-header, .content-card-body, .form-card { padding: 1.15rem; } .page-heading { gap: .9rem; } }
@media (max-width: 575.98px) { .metric-card { padding: 1rem; } .topbar .language-switcher { border: 0; padding-inline-end: 0; } .page-heading .btn { margin-top: 0; } .account-content { padding: 1rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
@media (min-width: 768px) { .filter-card .row { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1200px) {
    .filter-card .row { grid-template-columns: repeat(3,minmax(0,1fr)) auto; }
    .visit-filters .row { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
.visit-filters .row > .d-flex > .w-100 { width: auto !important; flex: 0 0 auto; min-width: 84px; }
@media (min-width: 1600px) { .visit-filters .row { grid-template-columns: minmax(200px,1.5fr) repeat(4,minmax(145px,1fr)) auto; } }
.institution-tags .btn { border-radius: 999px; padding: .55rem 1rem; }
.institution-tags .btn-check:checked + .btn { background: var(--svms-primary); border-color: var(--svms-primary); color: #fff; }
.institution-tags .btn-check:focus-visible + .btn { outline: 3px solid #6399b6; outline-offset: 3px; }
