:root {
    --app-page: #eaf1f8;
    --app-surface: #ffffff;
    --app-surface-muted: #f5f8fc;
    --app-border: #dbe4ee;
    --app-text: #1f2d3a;
    --app-text-muted: #5c748b;
    --app-primary: #244366;
    --app-primary-dark: #173c5e;
    --app-accent: #3f6df6;
    --app-success: #2fbf71;
    --app-warning: #d88722;
    --app-danger: #dc3545;
    --app-shadow: 0 12px 30px rgba(31, 45, 58, 0.1);
    --app-shadow-soft: 0 8px 20px rgba(31, 45, 58, 0.08);
    --app-radius: 12px;
    --app-radius-sm: 8px;
    --app-gap: 0.75rem;
}

html {
    background: var(--app-page);
}

body.linces-app,
body {
    background: var(--app-page);
    color: var(--app-text);
    overflow-x: hidden;
}

.app-environment-banner {
    background: linear-gradient(90deg, #0f766e 0%, #14b8a6 100%);
    border-bottom: 1px solid rgba(15, 118, 110, 0.45);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    padding: 0.45rem 0.75rem;
    position: sticky;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    width: 100%;
    z-index: 10001;
}

.app-main {
    width: min(96%, 1500px);
    max-width: 1500px;
    margin: 0 auto;
    padding: 0.75rem 0.5rem 1.4rem;
    box-sizing: border-box;
    flex: 1 0 auto;
}

.app-main--auth {
    width: min(96%, 1200px);
    padding-top: 1rem;
}

.app-page {
    display: grid;
    gap: var(--app-gap);
}

.app-page--narrow {
    max-width: 1120px;
    margin: 0 auto;
    width: 100%;
}

.app-page--wide {
    max-width: 1500px;
    margin: 0 auto;
    width: 100%;
}

.app-stack {
    display: grid;
    gap: var(--app-gap);
}

.app-card,
.section,
.admin-action-card,
.owner-card,
.catalog-card {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    padding: 0.85rem;
    box-sizing: border-box;
}

.section {
    margin-bottom: var(--app-gap);
}

.app-card--flat {
    box-shadow: none;
}

.app-card--muted {
    background: var(--app-surface-muted);
}

.app-section-title,
.app-card-title,
.section h2,
.section h3,
.section h4 {
    color: var(--app-primary-dark);
    font-weight: 800;
    letter-spacing: 0;
    text-align: left;
    margin: 0 0 0.6rem;
}

.app-section-title {
    font-size: 1rem;
}

.app-page-title {
    margin: 0;
    color: var(--app-text);
    font-size: clamp(1.7rem, 3vw, 2.55rem);
    font-weight: 800;
}

.app-page-subtitle,
.app-muted {
    color: var(--app-text-muted);
}

.app-grid {
    display: grid;
    gap: var(--app-gap);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.app-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 0.55rem;
}

.app-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.app-grid--cards {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.app-field-card,
.app-metric {
    background: var(--app-surface-muted);
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    min-height: 58px;
}

.app-field-card--highlight,
.app-metric--highlight {
    background: color-mix(in srgb, var(--app-accent) 10%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-accent) 28%, var(--app-border));
}

.app-field-label,
.app-form-label,
.app-table-label {
    color: var(--app-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.app-form-label input,
.app-form-label select,
.app-form-label textarea {
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 0.25rem;
    text-transform: none;
}

.app-field-value {
    color: var(--app-text);
    font-size: 0.92rem;
    font-weight: 700;
}

.app-field-grid {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
}

.app-field-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
}

.app-form-grid {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.app-form-grid--wide {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.app-form-actions,
.app-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.app-filter-panel {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    padding: 0.8rem;
}

.app-filter-grid {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    align-items: end;
}

.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.btn-toggle),
select,
textarea {
    border-color: var(--app-border);
    border-radius: var(--app-radius-sm);
    color: var(--app-text);
}

.form-control,
.form-select,
textarea,
select,
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"] {
    box-sizing: border-box;
    display: block;
    max-width: 100%;
    width: 100%;
}

.form-control:focus,
.form-select:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.btn-toggle):focus,
select:focus,
textarea:focus {
    border-color: var(--app-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--app-accent) 18%, transparent);
}

.app-btn,
.btn {
    align-items: center;
    border-radius: var(--app-radius-sm);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    padding: 0.55rem 0.85rem;
    text-decoration: none;
}

.app-btn--primary,
.btn-primary,
.app-action-btn--patient {
    background: var(--app-accent);
    border-color: var(--app-accent);
    color: #ffffff !important;
}

.app-btn--primary:hover,
.btn-primary:hover,
.app-action-btn--patient:hover {
    filter: brightness(0.94);
    color: #ffffff !important;
}

.btn-outline-primary {
    border-color: var(--app-accent);
    color: var(--app-accent) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
    background: var(--app-accent);
    border-color: var(--app-accent);
    color: #ffffff !important;
}

.btn-outline-secondary {
    border-color: color-mix(in srgb, var(--app-text-muted) 58%, var(--app-border));
    color: var(--app-text-muted) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
    background: var(--app-text-muted);
    border-color: var(--app-text-muted);
    color: #ffffff !important;
}

.app-btn--secondary {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    color: var(--app-text) !important;
}

.app-btn--success,
.btn-success,
.app-action-btn--visit {
    background: var(--app-success);
    border-color: var(--app-success);
    color: #ffffff !important;
}

.app-btn--warning,
.app-filter-btn,
.app-action-btn--edit {
    background: var(--app-warning);
    border-color: color-mix(in srgb, var(--app-warning) 82%, #000000);
    color: #ffffff !important;
}

.app-btn--danger,
.btn-danger {
    background: var(--app-danger);
    border-color: var(--app-danger);
    color: #ffffff !important;
}

.alert-info {
    background: color-mix(in srgb, var(--app-accent) 14%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-accent) 32%, var(--app-border));
    color: var(--app-primary-dark);
}

.alert-success {
    background: color-mix(in srgb, var(--app-success) 14%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-success) 32%, var(--app-border));
    color: color-mix(in srgb, var(--app-success) 55%, var(--app-text));
}

.alert-warning {
    background: color-mix(in srgb, var(--app-warning) 18%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-warning) 36%, var(--app-border));
    color: color-mix(in srgb, var(--app-warning) 45%, var(--app-text));
}

.alert-danger {
    background: color-mix(in srgb, var(--app-danger) 14%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-danger) 32%, var(--app-border));
    color: color-mix(in srgb, var(--app-danger) 55%, var(--app-text));
}

.app-btn--block {
    justify-content: flex-start;
    width: 100%;
}

.app-chip,
.app-badge,
.owner-status,
.patient-badge,
.visit-chip,
.visit-link-chip {
    align-items: center;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.25rem;
    line-height: 1.1;
    max-width: 100%;
    overflow-wrap: anywhere;
    padding: 0.25rem 0.65rem;
}

.app-chip-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.app-chip--primary,
.visit-chip {
    background: color-mix(in srgb, var(--app-accent) 12%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-accent) 28%, var(--app-border));
    color: var(--app-primary-dark);
}

.app-chip--success,
.owner-status--enabled {
    background: color-mix(in srgb, var(--app-success) 16%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-success) 34%, var(--app-border));
    color: color-mix(in srgb, var(--app-success) 45%, var(--app-text));
}

.app-chip--danger,
.owner-status--disabled {
    background: color-mix(in srgb, var(--app-danger) 12%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-danger) 34%, var(--app-border));
    color: color-mix(in srgb, var(--app-danger) 55%, var(--app-text));
}

.app-table-card {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    overflow: hidden;
}

.app-table-scroll {
    overflow-x: auto;
    width: 100%;
}

.app-table,
.app-clean-table {
    border-collapse: collapse;
    width: 100%;
}

.table {
    --bs-table-bg: var(--app-surface);
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    color: var(--app-text);
}

.table > :not(caption) > * > * {
    background-color: var(--bs-table-bg);
    border-bottom-color: var(--app-border);
    color: var(--app-text);
}

.table thead th {
    background: var(--app-surface-muted);
    color: var(--app-primary-dark);
}

.app-table th,
.app-clean-table th {
    background: var(--app-surface-muted);
    color: var(--app-text);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    padding: 0.65rem;
    text-transform: uppercase;
}

.app-table td,
.app-clean-table td {
    border-top: 1px solid var(--app-border);
    color: var(--app-text);
    padding: 0.65rem;
    vertical-align: middle;
}

.app-row-list {
    display: grid;
    gap: 0.55rem;
}

.app-record-card {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    display: grid;
    gap: 0.7rem;
    min-width: 0;
    overflow: hidden;
    padding: 0.8rem;
}

.app-record-card--selected {
    background: color-mix(in srgb, var(--app-accent) 8%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-accent) 30%, var(--app-border));
}

.app-record-head {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: space-between;
    min-width: 0;
}

.app-record-title {
    color: var(--app-primary-dark);
    font-size: 1.05rem;
    font-weight: 900;
    margin: 0;
    overflow-wrap: anywhere;
}

.app-record-subtitle {
    color: var(--app-text-muted);
    font-size: 0.88rem;
    margin-top: 0.1rem;
    overflow-wrap: anywhere;
}

.app-record-meta {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.app-record-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}

.app-record-actions > * {
    max-width: 100%;
}

.app-user-card-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
}

.app-inline-form-panel {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
    display: grid;
    gap: 0.5rem;
    margin-top: 0.5rem;
    max-width: 100%;
    min-width: 0;
    padding: 0.65rem;
}

.app-inline-form-panel select,
.app-inline-form-panel input,
.app-inline-form-panel textarea {
    min-width: 0;
    width: 100%;
}

.app-action-card,
.admin-action-card,
.admin-event-card {
    color: var(--app-text);
    display: block;
    min-width: 0;
    min-height: 0;
    text-decoration: none;
}

.app-action-card:hover,
.admin-action-card:hover,
.admin-event-card:hover {
    color: var(--app-text);
    text-decoration: none;
}

.app-action-card-title,
.admin-action-title,
.admin-event-title {
    color: var(--app-primary-dark);
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.15;
    margin: 0 0 0.35rem;
}

.app-action-card-text,
.admin-action-text,
.admin-event-text {
    color: var(--app-text-muted);
    font-size: 0.9rem;
    line-height: 1.35;
    margin: 0;
}

.app-dashboard-card-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.app-dashboard-card-grid > *,
.app-grid > *,
.app-grid--two > *,
.app-grid--three > *,
.app-grid--cards > * {
    min-width: 0;
}

.app-tab-panel {
    display: grid;
    gap: var(--app-gap);
}

.app-management-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.75rem 0;
}

.app-management-tab,
.app-summary-button {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
    color: var(--app-primary-dark);
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    min-height: 40px;
    padding: 0.5rem 0.75rem;
    text-decoration: none;
}

.app-management-tab[aria-current="page"],
.app-summary-button:hover {
    background: color-mix(in srgb, var(--app-accent) 12%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-accent) 32%, var(--app-border));
}

.app-collapsible {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    padding: 0.75rem;
}

.app-collapsible > summary {
    color: var(--app-primary-dark);
    cursor: pointer;
    font-weight: 800;
    list-style-position: inside;
}

.app-collapsible[open] > summary {
    border-bottom: 1px solid var(--app-border);
    margin-bottom: 0.75rem;
    padding-bottom: 0.6rem;
}

.app-status-pill {
    align-items: center;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.1;
    padding: 0.28rem 0.65rem;
    text-transform: uppercase;
}

.app-status-pill--open,
.app-status-pill--active,
.app-status-pill--enabled {
    background: color-mix(in srgb, var(--app-success) 16%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-success) 36%, var(--app-border));
    color: color-mix(in srgb, var(--app-success) 40%, var(--app-text));
}

.app-status-pill--deleted,
.app-status-pill--disabled,
.app-status-pill--danger {
    background: color-mix(in srgb, var(--app-danger) 13%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-danger) 36%, var(--app-border));
    color: color-mix(in srgb, var(--app-danger) 55%, var(--app-text));
}

.app-status-pill--closed,
.app-status-pill--muted {
    background: var(--app-surface-muted);
    color: var(--app-text-muted);
}

.app-edit-panel {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    margin: 0.5rem 0;
    padding: 0.75rem;
}

.app-row-card {
    align-items: center;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(120px, 0.8fr)) auto;
    padding: 0.7rem;
}

.app-row-card--warning {
    background: color-mix(in srgb, var(--app-warning) 14%, var(--app-surface));
}

.app-alert {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
    font-weight: 700;
    padding: 0.65rem 0.8rem;
}

.app-alert--success {
    background: color-mix(in srgb, var(--app-success) 14%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-success) 34%, var(--app-border));
    color: color-mix(in srgb, var(--app-success) 45%, var(--app-text));
}

.app-alert--danger {
    background: color-mix(in srgb, var(--app-danger) 12%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-danger) 34%, var(--app-border));
    color: color-mix(in srgb, var(--app-danger) 55%, var(--app-text));
}

.app-alert--warning {
    background: color-mix(in srgb, var(--app-warning) 16%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-warning) 38%, var(--app-border));
    color: color-mix(in srgb, var(--app-warning) 52%, var(--app-text));
}

.app-alert--info {
    background: color-mix(in srgb, var(--app-primary) 12%, var(--app-surface));
    border-color: color-mix(in srgb, var(--app-primary) 34%, var(--app-border));
    color: color-mix(in srgb, var(--app-primary) 58%, var(--app-text));
}

.app-auth-shell {
    align-items: center;
    display: grid;
    gap: 1rem;
    min-height: calc(100vh - 2rem);
    padding: 1rem;
}

.app-auth-card {
    background: color-mix(in srgb, var(--app-surface) 95%, transparent);
    border: 1px solid var(--app-border);
    border-radius: 18px;
    box-shadow: var(--app-shadow);
    margin: 0 auto;
    max-width: 540px;
    padding: 1.25rem;
    width: min(100%, 540px);
}

.app-auth-title {
    color: var(--app-primary-dark);
    font-size: clamp(2rem, 6vw, 3.2rem);
    font-weight: 800;
    margin: 0;
}

.login-scene,
.landing-shell,
.context-shell {
    background-color: var(--app-page);
}

.login-hero {
    background: linear-gradient(145deg, var(--app-primary-dark) 0%, var(--app-primary) 100%);
    border-color: color-mix(in srgb, var(--app-accent) 24%, transparent);
}

.login-card,
.login-aux-card,
.landing-panel,
.context-panel {
    background: color-mix(in srgb, var(--app-surface) 96%, transparent);
    border-color: var(--app-border);
    border-radius: 16px;
    box-shadow: var(--app-shadow);
    color: var(--app-text);
}

.login-card h2,
.landing-title,
.context-title {
    color: var(--app-primary-dark);
}

.login-aux-card,
.landing-subtitle,
.context-subtitle,
.landing-link-text,
.context-tool p {
    color: var(--app-text-muted);
}

.landing-link,
.context-tool,
.context-card {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
    box-shadow: var(--app-shadow-soft);
}

.landing-link-title,
.context-tool h2 {
    color: var(--app-text);
}

.landing-link.forms,
.landing-link.emr,
.landing-link.dashboard,
.landing-link.medications,
.landing-link.vascular-access,
.landing-link.information,
.landing-link.audit,
.landing-link.admin,
.landing-link.admin-report,
.landing-link.admin-observability,
.landing-link.admin-settings,
.context-tool.admin-observability,
.context-tool.admin-report {
    background: linear-gradient(135deg, color-mix(in srgb, var(--app-accent) 10%, var(--app-surface)) 0%, var(--app-surface) 100%);
    border-color: color-mix(in srgb, var(--app-accent) 25%, var(--app-border));
    box-shadow: var(--app-shadow-soft);
}

.admin-settings-shell,
.admin-event-shell,
.admin-catalog-shell,
.registration-card,
.two-factor-panel,
.two-factor-setup-shell,
.death-detail-shell,
.birth-detail-shell {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 14px;
    box-shadow: var(--app-shadow);
    color: var(--app-text);
}

.admin-action-card,
.admin-event-card {
    background: linear-gradient(180deg, var(--app-surface) 0%, var(--app-surface-muted) 100%);
    border-color: var(--app-border);
    min-height: 68px;
    padding: 0.8rem 0.9rem;
}

.admin-action-card:hover,
.admin-event-card:hover {
    border-color: color-mix(in srgb, var(--app-accent) 30%, var(--app-border));
    box-shadow: var(--app-shadow);
}

.admin-action-title,
.admin-event-title,
.admin-catalog-shell h1,
.admin-settings-shell h1,
.admin-event-shell h1 {
    color: var(--app-primary-dark);
}

.admin-event-card .admin-event-title {
    margin-bottom: 0;
}

.admin-event-meta {
    margin-top: 0.55rem;
}

.admin-action-text,
.admin-event-text,
.admin-settings-shell > div,
.admin-event-shell > div {
    color: var(--app-text-muted);
}

.admin-catalog-table-wrap,
.admin-inline-editor {
    background: var(--app-surface);
    border-color: var(--app-border);
}

.admin-catalog-table thead th {
    background: var(--app-surface-muted);
    border-bottom-color: var(--app-border);
    color: var(--app-primary-dark);
}

.admin-catalog-table tbody td {
    border-color: var(--app-border);
    color: var(--app-text);
}

.admin-catalog-edit-row > td,
.admin-inline-editor[open] > summary {
    background: var(--app-surface-muted);
}

.admin-inline-editor > summary,
.admin-editor-grid label {
    color: var(--app-primary-dark);
}

.explorer-section {
    background: var(--app-surface);
    border-color: var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: var(--app-shadow-soft);
}

.explorer-section-label,
.explorer-logic-badge {
    color: var(--app-text-muted);
}

.explorer-logic-select,
.explorer-field-select,
.explorer-op-select,
.explorer-val-input {
    background: var(--app-surface);
    border-color: var(--app-border);
    border-radius: var(--app-radius-sm);
    color: var(--app-text);
}

.explorer-add-btn {
    background: var(--app-surface-muted);
    border-color: color-mix(in srgb, var(--app-accent) 35%, var(--app-border));
    color: var(--app-primary-dark);
}

.dash-section,
.dash-stat-card {
    background: var(--app-surface);
    border-color: var(--app-border);
}

.dash-section-title,
.dash-stat-label,
.dash-summary-label {
    color: var(--app-text-muted);
}

.dash-stat-value,
.dash-summary-names {
    color: var(--app-text);
}

.dash-bar-track {
    background: var(--app-surface-muted);
}

.app-modal-backdrop {
    align-items: center;
    background: rgba(15, 23, 42, 0.45);
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 9999;
}

.app-modal-backdrop--open {
    display: flex;
}

.app-modal-dialog {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
    max-width: 480px;
    padding: 1.5rem;
    width: 100%;
}

.app-realtime-refresh-notice {
    background: color-mix(in srgb, var(--app-success) 18%, var(--app-surface));
    border: 1px solid color-mix(in srgb, var(--app-success) 36%, var(--app-border));
    border-radius: 999px;
    bottom: 1rem;
    box-shadow: var(--app-shadow);
    color: color-mix(in srgb, var(--app-success) 45%, var(--app-text));
    font-weight: 900;
    left: 50%;
    padding: 0.55rem 0.95rem;
    position: fixed;
    transform: translateX(-50%);
    z-index: 9998;
}

.app-modal-title {
    color: var(--app-primary-dark);
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.app-modal-message {
    color: var(--app-text-muted);
    font-size: 0.95rem;
    margin-bottom: 1.25rem;
}

.app-modal-input-wrap {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 1rem;
}

.app-modal-input-error {
    color: var(--app-danger);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
}

.app-modal-actions {
    display: grid;
    gap: 0.6rem;
}

.app-topbar {
    background: var(--app-primary);
    box-shadow: 0 2px 8px rgba(12, 45, 74, 0.18);
}

.app-topbar-brand-name,
.app-topbar-btn:hover {
    color: #ffffff;
}

.app-topbar-brand-sub {
    color: color-mix(in srgb, #ffffff 68%, var(--app-accent));
}

.app-topbar-btn--primary {
    background: var(--app-accent);
    border-color: var(--app-accent);
}

.patient-footer {
    background: var(--app-surface);
    border-color: var(--app-border);
    color: var(--app-text-muted);
}

.patient-header-card,
.patient-section-card,
.visit-card,
.patient-toolbar,
.patient-topbar,
.patient-card {
    background: var(--app-surface);
    border-color: var(--app-border);
}

.patient-info-card,
.patient-summary-card,
.visit-info-card,
.visit-description-card,
.visit-status-chip,
.patient-hero-item {
    background: var(--app-surface-muted);
}

.patient-title,
.patient-section-title,
.patient-topbar-title,
.patient-card-header,
.patient-hero-title h1,
.visit-card-header,
.visit-list-title {
    color: var(--app-primary-dark);
}

.patient-info-label,
.patient-summary-label,
.patient-topbar-subtitle,
.visit-info-label,
.visit-description-label,
.visit-list-meta,
.visit-empty {
    color: var(--app-text-muted);
}

.visit-info-value,
.visit-description-value,
.visit-list-item,
.visit-list,
.patient-info-value,
.patient-summary-value,
.patient-chip,
.patient-badge {
    color: var(--app-text);
}

.patient-btn,
.patient-back {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
    color: var(--app-primary-dark);
}

.patient-btn--primary {
    background: var(--app-accent);
    border-color: var(--app-accent);
    color: #ffffff;
}

@media (max-width: 980px) {
    .app-grid--two,
    .app-grid--three {
        grid-template-columns: 1fr;
    }

    .app-row-card {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .app-main {
        width: min(100%, 100vw);
        padding: 0.65rem;
    }

    .app-row-card {
        grid-template-columns: 1fr;
    }

    .app-card,
    .section,
    .admin-action-card,
    .owner-card {
        padding: 0.75rem;
    }
}

/* Bootstrap operations console layer */
:root,
[data-bs-theme="dark"] {
    --app-page: #02050a;
    --app-page-2: #060a12;
    --app-surface: #0b111a;
    --app-surface-muted: #111a26;
    --app-surface-strong: #172233;
    --app-border: #223044;
    --app-border-soft: rgba(148, 163, 184, .16);
    --app-text: #f4f7fb;
    --app-text-muted: #98a7bb;
    --app-text-soft: #c7d2e1;
    --app-primary: #4f8ff7;
    --app-primary-2: #27c6a6;
    --app-success: #38c986;
    --app-warning: #f5b23b;
    --app-danger: #ef5350;
    --app-info: #32b4e8;
    --app-sidebar-width: 268px;
    --app-sidebar-collapsed-width: 72px;
    --app-sidebar-current-width: var(--app-sidebar-width);
    --app-radius: 12px;
    --app-radius-sm: 8px;
    --app-shadow: 0 24px 70px rgba(0, 0, 0, .36);
    --app-shadow-soft: 0 18px 42px rgba(0, 0, 0, .26);
    --bs-body-bg: var(--app-page);
    --bs-body-color: var(--app-text);
    --bs-primary: var(--app-primary);
    --bs-border-color: var(--app-border);
    --bs-border-radius: var(--app-radius-sm);
    --bs-link-color: var(--app-primary);
    --bs-link-hover-color: color-mix(in srgb, var(--app-primary) 80%, #ffffff);
}

[data-bs-theme="light"] {
    --app-page: #edf3f8;
    --app-page-2: #f8fbfd;
    --app-surface: #ffffff;
    --app-surface-muted: #f2f6fb;
    --app-surface-strong: #e8eef6;
    --app-border: #d5dfeb;
    --app-border-soft: rgba(31, 45, 58, .12);
    --app-text: #132032;
    --app-text-muted: #5d6d80;
    --app-text-soft: #334155;
    --app-primary: #2563eb;
    --app-primary-2: #07876f;
    --app-success: #168657;
    --app-warning: #a96500;
    --app-danger: #c83232;
    --app-info: #0b7fb2;
    --app-shadow: 0 18px 46px rgba(31, 45, 58, .12);
    --app-shadow-soft: 0 10px 24px rgba(31, 45, 58, .08);
    --bs-body-bg: var(--app-page);
    --bs-body-color: var(--app-text);
}

html {
    background: var(--app-page);
}

html.app-sidebar-prefers-collapsed {
    --app-sidebar-current-width: var(--app-sidebar-collapsed-width);
}

body.linces-app {
    min-height: 100vh;
    margin: 0;
    background: var(--app-page);
    color: var(--app-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
    overflow-x: hidden;
}

body.linces-app:not(.linces-app--auth)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-page-2) 70%, transparent) 0%, var(--app-page) 42%),
        linear-gradient(110deg, color-mix(in srgb, var(--app-primary) 10%, transparent) 0%, transparent 42%),
        linear-gradient(290deg, color-mix(in srgb, var(--app-primary-2) 8%, transparent) 0%, transparent 44%);
}

.app-icon-sprite {
    display: none;
}

.app-icon {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.app-shell {
    display: grid;
    grid-template-columns: var(--app-sidebar-current-width) minmax(0, 1fr);
    min-height: 100vh;
    background: transparent;
    transition: grid-template-columns .18s ease;
}

body.app-sidebar-collapsed {
    --app-sidebar-current-width: var(--app-sidebar-collapsed-width);
}

.app-sidebar {
    position: sticky;
    top: 0;
    z-index: 1040;
    width: var(--app-sidebar-current-width);
    height: 100vh;
    flex-direction: column;
    border-right: 1px solid var(--app-border);
    background: color-mix(in srgb, #03060b 94%, var(--app-surface));
    overflow: hidden;
    overflow-x: hidden;
    transition: width .18s ease, box-shadow .18s ease;
}

.app-sidebar * {
    min-width: 0;
}

[data-bs-theme="light"] .app-sidebar {
    background: #ffffff;
}

body.app-sidebar-collapsed .app-sidebar {
    width: var(--app-sidebar-collapsed-width);
}

.app-sidebar-brand {
    min-height: 78px;
    display: flex;
    align-items: center;
    padding: .78rem .78rem;
    border-bottom: 1px solid var(--app-border);
}

.app-brand-lockup {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
    color: var(--app-text);
    text-decoration: none;
}

.app-brand-mark {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 74%, #ffffff));
    color: #04101f;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--app-primary) 24%, transparent);
}

.app-brand-mark--logo {
    overflow: hidden;
    background: color-mix(in srgb, var(--app-surface) 86%, #ffffff);
    color: var(--app-text);
}

.app-brand-logo {
    display: block;
    width: 78%;
    height: 78%;
    object-fit: contain;
}

.app-sidebar-version {
    color: color-mix(in srgb, var(--app-primary) 70%, var(--app-text-muted)) !important;
    font-size: .7rem !important;
    font-weight: 850;
}

.app-brand-lockup strong,
.app-sidebar-user strong,
.app-mobile-user strong {
    display: block;
    color: var(--app-text);
    font-weight: 850;
    line-height: 1.1;
}

.app-brand-lockup small,
.app-sidebar-user span,
.app-sidebar-user small,
.app-mobile-user span,
.app-mobile-user small {
    display: block;
    color: var(--app-text-muted);
    font-size: .78rem;
    line-height: 1.25;
}

.app-sidebar-nav {
    display: grid;
    gap: .28rem;
    padding: .95rem .75rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.app-sidebar-link {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    min-height: 44px;
    width: 100%;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--app-text-soft);
    font-weight: 750;
    line-height: 1.1;
    padding: .3rem .55rem;
    text-align: left;
    text-decoration: none;
}

.app-sidebar-link:hover,
.app-sidebar-link:focus {
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text);
}

.app-sidebar-link.is-active {
    background: color-mix(in srgb, var(--app-primary) 14%, var(--app-surface-muted));
    color: var(--app-primary);
}

.app-sidebar-link-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: currentColor;
}

.app-sidebar-link.is-active .app-sidebar-link-icon {
    background: color-mix(in srgb, var(--app-primary) 16%, transparent);
}

.app-sidebar-text {
    min-width: 0;
    opacity: 1;
    white-space: nowrap;
    transition: opacity .14s ease, width .14s ease;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-link {
    grid-template-columns: 40px;
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand {
    justify-content: center;
    padding-inline: .65rem;
}

body.app-sidebar-collapsed .app-sidebar .app-brand-lockup {
    justify-content: center;
    gap: 0;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-text,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-badge {
    display: none !important;
}

.app-sidebar-footer {
    display: grid;
    gap: .35rem;
    margin-top: auto;
    padding: .9rem .75rem 1rem;
    border-top: 1px solid var(--app-border);
    overflow-x: hidden;
}

.app-sidebar-user,
.app-mobile-user {
    border: 1px solid var(--app-border-soft);
    border-radius: 12px;
    background: color-mix(in srgb, var(--app-surface-muted) 84%, transparent);
    color: var(--app-text);
    padding: .8rem;
    text-decoration: none;
}

.app-sidebar-user {
    border-radius: 10px;
    padding: .55rem .6rem;
}

.app-sidebar-user span,
.app-sidebar-user small {
    font-size: .68rem;
    line-height: 1.12;
}

.app-sidebar-user strong {
    margin-top: .08rem;
    font-size: .82rem;
    line-height: 1.08;
}

.app-sidebar-user:hover,
.app-sidebar-user:focus,
.app-mobile-user:hover,
.app-mobile-user:focus {
    border-color: color-mix(in srgb, var(--app-primary) 44%, var(--app-border));
    color: var(--app-text);
}

.app-sidebar-collapse {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    min-height: 40px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--app-text-muted);
    font-weight: 750;
    padding: .25rem .55rem;
}

.app-sidebar-collapse:hover,
.app-sidebar-collapse:focus {
    background: var(--app-surface-muted);
    color: var(--app-text);
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse {
    grid-template-columns: 40px;
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse .app-icon {
    transform: rotate(180deg);
}

.app-workspace {
    display: flex;
    min-width: 0;
    min-height: 100vh;
    flex-direction: column;
}

.app-commandbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    border-bottom: 1px solid var(--app-border);
    background: color-mix(in srgb, var(--app-page) 88%, transparent);
    backdrop-filter: blur(18px);
}

.app-commandbar-main {
    display: grid;
    grid-template-columns: auto minmax(170px, .65fr) minmax(180px, .8fr) minmax(300px, 1fr) auto;
    gap: .75rem;
    align-items: center;
    min-height: 72px;
    padding: .72rem 1.25rem;
}

.app-commandbar-status,
.app-commandbar-title,
.app-clock-strip,
.app-commandbar-actions,
.app-alert-stack {
    display: flex;
    min-width: 0;
    align-items: center;
}

.app-commandbar-status,
.app-clock-strip,
.app-commandbar-actions,
.app-alert-stack {
    flex-wrap: wrap;
    gap: .45rem;
}

.app-commandbar-title {
    gap: .55rem;
}

.app-commandbar-title h1 {
    margin: 0;
    color: var(--app-text);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
}

.app-commandbar-title p {
    margin: .12rem 0 0;
    color: var(--app-text-muted);
    font-size: .77rem;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-status-pill,
.app-context-pill,
.app-clock {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 30px;
    max-width: 100%;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text-soft);
    font-size: .76rem;
    font-weight: 780;
    line-height: 1;
    padding: .25rem .62rem;
    white-space: nowrap;
}

.app-context-pill {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-status-pill--active {
    border-color: color-mix(in srgb, var(--app-success) 38%, var(--app-border));
    background: color-mix(in srgb, var(--app-success) 14%, var(--app-surface-muted));
    color: var(--app-text);
}

.app-status-pill--danger {
    border-color: color-mix(in srgb, var(--app-danger) 42%, var(--app-border));
    background: color-mix(in srgb, var(--app-danger) 14%, var(--app-surface-muted));
}

.app-status-dot {
    width: .56rem;
    height: .56rem;
    border-radius: 999px;
    background: var(--app-success);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--app-success) 15%, transparent);
}

.app-status-pill--danger .app-status-dot {
    background: var(--app-danger);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--app-danger) 15%, transparent);
}

.app-clock-strip {
    justify-content: flex-end;
}

.app-clock {
    background: transparent;
    font-variant-numeric: tabular-nums;
}

.app-clock strong {
    color: var(--app-text);
    font-size: .68rem;
    text-transform: uppercase;
}

.app-commandbar-actions {
    justify-content: flex-end;
}

.app-icon-button,
.app-user-button {
    display: inline-grid;
    width: 42px;
    height: 42px;
    min-height: 42px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--app-text-soft);
}

.app-icon-button:hover,
.app-icon-button:focus {
    border-color: var(--app-border);
    background: var(--app-surface-muted);
    color: var(--app-text);
}

.app-user-button {
    border-color: color-mix(in srgb, var(--app-primary) 45%, var(--app-border));
    background: var(--app-primary);
    color: #04101f;
}

.app-back-link {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-surface-muted);
    color: var(--app-text);
    font-size: .78rem;
    font-weight: 800;
    padding: .25rem .65rem;
    text-decoration: none;
}

.app-topbar-btn {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px solid var(--app-border) !important;
    border-radius: 10px !important;
    background: var(--app-surface-muted) !important;
    color: var(--app-text) !important;
    font-size: .84rem;
    font-weight: 800;
    padding: .45rem .72rem;
    text-decoration: none;
}

.app-topbar-btn:hover,
.app-topbar-btn:focus {
    border-color: color-mix(in srgb, var(--app-primary) 48%, var(--app-border)) !important;
    color: var(--app-text) !important;
}

.app-topbar-btn--primary,
.app-topbar-btn--patients {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: #04101f !important;
}

.app-topbar-btn--closed {
    border-color: color-mix(in srgb, var(--app-warning) 48%, var(--app-border)) !important;
    background: color-mix(in srgb, var(--app-warning) 14%, var(--app-surface-muted)) !important;
}

.app-alert-stack {
    padding: 0 1.25rem .72rem;
}

.app-header-warning {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-surface-muted);
    color: var(--app-text-soft);
    font-size: .73rem;
    font-weight: 800;
    padding: .22rem .62rem;
}

.app-header-warning-critical {
    border-color: color-mix(in srgb, var(--app-danger) 48%, var(--app-border));
    background: color-mix(in srgb, var(--app-danger) 16%, var(--app-surface-muted));
    color: var(--app-text);
}

.app-header-warning-info {
    border-color: color-mix(in srgb, var(--app-info) 42%, var(--app-border));
    background: color-mix(in srgb, var(--app-info) 12%, var(--app-surface-muted));
    text-decoration: none;
}

.app-header-version {
    margin-left: auto;
    color: var(--app-text-muted);
}

.app-user-menu,
.dropdown-menu.app-user-menu {
    --bs-dropdown-bg: var(--app-surface);
    --bs-dropdown-color: var(--app-text);
    --bs-dropdown-border-color: var(--app-border);
    --bs-dropdown-link-color: var(--app-text-soft);
    --bs-dropdown-link-hover-bg: var(--app-surface-muted);
    --bs-dropdown-link-hover-color: var(--app-text);
    min-width: 230px;
    border-radius: 12px;
    box-shadow: var(--app-shadow-soft);
}

.app-main {
    width: 100%;
    max-width: none;
    margin: 0;
    flex: 1 1 auto;
    padding: 1.45rem;
    background: transparent;
}

.app-main--auth {
    min-height: 100vh;
    padding: 0;
}

.app-page,
.app-stack {
    gap: .85rem;
}

.app-card,
.section,
.admin-action-card,
.owner-card,
.catalog-card,
.dash-section,
.patient-card,
.app-filter-panel,
.app-table-card,
.app-record-card,
.app-collapsible,
.app-inline-form-panel,
.visit-edit-section,
.visit-form-panel {
    border: 1px solid var(--app-border) !important;
    border-radius: var(--app-radius) !important;
    background: color-mix(in srgb, var(--app-surface) 94%, transparent) !important;
    box-shadow: none !important;
    color: var(--app-text);
}

.app-card--muted,
.app-field-card,
.app-metric,
.visit-form-panel,
.app-inline-form-panel {
    background: color-mix(in srgb, var(--app-surface-muted) 92%, transparent) !important;
}

.app-section-title,
.app-card-title,
.section h2,
.section h3,
.section h4,
.app-page-title {
    color: var(--app-text) !important;
    font-weight: 850;
}

.app-muted,
.app-page-subtitle,
.app-field-label,
.app-form-label,
.app-table-label {
    color: var(--app-text-muted) !important;
}

.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.btn-toggle),
select,
textarea {
    min-height: 40px;
    border-color: var(--app-border) !important;
    border-radius: 9px !important;
    background-color: color-mix(in srgb, var(--app-surface-muted) 88%, transparent) !important;
    color: var(--app-text) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: color-mix(in srgb, var(--app-primary) 62%, var(--app-border)) !important;
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--app-primary) 18%, transparent) !important;
}

.btn,
.app-btn,
.app-filter-btn,
.app-action-btn,
.patient-btn,
.patient-back {
    min-height: 40px;
    border-radius: 10px !important;
    font-weight: 780;
}

.btn-primary,
.app-btn--primary,
.app-topbar-btn--primary,
.app-action-btn--patient {
    border-color: var(--app-primary) !important;
    background: var(--app-primary) !important;
    color: #04101f !important;
    box-shadow: 0 14px 26px color-mix(in srgb, var(--app-primary) 18%, transparent);
}

.btn-outline-secondary,
.btn-outline-primary,
.app-btn--secondary,
.patient-btn,
.patient-back {
    border: 1px solid var(--app-border) !important;
    background: var(--app-surface-muted) !important;
    color: var(--app-text) !important;
}

.table,
.app-clean-table,
.app-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    color: var(--app-text);
}

.table thead th,
.app-clean-table thead th,
.app-table thead th {
    background: var(--app-surface-muted) !important;
    color: var(--app-text-soft) !important;
    font-size: .76rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.table > :not(caption) > * > *,
.app-clean-table th,
.app-clean-table td,
.app-table th,
.app-table td {
    border-color: var(--app-border) !important;
    padding: .7rem;
}

.app-mobile-nav {
    --bs-offcanvas-width: min(88vw, 340px);
    --bs-offcanvas-bg: var(--app-page);
    --bs-offcanvas-color: var(--app-text);
    border-right: 1px solid var(--app-border);
}

.app-mobile-nav .offcanvas-header {
    min-height: 102px;
    border-bottom: 1px solid var(--app-border);
}

.app-mobile-nav .offcanvas-body {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: .8rem;
}

[data-bs-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

@media (max-width: 1280px) {
    .app-commandbar-main {
        grid-template-columns: auto minmax(170px, 1fr) auto;
    }

    .app-commandbar-title,
    .app-clock-strip {
        grid-column: 2 / -1;
        justify-content: flex-start;
    }

    .app-commandbar-actions {
        grid-column: 3;
        grid-row: 1;
    }
}

@media (max-width: 991.98px) {
    .app-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-commandbar-main {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: .7rem .9rem;
    }

    .app-commandbar-status,
    .app-commandbar-title,
    .app-clock-strip {
        grid-column: 1 / -1;
    }

    .app-commandbar-actions {
        grid-column: 3;
        grid-row: 1;
    }

    .app-alert-stack {
        padding-inline: .9rem;
    }
}

@media (max-width: 640px) {
    .app-main {
        padding: .9rem .72rem 1.25rem;
    }

    .app-clock-strip {
        justify-content: flex-start;
    }

    .app-clock,
    .app-status-pill,
    .app-context-pill {
        white-space: normal;
    }

    .app-header-warning {
        white-space: normal;
    }

    .app-header-version {
        margin-left: 0;
    }
}

/* Final operations polish: app-native backgrounds, dense records, and dark-safe legacy surfaces. */
body.linces-app:not(.linces-app--auth)::before {
    background:
        radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--app-primary) 16%, transparent) 0, transparent 26%),
        radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--app-primary-2) 13%, transparent) 0, transparent 26%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-page-2) 72%, transparent) 0%, var(--app-page) 42%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--app-border) 18%, transparent) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--app-border) 12%, transparent) 0 1px, transparent 1px 96px);
}

[data-bs-theme="light"] body.linces-app:not(.linces-app--auth)::before {
    background:
        radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--app-primary) 10%, transparent) 0, transparent 30%),
        radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--app-primary-2) 10%, transparent) 0, transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, var(--app-page) 48%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--app-border) 42%, transparent) 0 1px, transparent 1px 108px),
        repeating-linear-gradient(0deg, color-mix(in srgb, var(--app-border) 32%, transparent) 0 1px, transparent 1px 108px);
}

.patients-index-page,
.daily-report-shell {
    width: min(100%, 1320px);
    margin-inline: auto;
}

.patient-priority-board {
    display: grid;
    gap: .55rem;
    border: 1px solid color-mix(in srgb, var(--app-border) 84%, var(--app-primary) 8%);
    border-radius: 14px;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 10%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 56%, transparent));
    padding: .75rem;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent);
}

.patient-priority-board__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.patient-priority-board__head h2 {
    margin: 0;
    color: var(--app-text);
    font-size: .95rem;
    font-weight: 900;
}

.patient-priority-board__head span {
    color: var(--app-text-muted);
    font-size: .8rem;
    font-weight: 760;
}

.patient-priority-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: .48rem;
}

.patient-priority-card {
    --priority-accent: var(--app-primary);
    min-height: 48px;
    border: 1px solid color-mix(in srgb, var(--priority-accent) 36%, var(--app-border));
    border-radius: 11px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--priority-accent) 11%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 68%, transparent));
    color: var(--app-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .5rem .62rem;
    cursor: pointer;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent);
}

.patient-priority-card--all {
    --priority-accent: #94a3b8;
}

.patient-priority-card span {
    color: var(--app-text-soft);
    font-weight: 840;
}

.patient-priority-card strong {
    color: var(--app-text);
    font-size: 1.15rem;
    font-weight: 930;
}

.patient-priority-card.is-selected,
.patient-priority-card:hover,
.patient-priority-card:focus {
    border-color: color-mix(in srgb, var(--priority-accent) 72%, #ffffff);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--priority-accent) 22%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
}

.icon-filter-strip {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .15rem 0 .8rem;
}

.icon-filter-control,
.icon-filter-button {
    border: 1px solid var(--app-border);
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text);
    border-radius: 999px;
    cursor: pointer;
}

.icon-filter-control {
    padding: .28rem .62rem;
}

.icon-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: .3rem .52rem;
}

.icon-filter-button:hover,
.icon-filter-button:focus,
.icon-filter-control:hover,
.icon-filter-control:focus {
    border-color: color-mix(in srgb, var(--app-primary) 48%, var(--app-border));
}

.icon-filter-button.is-selected {
    border-color: color-mix(in srgb, var(--app-primary) 76%, #ffffff);
    background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary-2) 32%, var(--app-primary)));
    color: #06101d;
}

.no-active-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) minmax(170px, .75fr) minmax(220px, .85fr) auto auto;
    gap: .45rem;
    align-items: end;
    margin: .5rem 0;
}

.no-active-filter-grid > * {
    min-width: 0;
}

.no-active-filter-grid .app-filter-btn,
.no-active-filter-grid .icon-filter-control {
    align-self: stretch;
    justify-self: start;
    white-space: nowrap;
}

.no-active-filter-label-toggle {
    border-radius: 10px;
    padding-inline: .78rem;
}

.app-compact-table-controls {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .55rem;
    flex-wrap: wrap;
    margin-bottom: .45rem;
}

.app-compact-control {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .42rem;
    flex-wrap: nowrap;
}

.app-compact-control label {
    flex: 0 0 auto;
    margin: 0;
    color: var(--app-text-muted);
    font-size: .9rem;
    line-height: 1;
    overflow-wrap: normal;
    white-space: nowrap;
}

.app-compact-control select,
.app-compact-select {
    flex: 0 1 auto;
    width: auto;
    min-width: 5.6rem;
    max-width: 100%;
    padding: .35rem .52rem;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background-color: color-mix(in srgb, var(--app-surface-muted) 78%, transparent);
    color: var(--app-text);
}

.app-compact-control--sort {
    flex: 0 1 auto;
    justify-content: flex-start;
}

.app-compact-select--count {
    min-width: 5.8rem;
}

.app-compact-select--sort {
    min-width: 13rem;
}

.app-compact-select--direction {
    min-width: 9.2rem;
}

.app-compact-pagination {
    min-width: 0;
    display: flex;
    flex: 0 1 auto;
    justify-content: flex-end;
    margin-left: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.app-compact-pagination--bottom {
    justify-content: flex-start;
    margin-top: 1rem;
}

.app-pagination-window {
    min-width: 0;
    max-width: 100%;
}

.app-pagination-window > nav {
    min-width: 0;
}

.app-pagination-window--compact {
    display: none;
}

.app-compact-pagination .d-sm-flex {
    gap: .65rem;
}

.app-compact-pagination .flex-sm-fill {
    flex: 0 1 auto !important;
}

.app-compact-pagination .justify-content-sm-between {
    justify-content: flex-start !important;
}

.app-compact-pagination .small {
    margin: 0;
    white-space: nowrap;
}

.app-compact-pagination .pagination {
    flex-wrap: nowrap;
    margin-bottom: 0;
}

.app-pagination-exact {
    align-items: center;
    display: flex;
    gap: .55rem;
    min-width: 0;
    width: max-content;
}

.app-pagination-exact-summary {
    color: var(--app-text-muted);
    font-size: .9rem;
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
}

.app-pagination-exact-list {
    width: max-content;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .22rem;
    max-width: 100%;
    margin-bottom: 0;
}

.page-item {
    min-width: 0;
}

.page-link {
    display: inline-flex;
    min-width: 2.15rem;
    min-height: 2.15rem;
    align-items: center;
    justify-content: center;
    line-height: 1;
    overflow-wrap: normal;
    padding: .38rem .56rem;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .pagination {
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
        scrollbar-width: thin;
    }

    .app-compact-table-controls {
        justify-content: flex-start;
    }

    .app-compact-control--sort {
        justify-content: flex-start;
    }

    .app-compact-pagination {
        flex: 1 1 100%;
        justify-content: flex-start;
        margin-left: 0;
        max-width: 100%;
    }

    .app-pagination-window--desktop {
        display: none;
    }

    .app-pagination-window--compact {
        display: block;
    }

    .app-pagination-window--compact nav > .d-sm-none {
        display: none !important;
    }

    .app-pagination-window--compact nav > .d-none.d-sm-flex {
        display: flex !important;
    }

    .app-pagination-window--compact .d-sm-flex {
        align-items: center;
        gap: .55rem;
        justify-content: flex-start !important;
        width: max-content;
    }

    .app-pagination-window--compact .pagination {
        width: max-content;
    }

    .app-pagination-exact {
        max-width: 100%;
    }

}

@media (max-width: 640px) {
    .app-compact-table-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .app-compact-control {
        width: 100%;
    }

    .app-compact-control--sort {
        display: grid;
        grid-template-columns: auto minmax(8.5rem, 1fr) minmax(8.5rem, max-content);
        gap: .42rem;
    }

    .app-compact-select--sort,
    .app-compact-select--direction {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 1120px) {
    .no-active-filter-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
    }
}

[data-bs-theme="dark"] .patients-index-page [style*="color:#334e68"],
[data-bs-theme="dark"] .patients-index-page [style*="color:#666"],
[data-bs-theme="dark"] .patients-index-page [style*="color:#777"],
[data-bs-theme="dark"] .patients-index-page [style*="color:#888"],
[data-bs-theme="dark"] .patients-index-page [style*="background:#fff"] {
    color: var(--app-text-muted) !important;
}

[data-bs-theme="dark"] .patients-index-page [style*="background:#fff"] {
    background: color-mix(in srgb, var(--app-surface-muted) 88%, transparent) !important;
}

.daily-report-card {
    width: 100%;
}

.daily-report-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.daily-report-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    align-items: end;
}

.daily-report-grid--form {
    gap: .7rem;
}

.daily-report-panel,
.daily-report-section,
.daily-report-evidence-card {
    border: 1px solid color-mix(in srgb, var(--app-border) 86%, var(--app-primary) 8%);
    border-radius: 12px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface-muted) 86%, transparent), color-mix(in srgb, var(--app-surface) 86%, transparent));
    color: var(--app-text);
    padding: .8rem .9rem;
}

.daily-report-panel--full,
.daily-report-section,
.daily-report-full,
.daily-report-actions {
    grid-column: 1 / -1;
}

.daily-report-panel h3,
.daily-report-section h3 {
    margin: 0 0 .5rem;
    color: var(--app-text);
    font-size: 1rem;
    font-weight: 900;
}

.daily-report-note {
    margin: 0 0 .55rem;
    color: var(--app-text-muted);
    font-size: .9rem;
}

.daily-report-facts,
.daily-report-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .45rem .8rem;
}

.daily-report-facts > div,
.daily-report-checkbox {
    min-width: 0;
    border: 1px solid var(--app-border-soft);
    border-radius: 9px;
    background: color-mix(in srgb, var(--app-surface-muted) 66%, transparent);
    padding: .45rem .55rem;
}

.daily-report-checkbox {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0;
}

.daily-report-checkbox.is-readonly {
    opacity: .76;
}

.daily-report-actions {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    margin-top: .35rem;
}

.admin-event-card {
    min-height: 88px;
    text-decoration: none;
}

.admin-event-card:hover,
.admin-event-card:focus {
    border-color: color-mix(in srgb, var(--app-primary) 42%, var(--app-border)) !important;
    transform: translateY(-1px);
}

.admin-event-title {
    color: var(--app-text) !important;
    font-size: 1rem !important;
}

.event-clock-settings {
    display: grid;
    gap: .65rem;
    border: 1px solid color-mix(in srgb, var(--app-border) 86%, var(--app-info) 8%);
    border-radius: 12px;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-info) 8%, transparent), transparent 34%),
        color-mix(in srgb, var(--app-surface-muted) 72%, transparent);
    padding: .75rem;
}

.event-clock-settings__head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.event-clock-settings__head h3 {
    margin: 0;
    color: var(--app-text);
    font-size: 1rem;
    font-weight: 900;
}

.event-clock-settings__head p {
    margin: 0;
    color: var(--app-text-muted);
    font-size: .85rem;
}

.event-clock-settings__grid {
    display: grid;
    gap: .5rem;
}

.event-clock-row {
    display: grid;
    grid-template-columns: minmax(140px, .45fr) minmax(220px, 1fr);
    gap: .5rem;
    align-items: end;
    border: 1px solid var(--app-border-soft);
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface) 68%, transparent);
    padding: .55rem;
}

@media (max-width: 700px) {
    .event-clock-row {
        grid-template-columns: 1fr;
    }
}

.ops-priority-compact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
    gap: .45rem;
}

.ops-priority-tile {
    --ops-accent: var(--app-primary);
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    min-height: 58px;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 32%, var(--app-border));
    border-radius: 11px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--ops-accent) 11%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
    color: var(--app-text);
    padding: .55rem .65rem .75rem;
    text-decoration: none;
}

.ops-priority-tile span {
    color: var(--app-text-soft);
    font-size: .86rem;
    font-weight: 850;
}

.ops-priority-tile strong {
    color: var(--app-text);
    font-size: 1.15rem;
    font-weight: 930;
}

.ops-priority-tile i {
    position: absolute;
    left: .65rem;
    right: .65rem;
    bottom: .42rem;
    height: .25rem;
    max-width: calc(100% - 1.3rem);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ops-accent), color-mix(in srgb, var(--ops-accent) 42%, transparent));
}

.ops-flow-line-chart {
    min-height: 230px;
}

.ops-flow-line-chart svg {
    display: block;
    width: 100%;
    min-height: 210px;
    overflow: visible;
}

.ops-flow-grid-line {
    stroke: color-mix(in srgb, var(--app-border) 70%, transparent);
    stroke-width: 1;
    stroke-dasharray: 5 8;
}

.ops-flow-area {
    pointer-events: none;
}

.ops-flow-area--registered {
    fill: url(#ops-flow-registered-fill);
}

.ops-flow-area--closed {
    fill: url(#ops-flow-closed-fill);
}

.ops-flow-line {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 4;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .28));
}

.ops-flow-line--registered {
    stroke: url(#ops-flow-registered-stroke);
}

.ops-flow-line--closed {
    stroke: url(#ops-flow-closed-stroke);
}

.ops-flow-point-dot {
    stroke: var(--app-surface);
    stroke-width: 2;
    transition: r .12s ease;
}

.ops-flow-point:hover .ops-flow-point-dot {
    r: 6;
}

.ops-flow-point-dot--registered {
    fill: var(--app-success);
}

.ops-flow-point-dot--closed {
    fill: var(--app-primary);
}

.ops-flow-point text {
    fill: var(--app-text-muted);
    font-size: 13px;
    font-weight: 760;
}

.ops-board-grid--three .ops-panel {
    align-content: start;
    min-height: 0;
}

.ops-panel .ops-list,
.ops-panel .ops-area-grid {
    align-content: start;
}

.ops-list-row {
    position: relative;
    min-height: 58px;
}

.ops-list-row::before {
    content: "";
    width: .22rem;
    align-self: stretch;
    border-radius: 999px;
    background: color-mix(in srgb, var(--ops-row-accent, var(--app-primary)) 64%, transparent);
    grid-row: 1;
}

.ops-list-row {
    grid-template-columns: .22rem minmax(0, 1fr) auto;
}

.ops-list-row > span {
    min-width: 0;
}

.ops-panel--latest-info .ops-info-strip a {
    min-height: 78px;
    display: grid;
    align-content: center;
    gap: .18rem;
    border-color: color-mix(in srgb, var(--app-success) 32%, var(--app-border));
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-success) 12%, transparent), transparent 42%),
        color-mix(in srgb, var(--app-surface-muted) 72%, transparent);
}

@media (max-width: 960px) {
    .ops-priority-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Linces shell refinements: Bootstrap-powered, custom-drawn */
.app-shell-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    border-bottom: 1px solid var(--app-border);
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-page) 96%, transparent), color-mix(in srgb, var(--app-page) 86%, transparent));
    backdrop-filter: blur(18px);
}

.app-timebar {
    display: flex;
    min-height: 36px;
    align-items: center;
    gap: .75rem;
    justify-content: space-between;
    padding: .35rem 1.1rem;
    border-bottom: 1px solid var(--app-border-soft);
    color: var(--app-text-muted);
}

.app-timebar .app-clock-strip {
    justify-content: flex-start;
}

.app-topbar--shell {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-primary) 32%, #07101d), #101827 58%, color-mix(in srgb, var(--app-primary-2) 18%, #07101d));
    box-shadow: none;
}

[data-bs-theme="light"] .app-topbar--shell {
    background:
        linear-gradient(90deg, #173c5e, #244366 58%, #2d6f7a);
}

.app-topbar--shell .app-topbar-bar {
    min-height: 58px;
    padding: .45rem 1.1rem;
}

.app-topbar-icon {
    width: 42px;
    padding-inline: .45rem !important;
}

.app-topbar-context {
    display: grid;
    min-width: 140px;
    max-width: 300px;
    gap: .05rem;
    padding-left: .55rem;
    border-left: 1px solid rgba(255,255,255,.18);
    color: color-mix(in srgb, #ffffff 78%, var(--app-primary));
    line-height: 1.1;
}

.app-topbar-context span {
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.app-topbar-context strong {
    min-width: 0;
    overflow: hidden;
    color: #fff;
    font-size: .82rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-topbar--shell .app-topbar-btn,
.app-topbar--shell .app-topbar-back,
.app-header-user-button,
.app-header-btn {
    border-radius: 8px !important;
}

.app-topbar--shell .app-topbar-btn,
.app-topbar--shell .app-topbar-back {
    flex: 0 0 auto;
    max-width: none;
    overflow: visible;
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.07) !important;
    color: #edf6ff !important;
    box-shadow: none !important;
}

.app-topbar--shell .app-topbar-btn:hover,
.app-topbar--shell .app-topbar-btn:focus,
.app-topbar--shell .app-topbar-back:hover,
.app-topbar--shell .app-topbar-back:focus {
    border-color: rgba(255,255,255,.42) !important;
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
}

.app-topbar--shell .app-topbar-btn--dashboard {
    border-color: color-mix(in srgb, var(--app-primary) 72%, #ffffff) !important;
    background: color-mix(in srgb, var(--app-primary) 28%, transparent) !important;
}

.app-topbar--shell .app-topbar-brand-name {
    color: #fff !important;
}

.app-topbar--shell .app-topbar-brand-sub {
    max-width: clamp(180px, 28vw, 520px);
    color: rgba(237,246,255,.76) !important;
}

.app-topbar--shell .app-topbar-actions {
    flex: 0 1 auto;
    overflow-x: auto;
    scrollbar-width: thin;
}

@media (max-width: 1540px) {
    .app-topbar--shell .app-topbar-context {
        display: none;
    }
}

.app-header-user-menu {
    position: relative;
}

.app-header-user-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: .45rem;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    font-weight: 780;
    list-style: none;
    padding: .42rem .68rem;
}

.app-header-user-button::-webkit-details-marker {
    display: none;
}

.app-header-user-name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-header-user-name-initials {
    display: none;
    font-weight: 900;
}

.app-header-user-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + .5rem);
    z-index: 1055;
    display: grid;
    min-width: 250px;
    gap: .45rem;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
    color: var(--app-text);
    padding: .7rem;
}

.app-header-user-row {
    color: var(--app-text-muted);
    font-size: .84rem;
}

.app-header-user-row strong {
    color: var(--app-text);
}

.app-header-user-actions {
    display: flex;
    gap: .45rem;
    padding-top: .45rem;
    border-top: 1px solid var(--app-border);
}

.app-header-btn {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--app-border);
    background: var(--app-surface-muted);
    color: var(--app-text);
    font-weight: 780;
    padding: .35rem .6rem;
    text-decoration: none;
}

.app-header-btn:hover,
.app-header-btn:focus {
    border-color: color-mix(in srgb, var(--app-primary) 45%, var(--app-border));
    color: var(--app-text);
}

.app-clock {
    min-height: 26px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--app-text-muted);
    padding: .16rem .38rem;
}

.app-clock + .app-clock {
    border-left: 1px solid var(--app-border);
    border-radius: 0;
    padding-left: .72rem;
}

.app-clock strong {
    color: var(--app-text-soft);
    letter-spacing: .06em;
}

.app-notice-stack {
    display: grid;
    gap: .35rem;
    padding: .55rem 1.1rem .65rem;
    border-top: 1px solid rgba(255,255,255,.06);
    background: color-mix(in srgb, var(--app-page) 72%, transparent);
}

.app-notice {
    display: grid;
    grid-template-columns: minmax(140px, auto) minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    border: 1px solid var(--app-border);
    border-left-width: 4px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface) 84%, transparent);
    color: var(--app-text-soft);
    padding: .48rem .7rem;
    text-decoration: none;
}

.app-notice strong {
    color: var(--app-text);
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.app-notice span {
    color: var(--app-text-muted);
    font-size: .84rem;
}

.app-notice--critical {
    border-color: color-mix(in srgb, var(--app-danger) 52%, var(--app-border));
    border-left-color: #ff2d2d;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-danger) 24%, var(--app-surface)), color-mix(in srgb, var(--app-danger) 9%, var(--app-surface)));
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 9%, transparent);
}

.app-notice--critical strong {
    color: color-mix(in srgb, #ffffff 92%, var(--app-danger));
}

[data-bs-theme="light"] .app-notice--critical {
    background:
        linear-gradient(90deg, color-mix(in srgb, #dc2626 20%, #ffffff), color-mix(in srgb, #dc2626 7%, #ffffff));
}

[data-bs-theme="light"] .app-notice--critical strong {
    color: #8f1111;
}

.app-notice--warning {
    border-color: color-mix(in srgb, var(--app-warning) 54%, var(--app-border));
    border-left-color: #facc15;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-warning) 24%, var(--app-surface)), color-mix(in srgb, var(--app-warning) 9%, var(--app-surface)));
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 10%, transparent);
}

.app-notice--warning strong {
    color: color-mix(in srgb, #ffffff 90%, var(--app-warning));
}

[data-bs-theme="light"] .app-notice--warning {
    background:
        linear-gradient(90deg, color-mix(in srgb, #d97706 22%, #ffffff), color-mix(in srgb, #d97706 8%, #ffffff));
}

[data-bs-theme="light"] .app-notice--warning strong {
    color: #8a4b05;
}

.app-notice--info {
    border-color: color-mix(in srgb, var(--app-success) 54%, var(--app-border));
    border-left-color: #22c55e;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-success) 24%, var(--app-surface)), color-mix(in srgb, var(--app-success) 9%, var(--app-surface)));
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 10%, transparent);
}

.app-notice--info strong {
    color: color-mix(in srgb, #ffffff 90%, var(--app-success));
}

[data-bs-theme="light"] .app-notice--info {
    background:
        linear-gradient(90deg, color-mix(in srgb, #16a34a 20%, #ffffff), color-mix(in srgb, #16a34a 7%, #ffffff));
}

[data-bs-theme="light"] .app-notice--info strong {
    color: #116329;
}

.app-notice--info:hover,
.app-notice--info:focus {
    border-color: color-mix(in srgb, var(--app-success) 68%, var(--app-border));
    border-left-color: #22c55e;
    color: var(--app-text);
}

.app-sidebar {
    background:
        linear-gradient(180deg, color-mix(in srgb, #03060b 94%, var(--app-primary)), #050913 42%, #03060b);
}

[data-bs-theme="light"] .app-sidebar {
    background:
        linear-gradient(180deg, #ffffff, #f6f9fd 58%, #edf3f8);
}

.app-sidebar-context {
    display: grid;
    gap: .18rem;
    margin: .85rem .75rem 0;
    border: 1px solid var(--app-border-soft);
    border-radius: 12px;
    background: color-mix(in srgb, var(--app-surface-muted) 78%, transparent);
    padding: .72rem;
}

.app-sidebar-context span {
    color: var(--app-text-muted);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.app-sidebar-context strong {
    overflow: hidden;
    color: var(--app-text);
    font-size: .82rem;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-context,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-user {
    display: none;
}

.app-sidebar-collapse {
    cursor: pointer;
}

.app-sidebar-collapse .app-icon {
    transition: transform .16s ease;
}

.ops-dashboard {
    gap: 1rem;
}

.ops-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--app-border) 74%, var(--app-primary) 16%);
    border-radius: 16px;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 18%, transparent), transparent 35%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 70%, transparent));
    padding: 1rem;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent);
}

.ops-hero h1 {
    margin: .12rem 0 .15rem;
    color: var(--app-text);
    font-size: clamp(1.6rem, 3vw, 2.45rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.02;
}

.ops-hero p {
    margin: 0;
    color: var(--app-text-muted);
    font-size: .98rem;
}

.ops-kicker {
    color: var(--app-primary);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ops-hero-actions,
.ops-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}

.ops-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.ops-metric {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    border: 1px solid var(--app-border);
    border-radius: 15px;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 94%, transparent), color-mix(in srgb, var(--app-surface-muted) 56%, transparent));
    padding: .95rem;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent);
}

.ops-metric::after {
    content: "";
    position: absolute;
    right: -.7rem;
    top: -.7rem;
    width: 5rem;
    height: 5rem;
    border-radius: 18px;
    background: color-mix(in srgb, var(--ops-accent, var(--app-primary)) 18%, transparent);
    transform: rotate(10deg);
}

.ops-metric--patients { --ops-accent: var(--app-primary); }
.ops-metric--teams { --ops-accent: #8b5cf6; }
.ops-metric--stock { --ops-accent: var(--app-warning); }
.ops-metric--flow { --ops-accent: var(--app-primary-2); }

.ops-metric span,
.ops-metric small {
    display: block;
    color: var(--app-text-muted);
}

.ops-metric span {
    font-size: .82rem;
    font-weight: 820;
}

.ops-metric strong {
    display: block;
    margin: 1.15rem 0 .18rem;
    color: var(--app-text);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
}

.ops-board-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr);
    gap: .85rem;
}

.ops-board-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ops-panel {
    display: grid;
    gap: .8rem;
    min-width: 0;
}

.ops-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.ops-panel-heading h2 {
    margin: 0;
    color: var(--app-text);
    font-size: 1rem;
    font-weight: 900;
}

.ops-panel-heading p {
    margin: .18rem 0 0;
    color: var(--app-text-muted);
    font-size: .85rem;
}

.ops-panel-heading a,
.ops-inline-stat {
    flex: 0 0 auto;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--app-surface-muted) 84%, transparent);
    color: var(--app-text);
    font-size: .78rem;
    font-style: normal;
    font-weight: 850;
    padding: .34rem .55rem;
    text-decoration: none;
}

.ops-panel-heading a:hover,
.ops-panel-heading a:focus {
    border-color: color-mix(in srgb, var(--app-primary) 48%, var(--app-border));
}

.ops-priority-list,
.ops-list {
    display: grid;
    gap: .45rem;
}

.ops-priority-row {
    display: grid;
    grid-template-columns: minmax(110px, 1fr) minmax(70px, 1.25fr) minmax(32px, auto);
    gap: .65rem;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 28%, var(--app-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--ops-accent) 8%, var(--app-surface));
    color: var(--app-text);
    padding: .55rem .65rem;
    text-decoration: none;
}

.ops-priority-row span {
    font-weight: 850;
}

.ops-priority-row strong {
    color: var(--app-text);
    font-size: 1.15rem;
    font-weight: 900;
    text-align: right;
}

.ops-priority-meter {
    height: .42rem;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-surface-strong) 82%, transparent);
}

.ops-priority-meter i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--ops-accent);
}

.ops-flow-chart {
    display: grid;
    grid-template-columns: repeat(7, minmax(32px, 1fr));
    gap: .55rem;
    min-height: 210px;
    align-items: end;
    padding-top: .35rem;
}

.ops-flow-day {
    display: grid;
    gap: .35rem;
    align-items: end;
    min-width: 0;
}

.ops-flow-bars {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: .18rem;
    height: 170px;
    border-bottom: 1px solid var(--app-border);
}

.ops-flow-bars i {
    display: block;
    min-height: 4px;
    border-radius: 6px 6px 0 0;
}

.ops-flow-admitted {
    background: linear-gradient(180deg, var(--app-success), color-mix(in srgb, var(--app-success) 52%, transparent));
}

.ops-flow-closed {
    background: linear-gradient(180deg, var(--app-primary), color-mix(in srgb, var(--app-primary) 52%, transparent));
}

.ops-flow-day span,
.ops-chart-legend span {
    color: var(--app-text-muted);
    font-size: .78rem;
    font-weight: 780;
    text-align: center;
}

.ops-dot {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    border-radius: 999px;
    margin-right: .25rem;
}

.ops-dot--green { background: var(--app-success); }
.ops-dot--blue { background: var(--app-primary); }

.ops-area-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: .45rem;
}

.ops-area-tile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 30%, var(--app-border));
    border-radius: 10px;
    background: color-mix(in srgb, var(--ops-accent) 9%, var(--app-surface));
    padding: .54rem .6rem;
}

.ops-area-tile span {
    overflow: hidden;
    color: var(--app-text-soft);
    font-size: .82rem;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-area-tile strong {
    color: var(--app-text);
    font-weight: 900;
}

.ops-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    border: 1px solid var(--app-border-soft);
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface-muted) 64%, transparent);
    color: var(--app-text);
    padding: .56rem .64rem;
    text-decoration: none;
}

.ops-list-row:hover,
.ops-list-row:focus {
    border-color: color-mix(in srgb, var(--app-primary) 42%, var(--app-border));
    color: var(--app-text);
}

.ops-list-row.is-urgent {
    border-color: color-mix(in srgb, var(--app-danger) 48%, var(--app-border));
    background: color-mix(in srgb, var(--app-danger) 10%, var(--app-surface));
}

.ops-list-row strong,
.ops-info-strip strong {
    display: block;
    overflow: hidden;
    color: var(--app-text);
    font-size: .88rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-list-row small,
.ops-list-row em,
.ops-info-strip span,
.ops-empty {
    color: var(--app-text-muted);
    font-size: .78rem;
    font-style: normal;
}

.ops-empty {
    border: 1px dashed var(--app-border);
    border-radius: 10px;
    padding: .75rem;
}

.ops-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .55rem;
}

.ops-link {
    --ops-accent: var(--app-primary);
    display: grid;
    gap: .25rem;
    min-height: 86px;
    align-content: center;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 32%, var(--app-border));
    border-radius: 12px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--ops-accent) 14%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
    color: var(--app-text);
    padding: .75rem;
    text-decoration: none;
}

.ops-link:hover,
.ops-link:focus {
    transform: translateY(-1px);
    color: var(--app-text);
}

.ops-link strong {
    font-size: .94rem;
    font-weight: 900;
}

.ops-link span {
    color: var(--app-text-muted);
    font-size: .78rem;
    line-height: 1.25;
}

.ops-link--green { --ops-accent: var(--app-success); }
.ops-link--purple { --ops-accent: #8b5cf6; }
.ops-link--cyan { --ops-accent: var(--app-info); }
.ops-link--amber { --ops-accent: var(--app-warning); }
.ops-link--slate { --ops-accent: #64748b; }
.ops-link--blue { --ops-accent: var(--app-primary); }

.ops-info-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .55rem;
}

.ops-info-strip a {
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-info) 8%, var(--app-surface));
    padding: .65rem;
    text-decoration: none;
}

.app-card,
.section,
.admin-action-card,
.owner-card,
.catalog-card,
.dash-section,
.patient-card,
.app-filter-panel,
.app-table-card,
.app-record-card,
.app-collapsible,
.app-inline-form-panel,
.visit-edit-section,
.visit-form-panel {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, #ffffff 2%), color-mix(in srgb, var(--app-surface-muted) 48%, var(--app-surface))) !important;
    border-color: color-mix(in srgb, var(--app-border) 86%, var(--app-primary) 8%) !important;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent) !important;
}

[data-bs-theme="light"] .app-card,
[data-bs-theme="light"] .section,
[data-bs-theme="light"] .admin-action-card,
[data-bs-theme="light"] .owner-card,
[data-bs-theme="light"] .catalog-card,
[data-bs-theme="light"] .dash-section,
[data-bs-theme="light"] .patient-card,
[data-bs-theme="light"] .app-filter-panel,
[data-bs-theme="light"] .app-table-card,
[data-bs-theme="light"] .app-record-card,
[data-bs-theme="light"] .app-collapsible,
[data-bs-theme="light"] .app-inline-form-panel,
[data-bs-theme="light"] .visit-edit-section,
[data-bs-theme="light"] .visit-form-panel {
    background: linear-gradient(180deg, #ffffff, #f8fbfe) !important;
    box-shadow: 0 8px 18px rgba(31,45,58,.05), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.btn-primary,
.app-btn--primary,
.app-action-btn--patient {
    background: linear-gradient(135deg, var(--app-primary), color-mix(in srgb, var(--app-primary-2) 42%, var(--app-primary))) !important;
    border-color: color-mix(in srgb, var(--app-primary) 74%, #ffffff) !important;
}

.form-control,
.form-select,
textarea,
select {
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 5%, transparent);
}

.landing-panel,
.context-panel {
    border-color: color-mix(in srgb, var(--app-border) 70%, var(--app-primary) 10%) !important;
    box-shadow: var(--app-shadow-soft) !important;
}

.dash-stat-card {
    background: linear-gradient(180deg, color-mix(in srgb, var(--app-surface-muted) 92%, transparent), color-mix(in srgb, var(--app-surface) 96%, transparent)) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

.dash-stat-label,
.dash-summary-label,
.dash-section-title {
    color: var(--app-text-muted) !important;
}

.dash-stat-value,
.dash-summary-names {
    color: var(--app-text) !important;
}

.dash-summary-card--medication,
.dash-summary-card--vascular {
    background: color-mix(in srgb, var(--app-surface-muted) 90%, transparent) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

.dash-summary-card--medication {
    border-left-color: var(--app-success) !important;
}

.dash-summary-card--vascular {
    border-left-color: var(--app-info) !important;
}

.dash-bar-track {
    background: color-mix(in srgb, var(--app-surface-strong) 74%, transparent) !important;
}

.btn:disabled,
.btn.disabled {
    opacity: .48;
    color: var(--app-text-muted) !important;
}

@media (max-width: 991.98px) {
    .ops-hero,
    .ops-board-grid,
    .ops-board-grid--three {
        grid-template-columns: 1fr;
    }

    .ops-hero-actions {
        justify-content: flex-start;
    }

    .ops-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .app-topbar--shell .app-topbar-bar {
        flex-wrap: wrap;
    }

    .app-topbar-context {
        order: 20;
        flex: 1 1 100%;
        max-width: none;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.16);
        padding: .45rem 0 0;
    }

    .app-timebar {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

@media (max-width: 800px) {
    .app-header-user-name-full {
        display: none;
    }

    .app-header-user-name-initials {
        display: inline;
        max-width: none;
    }
}

@media (max-width: 640px) {
    .ops-metric-grid,
    .ops-priority-row {
        grid-template-columns: 1fr;
    }

    .ops-priority-row strong {
        text-align: left;
    }

    .ops-flow-chart {
        gap: .35rem;
    }

    .ops-flow-bars {
        height: 130px;
    }

    .ops-hero {
        padding: .8rem;
    }

    .app-notice {
        grid-template-columns: 1fr;
        gap: .18rem;
    }

    .app-topbar-spacer {
        display: none;
    }

    .app-topbar--shell .app-topbar-bar {
        gap: .38rem;
    }

    .app-topbar--shell .app-topbar-actions {
        display: flex !important;
        order: 18;
        flex: 1 1 100%;
        justify-content: flex-start;
        padding-bottom: .1rem;
    }

    .app-topbar--shell .app-topbar-actions .app-topbar-btn {
        min-width: 0;
    }

    .app-header-user-menu {
        flex: 1 1 145px;
    }

    .app-header-user-button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .app-page-title {
        font-size: 1.5rem;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .app-header-user-name,
    .app-topbar-context strong {
        max-width: 54vw;
    }
}

/* Compact operations refinements */
.app-sidebar-nav {
    gap: .16rem;
    padding: .62rem .55rem;
}

.app-sidebar-link {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: .5rem;
    min-height: 38px;
    border-radius: 9px;
    padding: .18rem .44rem;
}

.app-sidebar-link-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-link,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse {
    grid-template-columns: 34px;
    padding-inline: .26rem;
}

.app-sidebar-user {
    padding: .5rem .6rem;
}

.ops-metric-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .58rem;
}

.ops-metric {
    min-height: 94px;
    border-radius: 13px;
    padding: .68rem .72rem;
}

.ops-metric::after {
    right: -.55rem;
    top: -.65rem;
    width: 4rem;
    height: 4rem;
    border-radius: 15px;
}

.ops-metric--mds {
    --ops-accent: var(--app-info);
}

.ops-metric span {
    font-size: .76rem;
}

.ops-metric small {
    font-size: .74rem;
}

.ops-metric strong {
    margin: .58rem 0 .12rem;
    font-size: 1.5rem;
}

.ops-metric-list {
    display: grid;
    gap: .12rem;
    margin-top: .32rem;
    padding-right: 1.2rem;
}

.ops-metric-list span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .35rem;
    min-width: 0;
    color: var(--app-text-muted);
    font-size: .7rem;
    line-height: 1.1;
}

.ops-metric-list em {
    overflow: hidden;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-metric-list b {
    color: var(--app-text);
    font-weight: 900;
}

.ops-board-grid,
.ops-board-grid--three {
    align-items: start;
}

.ops-board-grid--single {
    grid-template-columns: 1fr;
}

.ops-panel {
    gap: .55rem;
    padding: .7rem !important;
}

.ops-panel-heading {
    gap: .55rem;
}

.ops-panel-heading h2 {
    font-size: .92rem;
}

.ops-panel-heading p {
    font-size: .78rem;
}

.ops-panel-heading a,
.ops-inline-stat {
    border-radius: 7px;
    font-size: .72rem;
    padding: .24rem .45rem;
}

.ops-priority-compact {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: .34rem;
}

.ops-priority-tile {
    min-height: 42px;
    border-radius: 9px;
    gap: .35rem;
    padding: .36rem .48rem .58rem;
}

.ops-priority-tile span {
    font-size: .76rem;
}

.ops-priority-tile strong {
    font-size: 1rem;
}

.ops-priority-tile i {
    right: auto;
    left: .48rem;
    bottom: .3rem;
    height: .18rem;
    max-width: calc(100% - .96rem);
}

.ops-area-grid {
    grid-template-columns: repeat(auto-fit, minmax(98px, 1fr));
    gap: .34rem;
}

.ops-area-tile {
    border-radius: 9px;
    padding: .4rem .46rem;
}

.ops-area-tile span {
    font-size: .75rem;
}

.ops-list {
    gap: .34rem;
}

.ops-list-row {
    min-height: 44px;
    border-radius: 9px;
    gap: .48rem;
    padding: .42rem .5rem;
}

.ops-list-row::before {
    width: .18rem;
}

.ops-list-row strong,
.ops-info-strip strong {
    font-size: .8rem;
}

.ops-list-row small,
.ops-list-row em,
.ops-info-strip span,
.ops-empty {
    font-size: .72rem;
}

.ops-panel--latest-info .ops-info-strip a {
    min-height: 54px;
    padding: .5rem;
}

.ops-info-strip {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .42rem;
}

.patient-priority-grid {
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: .38rem;
}

.patient-priority-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 42px;
    align-items: center;
    border-color: color-mix(in srgb, var(--priority-accent) 34%, var(--app-border));
    border-radius: 9px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--priority-accent) 11%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
    padding: .36rem .48rem .58rem;
    text-align: left;
}

.patient-priority-card span {
    overflow: hidden;
    color: var(--app-text-soft);
    font-size: .76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.patient-priority-card strong {
    color: var(--app-text);
    font-size: 1rem;
}

.patient-priority-card i {
    position: absolute;
    left: .48rem;
    bottom: .3rem;
    height: .18rem;
    max-width: calc(100% - .96rem);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--priority-accent), color-mix(in srgb, var(--priority-accent) 42%, transparent));
}

.patient-priority-card.is-selected,
.patient-priority-card:hover,
.patient-priority-card:focus {
    border-color: color-mix(in srgb, var(--priority-accent) 72%, #ffffff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--priority-accent) 16%, transparent);
}

.app-record-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: .62rem;
    align-items: start;
}

.app-record-card,
.context-tool,
.map-tool-card,
.map-point-row,
.account-panel > section {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--app-border) 78%, var(--app-primary) 12%) !important;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 8%, transparent), transparent 36%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 72%, transparent)) !important;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent) !important;
}

.app-record-card::before,
.context-tool::before,
.map-point-row::before,
.account-panel > section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, var(--app-primary), var(--app-primary-2));
    opacity: .7;
    pointer-events: none;
}

.app-field-card {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface-muted) 96%, transparent), color-mix(in srgb, var(--app-surface) 86%, transparent));
    border-color: color-mix(in srgb, var(--app-border) 76%, transparent);
}

.map-tool-card {
    padding: .7rem !important;
}

.map-point-row {
    padding: .5rem .62rem .5rem .8rem !important;
}

.map-point-row:hover,
.map-point-row:focus {
    border-color: color-mix(in srgb, var(--app-primary) 48%, var(--app-border)) !important;
}

.context-panel {
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 10%, transparent), transparent 36%),
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--app-primary-2) 9%, transparent), transparent 34%),
        color-mix(in srgb, var(--app-surface) 95%, transparent) !important;
}

.context-session-strip,
.context-card {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface-muted) 86%, transparent), color-mix(in srgb, var(--app-surface) 94%, transparent)) !important;
}

.context-tool {
    min-height: 58px;
    padding: .68rem .78rem .68rem .9rem !important;
}

.context-tool h2 {
    font-size: .96rem !important;
}

.account-panel > section {
    border-radius: 12px !important;
    padding: .72rem .82rem .72rem .95rem !important;
}

.app-table tbody tr:hover > * {
    background: color-mix(in srgb, var(--app-primary) 7%, var(--app-surface-muted)) !important;
}

.app-table tbody td:first-child {
    font-weight: 850;
}

@media (max-width: 1320px) {
    .ops-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .ops-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ops-priority-compact,
    .patient-priority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .ops-metric-grid,
    .ops-priority-compact,
    .patient-priority-grid {
        grid-template-columns: 1fr;
    }
}

/* Operational console tuning */
[data-bs-theme="light"] .app-sidebar {
    background:
        linear-gradient(180deg, #e1ebf7 0%, #d5e2f1 54%, #c8d8ea 100%) !important;
    border-right-color: #adc0d6;
}

[data-bs-theme="light"] .app-sidebar-link {
    color: #243853;
}

[data-bs-theme="light"] .app-sidebar-link:hover,
[data-bs-theme="light"] .app-sidebar-link:focus {
    background: rgba(36, 67, 102, .08);
    color: #10243c;
}

[data-bs-theme="light"] .app-sidebar-link.is-active {
    background: #c7d6f4;
    color: #254fe0;
}

[data-bs-theme="light"] .app-sidebar-footer {
    border-top-color: #b7c9dd;
}

[data-bs-theme="light"] .app-sidebar-user,
[data-bs-theme="light"] .app-mobile-user {
    background: rgba(255,255,255,.45);
    border-color: #b7c9dd;
}

.app-sidebar-assignment {
    margin-top: .18rem;
    overflow: hidden;
    color: color-mix(in srgb, var(--app-primary) 70%, var(--app-text-muted)) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-clock {
    border-radius: 0;
    border-width: 0 1px 0 0;
    gap: .42rem;
    min-height: 30px;
    padding: .18rem .85rem;
}

.app-clock small {
    color: var(--app-text-muted);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .04em;
}

.app-clock [data-timezone-value] {
    color: var(--app-text-soft);
}

.app-page-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.ops-dashboard-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(360px, .95fr);
    gap: .85rem;
    align-items: start;
}

.ops-stack {
    display: grid;
    gap: .65rem;
}

.ops-dashboard .ops-hero {
    padding: .85rem .95rem;
}

.ops-dashboard .ops-hero h1 {
    font-size: clamp(1.45rem, 2.5vw, 2.2rem);
}

.ops-dashboard .ops-metric {
    min-height: 82px;
    padding: .6rem .68rem;
}

.ops-dashboard .ops-metric strong {
    font-size: 1.34rem;
}

.ops-dashboard .ops-metric--mds .ops-metric-list {
    margin-top: .58rem;
    padding-right: .7rem;
}

.ops-dashboard .ops-metric--watch small {
    white-space: nowrap;
}

.ops-panel--top-mds .ops-metric-list {
    gap: .28rem;
    padding-right: 0;
}

.ops-panel--top-mds .ops-metric-list span {
    min-height: 2rem;
    padding: .36rem .48rem;
    border: 1px solid color-mix(in srgb, var(--app-info) 22%, var(--app-border));
    border-radius: 10px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-info) 10%, transparent), transparent 68%),
        color-mix(in srgb, var(--app-surface-muted) 86%, transparent);
}

.ops-panel--priority,
.ops-panel--areas {
    align-self: start;
}

.ops-panel--flow {
    min-height: 0;
}

.ops-panel--flow .ops-flow-line-chart {
    min-height: 210px;
}

.ops-panel--flow .ops-flow-line-chart svg {
    min-height: 196px;
}

.ops-area-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(142px, 1fr));
    gap: .36rem;
}

.ops-area-pill {
    --ops-accent: var(--app-primary);
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .42rem;
    align-items: center;
    overflow: hidden;
    min-height: 38px;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 28%, var(--app-border));
    border-radius: 9px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--ops-accent) 10%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
    padding: .34rem .48rem .52rem;
}

.ops-area-pill span {
    overflow: hidden;
    color: var(--app-text-soft);
    font-size: .74rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-area-pill strong {
    color: var(--app-text);
    font-size: .94rem;
    font-weight: 930;
}

.ops-area-pill i {
    position: absolute;
    left: .48rem;
    bottom: .27rem;
    height: .16rem;
    max-width: calc(100% - .96rem);
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ops-accent), color-mix(in srgb, var(--ops-accent) 40%, transparent));
}

.ops-list-row--compact {
    min-height: 34px;
    padding-block: .28rem;
}

.ops-list-row--compact strong {
    max-width: 38ch;
}

.ops-list-row em {
    text-align: right;
    white-space: nowrap;
}

.ops-panel--latest-info .ops-info-strip {
    grid-template-columns: 1fr;
}

.ops-panel--latest-info .ops-info-strip a {
    min-height: 48px;
}

.event-warning-editor {
    display: grid;
    gap: .85rem;
    border-color: color-mix(in srgb, var(--app-warning) 44%, var(--app-border)) !important;
}

.event-warning-editor__head {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    align-items: center;
    justify-content: space-between;
}

.event-warning-editor__head h2 {
    margin: .14rem 0 0;
    color: var(--app-text);
    font-size: 1.08rem;
    font-weight: 900;
}

.event-warning-editor__form {
    display: grid;
    gap: .6rem;
}

.settings-page .admin-event-card,
.forms-page .app-card,
.forward-teams-page .app-record-card,
.event-information-page .app-record-card,
.inventory-page .app-table-card,
.daily-report-shell .daily-report-card,
.map-page .map-point-row,
.context-panel,
.user-tag-card {
    border-color: color-mix(in srgb, var(--app-border) 78%, var(--app-primary) 12%) !important;
}

.forms-page .app-dashboard-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.forms-page .app-dashboard-card-grid > .app-card {
    min-height: 118px;
    display: grid;
    align-content: space-between;
}

.inventory-page .app-card > .app-action-row,
.statistics-page .app-card > .app-action-row {
    margin-bottom: .55rem;
}

.inventory-page .app-table th,
.inventory-page .app-table td,
.admin-catalog-table th,
.admin-catalog-table td {
    padding-block: .5rem;
}

.statistics-page [style*="color:#"],
.statistics-page [style*="color: #"],
.daily-report-shell [style*="color:#"],
.daily-report-shell [style*="color: #"] {
    color: var(--app-text-muted) !important;
}

.statistics-page [style*="border-bottom:1px solid #"],
.statistics-page [style*="border-bottom: 1px solid #"] {
    border-bottom-color: var(--app-border) !important;
}

.daily-report-shell .daily-report-card {
    max-width: 1500px;
    margin-inline: auto;
}

.daily-report-shell .daily-report-panel,
.daily-report-shell .daily-report-section,
.daily-report-shell .daily-report-evidence-card {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface-muted) 90%, transparent), color-mix(in srgb, var(--app-surface) 88%, transparent));
}

.map-page .map-point-list {
    gap: .36rem;
}

.map-page .map-point-row {
    min-height: 48px;
    border-radius: 10px;
}

.map-page .map-point-title {
    font-size: .9rem;
}

.map-page .map-point-subtitle,
.map-page .map-point-coordinates {
    font-size: .78rem;
}

.admin-user-tag-option {
    text-decoration: none;
}

.admin-user-tag-option:hover,
.admin-user-tag-option:focus {
    color: var(--app-text);
    border-color: color-mix(in srgb, var(--app-primary) 46%, var(--app-border)) !important;
}

.user-tags-manager {
    max-width: 920px;
}

.user-tag-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .65rem;
}

.user-tag-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: .65rem;
}

.user-tag-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, var(--tag-color), color-mix(in srgb, var(--tag-color) 24%, transparent));
    pointer-events: none;
}

.user-tag-card__head {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    align-items: center;
}

.user-tag-card__head small {
    color: var(--app-text-muted);
    font-size: .78rem;
    font-weight: 850;
}

.user-tag-card__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px auto;
    gap: .45rem;
    align-items: end;
}

.linces-app form.container,
.linces-app .container:has(+ form.container) {
    width: min(96%, 1500px);
    max-width: 1500px;
    margin-inline: auto;
}

.linces-app form.container {
    display: grid;
    gap: .7rem;
}

.linces-app form.container > .section {
    overflow: hidden;
    margin-bottom: 0;
    padding: .8rem;
}

.linces-app form.container > .section > h2:first-child,
.linces-app form.container > .section > h3:first-child {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    margin-bottom: .55rem;
    border-bottom: 2px solid color-mix(in srgb, var(--app-primary) 42%, transparent);
    font-size: 1rem;
}

.linces-app form.container > .section > .row {
    row-gap: .5rem;
}

.linces-app form.container .col,
.linces-app form.container [class*="col-"] {
    min-width: min(100%, 220px);
}

.linces-app form.container label {
    color: var(--app-text);
}

.linces-app form.container [style*="color:#"],
.linces-app form.container [style*="color: #"] {
    color: var(--app-text-muted) !important;
}

@media (max-width: 1180px) {
    .ops-dashboard-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .app-clock {
        flex: 1 1 auto;
        border-right: 0;
        padding-inline: .45rem;
    }

    .user-tag-card__form {
        grid-template-columns: 1fr;
    }
}

/* Console polish pass: cohesive shell, compact actions, and page-level cards. */
.app-shell,
.app-workspace,
.app-shell-header,
.app-topbar,
.app-topbar-bar,
.app-main,
.app-page,
.app-page--wide {
    min-width: 0;
}

.app-sidebar,
[data-bs-theme="light"] .app-sidebar {
    background:
        radial-gradient(circle at 0 0, rgba(91, 141, 205, .2), transparent 34%),
        linear-gradient(180deg, #244366 0%, #1e3d5e 42%, #10243c 100%) !important;
    border-right-color: rgba(178, 204, 232, .18) !important;
    color: #eaf2fb;
}

.app-sidebar .app-brand-lockup strong,
.app-sidebar .app-sidebar-user strong,
.app-sidebar .app-sidebar-link,
.app-sidebar .app-sidebar-collapse {
    color: #edf5ff !important;
}

.app-sidebar .app-brand-lockup small,
.app-sidebar .app-sidebar-user span,
.app-sidebar .app-sidebar-user small,
.app-sidebar .app-sidebar-assignment,
.app-sidebar .app-sidebar-version {
    color: rgba(222, 235, 251, .72) !important;
}

.app-sidebar .app-brand-mark--logo {
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 24px rgba(3, 12, 24, .18);
}

.app-sidebar-link {
    min-height: 40px;
    padding-block: .24rem;
}

.app-sidebar-link:hover,
.app-sidebar-link:focus,
[data-bs-theme="light"] .app-sidebar-link:hover,
[data-bs-theme="light"] .app-sidebar-link:focus {
    background: rgba(255, 255, 255, .1);
    color: #ffffff !important;
}

.app-sidebar-link.is-active,
[data-bs-theme="light"] .app-sidebar-link.is-active {
    background: rgba(104, 140, 216, .26);
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #78a8ff;
}

.app-sidebar-link.is-active .app-sidebar-link-icon {
    background: rgba(120, 168, 255, .22);
    color: #9bc0ff;
}

.app-sidebar-footer {
    border-top-color: rgba(178, 204, 232, .18);
}

.app-sidebar-user,
[data-bs-theme="light"] .app-sidebar-user,
[data-bs-theme="light"] .app-mobile-user {
    background: rgba(9, 25, 46, .34);
    border-color: rgba(178, 204, 232, .22);
}

.app-timebar {
    overflow: hidden;
}

.app-clock-strip {
    display: flex;
    flex-wrap: nowrap;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    scrollbar-width: none;
}

.app-clock {
    flex: 0 0 auto;
    max-width: none;
    overflow: visible;
    white-space: nowrap;
}

.app-topbar-bar {
    min-width: 0;
}

.app-topbar-brand {
    flex: 1 1 auto;
}

.app-topbar-actions {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.app-topbar-btn--primary,
.app-topbar-overflow-menu .app-topbar-btn--primary {
    border-color: #7ea7ff !important;
    background: linear-gradient(135deg, #4667f0, #58aee5) !important;
    color: #071426 !important;
    box-shadow: 0 10px 22px rgba(70, 103, 240, .22);
}

.app-topbar-btn--closed,
.app-topbar-overflow-menu .app-topbar-btn--closed {
    border-color: #f2b36d !important;
    background: linear-gradient(135deg, #6f4768, #c37a34) !important;
    color: #fff8ec !important;
    box-shadow: 0 10px 22px rgba(195, 122, 52, .18);
}

.patient-priority-card.is-selected {
    border-width: 2px;
    border-color: color-mix(in srgb, var(--priority-accent) 86%, #ffffff) !important;
    background:
        radial-gradient(circle at 92% 18%, color-mix(in srgb, var(--priority-accent) 28%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--priority-accent) 20%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 68%, transparent)) !important;
    box-shadow:
        0 0 0 3px color-mix(in srgb, var(--priority-accent) 20%, transparent),
        inset 0 0 0 1px color-mix(in srgb, var(--priority-accent) 24%, transparent) !important;
    transform: translateY(-1px);
}

.manual-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .75rem;
}

.manual-form-card {
    --form-accent: var(--app-primary);
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    min-height: 154px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--form-accent) 34%, var(--app-border));
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--form-accent) 17%, transparent), transparent 34%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 58%, transparent));
    padding: .82rem;
}

.manual-form-card--birth { --form-accent: #b96a2c; }
.manual-form-card--death { --form-accent: #b5484b; }
.manual-form-card--psychosocial { --form-accent: #6d43c8; }
.manual-form-card--referral { --form-accent: #347d78; }
.manual-form-card--medical { --form-accent: #5d43bb; }

.manual-form-card__mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: color-mix(in srgb, var(--form-accent) 18%, var(--app-surface-muted));
    color: color-mix(in srgb, var(--form-accent) 78%, var(--app-text));
    font-size: .78rem;
    font-weight: 950;
}

.manual-form-card__body {
    min-width: 0;
}

.manual-form-card__body h2 {
    margin: 0 0 .28rem;
    color: var(--app-text);
    font-size: 1.02rem;
    font-weight: 920;
}

.manual-form-card__body p {
    margin: 0;
    color: var(--app-text-muted);
    font-size: .86rem;
    line-height: 1.32;
}

.manual-form-card__actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
    align-self: end;
}

.app-btn--ghost {
    border: 1px solid color-mix(in srgb, var(--app-border) 82%, var(--app-primary) 12%);
    background: color-mix(in srgb, var(--app-surface-muted) 74%, transparent);
    color: var(--app-text);
}

.forward-team-section {
    display: grid;
    gap: .62rem;
}

.forward-team-section__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .75rem;
}

.forward-team-section__head h2 {
    margin: 0;
    color: var(--app-text);
    font-size: 1.08rem;
    font-weight: 930;
}

.forward-team-section__head p {
    margin: .12rem 0 0;
    color: var(--app-text-muted);
}

.forward-team-section__head > span {
    display: inline-grid;
    min-width: 2.2rem;
    min-height: 2rem;
    place-items: center;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text);
    font-weight: 950;
}

.forward-team-card {
    overflow: hidden;
}

.forward-team-card--active {
    border-color: color-mix(in srgb, var(--app-success) 38%, var(--app-border)) !important;
}

.forward-team-card--closed {
    opacity: .78;
}

.forward-team-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .2rem .52rem;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;
}

.forward-team-status.is-active {
    border: 1px solid color-mix(in srgb, var(--app-success) 54%, var(--app-border));
    background: color-mix(in srgb, var(--app-success) 14%, var(--app-surface));
    color: color-mix(in srgb, var(--app-success) 74%, var(--app-text));
}

.forward-team-status.is-closed {
    border: 1px solid var(--app-border);
    background: color-mix(in srgb, var(--app-surface-muted) 80%, transparent);
    color: var(--app-text-muted);
}

.forward-team-check {
    display: grid;
    gap: .12rem;
    margin-top: .65rem;
    border: 1px solid var(--app-border);
    border-radius: 11px;
    padding: .52rem .62rem;
    background: color-mix(in srgb, var(--app-surface-muted) 72%, transparent);
}

.forward-team-check strong {
    color: var(--app-text);
    font-size: .92rem;
    font-weight: 930;
}

.forward-team-check span {
    color: var(--app-text-muted);
    font-size: .78rem;
}

.forward-team-check.is-due {
    border-color: color-mix(in srgb, var(--app-success) 44%, var(--app-border));
    background: color-mix(in srgb, var(--app-success) 9%, var(--app-surface));
}

.forward-team-check.is-overdue {
    border-color: color-mix(in srgb, var(--app-danger) 58%, var(--app-border));
    background: color-mix(in srgb, var(--app-danger) 12%, var(--app-surface));
}

.forward-team-check.is-overdue strong {
    color: color-mix(in srgb, var(--app-danger) 78%, var(--app-text));
}

.app-page-hero,
.statistics-page > .app-card:first-child,
.inventory-page > .app-card:first-child,
.settings-page > .app-card:first-child,
.admin-settings-shell > .app-card:first-child {
    border-color: color-mix(in srgb, var(--app-primary) 30%, var(--app-border)) !important;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 12%, transparent), transparent 35%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 58%, transparent)) !important;
}

.audit-log-page {
    max-width: 1500px;
    margin-inline: auto;
}

.audit-filter-card > div[style*="border:1px solid"],
.audit-filter-card > div[style*="border: 1px solid"] {
    border-color: var(--app-border) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--app-surface-muted) 74%, transparent);
}

.audit-log-page [style*="background:#f8f9fa"],
.audit-log-page [style*="background:#fafcff"],
.audit-log-page [style*="background:#e8f3ff"] {
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent) !important;
}

.audit-log-page [style*="color:#174a7a"] {
    color: var(--app-text) !important;
}

.admin-settings-summary {
    overflow: hidden;
}

.admin-settings-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: .48rem;
}

.admin-settings-metrics .app-field-card {
    min-height: 64px;
    border-color: color-mix(in srgb, var(--app-primary) 16%, var(--app-border));
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--app-primary) 10%, transparent), transparent 42%),
        color-mix(in srgb, var(--app-surface-muted) 78%, transparent);
}

.admin-settings-shell .admin-action-card {
    min-height: 92px;
    border-color: color-mix(in srgb, var(--app-primary) 20%, var(--app-border));
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 62%, transparent));
}

.admin-user-admin-panel {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.admin-user-utility-card {
    min-height: 0;
    padding: 0 !important;
}

.admin-user-utility-card > summary {
    display: grid;
    gap: .16rem;
    padding: .72rem .82rem;
    border-radius: inherit;
    color: var(--app-text);
}

.admin-user-utility-card > summary span {
    font-weight: 920;
}

.admin-user-utility-card > summary small {
    color: var(--app-text-muted);
    font-size: .78rem;
}

.admin-user-utility-card[open] > summary {
    border-bottom: 1px solid var(--app-border);
    background: color-mix(in srgb, var(--app-primary) 8%, transparent);
}

.admin-user-utility-card > .app-stack {
    padding: 0 .82rem .82rem;
}

.admin-user-tag-option--compact {
    display: grid;
    align-content: center;
    min-height: 76px;
    padding: .72rem .82rem !important;
}

@media (max-width: 1100px) {
    .app-topbar-bar {
        flex-wrap: wrap;
    }

    .app-topbar-actions {
        order: 5;
        flex: 1 1 100%;
        display: flex;
        justify-content: flex-start;
        padding-bottom: .45rem;
    }

    .app-header-user-menu {
        margin-left: auto;
    }
}

@media (max-width: 820px) {
    .app-clock {
        min-height: 28px;
        gap: .3rem;
        padding: .14rem .55rem;
    }

    .app-clock strong {
        font-size: .7rem;
    }

    .app-clock [data-timezone-value] {
        font-size: .74rem;
    }

    .app-clock small {
        font-size: .58rem;
    }

    .app-topbar-brand-sub,
    .app-topbar-logos {
        display: none;
    }

    .app-topbar-actions {
        display: flex !important;
    }

    .app-topbar-btn,
    .app-header-user-button {
        max-width: none;
        min-height: 40px;
    }
}

@media (max-width: 560px) {
    .app-clock {
        padding-inline: .38rem;
    }

    .app-clock strong {
        font-size: .64rem;
    }

    .app-clock [data-timezone-value] {
        font-size: .68rem;
    }

    .app-topbar-bar {
        gap: .34rem;
        padding-inline: .45rem;
    }

    .app-topbar-actions {
        gap: .34rem;
    }

    .manual-form-card {
        grid-template-columns: 1fr;
    }
}

/* Navigation and operations console refinements */
.app-sidebar,
[data-bs-theme="light"] .app-sidebar,
[data-bs-theme="dark"] .app-sidebar {
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 22%, transparent), transparent 34%),
        linear-gradient(180deg, #173c5e 0%, #244366 46%, #10243c 100%) !important;
}

.app-sidebar-nav {
    gap: .18rem;
    padding-block: .72rem;
}

.app-sidebar-group {
    display: grid;
    gap: .18rem;
}

.app-sidebar-group > summary {
    list-style: none;
    cursor: pointer;
}

.app-sidebar-group > summary::-webkit-details-marker {
    display: none;
}

.app-sidebar-group-summary {
    grid-template-columns: 40px minmax(0, 1fr) auto;
}

.app-sidebar-chevron {
    font-size: .72rem;
    opacity: .76;
    transition: transform .14s ease;
}

.app-sidebar-group[open] .app-sidebar-chevron {
    transform: rotate(180deg);
}

.app-sidebar-subnav {
    display: grid;
    gap: .12rem;
    margin: 0 0 .2rem 2.45rem;
    padding-left: .48rem;
    border-left: 1px solid rgba(190, 211, 237, .18);
}

.app-sidebar-sublink {
    min-height: 34px;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .46rem;
    border-radius: 8px;
    font-size: .82rem;
    padding: .18rem .42rem;
}

.app-sidebar-sublink .app-sidebar-link-icon {
    width: 26px;
    height: 26px;
    border-radius: 7px;
}

.app-sidebar-group.is-active > .app-sidebar-group-summary {
    background: rgba(104, 140, 216, .2);
    color: #fff !important;
}

html.app-sidebar-prefers-collapsed .app-shell,
body.app-sidebar-collapsed .app-shell {
    grid-template-columns: var(--app-sidebar-collapsed-width) minmax(0, 1fr);
}

html.app-sidebar-prefers-collapsed .app-sidebar,
body.app-sidebar-collapsed .app-sidebar {
    width: var(--app-sidebar-collapsed-width);
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-link,
html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-collapse,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-link,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse {
    grid-template-columns: 40px;
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-brand,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand {
    justify-content: center;
    padding-inline: .65rem;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-brand-lockup,
body.app-sidebar-collapsed .app-sidebar .app-brand-lockup {
    justify-content: center;
    gap: 0;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-text,
html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-badge,
html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-subnav,
html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-user,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-text,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-badge,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-subnav,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-user {
    display: none !important;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group-summary,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group-summary {
    grid-template-columns: 40px;
}

.app-topbar--shell .app-topbar-btn--new-patient,
.app-topbar-btn--new-patient,
.app-topbar-overflow-menu .app-topbar-btn--new-patient,
.app-btn--new-patient {
    border-color: color-mix(in srgb, var(--app-success) 76%, #ffffff) !important;
    background: linear-gradient(135deg, #159b62, #43d391) !important;
    color: #041612 !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--app-success) 22%, transparent);
}

.app-topbar--shell .app-topbar-btn--closed,
.app-topbar-btn--closed,
.app-topbar-overflow-menu .app-topbar-btn--closed {
    border-color: color-mix(in srgb, var(--app-danger) 72%, #ffffff) !important;
    background: linear-gradient(135deg, #9f262f, #ef5350) !important;
    color: #fff7f7 !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--app-danger) 22%, transparent);
}

.patient-priority-card.is-selected {
    font-weight: 950;
}

.patient-priority-card.is-selected::after {
    content: none !important;
    display: none !important;
}

.patient-priority-card--all {
    --priority-accent: #64748b;
    border-color: color-mix(in srgb, #64748b 42%, var(--app-border));
    background:
        radial-gradient(circle at 92% 18%, color-mix(in srgb, #64748b 16%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, #64748b 8%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 72%, transparent));
}

.patient-priority-card--all i {
    background: linear-gradient(90deg, #64748b, #94a3b8);
}

.ops-hero .app-btn--new-patient {
    min-height: 42px;
    padding-inline: 1rem;
}

.ops-list-row,
.ops-list-row--compact {
    min-height: 0 !important;
    grid-template-columns: .2rem minmax(0, 1fr) max-content !important;
    gap: .42rem !important;
    align-items: center;
    padding: .48rem .58rem !important;
    text-align: left;
}

.ops-list-row::before {
    width: .2rem;
    min-height: 32px;
}

.ops-list-row strong,
.ops-list-row small,
.ops-list-row em {
    text-align: left !important;
}

.ops-list-row > span {
    display: grid;
    justify-items: start;
    gap: .08rem;
}

.ops-list-row em {
    white-space: nowrap;
    justify-self: end;
}

.app-page-hero--event {
    border-color: color-mix(in srgb, var(--app-primary) 42%, var(--app-border)) !important;
}

.app-page-hero--global {
    border-color: color-mix(in srgb, var(--app-primary-2) 36%, var(--app-border)) !important;
}

.app-page-hero--logs {
    border-color: color-mix(in srgb, var(--app-warning) 36%, var(--app-border)) !important;
}

.pdf-registry-page [style*="background:#fff"],
.pdf-registry-page [style*="background:#f8f9fa"],
.pdf-registry-page [style*="background:#fafcff"],
.pdf-registry-page [style*="background:#f1f5f9"],
.pdf-registry-page [style*="background:#e8f5e9"] {
    background: var(--app-surface) !important;
}

.pdf-registry-page [style*="color:#334e68"],
.pdf-registry-page [style*="color:#1b5e20"] {
    color: var(--app-text) !important;
}

/* Final shell consolidation: one source for drawer color, spacing, and overflow behavior. */
:root {
    --app-shell-blue-start: #173c5e;
    --app-shell-blue-mid: #244366;
    --app-shell-blue-end: #2d6f7a;
    --app-shell-blue-deep: #10243c;
}

.app-shell {
    min-width: 0;
}

.app-workspace {
    position: relative;
}

.app-workspace::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: var(--app-sidebar-current-width);
    z-index: 1039;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(126, 167, 216, .46), transparent);
    box-shadow: 10px 0 28px rgba(10, 26, 45, .12);
    pointer-events: none;
    transition: left .18s ease;
}

.app-sidebar,
[data-bs-theme="light"] .app-sidebar,
[data-bs-theme="dark"] .app-sidebar,
.app-mobile-nav,
[data-bs-theme="light"] .app-mobile-nav,
[data-bs-theme="dark"] .app-mobile-nav {
    background:
        radial-gradient(circle at 0 0, rgba(91, 141, 205, .24), transparent 34%),
        linear-gradient(180deg, var(--app-shell-blue-start) 0%, var(--app-shell-blue-mid) 45%, var(--app-shell-blue-deep) 100%) !important;
    color: #edf5ff !important;
}

.app-mobile-nav.offcanvas,
.app-mobile-nav .offcanvas-header,
.app-mobile-nav .offcanvas-body {
    background: transparent !important;
    color: #edf5ff !important;
}

.app-sidebar {
    box-shadow: inset -1px 0 0 rgba(217, 231, 247, .16);
}

.app-sidebar-brand {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: .5rem;
    min-height: 68px;
    padding: .58rem .6rem .58rem .68rem;
}

.app-sidebar-brand-toggle {
    display: inline-grid;
    width: 34px;
    height: 34px;
    align-self: center;
    place-items: center;
    border: 1px solid rgba(217, 231, 247, .2);
    border-radius: 10px;
    background: rgba(255, 255, 255, .07);
    color: #eaf2fb;
    cursor: pointer;
}

.app-sidebar-brand-toggle:hover,
.app-sidebar-brand-toggle:focus {
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-brand,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-inline: .55rem;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-brand-toggle,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand-toggle {
    margin-top: .2rem;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-brand-toggle .app-icon,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand-toggle .app-icon {
    transform: rotate(180deg);
}

.app-sidebar-nav {
    flex: 1 1 auto;
    min-height: 0;
    gap: .12rem;
    padding: .58rem .55rem;
    scrollbar-width: none;
}

.app-sidebar-nav::-webkit-scrollbar,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.app-sidebar-nav::-webkit-scrollbar-track,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-track {
    background: transparent;
}

.app-sidebar-nav::-webkit-scrollbar-thumb,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(221, 236, 252, .38);
}

.app-sidebar-link {
    min-height: 38px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: .5rem;
    border-radius: 9px;
    padding: .22rem .46rem;
}

.app-sidebar-link-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
}

.app-sidebar-subnav {
    margin: .08rem 0 .22rem 2.02rem;
    padding-left: .42rem;
    border-left-color: rgba(221, 236, 252, .24);
}

.app-sidebar-sublink {
    min-height: 32px;
    grid-template-columns: 24px minmax(0, 1fr);
    font-size: .79rem;
    padding-block: .14rem;
}

.app-sidebar-group[open] {
    border-radius: 11px;
    background: rgba(2, 12, 26, .08);
}

.app-sidebar-group[open]::before,
.app-sidebar-group[open]::after {
    content: none !important;
}

.app-sidebar-footer {
    gap: .22rem;
    padding: .55rem .55rem .68rem;
    border-top-color: rgba(221, 236, 252, .2);
}

.app-sidebar-footer > .app-sidebar-link {
    min-height: 34px;
}

.app-sidebar-user,
[data-bs-theme="light"] .app-sidebar-user,
.app-mobile-user {
    padding: .48rem .55rem;
    background: rgba(8, 23, 43, .34);
    border-color: rgba(221, 236, 252, .2);
}

.app-mobile-nav {
    --bs-offcanvas-width: min(88vw, 380px);
    border-right: 1px solid rgba(217, 231, 247, .22) !important;
    box-shadow: 18px 0 48px rgba(2, 10, 20, .35);
}

.app-mobile-nav .offcanvas-header {
    align-items: center;
    min-height: 84px;
    border-bottom: 1px solid rgba(217, 231, 247, .2);
}

.app-mobile-nav .offcanvas-body {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: .45rem;
    overflow-x: hidden;
    padding: .7rem .6rem .9rem;
    scrollbar-width: none;
}

.app-mobile-nav .app-sidebar-nav {
    flex: 0 0 auto;
    overflow: visible;
    padding: 0;
}

.app-mobile-nav .app-brand-lockup strong,
.app-mobile-nav .app-sidebar-link,
.app-mobile-nav .app-mobile-user strong {
    color: #edf5ff !important;
}

.app-mobile-nav .app-brand-lockup small,
.app-mobile-nav .app-mobile-user span,
.app-mobile-nav .app-mobile-user small {
    color: rgba(222, 235, 251, .76) !important;
}

.app-mobile-nav .offcanvas-body > .app-sidebar-link {
    flex: 0 0 auto;
    min-height: 38px;
    margin-top: .2rem;
}

.app-timebar {
    order: 2;
    min-height: 32px;
    border-top: 1px solid rgba(255, 255, 255, .06);
    border-bottom: 1px solid var(--app-border-soft);
    background: color-mix(in srgb, var(--app-page) 90%, transparent);
}

.app-topbar--shell {
    order: 1;
}

.app-notice-stack {
    order: 3;
}

.app-main {
    width: 100%;
    max-width: none;
    padding-inline: clamp(.85rem, 2vw, 1.45rem);
    overflow-x: clip;
}

.app-page,
.app-page--wide,
.patients-index-page,
.daily-report-shell {
    width: 100%;
    max-width: 1500px;
    margin-inline: auto;
    min-width: 0;
}

.patients-index-page,
.daily-report-shell {
    max-width: 1320px;
}

.app-card,
.app-table-card,
.app-filter-panel,
.patient-priority-board,
.scroll-sync-table,
.scroll-sync-table-body {
    min-width: 0;
}

.app-table-scroll,
.scroll-sync-table,
.scroll-sync-table-body {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.app-table-scroll > table,
.app-table-scroll > .table,
.scroll-sync-table-body > table,
.scroll-sync-table table {
    width: max-content !important;
    min-width: 100%;
}

.app-table-card.app-table-scroll {
    display: block;
}

.inventory-page .app-card,
.audit-log-page .app-card,
.pdf-registry-page form,
.audit-filter-card {
    min-width: 0;
    max-width: 100%;
}

.patients-index-page > *,
.inventory-page > *,
.audit-log-page > *,
.pdf-registry-page > * {
    max-width: 100%;
    min-width: 0;
}

.app-shell,
.app-workspace,
.app-topbar,
.app-topbar-bar,
.app-topbar-brand,
.app-topbar-actions,
.app-page,
.app-page--narrow,
.app-page--wide,
.app-grid,
.app-grid--two,
.app-grid--three,
.app-card,
.app-panel,
.app-filter-panel,
.app-record-head,
.app-form-grid,
.patient-form-shell,
.patient-form-main-grid,
.patient-form-textarea-grid,
.patient-identity-cluster,
.patient-identity-card,
.ops-hero {
    max-width: 100%;
    min-width: 0;
}

.app-topbar-bar,
.app-timebar,
.app-notice-stack {
    overflow-x: clip;
}

.app-card,
.app-panel,
.ops-hero,
.patient-form-shell,
.patient-identity-card {
    overflow-wrap: anywhere;
}

.app-card > *,
.app-panel > *,
.ops-hero > *,
.patient-form-shell > * {
    min-width: 0;
}

.app-scope-banner {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    margin-bottom: .75rem;
    border: 1px solid color-mix(in srgb, var(--app-success) 34%, var(--app-border));
    border-left-width: 4px;
    border-radius: 10px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-success) 13%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 86%, transparent));
    color: var(--app-text-muted);
    padding: .5rem .65rem;
    font-size: .86rem;
}

.app-scope-banner--global {
    border-color: color-mix(in srgb, var(--app-warning) 38%, var(--app-border));
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-warning) 12%, var(--app-surface)), color-mix(in srgb, var(--app-surface-muted) 86%, transparent));
}

.app-scope-banner__label {
    flex: 0 0 auto;
    color: var(--app-text);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.app-scope-banner__body {
    min-width: 0;
}

.app-scope-banner__body strong {
    color: var(--app-text);
}

.app-scope-banner__extra {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.global-emt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: .65rem;
    margin-top: .75rem;
}

.global-emt-card {
    display: grid;
    gap: .55rem;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--app-border) 78%, var(--app-primary) 14%);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--app-primary) 12%, transparent), transparent 32%),
        linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 68%, transparent));
    padding: .75rem;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent);
}

.global-emt-card--current {
    border-color: color-mix(in srgb, var(--app-primary) 56%, var(--app-border));
    box-shadow:
        inset 3px 0 0 var(--app-primary),
        inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent);
}

.global-emt-card__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .38rem;
}

.global-emt-card__metrics span {
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--app-border) 76%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text-muted);
    font-size: .78rem;
    padding: .42rem .48rem;
}

.global-emt-card__metrics strong {
    display: block;
    color: var(--app-text);
    font-size: 1.12rem;
    font-weight: 950;
    line-height: 1;
}

.patient-priority-card.is-selected {
    font-weight: 980;
}

.patient-priority-card.is-selected span,
.patient-priority-card.is-selected strong {
    font-weight: 980;
}

.patient-priority-card.is-selected::after {
    content: none !important;
}

@media (max-width: 991.98px) {
    .app-shell {
        display: block;
    }

    .app-workspace::before {
        content: none;
    }

    .app-main {
        padding: .9rem clamp(.65rem, 4vw, 1rem) 1.25rem;
        overflow-x: clip;
    }

    .app-topbar--shell .app-topbar-bar {
        min-height: 56px;
        gap: .44rem;
        padding: .55rem clamp(.65rem, 3vw, 1rem);
    }

    .app-topbar-brand {
        min-width: 0;
        flex: 1 1 8rem;
    }

    .app-topbar-brand-name {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-topbar-actions {
        flex: 0 1 auto;
        max-width: 100%;
        justify-content: flex-start;
    }

    .app-header-user-menu {
        margin-left: 0;
    }

    .app-header-user-button {
        min-width: 0;
        padding-inline: .55rem;
    }

    .app-scope-banner {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    .patients-index-page,
    .app-page--wide {
        max-width: min(100%, 1320px);
    }
}

@media (max-width: 700px) {
    .app-timebar {
        padding-inline: .45rem;
    }

    .app-clock-strip {
        gap: 0;
    }

    .app-clock {
        min-width: 0;
        max-width: 33.33%;
        flex: 1 1 33.33%;
        justify-content: center;
        padding-inline: .28rem;
    }

    .app-clock + .app-clock {
        padding-left: .28rem;
    }

    .app-clock [data-timezone-value],
    .app-clock small {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .patient-priority-board__head {
        align-items: flex-start;
        flex-direction: column;
        gap: .18rem;
    }

    .patients-index-page h1 {
        font-size: clamp(2rem, 13vw, 3rem);
        line-height: 1.05;
    }

    .patient-priority-board {
        padding: .55rem;
    }

    .patient-priority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-priority-card span {
        font-size: .72rem;
    }
}

@media (max-width: 430px) {
    .app-main {
        padding-inline: .62rem;
    }

    .patient-priority-grid {
        grid-template-columns: 1fr;
    }

    .app-topbar-actions {
        width: 100%;
    }

    .app-topbar-actions .app-topbar-btn,
    .app-header-user-menu,
    .app-header-user-button {
        max-width: 100%;
    }
}

/* Shared operations polish: keep shell, heroes, dashboard panels, and scrollers consistent. */
.app-sidebar,
[data-bs-theme="light"] .app-sidebar,
[data-bs-theme="dark"] .app-sidebar {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-color: rgba(221, 236, 252, .48) rgba(5, 17, 32, .18);
    scrollbar-width: thin;
}

.app-sidebar::-webkit-scrollbar,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar {
    display: block !important;
    width: 9px;
    height: 9px;
}

.app-sidebar::-webkit-scrollbar-track,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-track {
    background: rgba(5, 17, 32, .14);
}

.app-sidebar::-webkit-scrollbar-thumb,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(221, 236, 252, .52);
    background-clip: padding-box;
}

.app-sidebar-nav {
    flex: 0 0 auto !important;
    overflow: visible !important;
    scrollbar-width: thin;
}

.app-sidebar-footer {
    flex: 0 0 auto;
}

.app-mobile-nav.offcanvas,
[data-bs-theme="light"] .app-mobile-nav.offcanvas,
[data-bs-theme="dark"] .app-mobile-nav.offcanvas {
    background:
        radial-gradient(circle at 0 0, rgba(91, 141, 205, .24), transparent 34%),
        linear-gradient(180deg, var(--app-shell-blue-start) 0%, var(--app-shell-blue-mid) 45%, var(--app-shell-blue-deep) 100%) !important;
    color: #edf5ff !important;
    opacity: 1 !important;
}

.app-mobile-nav .offcanvas-header,
.app-mobile-nav .offcanvas-body {
    background: transparent !important;
}

.app-mobile-nav .offcanvas-body {
    overflow-y: auto !important;
    scrollbar-color: rgba(221, 236, 252, .52) rgba(5, 17, 32, .14);
    scrollbar-width: thin;
}

.app-sidebar-brand {
    grid-template-columns: minmax(0, 1fr) 32px;
}

.app-sidebar-brand-toggle {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.app-sidebar-brand-toggle .app-icon {
    width: .98rem;
    height: .98rem;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-brand-toggle,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-brand-toggle {
    margin-top: 0;
}

.app-sidebar-group {
    min-height: 0;
}

.app-sidebar-group[open] {
    background: rgba(255, 255, 255, .045);
    box-shadow: none;
}

.app-sidebar-group-summary {
    cursor: pointer;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group-summary,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group-summary {
    grid-template-columns: 34px;
    justify-content: center;
    padding-inline: .35rem;
}

.app-page-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    border: 1px solid color-mix(in srgb, var(--app-border) 74%, var(--app-primary) 16%) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 0 0, color-mix(in srgb, var(--app-primary) 18%, transparent), transparent 35%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 96%, transparent), color-mix(in srgb, var(--app-surface-muted) 70%, transparent)) !important;
    padding: .95rem 1rem !important;
    box-shadow:
        inset 0 1px 0 color-mix(in srgb, #ffffff 7%, transparent),
        var(--app-shadow-soft) !important;
}

.app-page-hero .app-record-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    width: 100%;
}

.app-page-hero .app-record-actions,
.app-page-hero .app-chip-list {
    justify-content: flex-end;
}

.app-page-hero .app-page-title {
    margin-bottom: .12rem;
    color: var(--app-text) !important;
    font-size: clamp(1.55rem, 2.45vw, 2.25rem);
    line-height: 1.02;
}

.app-page-hero .app-page-subtitle {
    max-width: 74rem;
    font-size: .94rem;
    line-height: 1.32;
}

.ops-metric-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ops-dashboard .ops-metric,
.ops-metric {
    min-height: 88px;
    padding: .62rem .7rem;
}

.ops-dashboard .ops-metric strong,
.ops-metric strong {
    margin: .62rem 0 .15rem;
    font-size: 1.42rem;
}

.ops-metric small {
    position: relative;
    z-index: 1;
    max-width: 24ch;
    line-height: 1.18;
}

.ops-metric--mds .ops-metric-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .12rem;
    margin-top: .45rem;
}

.ops-metric--mds .ops-metric-list span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem;
    align-items: baseline;
    color: var(--app-text);
}

.ops-metric--mds .ops-metric-list em {
    overflow: hidden;
    font-style: normal;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-metric--mds .ops-metric-list b {
    font-weight: 950;
}

.ops-panel-actions,
.ops-segmented {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
    justify-content: flex-end;
}

.ops-segmented {
    border: 1px solid var(--app-border-soft);
    border-radius: 9px;
    background: color-mix(in srgb, var(--app-surface-muted) 72%, transparent);
    padding: .12rem;
}

.ops-segmented a {
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--app-text-muted) !important;
    padding: .25rem .46rem !important;
}

.ops-segmented a.is-active {
    background: color-mix(in srgb, var(--app-primary) 18%, var(--app-surface)) !important;
    color: var(--app-text) !important;
}

.ops-list-row {
    gap: .55rem;
    padding: .46rem .55rem;
}

.ops-list-row--compact {
    min-height: 32px;
}

.ops-list-row--compact strong {
    max-width: 48ch;
}

.app-topbar-btn--patient-edit {
    border-color: color-mix(in srgb, #7c3aed 70%, #f5b23b) !important;
    background: linear-gradient(135deg, #7c3aed, #f59e0b) !important;
    color: #fff !important;
}

.app-scrollbar-top,
.app-scrollbar-bottom {
    width: 100%;
    height: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.app-scrollbar-top[hidden],
.app-scrollbar-bottom[hidden] {
    display: none !important;
}

.app-scrollbar-top {
    margin-bottom: .25rem;
}

.app-scrollbar-bottom {
    margin-top: .25rem;
}

.app-scrollbar-top-inner,
.app-scrollbar-bottom-inner {
    height: 1px;
}

.app-scrollbar-top::-webkit-scrollbar,
.app-scrollbar-bottom::-webkit-scrollbar {
    height: 10px;
}

.app-scrollbar-top::-webkit-scrollbar-track,
.app-scrollbar-bottom::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--app-surface-muted) 70%, transparent);
    border-radius: 999px;
}

.app-scrollbar-top::-webkit-scrollbar-thumb,
.app-scrollbar-bottom::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-primary) 48%, var(--app-border));
    background-clip: padding-box;
}

.app-scrollbar-managed {
    scrollbar-width: none;
}

.app-scrollbar-managed::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.event-warning-history .app-table {
    margin-bottom: 0;
}

@media (max-width: 1280px) {
    .ops-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .app-page-hero,
    .app-page-hero .app-record-head {
        grid-template-columns: 1fr;
    }

    .app-page-hero .app-record-actions,
    .app-page-hero .app-chip-list,
    .ops-panel-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 700px) {
    .ops-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 460px) {
    .ops-metric-grid {
        grid-template-columns: 1fr;
    }
}

/* Current shell refinements. Keep these late so the sidebar/footer behaviour is stable. */
.app-sidebar-brand {
    grid-template-columns: minmax(0, 1fr) !important;
}

.app-sidebar-brand-toggle {
    display: none !important;
}

.app-sidebar-collapse {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
    min-height: 34px;
    width: 100%;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: rgba(237, 245, 255, .82);
    font: inherit;
    font-weight: 800;
    text-align: left;
    padding: .18rem .46rem;
}

.app-sidebar-collapse:hover,
.app-sidebar-collapse:focus {
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse {
    grid-template-columns: 34px;
    justify-content: center;
    padding-inline: .35rem;
}

body.app-sidebar-collapsed .app-sidebar .app-sidebar-collapse .app-icon {
    transform: rotate(180deg);
}

.app-sidebar-user small,
.app-mobile-user small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-sidebar-nav,
.app-mobile-nav .offcanvas-body {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(221, 236, 252, .45) transparent !important;
}

.app-sidebar-nav::-webkit-scrollbar,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar {
    display: block !important;
    width: 9px !important;
}

.app-sidebar-nav::-webkit-scrollbar-track,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-track {
    background: transparent !important;
}

.app-sidebar-nav::-webkit-scrollbar-thumb,
.app-mobile-nav .offcanvas-body::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(221, 236, 252, .42);
    background-clip: padding-box;
}

.ops-panel.is-loading {
    opacity: .66;
    pointer-events: none;
    transition: opacity .12s ease;
}

.context-auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2rem);
    background:
        radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--app-primary) 16%, transparent), transparent 30%),
        radial-gradient(circle at 82% 78%, color-mix(in srgb, var(--app-success) 14%, transparent), transparent 28%),
        linear-gradient(145deg, #eef5fb 0%, #f8fbff 46%, #e7f0f7 100%);
}

.context-auth-card {
    width: min(760px, 100%);
    display: grid;
    gap: .82rem;
    border: 1px solid color-mix(in srgb, var(--app-border) 76%, var(--app-primary) 16%);
    border-radius: 18px;
    background:
        radial-gradient(circle at 0 0, rgba(63, 109, 246, .11), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .86));
    box-shadow: 0 24px 70px rgba(26, 51, 78, .16);
    padding: clamp(1rem, 2.4vw, 1.35rem);
}

.context-auth-header {
    display: flex;
    align-items: center;
    gap: .82rem;
}

.context-auth-logo {
    display: grid;
    width: 62px;
    height: 62px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--app-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(36, 67, 102, .12);
}

.context-auth-logo img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.context-auth-header p,
.context-auth-header h1,
.context-auth-header span {
    margin: 0;
}

.context-auth-header p {
    color: var(--app-primary);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.context-auth-header h1 {
    color: var(--app-text);
    font-size: clamp(2rem, 5vw, 3.1rem);
    font-weight: 950;
    line-height: .98;
}

.context-auth-header span {
    color: var(--app-text-muted);
}

.context-auth-summary,
.context-auth-form {
    border: 1px solid var(--app-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--app-surface-muted) 84%, #ffffff);
    padding: .82rem;
}

.context-auth-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: .65rem;
    align-items: center;
}

.context-auth-summary span {
    display: block;
    color: var(--app-text-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.context-auth-summary strong {
    display: block;
    color: var(--app-text);
    font-size: .98rem;
    line-height: 1.15;
}

.context-auth-logos {
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
}

.context-auth-logos img {
    max-width: 86px;
    max-height: 38px;
    object-fit: contain;
}

.context-auth-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
}

.context-auth-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    flex-wrap: wrap;
}

.context-auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

.context-auth-links a {
    border: 1px solid color-mix(in srgb, var(--app-primary) 25%, var(--app-border));
    border-radius: 999px;
    background: rgba(255, 255, 255, .62);
    color: var(--app-primary-dark);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    padding: .48rem .65rem;
    text-decoration: none;
}

.context-auth-links a:hover,
.context-auth-links a:focus {
    border-color: var(--app-primary);
    background: color-mix(in srgb, var(--app-primary) 10%, #ffffff);
    color: var(--app-primary-dark);
}

[data-bs-theme="dark"] .context-auth-shell {
    background:
        radial-gradient(circle at 18% 16%, rgba(89, 141, 205, .2), transparent 30%),
        radial-gradient(circle at 82% 78%, rgba(47, 191, 113, .12), transparent 28%),
        linear-gradient(145deg, #06101f 0%, #0b1728 52%, #08111f 100%);
}

[data-bs-theme="dark"] .context-auth-card {
    background:
        radial-gradient(circle at 0 0, rgba(63, 109, 246, .16), transparent 34%),
        linear-gradient(180deg, rgba(16, 29, 48, .96), rgba(12, 24, 42, .9));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .36);
}

@media (max-width: 680px) {
    .context-auth-summary {
        grid-template-columns: 1fr;
    }

    .context-auth-logos {
        justify-content: flex-start;
    }

    .context-auth-actions {
        justify-content: stretch;
    }

    .context-auth-actions .app-btn {
        flex: 1 1 180px;
    }
}

/* Final shell refinements shared across the operations redesign. */
.app-clock.is-clock-overflow-hidden {
    display: none !important;
}

@media (max-width: 820px) {
    .app-clock {
        min-width: 0 !important;
        padding-inline: .72rem !important;
    }

    .app-clock [data-timezone-value] {
        max-width: 8ch;
    }
}

.app-mobile-nav {
    --bs-offcanvas-bg: #17304f;
    background-color: #17304f !important;
    background:
        radial-gradient(circle at 16% 14%, rgba(105, 142, 214, .22), transparent 34%),
        linear-gradient(180deg, #2b4c78 0%, #17304f 48%, #122741 100%) !important;
    color: #eef5ff;
    opacity: 1 !important;
    backdrop-filter: none !important;
}

.app-mobile-nav .offcanvas-header,
.app-mobile-nav .offcanvas-body {
    background: transparent !important;
}

.app-sidebar-brand {
    border-bottom: 1px solid rgba(225, 236, 250, .38);
    min-height: 92px;
    padding-block: .68rem;
}

.app-sidebar-brand .app-brand-lockup {
    min-height: 0;
}

.app-sidebar-version {
    position: relative;
    z-index: 1;
}

.app-sidebar::after {
    background: linear-gradient(180deg, transparent, rgba(190, 211, 237, .34), transparent);
    content: "";
    height: 100%;
    opacity: .72;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-subnav,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-subnav {
    align-items: center;
    border-left: 0;
    display: grid !important;
    gap: .22rem;
    justify-items: center;
    margin: .22rem 0 .38rem;
    padding: 0;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink {
    border-radius: 13px;
    height: 42px;
    justify-content: center;
    margin-inline: auto;
    padding: 0;
    width: 42px;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink .app-sidebar-link-icon,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink .app-sidebar-link-icon {
    margin: 0;
}

html.app-sidebar-prefers-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink .app-sidebar-text,
body.app-sidebar-collapsed .app-sidebar .app-sidebar-group[open] .app-sidebar-sublink .app-sidebar-text {
    display: none !important;
}

.app-sidebar-collapse {
    min-height: 42px;
}

.context-auth-shell {
    align-items: center;
    background:
        radial-gradient(circle at 20% 18%, rgba(63, 109, 246, .18), transparent 30%),
        radial-gradient(circle at 82% 74%, rgba(47, 191, 113, .12), transparent 28%),
        linear-gradient(145deg, #dbe7f5 0%, #edf3fa 48%, #d7e5f0 100%);
    min-height: 100vh;
    padding: clamp(1rem, 3vw, 2rem);
}

.context-auth-card {
    max-width: 740px;
    width: min(100%, 740px);
}

.context-auth-actions--secondary {
    justify-content: space-between;
}

/* Late shared fixes for responsive actions, clocks, linked places, and old clinical surfaces. */
.app-topbar-actions[hidden],
.app-topbar-overflow[hidden],
.app-clock.is-clock-overflow-hidden {
    display: none !important;
}

.app-topbar-overflow {
    position: relative;
    flex: 0 0 auto;
}

.app-topbar-overflow-summary {
    list-style: none;
}

.app-topbar-overflow-summary::-webkit-details-marker {
    display: none;
}

.app-topbar-overflow-menu {
    position: absolute;
    top: calc(100% + .38rem);
    right: 0;
    z-index: 1080;
    display: grid;
    gap: .4rem;
    width: min(21rem, calc(100vw - 1.2rem));
    padding: .48rem;
    border: 1px solid rgba(226, 238, 253, .24);
    border-radius: 14px;
    background:
        linear-gradient(145deg, rgba(31, 58, 93, .98), rgba(36, 83, 102, .98));
    box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
}

.app-topbar-overflow-menu > *,
.app-topbar-overflow-menu form,
.app-topbar-overflow-menu .app-topbar-btn {
    width: 100%;
}

.app-topbar-overflow-menu .app-topbar-btn {
    justify-content: center;
}

@media (max-width: 900px) {
    .app-topbar-actions:not([hidden]) {
        display: none !important;
    }

    .app-topbar-actions.app-topbar-actions--pinned-visible:not([hidden]) {
        display: inline-flex !important;
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
        margin-left: 0;
    }

    .app-topbar-overflow:not([hidden]) {
        display: block !important;
    }

    .app-topbar--shell .app-topbar-bar {
        overflow: visible;
    }
}

@media (max-width: 640px) {
    .app-topbar--shell .app-topbar-actions[hidden] {
        display: none !important;
    }

    .app-topbar--shell .app-topbar-actions {
        order: initial;
        flex: 0 0 auto;
        padding-bottom: 0;
    }

    .app-topbar-overflow {
        margin-left: auto;
    }
}

.app-timebar {
    overflow: hidden;
}

.app-timebar .app-clock-strip {
    flex-wrap: nowrap;
    overflow: hidden;
}

.app-timebar .app-clock {
    min-width: max-content !important;
    max-width: none !important;
}

.app-timebar .app-clock [data-timezone-value],
.app-timebar .app-clock small {
    max-width: none !important;
    flex: 0 0 auto;
}

@media (max-width: 700px) {
    .app-timebar {
        padding: .35rem .72rem;
    }

    .app-timebar .app-clock {
        gap: .26rem;
        min-height: 26px;
        padding: .1rem .45rem !important;
    }

    .app-timebar .app-clock strong {
        font-size: .7rem;
    }

    .app-timebar .app-clock [data-timezone-value] {
        font-size: .78rem;
    }

    .app-timebar .app-clock small {
        font-size: .64rem;
    }
}

@media (max-width: 430px) {
    .app-timebar .app-clock small {
        display: none;
    }
}

.linked-places-control {
    display: grid;
    gap: .5rem;
}

.linked-places-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem;
    align-items: stretch;
}

.linked-places-selected {
    display: grid;
    gap: .42rem;
}

.linked-places-item,
.linked-places-empty {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--app-primary) 20%, var(--app-border));
    border-radius: 11px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-primary) 10%, transparent), transparent 34%),
        color-mix(in srgb, var(--app-surface-muted) 86%, transparent);
    padding: .5rem .58rem;
}

.linked-places-empty {
    grid-template-columns: 1fr;
    color: var(--app-text-muted);
    font-weight: 720;
}

.linked-places-item strong,
.linked-places-item small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.linked-places-item small {
    color: var(--app-text-muted);
    font-size: .78rem;
    font-weight: 720;
}

.linked-places-remove {
    border: 1px solid color-mix(in srgb, var(--app-danger) 34%, var(--app-border));
    border-radius: 999px;
    background: color-mix(in srgb, var(--app-danger) 9%, var(--app-surface));
    color: var(--app-danger);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    padding: .42rem .55rem;
}

.ops-place-overview {
    display: grid;
    gap: .45rem;
}

.ops-place-row {
    display: grid;
    grid-template-columns: minmax(10rem, 1.2fr) minmax(0, 1.6fr) auto;
    gap: .55rem;
    align-items: center;
    min-height: 42px;
    border: 1px solid color-mix(in srgb, var(--ops-accent, var(--app-primary)) 28%, var(--app-border));
    border-radius: 11px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent, var(--app-primary)) 12%, transparent), transparent 38%),
        color-mix(in srgb, var(--app-surface-muted) 82%, transparent);
    color: var(--app-text);
    padding: .46rem .58rem;
    text-decoration: none;
}

.ops-place-row:hover,
.ops-place-row:focus-visible {
    border-color: color-mix(in srgb, var(--ops-accent, var(--app-primary)) 62%, var(--app-border));
    color: var(--app-text);
}

.ops-place-row strong,
.ops-place-row small,
.ops-place-row em {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-place-row small,
.ops-place-row em {
    color: var(--app-text-muted);
    font-size: .78rem;
    font-style: normal;
    font-weight: 720;
}

.ops-place-patients {
    display: flex;
    gap: .3rem;
    min-width: 0;
}

.ops-place-patients em + em::before {
    content: "/";
    margin-right: .3rem;
    opacity: .55;
}

.ops-place-row b {
    font-size: 1.05rem;
    font-weight: 950;
}

@media (max-width: 760px) {
    .ops-place-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .ops-place-patients {
        grid-column: 1 / -1;
    }
}

/* Patient identity, duplicate checks, and relationship controls. */
.patient-identity-gate {
    margin-bottom: 0;
}

.patient-identity-card {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--app-accent) 12%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 95%, var(--app-accent)), var(--app-surface));
    padding: 0.9rem;
}

.patient-identity-cluster--gate {
    align-items: end;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, auto);
}

.patient-duplicate-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(8, 15, 28, 0.58);
    backdrop-filter: blur(4px);
}

.patient-duplicate-modal-panel {
    background: var(--app-surface) !important;
    border: 1px solid color-mix(in srgb, var(--app-accent) 28%, var(--app-border));
    border-radius: 16px !important;
    box-shadow: 0 24px 70px rgba(8, 15, 28, 0.34) !important;
    color: var(--app-text);
    display: grid;
    gap: 0.72rem;
    max-width: 520px !important;
    padding: 1.15rem !important;
    width: min(520px, calc(100vw - 2rem)) !important;
}

.patient-duplicate-modal-panel h2,
.patient-duplicate-modal-panel > div:first-child {
    color: var(--app-primary-dark) !important;
    font-size: 1.04rem !important;
    font-weight: 900 !important;
    margin: 0 !important;
}

.patient-duplicate-modal-panel p {
    color: var(--app-text-muted) !important;
    line-height: 1.45;
    margin: 0 !important;
}

.patient-duplicate-field {
    color: var(--app-text);
    white-space: nowrap;
}

.related-patients-control,
.linked-places-control {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
}

.related-patients-picker,
.linked-places-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: stretch;
}

.related-patients-selected,
.linked-places-selected {
    display: grid;
    gap: 0.45rem;
}

.related-patient-item,
.linked-places-item {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-accent) 7%, transparent), transparent 48%),
        var(--app-surface-muted);
    border: 1px solid color-mix(in srgb, var(--app-accent) 24%, var(--app-border));
    border-radius: 14px;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 0.62rem;
}

.related-patient-main,
.linked-places-item-main {
    display: grid;
    gap: 0.24rem;
    min-width: 0;
}

.related-patient-main strong,
.linked-places-item-main strong {
    color: var(--app-text);
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.related-patient-main span,
.linked-places-item-main small,
.linked-places-note span {
    color: var(--app-text-muted);
    font-size: 0.72rem;
    font-weight: 820;
    letter-spacing: 0.03em;
}

.related-patient-main span,
.linked-places-note span {
    text-transform: uppercase;
}

.related-patient-main input,
.linked-places-note input {
    background: color-mix(in srgb, var(--app-surface) 92%, var(--app-accent));
    border: 1px solid var(--app-border);
    border-radius: 10px;
    color: var(--app-text);
    min-height: 38px;
    padding: 0.45rem 0.58rem;
}

.related-patients-footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.linked-places-note {
    display: grid;
    gap: 0.24rem;
    margin-top: 0.36rem;
}

.linked-places-empty {
    background: color-mix(in srgb, var(--app-accent) 7%, var(--app-surface-muted));
    border: 1px dashed color-mix(in srgb, var(--app-accent) 30%, var(--app-border));
    border-radius: 12px;
    color: var(--app-text-muted);
    font-weight: 850;
    padding: 0.58rem 0.7rem;
}

.patient-info-subvalue {
    color: var(--app-text-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 760;
    margin-top: 0.12rem;
}

.patient-relationship-group-label {
    color: var(--app-text-muted);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    margin: 0.18rem 0 0.08rem;
    text-transform: uppercase;
}

.patient-relationship-note {
    color: var(--app-text);
    display: block;
    font-size: 0.82rem;
    font-weight: 650;
    margin-top: 0.18rem;
}

.app-topbar--shell .app-topbar-btn--patient-edit,
.app-topbar-btn--patient-edit {
    background: linear-gradient(135deg, #8a5cf6, #3f6df6) !important;
    border-color: color-mix(in srgb, #8a5cf6 78%, var(--app-border)) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(63, 109, 246, 0.18);
}

.app-topbar--shell .app-topbar-btn--patient-edit:hover,
.app-topbar-btn--patient-edit:hover {
    filter: brightness(0.96);
}

[data-bs-theme="light"] .app-topbar--shell .app-topbar-btn--patient-edit,
[data-bs-theme="light"] .app-topbar-btn--patient-edit {
    background: linear-gradient(135deg, #7257d7, #2e75a5) !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    .patient-identity-cluster--gate {
        grid-template-columns: 1fr;
    }

    .patient-duplicate-modal-panel {
        padding: 1rem !important;
    }

    .related-patients-picker,
    .linked-places-picker {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .related-patient-item,
    .linked-places-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .related-patient-item .linked-places-remove,
    .linked-places-item .linked-places-remove {
        justify-self: start;
    }

    .app-notice {
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        padding: 0.55rem 0.7rem !important;
    }

    .app-notice strong {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .app-notice span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-header-user-menu {
        flex: 0 0 auto !important;
        margin-left: auto;
        min-width: 0 !important;
        width: auto !important;
    }

    .app-header-user-button {
        min-width: 0 !important;
        width: auto !important;
        max-width: 7.5rem;
        padding-inline: 0.6rem !important;
    }
}

@media (max-width: 430px) {
    .app-notice {
        font-size: 0.88rem;
        min-height: 0;
    }

    .app-notice span {
        white-space: normal;
    }

    .app-header-user-button {
        max-width: 5.75rem;
    }
}

.patient-page,
.patient-main,
.visit-referral-shell,
.no-active-page,
.visit-history-page,
.inventory-page,
.admin-catalog-shell {
    color: var(--app-text);
}

[data-bs-theme="dark"] .patient-info,
[data-bs-theme="dark"] .patient-hero-item,
[data-bs-theme="dark"] .patient-summary-card,
[data-bs-theme="dark"] .visit-info-card,
[data-bs-theme="dark"] .visit-description-card,
[data-bs-theme="dark"] .visit-form-row-card,
[data-bs-theme="dark"] .no-active-page,
[data-bs-theme="dark"] .visit-referral-shell {
    background: color-mix(in srgb, var(--app-surface-muted) 82%, transparent) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .patient-page [style*="background:#fff"],
[data-bs-theme="dark"] .patient-page [style*="background: #fff"],
[data-bs-theme="dark"] .visit-referral-shell [style*="background:#fff"],
[data-bs-theme="dark"] .visit-referral-shell [style*="background: #fff"],
[data-bs-theme="dark"] .no-active-page [style*="background:#fff"],
[data-bs-theme="dark"] .no-active-page [style*="background: #fff"] {
    background: color-mix(in srgb, var(--app-surface-muted) 86%, transparent) !important;
    color: var(--app-text) !important;
    border-color: var(--app-border) !important;
}

[data-bs-theme="dark"] .patient-page [style*="background:#f"],
[data-bs-theme="dark"] .patient-page [style*="background: #f"],
[data-bs-theme="dark"] .visit-referral-shell [style*="background:#f"],
[data-bs-theme="dark"] .visit-referral-shell [style*="background: #f"],
[data-bs-theme="dark"] .no-active-page [style*="background:#f"],
[data-bs-theme="dark"] .no-active-page [style*="background: #f"] {
    background: color-mix(in srgb, var(--app-surface-muted) 78%, transparent) !important;
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .patient-page [style*="color:#666"],
[data-bs-theme="dark"] .patient-page [style*="color: #666"],
[data-bs-theme="dark"] .visit-referral-shell [style*="color:#666"],
[data-bs-theme="dark"] .visit-referral-shell [style*="color: #666"],
[data-bs-theme="dark"] .no-active-page [style*="color:#666"],
[data-bs-theme="dark"] .no-active-page [style*="color: #666"],
[data-bs-theme="dark"] .admin-catalog-shell [style*="color:#555"],
[data-bs-theme="dark"] .admin-catalog-shell [style*="color: #555"],
[data-bs-theme="dark"] .admin-catalog-shell [style*="color:#5c6b7a"],
[data-bs-theme="dark"] .admin-catalog-shell [style*="color: #5c6b7a"] {
    color: var(--app-text-muted) !important;
}

[data-bs-theme="dark"] .visit-referral-shell th,
[data-bs-theme="dark"] .visit-referral-shell td {
    border-color: var(--app-border) !important;
}

.patient-id-lookup-combined {
    grid-column: 1 / -1;
    display: grid;
    gap: .28rem;
}

.patient-id-lookup-btn--combined {
    width: 100%;
    justify-content: center;
    gap: .55rem;
    min-height: 44px;
    font-weight: 850;
}

.patient-duplicate-modal-panel {
    background: var(--app-surface) !important;
    color: var(--app-text) !important;
    border: 1px solid var(--app-border);
}

.patient-duplicate-modal-panel p {
    color: var(--app-text-muted) !important;
}

.patient-duplicate-field {
    color: var(--app-primary);
    font-weight: 950;
}

.account-page {
    max-width: min(100%, 960px);
}

.account-page .app-card {
    max-width: 920px;
}

.app-result-summary {
    align-items: center;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-success) 10%, transparent), transparent 72%),
        var(--app-surface);
    border: 1px solid color-mix(in srgb, var(--app-success) 22%, var(--app-border));
    border-radius: 12px;
    color: var(--app-text);
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    margin: .65rem 0 .85rem;
    padding: .58rem .72rem;
}

.app-result-summary strong {
    font-weight: 950;
}

.app-result-summary small {
    color: var(--app-text-muted);
    font-weight: 750;
}

.app-result-summary--stats {
    margin-top: -.25rem;
}

.global-emt-card__notes {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .65rem;
}

.global-emt-card__notes span {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    display: grid;
    gap: .1rem;
    padding: .48rem .55rem;
}

.global-emt-card__notes strong {
    color: var(--app-text);
    font-size: .92rem;
    line-height: 1.18;
}

.global-emt-card__notes small {
    color: var(--app-text-muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.global-emt-card__note-wide {
    grid-column: 1 / -1;
}

.create-event-form {
    align-items: end;
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.create-event-form label {
    color: var(--app-text);
    font-weight: 800;
}

.event-clock-settings__tools {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.event-clock-empty-hint {
    background: color-mix(in srgb, var(--app-info) 10%, var(--app-surface));
    border: 1px solid color-mix(in srgb, var(--app-info) 28%, var(--app-border));
    border-radius: 12px;
    color: var(--app-text-muted);
    font-size: .88rem;
    font-weight: 760;
    margin-bottom: .7rem;
    padding: .62rem .72rem;
}

.event-clock-row__preview {
    align-self: end;
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: 999px;
    color: var(--app-text-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    padding: .52rem .62rem;
    white-space: nowrap;
}

.map-leaflet,
.forward-team-route-map,
.event-places-map {
    min-height: 220px;
}

.map-leaflet {
    height: clamp(170px, 24vh, 310px) !important;
}

.map-leaflet.map-leaflet--expanded {
    height: clamp(420px, 68vh, 760px) !important;
}

.map-add-place__summary {
    cursor: pointer;
    width: fit-content;
}

.map-add-place__summary::marker,
.map-add-place__summary::-webkit-details-marker {
    display: none;
}

.map-point-list {
    max-width: 1020px;
}

.map-size-toggle {
    cursor: pointer;
}

.forward-team-route-map {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: 14px;
    height: clamp(240px, 34vh, 420px);
    overflow: hidden;
    width: 100%;
}

.map-legend-dot--past,
.map-legend-dot--current,
.map-legend-dot--future {
    border-radius: 999px;
    display: inline-block;
    height: .7rem;
    width: .7rem;
}

.map-legend-dot--past { background: #64748b; }
.map-legend-dot--current { background: #2fbf71; }
.map-legend-dot--future { background: #f5b23b; }

.event-places-map-card,
.event-place-add-card {
    max-width: min(100%, 1180px);
}

.event-place-row {
    max-width: 1180px;
}

.event-information-settings-page {
    max-width: min(100%, 1180px);
}

.event-information-settings-page .app-card {
    padding: .85rem;
}

.event-information-settings-page .app-row-list {
    gap: .62rem;
}

.event-information-settings-page textarea.form-control {
    min-height: 92px;
}

.app-topbar-btn--patient-edit {
    border-color: color-mix(in srgb, #8b5cf6 70%, #ffffff) !important;
    background: linear-gradient(135deg, #6d4be8, #9b72ff) !important;
    color: #ffffff !important;
}

.leaflet-container {
    font-family: inherit;
    outline-offset: 1px;
    overflow: hidden;
    position: relative;
    touch-action: pan-x pan-y;
}

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
    left: 0;
    position: absolute;
    top: 0;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
    user-select: none;
}

.leaflet-tile {
    filter: saturate(.94) contrast(.98);
    max-width: none !important;
}

.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-control { position: relative; z-index: 800; pointer-events: visiblePainted; pointer-events: auto; }
.leaflet-top, .leaflet-bottom { position: absolute; z-index: 1000; pointer-events: none; }
.leaflet-top { top: 0; }
.leaflet-right { right: 0; }
.leaflet-bottom { bottom: 0; }
.leaflet-left { left: 0; }
.leaflet-control { float: left; clear: both; }
.leaflet-right .leaflet-control { float: right; }
.leaflet-top .leaflet-control { margin-top: 10px; }
.leaflet-bottom .leaflet-control { margin-bottom: 10px; }
.leaflet-left .leaflet-control { margin-left: 10px; }
.leaflet-right .leaflet-control { margin-right: 10px; }
.leaflet-control-zoom a {
    align-items: center;
    background: var(--app-surface);
    border-bottom: 1px solid var(--app-border);
    color: var(--app-text);
    display: flex;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    text-decoration: none;
    width: 30px;
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
    background: var(--app-surface);
    color: var(--app-text);
}

@media (max-width: 991.98px) {
    .app-mobile-nav {
        width: min(86vw, 420px) !important;
    }

    .app-mobile-nav .app-sidebar-nav {
        max-height: none;
        overflow-y: auto;
    }
}

/* Final clinical dark-mode and responsive shell hardening. Keep these late so
   older page-level inline styles cannot leak through on sensitive screens. */
.app-topbar-actions[hidden],
.app-topbar-overflow[hidden] {
    display: none !important;
}

.app-topbar-overflow:not([hidden]) {
    display: block !important;
}

.app-topbar-overflow-menu .pdf-action-btn {
    display: none !important;
}

.app-timebar .app-clock {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.app-timebar .app-clock [data-timezone-value],
.app-timebar .app-clock [data-timezone-offset] {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

@media (max-width: 520px) {
    .app-timebar .app-clock:nth-child(n+3) {
        display: none !important;
    }
}

@media (max-width: 390px) {
    .app-timebar .app-clock:nth-child(n+2) {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .app-topbar--shell .app-topbar-bar {
        align-items: center;
        gap: .44rem;
    }

    .app-topbar-brand {
        min-width: 0;
    }

    .app-topbar-overflow-summary {
        min-width: 0;
        padding-inline: .72rem !important;
    }
}

[data-bs-theme="dark"] .visit-history-page,
[data-bs-theme="dark"] .birth-certificate-page,
[data-bs-theme="dark"] .death-detail-page {
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--app-primary) 8%, transparent), transparent 48%),
        color-mix(in srgb, var(--app-surface) 92%, transparent) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .visit-history-page [style*="background:#fff"],
[data-bs-theme="dark"] .visit-history-page [style*="background: #fff"],
[data-bs-theme="dark"] .visit-history-page [style*="background:#f"],
[data-bs-theme="dark"] .visit-history-page [style*="background: #f"],
[data-bs-theme="dark"] .birth-certificate-page [style*="background:#fff"],
[data-bs-theme="dark"] .birth-certificate-page [style*="background: #fff"],
[data-bs-theme="dark"] .birth-certificate-page [style*="background:#f"],
[data-bs-theme="dark"] .birth-certificate-page [style*="background: #f"],
[data-bs-theme="dark"] .death-detail-page [style*="background:#fff"],
[data-bs-theme="dark"] .death-detail-page [style*="background: #fff"],
[data-bs-theme="dark"] .death-detail-page [style*="background:#f"],
[data-bs-theme="dark"] .death-detail-page [style*="background: #f"],
[data-bs-theme="dark"] .visit-referral-treatment-row {
    background: color-mix(in srgb, var(--app-surface-muted) 84%, transparent) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .visit-history-page [style*="color:#"],
[data-bs-theme="dark"] .visit-history-page [style*="color: #"],
[data-bs-theme="dark"] .birth-certificate-page [style*="color:#"],
[data-bs-theme="dark"] .birth-certificate-page [style*="color: #"],
[data-bs-theme="dark"] .death-detail-page [style*="color:#"],
[data-bs-theme="dark"] .death-detail-page [style*="color: #"] {
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .visit-history-page .app-clean-table,
[data-bs-theme="dark"] .visit-history-page .app-clean-table th,
[data-bs-theme="dark"] .visit-history-page .app-clean-table td,
[data-bs-theme="dark"] .visit-referral-shell .app-table th,
[data-bs-theme="dark"] .visit-referral-shell .app-table td {
    background: color-mix(in srgb, var(--app-surface-muted) 72%, transparent) !important;
    border-color: var(--app-border) !important;
    color: var(--app-text) !important;
}

[data-bs-theme="dark"] .visit-history-page .app-clean-table tr[style*="background"],
[data-bs-theme="dark"] .visit-history-page .app-clean-table tr[style*="background"] > * {
    background: color-mix(in srgb, var(--app-surface-muted) 84%, transparent) !important;
}

.birth-certificate-page .pdf-action-btn,
.patient-page .pdf-action-btn,
.visit-details .pdf-action-btn,
.visit-history-page .pdf-action-btn,
.visit-referral-shell .pdf-action-btn,
.death-detail-page .pdf-action-btn {
    box-shadow: 0 12px 28px color-mix(in srgb, var(--app-primary) 18%, transparent);
}

/* Dashboard metric rhythm: wide MDS cards, compact live-status cards. */
.ops-dashboard .ops-metric-grid,
.ops-metric-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: .64rem;
}

.ops-dashboard .ops-metric--mds,
.ops-metric--mds {
    grid-column: span 2;
}

.ops-dashboard .ops-metric:not(.ops-metric--mds),
.ops-metric:not(.ops-metric--mds) {
    grid-column: span 1;
}

.ops-dashboard .ops-metric--watch small,
.ops-metric--watch small {
    max-width: none;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .ops-dashboard .ops-metric-grid,
    .ops-metric-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ops-dashboard .ops-metric--mds,
    .ops-metric--mds {
        grid-column: span 2;
    }
}

@media (max-width: 700px) {
    .ops-dashboard .ops-metric-grid,
    .ops-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 460px) {
    .ops-dashboard .ops-metric-grid,
    .ops-metric-grid,
    .ops-dashboard .ops-metric--mds,
    .ops-metric--mds,
    .ops-dashboard .ops-metric:not(.ops-metric--mds),
    .ops-metric:not(.ops-metric--mds) {
        grid-column: auto;
        grid-template-columns: 1fr;
    }

    .ops-dashboard .ops-metric--watch small,
    .ops-metric--watch small {
        white-space: normal;
    }
}

/* Shared compact operational rows. Use this rhythm for dense dashboard lists. */
.ops-dashboard .ops-list,
.ops-dashboard .ops-place-overview,
.ops-dashboard .ops-info-strip {
    display: grid;
    gap: .36rem;
}

.ops-dashboard .ops-list-row,
.ops-dashboard .ops-list-row--compact {
    grid-template-columns: .22rem minmax(0, 1fr) max-content !important;
    gap: .5rem !important;
    min-height: 0 !important;
    padding: .38rem .5rem !important;
    border-radius: 10px !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent, var(--app-primary)) 9%, transparent), transparent 44%),
        color-mix(in srgb, var(--app-surface-muted) 76%, transparent) !important;
}

.ops-dashboard .ops-list-row::before,
.ops-dashboard .ops-list-row--compact::before {
    content: "";
    display: block;
    width: .22rem;
    min-height: 28px;
    border-radius: 999px;
    background: var(--ops-accent, var(--app-primary));
}

.ops-dashboard .ops-list-row > span,
.ops-dashboard .ops-list-row--compact > span {
    min-width: 0;
}

.ops-dashboard .ops-list-row strong,
.ops-dashboard .ops-list-row--compact strong,
.ops-dashboard .ops-place-row strong,
.ops-dashboard .ops-info-strip strong {
    font-size: .86rem;
    line-height: 1.15;
}

.ops-dashboard .ops-list-row small,
.ops-dashboard .ops-list-row--compact small,
.ops-dashboard .ops-list-row em,
.ops-dashboard .ops-list-row--compact em {
    font-size: .74rem;
    line-height: 1.15;
}

.ops-dashboard .ops-place-row {
    grid-template-columns: .22rem minmax(7rem, 1fr) minmax(0, 1.1fr) auto;
    gap: .48rem;
    min-height: 0;
    padding: .38rem .5rem;
    border-radius: 10px;
}

.ops-dashboard .ops-place-row::before {
    content: "";
    width: .22rem;
    min-height: 28px;
    border-radius: 999px;
    background: var(--ops-accent, var(--app-primary));
}

.ops-dashboard .ops-info-strip {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.ops-dashboard .ops-info-strip a {
    display: grid;
    grid-template-columns: .22rem minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    min-height: 0;
    padding: .42rem .52rem;
    border: 1px solid color-mix(in srgb, var(--app-success) 32%, var(--app-border));
    border-radius: 10px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-success) 10%, transparent), transparent 44%),
        color-mix(in srgb, var(--app-surface-muted) 78%, transparent);
}

.ops-dashboard .ops-info-strip a::before {
    content: "";
    width: .22rem;
    min-height: 28px;
    border-radius: 999px;
    background: var(--app-success);
}

.patient-identity-field,
.patient-id-lookup-combined,
.app-control-cluster {
    border: 1px solid color-mix(in srgb, var(--app-primary) 18%, var(--app-border));
    border-radius: 12px;
    background:
        radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--app-primary) 11%, transparent), transparent 34%),
        color-mix(in srgb, var(--app-surface-muted) 76%, transparent);
    padding: .55rem;
}

.patient-identity-cluster {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
    gap: .55rem;
    align-items: stretch;
    padding: .5rem;
    border: 1px solid color-mix(in srgb, var(--app-primary) 20%, var(--app-border));
    border-radius: 16px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-primary) 8%, transparent), transparent 46%),
        color-mix(in srgb, var(--app-surface-muted) 54%, transparent);
}

.patient-id-lookup-combined {
    grid-column: span 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.patient-identity-cluster .patient-id-lookup-combined {
    grid-column: auto;
    align-self: stretch;
}

.patient-id-lookup-btn--combined {
    width: auto !important;
    min-height: 38px;
    justify-content: center;
    gap: .42rem;
    padding-inline: .7rem;
}

.patient-id-lookup-status {
    flex: 1 1 220px;
    min-width: 180px;
    margin-top: 0 !important;
}

.patient-id-lookup-btn:disabled {
    cursor: not-allowed;
    opacity: .62;
    filter: grayscale(.35);
}

.event-info-links {
    display: grid;
    gap: .45rem;
    margin-top: .7rem;
}

.event-info-link-group {
    display: grid;
    gap: .34rem;
    padding: .48rem;
    border: 1px solid color-mix(in srgb, var(--event-info-accent, var(--app-primary)) 28%, var(--app-border));
    border-radius: 12px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--event-info-accent, var(--app-primary)) 10%, transparent), transparent 42%),
        color-mix(in srgb, var(--app-surface-muted) 78%, transparent);
}

.event-info-link-group h3 {
    margin: 0;
    color: var(--app-text-muted);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.event-info-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .35rem;
}

.event-info-link-card {
    display: grid;
    grid-template-columns: .2rem minmax(0, 1fr);
    gap: .42rem;
    align-items: center;
    padding: .38rem .45rem;
    border: 1px solid color-mix(in srgb, var(--event-info-accent, var(--app-primary)) 24%, var(--app-border));
    border-radius: 10px;
    color: var(--app-text);
    text-decoration: none;
    background: color-mix(in srgb, var(--app-surface) 74%, transparent);
}

.event-info-link-card::before {
    content: "";
    width: .2rem;
    min-height: 24px;
    border-radius: 999px;
    background: var(--event-info-accent, var(--app-primary));
}

.event-info-link-card strong,
.event-info-link-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.event-info-link-card small {
    color: var(--app-text-muted);
    font-size: .75rem;
    font-weight: 720;
}

@media (max-width: 760px) {
    .ops-dashboard .ops-place-row {
        grid-template-columns: .22rem minmax(0, 1fr) auto;
    }

    .ops-dashboard .ops-place-patients {
        grid-column: 2 / -1;
    }

    .patient-id-lookup-combined {
        grid-column: 1 / -1;
    }

    .patient-identity-cluster {
        grid-template-columns: 1fr;
    }

    .patients-index-page .app-filter-btn,
    .no-active-page .app-filter-btn,
    .icon-filter-control {
        width: auto !important;
        max-width: 100%;
        padding-inline: .78rem !important;
        justify-self: start;
    }
}

/* Dashboard list finishing overrides must stay after the shared row rules. */
.ops-dashboard .ops-list-row,
.ops-dashboard .ops-list-row--compact {
    align-items: center !important;
    overflow: hidden;
}

.ops-dashboard .ops-list-row > span,
.ops-dashboard .ops-list-row--compact > span {
    display: grid;
    min-width: 0;
    gap: .12rem;
}

.ops-dashboard .ops-list-row strong,
.ops-dashboard .ops-list-row--compact strong,
.ops-dashboard .ops-info-strip strong {
    display: block;
    max-width: min(34rem, 100%);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-dashboard .ops-list-row small,
.ops-dashboard .ops-list-row--compact small,
.ops-dashboard .ops-list-row em,
.ops-dashboard .ops-list-row--compact em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-dashboard .ops-list-row > em,
.ops-dashboard .ops-list-row--compact > em {
    justify-self: end;
    max-width: 9.5rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--app-text-muted);
    font-style: normal;
    font-size: .74rem;
    font-weight: 720;
    text-align: right;
}

.ops-dashboard .ops-list-row.is-overdue {
    --ops-accent: var(--app-danger);
    border-color: color-mix(in srgb, var(--app-danger) 58%, var(--app-border)) !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-danger) 20%, transparent), transparent 52%),
        color-mix(in srgb, var(--app-danger) 9%, var(--app-surface-muted)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--app-danger) 14%, transparent);
}

.ops-dashboard .ops-list-row.is-overdue::before {
    width: .28rem;
    min-height: 36px;
    background: linear-gradient(180deg, #ff7267, var(--app-danger));
}

.ops-dashboard .ops-list-row.is-overdue > em {
    color: color-mix(in srgb, var(--app-danger) 78%, var(--app-text));
    font-weight: 860;
}

.ops-dashboard .ops-row-bracket {
    color: var(--app-text-muted);
    font-size: .78em;
    font-weight: 520;
    letter-spacing: 0;
}

.ops-dashboard .ops-row-inline {
    display: flex !important;
    min-width: 0;
    align-items: baseline;
    gap: .44rem;
}

.ops-dashboard .ops-row-inline time {
    flex: 0 0 auto;
    color: color-mix(in srgb, var(--app-primary) 70%, var(--app-text));
    font-size: .7rem;
    font-variant-numeric: tabular-nums;
    font-weight: 840;
    white-space: nowrap;
}

.ops-dashboard .ops-row-inline strong {
    min-width: 0;
}

.ops-dashboard [data-dashboard-fragment="stock"] .ops-list-row strong {
    font-size: .76rem;
    font-weight: 760;
}

.ops-dashboard [data-dashboard-fragment="stock"] .ops-list-row > em {
    font-size: .7rem;
}

.ops-dashboard .ops-place-row {
    align-items: center;
    overflow: hidden;
}

.ops-dashboard .ops-place-row > span:first-of-type strong {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: .35rem;
    overflow: hidden;
    white-space: nowrap;
}

.ops-dashboard .ops-place-row > span:first-of-type small {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--app-text-muted);
    font-size: .68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-dashboard .ops-place-patients {
    display: flex;
    min-width: 0;
    gap: 0;
    overflow: hidden;
}

.ops-dashboard .ops-place-patients em {
    min-width: 0;
    overflow: hidden;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-dashboard .ops-place-patients em + em::before {
    content: ", ";
}

.ops-dashboard .ops-place-row b {
    justify-self: end;
    min-width: 2ch;
    font-size: .9rem;
}

.ops-dashboard .ops-info-strip a > span {
    justify-self: end;
    color: var(--app-text-muted);
    font-size: .74rem;
    font-weight: 850;
    white-space: nowrap;
}

@media (min-width: 1180px) {
    .ops-dashboard [data-dashboard-fragment="stock"] .ops-list-row strong {
        max-width: 18rem;
    }
}

@media (max-width: 760px) {
    .ops-dashboard .ops-list-row,
    .ops-dashboard .ops-list-row--compact {
        grid-template-columns: .22rem minmax(0, 1fr) !important;
    }

    .ops-dashboard .ops-list-row > em,
    .ops-dashboard .ops-list-row--compact > em {
        grid-column: 2;
        justify-self: start;
        max-width: 100%;
    }

    .ops-dashboard .ops-place-row {
        grid-template-columns: .22rem minmax(0, 1fr) max-content !important;
    }

    .ops-dashboard .ops-place-row::before {
        grid-row: 1 / span 2;
    }

    .ops-dashboard .ops-place-row > span:first-of-type {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .ops-dashboard .ops-place-patients {
        grid-column: 2 / -1;
        grid-row: 2;
    }

    .ops-dashboard .ops-place-row b {
        grid-column: 3;
        grid-row: 1;
    }

    .patients-index-page .icon-filter-strip,
    .no-active-page .icon-filter-strip {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start;
        align-items: center;
    }

    .patients-index-page .icon-filter-button,
    .no-active-page .icon-filter-button {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: calc(100vw - 2rem);
    }
}

/* Final patient create/detail overrides: keep these after page-specific blocks. */
.patient-identity-card {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--app-accent) 12%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 95%, var(--app-accent)), var(--app-surface)) !important;
}

.patient-identity-cluster--gate {
    align-items: end;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, auto);
}

.patient-duplicate-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(8, 15, 28, 0.58) !important;
    backdrop-filter: blur(4px);
}

.patient-duplicate-modal-panel {
    background: var(--app-surface) !important;
    border: 1px solid color-mix(in srgb, var(--app-accent) 28%, var(--app-border)) !important;
    color: var(--app-text) !important;
}

.related-patients-control,
.linked-places-control {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
}

.related-patients-picker,
.linked-places-picker {
    align-items: stretch;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.related-patient-item,
.linked-places-item {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-accent) 7%, transparent), transparent 48%),
        var(--app-surface-muted) !important;
    border: 1px solid color-mix(in srgb, var(--app-accent) 24%, var(--app-border)) !important;
    border-radius: 14px !important;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 0.62rem;
}

.related-patient-main,
.linked-places-item-main,
.linked-places-note {
    display: grid;
    gap: 0.24rem;
    min-width: 0;
}

.linked-places-note {
    margin-top: 0.36rem;
}

.related-patient-main strong,
.linked-places-item-main strong {
    color: var(--app-text) !important;
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.related-patient-main span,
.linked-places-note span {
    color: var(--app-text-muted);
    font-size: 0.72rem;
    font-weight: 820;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.linked-places-note input {
    min-width: 0;
}

.patient-info-subvalue,
.patient-relationship-note {
    color: var(--app-text-muted) !important;
    display: block;
    font-size: 0.72rem;
    font-weight: 760;
    margin-top: 0.12rem;
}

.app-topbar--shell .app-topbar-btn--patient-edit,
.app-topbar-btn--patient-edit {
    background: linear-gradient(135deg, #8a5cf6, #3f6df6) !important;
    border-color: color-mix(in srgb, #8a5cf6 78%, var(--app-border)) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(63, 109, 246, 0.18);
}

@media (max-width: 760px) {
    .patient-identity-cluster--gate,
    .related-patient-item,
    .linked-places-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-notice {
        align-items: center !important;
        display: flex !important;
        gap: 0.5rem !important;
        padding: 0.55rem 0.7rem !important;
    }

    .app-notice strong {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .app-notice span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-header-user-menu,
    .app-header-user-button {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        width: auto !important;
    }

    .app-header-user-button {
        max-width: 7.5rem;
        padding-inline: 0.6rem !important;
    }
}

@media (max-width: 430px) {
    .app-notice {
        font-size: 0.88rem;
        min-height: 0;
    }

    .app-header-user-button {
        max-width: 5.75rem;
    }
}

/* Final relationship and patient-edit action polish. */
.app-topbar--shell .app-topbar-btn--patient-save,
.app-topbar-btn--patient-save {
    background: linear-gradient(135deg, #7bd99a, #35b875) !important;
    border-color: color-mix(in srgb, #35b875 74%, var(--app-border)) !important;
    color: #062112 !important;
    box-shadow: 0 10px 24px rgba(53, 184, 117, 0.18);
}

.app-topbar--shell .app-topbar-btn--patient-save:hover,
.app-topbar-btn--patient-save:hover {
    filter: brightness(0.96);
}

.app-topbar-btn .app-btn-icon {
    fill: none;
    flex: 0 0 auto;
    height: 1rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 1rem;
}

.linked-places-remove {
    border: 1px solid color-mix(in srgb, var(--app-danger) 42%, var(--app-border)) !important;
    border-radius: 10px !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--app-danger) 16%, transparent), transparent 80%),
        color-mix(in srgb, var(--app-surface) 92%, var(--app-danger)) !important;
    color: var(--app-danger) !important;
    min-height: 36px;
    padding: .46rem .72rem !important;
}

.linked-places-remove:hover,
.linked-places-remove:focus-visible {
    border-color: var(--app-danger) !important;
    background: color-mix(in srgb, var(--app-danger) 14%, var(--app-surface)) !important;
}

.patient-identity-cluster {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--app-primary) 8%, transparent), transparent 46%),
        color-mix(in srgb, var(--app-surface-muted) 54%, transparent) !important;
}

.patient-identity-cluster .patient-identity-field {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.patient-identity-cluster .patient-id-lookup-combined {
    background:
        radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--app-primary) 11%, transparent), transparent 34%),
        color-mix(in srgb, var(--app-surface-muted) 76%, transparent) !important;
}

/* Final mobile overflow guardrails. Dense operational pages must shrink or scroll,
   never force the viewport wider than the device. */
.app-shell,
.app-workspace,
.app-main,
.app-page,
.app-page--narrow,
.app-page--wide,
.app-card,
.app-panel,
.app-filter-panel,
.app-page-hero,
.ops-dashboard,
.patient-form-shell,
.patient-card,
.app-table-card,
.patients-index-page,
.no-active-page,
.inventory-page,
.audit-log-page,
.pdf-registry-page {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

.app-main {
    overflow-x: clip;
}

body.linces-app,
body.linces-app .app-workspace,
body.linces-app .app-main,
body.linces-app .app-topbar,
body.linces-app .app-topbar-bar,
body.linces-app .app-content,
body.linces-app .app-page,
body.linces-app .app-page * {
    box-sizing: border-box;
}

body.linces-app .app-page form,
body.linces-app .app-page fieldset,
body.linces-app .app-page .row,
body.linces-app .app-page [class^="col-"],
body.linces-app .app-page [class*=" col-"],
body.linces-app .app-page input,
body.linces-app .app-page select,
body.linces-app .app-page textarea,
body.linces-app .app-page .form-control,
body.linces-app .app-page .form-select,
body.linces-app .app-page .input-group {
    min-width: 0;
    max-width: 100%;
}

body.linces-app .app-page h1,
body.linces-app .app-page h2,
body.linces-app .app-page h3,
body.linces-app .app-page p,
body.linces-app .app-page a,
body.linces-app .app-page button,
body.linces-app .app-page .app-card,
body.linces-app .app-page .app-panel,
body.linces-app .app-page .app-page-hero,
body.linces-app .app-page .app-page-title,
body.linces-app .app-page .app-page-subtitle {
    overflow-wrap: anywhere;
}

.table-responsive,
.table-wrap,
.app-table-scroll,
.scroll-sync-table,
.scroll-sync-table-body,
.audit-table-wrap,
.pdf-registry-table,
.map-points-table {
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.table-responsive,
.table-wrap,
.app-table-scroll,
.scroll-sync-table {
    overscroll-behavior-x: contain;
}

.table-responsive > table,
.table-wrap > table,
.app-table-scroll > table,
.scroll-sync-table-body > table {
    width: max-content;
    min-width: 100%;
}

@media (max-width: 640px) {
    .app-grid,
    .app-grid--cards,
    .app-field-grid,
    .app-form-grid,
    .app-form-grid--wide,
    .app-filter-grid,
    .global-emt-grid,
    .event-info-link-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .app-page-hero,
    .app-page-hero .app-record-head {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .app-page-hero .app-record-actions,
    .app-page-hero .app-chip-list {
        justify-content: flex-start;
    }

    .app-form-actions > .btn:not(.w-100),
    .app-action-row > .btn:not(.w-100),
    .app-filter-panel .btn:not(.w-100),
    .app-filter-panel button:not(.w-100),
    .patients-index-page .app-filter-btn:not(.w-100),
    .no-active-page .app-filter-btn:not(.w-100) {
        flex: 0 1 auto;
        width: auto;
    }

    body.linces-app .app-topbar-actions {
        max-width: 100%;
        overflow-x: clip;
    }
}

@media (max-width: 430px) {
    .app-card,
    .section,
    .app-filter-panel,
    .app-page-hero {
        padding: .72rem;
    }
}

/* Desktop shell anchoring: the collapsible sidebar belongs to the viewport,
   while the page content keeps the document scroll. */
@media (min-width: 992px) {
    body.linces-app:not(.linces-app--auth) .app-shell-header {
        position: sticky !important;
        top: 0;
        z-index: 1060;
    }

    body.linces-app:not(.linces-app--auth) .app-shell {
        grid-template-columns: var(--app-sidebar-current-width) minmax(0, 1fr);
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0;
        display: flex !important;
        width: var(--app-sidebar-current-width);
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        flex-direction: column;
        overflow: hidden !important;
    }

    body.linces-app:not(.linces-app--auth) .app-workspace {
        grid-column: 2;
        min-width: 0;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-brand,
    body.linces-app:not(.linces-app--auth) .app-sidebar-footer {
        flex: 0 0 auto;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-nav {
        display: flex;
        flex: 1 1 auto !important;
        flex-direction: column;
        gap: .12rem;
        min-height: 0;
        padding-block: .58rem;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-nav > .app-sidebar-link,
    body.linces-app:not(.linces-app--auth) .app-sidebar-nav > .app-sidebar-group {
        flex: 0 0 auto;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-group {
        display: block;
        min-height: 0;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-group > summary {
        display: grid;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-subnav {
        position: static;
        display: grid;
        min-height: 0;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-sublink {
        position: relative;
    }

    body.linces-app:not(.linces-app--auth) .app-sidebar-footer {
        margin-top: 0;
    }
}


/* Shared operational map surfaces. */
.linces-map {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    min-height: 220px;
    overflow: hidden;
    width: 100%;
}

.map-marker {
    align-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
    color: #fff;
    display: flex;
    font-size: .68rem;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.map-page-grid {
    align-items: start;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
}

.map-page-grid__map {
    max-width: 820px;
    min-width: 0;
}

.map-page-grid__side {
    min-width: 0;
}

.map-leaflet {
    height: clamp(300px, 48vh, 560px) !important;
}

.map-leaflet.map-leaflet--expanded {
    height: clamp(420px, 68vh, 760px) !important;
    max-width: 100%;
}

.map-controls-grid,
.map-download-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

.map-tool-card {
    background: var(--app-surface-muted);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    padding: .7rem;
}

.map-legend-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .7rem;
}

.map-legend-item {
    align-items: center;
    color: var(--app-text-muted);
    display: inline-flex;
    font-size: .82rem;
    font-weight: 800;
    gap: .3rem;
    white-space: nowrap;
}

.map-legend-dot {
    border-radius: 999px;
    display: inline-block;
    height: .66rem;
    width: .66rem;
}

.map-point-list,
.event-place-list,
.map-offline-area-list {
    scrollbar-color: color-mix(in srgb, var(--app-primary) 38%, var(--app-border)) transparent;
    scrollbar-width: thin;
}

.event-place-list--scroll,
.map-offline-area-list--scroll {
    max-height: min(62vh, 620px);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: .15rem;
}

.map-point-row {
    align-items: start;
    background: var(--app-surface);
    border: 1px solid color-mix(in srgb, var(--map-point-color, var(--app-accent)) 28%, var(--app-border));
    border-left: 4px solid var(--map-point-color, var(--app-accent));
    border-radius: 10px;
    color: inherit;
    display: grid;
    gap: .65rem;
    grid-template-columns: 1fr auto;
    padding: .52rem .62rem;
    text-decoration: none;
}

.map-point-row:hover {
    color: inherit;
    text-decoration: none;
}

.map-point-title,
.event-place-title {
    font-weight: 900;
    line-height: 1.15;
}

.map-point-subtitle,
.event-place-meta,
.map-point-coordinates,
.map-package-meta {
    color: var(--app-text-muted);
    font-size: .84rem;
    line-height: 1.25;
}

.map-point-coordinates,
.event-place-coordinates {
    font-variant-numeric: tabular-nums;
}

.map-point-kind {
    color: var(--app-text-muted);
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.map-package-row,
.map-offline-area-row {
    align-items: center;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 10px;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .5rem .6rem;
}

.event-places-map-layout {
    align-items: start;
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
}

.event-places-map {
    height: clamp(280px, 46vh, 520px);
}

.event-place-row {
    align-items: center;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-left: 5px solid var(--place-color, var(--app-primary));
    border-radius: 10px;
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(220px, 1.2fr) minmax(130px, .55fr) minmax(180px, .7fr) auto;
    padding: .6rem .68rem;
}

.event-place-row--inactive { opacity: .76; }
.event-place-row--deleted { opacity: .58; }

.forward-team-route-map {
    height: clamp(240px, 34vh, 420px);
}

@media (max-width: 1100px) {
    .map-page-grid,
    .event-places-map-layout,
    .event-place-row,
    .map-point-row,
    .map-package-row,
    .map-offline-area-row {
        grid-template-columns: 1fr;
    }

    .map-page-grid__map {
        max-width: 100%;
    }
}


/* Compact map list refinements. */
.map-point-row {
    border-radius: 8px;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
    padding: .48rem .58rem;
}

.map-point-actions {
    align-items: end;
    display: flex;
    flex-direction: column;
    gap: .32rem;
}

.map-point-linked-list {
    display: grid;
    gap: .12rem;
    margin-top: .25rem;
}

.map-point-linked-item {
    color: var(--app-text-muted);
    font-size: .8rem;
    line-height: 1.2;
}

.event-place-side-list {
    display: grid;
    gap: .42rem;
}

.event-place-side-list--scroll {
    max-height: min(46vh, 520px);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: .15rem;
    scrollbar-color: color-mix(in srgb, var(--app-primary) 38%, var(--app-border)) transparent;
    scrollbar-width: thin;
}

.event-place-side-row {
    align-items: center;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-left: 4px solid var(--place-color, var(--app-primary));
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: .45rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .46rem .55rem;
    text-align: left;
    width: 100%;
}

.event-place-side-row:hover {
    border-color: color-mix(in srgb, var(--place-color, var(--app-primary)) 32%, var(--app-border));
}

.event-place-side-row strong,
.event-place-side-row small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-place-side-row small,
.event-place-side-row__coords {
    color: var(--app-text-muted);
    font-size: .8rem;
    line-height: 1.2;
}

.event-place-side-row__coords {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.event-place-linked-list {
    display: grid;
    gap: .12rem;
    margin-top: .35rem;
}

.event-place-linked-item {
    color: var(--app-text-muted);
    font-size: .8rem;
    line-height: 1.2;
}

.event-place-linked-card {
    max-width: min(100%, 980px);
}

.event-place-patient-list {
    display: grid;
    gap: .42rem;
}

.event-place-patient-list--scroll {
    max-height: min(48vh, 520px);
    overflow: auto;
    overscroll-behavior: contain;
    padding-right: .15rem;
    scrollbar-color: color-mix(in srgb, var(--app-primary) 38%, var(--app-border)) transparent;
    scrollbar-width: thin;
}

.event-place-patient-row {
    align-items: center;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 8px;
    color: inherit;
    display: grid;
    gap: .55rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .52rem .62rem;
    text-decoration: none;
}

.event-place-patient-row:hover {
    border-color: color-mix(in srgb, var(--app-accent) 34%, var(--app-border));
    color: inherit;
    text-decoration: none;
}

.event-place-patient-row strong,
.event-place-patient-row small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.event-place-patient-row small,
.event-place-patient-row__status {
    color: var(--app-text-muted);
    font-size: .82rem;
    line-height: 1.2;
}

.event-place-patient-row__status {
    font-weight: 850;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .event-place-side-row,
    .map-point-row {
        grid-template-columns: 1fr;
    }

    .map-point-actions {
        align-items: start;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .event-place-side-row__coords,
    .event-place-patient-row__status {
        white-space: normal;
    }

    .event-place-patient-row {
        grid-template-columns: 1fr;
    }
}


/* Final map and dashboard layout refinements. */
.leaflet-container canvas {
    max-width: none !important;
    max-height: none !important;
}

.map-page-grid {
    align-items: stretch;
}

.map-page-grid__map {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
}

.map-page-grid__map .map-leaflet {
    height: 100% !important;
    min-height: 360px;
}

.map-page-grid__map .map-leaflet.map-leaflet--expanded {
    height: clamp(420px, 68vh, 760px) !important;
}

.event-place-list--scroll,
.map-offline-area-list--scroll,
.event-place-side-list--scroll,
.event-place-patient-list--scroll {
    overscroll-behavior: auto;
    overscroll-behavior-y: auto;
}

.ops-dashboard-masonry {
    column-gap: .85rem;
}

.ops-dashboard-masonry--primary {
    column-count: 2;
}

.ops-dashboard-masonry--secondary {
    column-count: 3;
}

.ops-dashboard-masonry > .ops-panel {
    break-inside: avoid;
    display: inline-grid;
    margin: 0 0 .85rem;
    page-break-inside: avoid;
    width: 100%;
}

@media (max-width: 1180px) {
    .ops-dashboard-masonry--secondary {
        column-count: 2;
    }
}

@media (max-width: 900px) {
    .ops-dashboard-masonry--primary,
    .ops-dashboard-masonry--secondary {
        column-count: 1;
    }
}

@media (max-width: 1100px) {
    .map-page-grid__map {
        display: block;
    }

    .map-page-grid__map .map-leaflet {
        height: clamp(300px, 48vh, 560px) !important;
        min-height: 280px;
    }
}

/* Compact mapped point list and resilient map sizing. */
.linces-map.leaflet-container {
    display: block;
    isolation: isolate;
}

.map-point-row {
    align-items: center;
    border-left-width: 3px;
    gap: .42rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: .34rem .48rem;
}

.map-point-title {
    font-size: .9rem;
    line-height: 1.1;
}

.map-point-subtitle {
    font-size: .78rem;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.map-point-linked-list {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .45rem;
    margin-top: .12rem;
}

.map-point-linked-item,
.map-point-coordinates,
.map-point-kind {
    font-size: .72rem;
    line-height: 1.15;
}

.map-point-actions {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .25rem;
    min-width: 0;
}

.map-point-actions .btn {
    font-size: .72rem;
    line-height: 1.1;
    padding: .18rem .4rem;
}

.map-point-kind,
.map-point-coordinates {
    white-space: nowrap;
}

@media (max-width: 700px) {
    .map-point-row {
        grid-template-columns: 1fr;
    }

    .map-point-subtitle {
        white-space: normal;
    }

    .map-point-actions {
        justify-content: flex-start;
    }
}

.linces-map-pin-wrap {
    background: transparent;
    border: 0;
}

.linces-map-pin {
    align-items: center;
    background: var(--pin-color, var(--app-accent));
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow: 0 7px 16px rgba(15, 23, 42, .28);
    color: #ffffff;
    display: flex;
    font-size: .58rem;
    font-weight: 900;
    height: 100%;
    justify-content: center;
    line-height: 1;
    min-height: 22px;
    min-width: 22px;
    pointer-events: auto;
    width: 100%;
}


/* Requested operational UI refinements. */
.linces-map-popup-list {
    margin: .35rem 0 0;
    padding-left: 1rem;
}

.linces-map-popup-list li + li {
    margin-top: .28rem;
}

.app-main:has(.map-page) {
    max-width: none;
    width: 100%;
}

.map-page {
    max-width: none;
    width: 100%;
}

.map-page .map-point-list {
    max-width: none;
    width: 100%;
}

.map-point-list--scroll {
    align-items: start;
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: min(62vh, 720px);
    overflow: auto;
    overscroll-behavior: auto;
    overscroll-behavior-y: auto;
    padding-right: .15rem;
}

.map-point-row--group {
    align-items: start;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
    padding: .55rem .62rem !important;
    width: 100%;
}

.map-point-marker {
    align-items: center;
    background: var(--map-point-color, var(--app-accent));
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .18);
    color: #fff;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 950;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    min-width: 2rem;
    padding: 0 .38rem;
}

.map-point-main {
    min-width: 0;
}

.map-point-group-items {
    display: grid;
    gap: .28rem;
    margin-top: .4rem;
}

.map-point-group-item {
    display: grid;
    gap: .08rem;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--map-point-color, var(--app-accent)) 18%, var(--app-border));
    border-radius: 7px;
    background: color-mix(in srgb, var(--app-surface-muted) 64%, transparent);
    padding: .34rem .42rem;
}

.map-point-group-item a {
    color: var(--app-text);
    font-size: .84rem;
    font-weight: 850;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.map-point-group-item a:hover,
.map-point-group-item a:focus {
    color: var(--app-primary);
    text-decoration: underline;
}

.map-point-group-item small {
    color: var(--app-text-muted);
    font-size: .74rem;
    line-height: 1.18;
}

.map-point-row--group .map-point-actions {
    grid-column: 2;
    justify-content: flex-start;
    max-width: 100%;
    min-width: 0;
}

.map-point-row--group .map-point-coordinates {
    overflow-wrap: anywhere;
    white-space: normal;
}

.map-page-map-card:fullscreen,
.map-page-map-card--fullscreen {
    width: 100vw;
    height: 100vh;
    max-width: none;
    overflow: auto;
    padding: .85rem !important;
    background: var(--app-surface) !important;
}

.map-page-map-card:fullscreen .map-page-grid,
.map-page-map-card--fullscreen .map-page-grid {
    grid-template-columns: minmax(0, 1fr);
    height: calc(100vh - 6rem);
}

.map-page-map-card:fullscreen .map-page-grid__side,
.map-page-map-card--fullscreen .map-page-grid__side {
    display: none;
}

.map-page-map-card:fullscreen .map-page-grid__map,
.map-page-map-card--fullscreen .map-page-grid__map {
    max-width: none;
    width: 100%;
}

.map-page-map-card:fullscreen .map-page-grid__map .linces-map,
.map-page-map-card--fullscreen .map-page-grid__map .linces-map {
    width: 100%;
}

.map-page-map-card:fullscreen .map-page-grid__map .map-leaflet,
.map-page-map-card--fullscreen .map-page-grid__map .map-leaflet {
    height: 100% !important;
    min-height: 0;
}

.event-places-workbench {
    align-items: stretch;
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr);
}

.event-places-map-card,
.event-places-control-panel {
    min-width: 0;
}

.event-places-map-card {
    display: grid;
    gap: .75rem;
    grid-template-rows: auto minmax(0, 1fr);
}

.event-places-map-card .event-places-map {
    height: clamp(380px, 60vh, 720px);
    min-height: 380px;
}

.event-places-control-panel {
    align-content: start;
    display: grid;
    gap: .8rem;
}

.event-places-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.event-places-filter-grid .app-form-actions {
    grid-column: 1 / -1;
}


.event-place-list--scroll {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
}

.event-place-list--scroll .event-place-row {
    align-content: start;
    grid-template-columns: minmax(0, 1fr);
    min-height: 230px;
    padding: .75rem;
}

.event-place-list--scroll .event-place-row > .app-form-actions {
    justify-content: flex-start;
}

.linked-records-form-grid {
    align-items: start;
}

.linked-records-control {
    min-width: 0;
}

.linked-records-selected {
    margin-top: .45rem;
}

.linked-records-empty {
    color: var(--app-text-muted);
    font-size: .86rem;
}

.linked-records-link {
    color: var(--app-primary-dark);
    font-weight: 900;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.linked-records-link:hover,
.linked-records-link:focus {
    color: var(--app-accent);
    text-decoration: underline;
}

.event-information-entry {
    padding: 0 !important;
}

.event-information-entry__summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: .6rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    list-style: none;
    padding: .75rem .85rem;
}

.event-information-entry__summary::-webkit-details-marker {
    display: none;
}

.event-information-entry__summary::before {
    color: var(--app-text-muted);
    content: '+';
    font-weight: 950;
    grid-column: 1;
    grid-row: 1;
}

.event-information-entry[open] .event-information-entry__summary::before {
    content: '-';
}

.event-information-entry__summary > span:first-child {
    display: grid;
    gap: .16rem;
    grid-column: 2;
    min-width: 0;
}

.event-information-entry__summary small {
    color: var(--app-text-muted);
    font-size: .78rem;
}

.event-information-entry__summary > .app-status-pill {
    grid-column: 3;
}

.event-information-entry__body {
    border-top: 1px solid var(--app-border);
    padding: .8rem .85rem 0;
}

.event-information-entry .app-record-actions {
    padding: 0 .85rem .85rem;
}

.event-warning-actions {
    justify-content: space-between;
}

.event-warning-actions .btn {
    min-width: 9.5rem;
}

.event-clock-settings {
    gap: .55rem;
    padding: .65rem;
}

.event-clock-empty-hint {
    margin-bottom: .2rem;
    padding: .45rem .58rem;
}

.event-clock-settings__grid {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
}

.event-clock-row {
    grid-template-columns: auto minmax(7rem, .75fr) minmax(12rem, 1fr) auto;
    gap: .42rem;
    padding: .42rem;
}

.event-clock-row__number {
    align-self: end;
    display: inline-grid;
    min-width: 1.85rem;
    min-height: 1.85rem;
    place-items: center;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-surface-muted);
    color: var(--app-text);
    font-size: .8rem;
    font-weight: 950;
}

.event-clock-row__preview {
    padding: .42rem .5rem;
}

.place-types-settings-page {
    max-width: 1220px;
}

.place-type-create-form {
    grid-template-columns: minmax(180px, 1.1fr) minmax(150px, .8fr) auto auto;
}

.place-type-card-grid {
    display: grid;
    gap: .62rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.place-type-card {
    display: grid;
    gap: .52rem;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--place-type-color, var(--app-primary)) 34%, var(--app-border));
    border-left: 5px solid var(--place-type-color, var(--app-primary));
    border-radius: 10px;
    background: color-mix(in srgb, var(--app-surface) 94%, transparent);
    padding: .58rem .62rem;
}

.place-type-card__head {
    align-items: center;
    display: flex;
    gap: .5rem;
    min-width: 0;
}

.place-type-card__head strong,
.place-type-card__head small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.place-type-card__head strong {
    color: var(--app-text);
    font-size: .95rem;
    line-height: 1.15;
}

.place-type-card__head small {
    color: var(--app-text-muted);
    font-size: .78rem;
}

.place-type-card__swatch {
    background: var(--place-type-color, var(--app-primary));
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 3px 8px rgba(15, 23, 42, .16);
    flex: 0 0 auto;
    height: 1.65rem;
    width: 1.65rem;
}

.place-type-form {
    align-items: end;
    display: grid;
    gap: .42rem;
    grid-template-columns: minmax(120px, 1.1fr) minmax(105px, .8fr) auto auto;
}

.place-type-color-field .form-control-color {
    width: 3rem;
}

.place-type-delete-form {
    justify-self: end;
}

.admin-settings-shell {
    gap: .55rem !important;
}

.admin-settings-shell .app-page-hero,
.admin-settings-shell > .app-card {
    padding: .78rem !important;
}

.admin-settings-metrics {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: .38rem;
}

.admin-settings-metrics .app-field-card {
    min-height: 54px;
    padding: .45rem .52rem;
}

.global-emt-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .5rem;
    margin-top: .55rem;
}

.global-emt-card {
    gap: .42rem;
    padding: .56rem;
}

.global-emt-card__metrics,
.global-emt-card__notes {
    gap: .3rem;
}

.global-emt-card__metrics span,
.global-emt-card__notes span {
    border-radius: 8px;
    padding: .34rem .4rem;
}

.account-page {
    width: min(100%, 960px);
    margin-inline: auto;
}

.account-page .app-card {
    width: 100%;
    max-width: 100%;
}

.forward-teams-page {
    max-width: 1320px;
}

.forward-team-section {
    gap: .48rem;
}

.forward-team-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .5rem;
}

.forward-teams-page .app-record-card {
    padding: .68rem !important;
}

.forward-team-check {
    padding: .42rem .5rem;
}

.forward-teams-page .app-field-grid--compact {
    gap: .38rem;
}

@media (max-width: 1100px) {
    .event-places-workbench,
    .event-places-filter-grid,
    .event-place-list--scroll,
    .event-clock-settings__grid,
    .place-type-card-grid,
    .place-type-form,
    .place-type-create-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .map-point-list--scroll {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .event-clock-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .event-clock-row__preview {
        justify-self: start;
    }
}

@media (max-width: 700px) {
    .map-point-list--scroll {
        grid-template-columns: minmax(0, 1fr);
    }

    .map-point-row--group {
        grid-template-columns: minmax(0, 1fr);
    }

    .map-point-marker,
    .map-point-row--group .map-point-actions {
        grid-column: 1;
    }

    .map-point-actions {
        justify-content: flex-start;
    }
}
