/* Shared by the legacy interface and React. */
.admission-list, #admissionsList, #deletedAdmissionsList { display: grid; gap: 16px; margin-top: 16px; }
.admission-card, .admission-row { --admission-accent: #94a3b8; --admission-tint: rgba(148, 163, 184, .14); border-left: 4px solid var(--admission-accent); }
.admission-state-pending_review { --admission-accent: #facc15; --admission-tint: rgba(250, 204, 21, .14); }
.admission-state-pending_interview { --admission-accent: #60a5fa; --admission-tint: rgba(96, 165, 250, .14); }
.admission-state-interview_completed { --admission-accent: #c4b5fd; --admission-tint: rgba(196, 181, 253, .14); }
.admission-state-interview_attention { --admission-accent: #fb7185; --admission-tint: rgba(251, 113, 133, .14); }
.admission-state-accepted { --admission-accent: #34d399; --admission-tint: rgba(52, 211, 153, .14); }
.admission-state-finalized { --admission-accent: #93c5fd; --admission-tint: rgba(147, 197, 253, .14); }
.admission-state-referred { --admission-accent: #5eead4; --admission-tint: rgba(94, 234, 212, .14); }
.admission-state-waitlisted { --admission-accent: #fb923c; --admission-tint: rgba(251, 146, 60, .14); }
.admission-state-closed, .admission-state-deleted { --admission-accent: #94a3b8; --admission-tint: rgba(148, 163, 184, .14); }
.admission-metrics .admission-metric-value, .admission-report-stat .admission-metric-value, .admission-report-table .admission-metric-value, .admission-report-leaders .admission-metric-value { color: var(--admission-accent, #e2e8f0); }
.admission-metric-positive, .admission-report-net-positive { --admission-accent: #34d399; }
.admission-metric-negative, .admission-report-net-negative { --admission-accent: #fb7185; }
.admission-metric-neutral, .admission-report-net-neutral { --admission-accent: #cbd5e1; }
.admission-report-net { color: var(--admission-accent); }
.admission-state-badge { display: inline-flex; align-items: center; padding: 4px 9px; border: 1px solid var(--admission-accent); border-radius: 999px; color: var(--admission-accent); background: var(--admission-tint); font-size: .76rem; font-weight: 750; line-height: 1.4; }
.admission-card-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 16px; }
.admission-card-heading h3 { margin: 0; overflow-wrap: anywhere; }
.admission-card-details { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 12px 0; color: #cbd5e1; font-size: .85rem; }
.admission-card-details p { display: flex; align-items: center; gap: 6px; margin: 0; }
.admission-card-details .app-icon { width: 16px; height: 16px; flex: none; color: #aeb7d6; }
.admission-card .admission-outcome-note { margin: 12px 0; color: #dce2fa; font-size: .85rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.admission-card .admission-actions, .admission-row .admission-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin-top: 14px; }
.admission-actions button.admission-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; min-width: 44px; padding: 8px 12px; margin: 0; border: 1px solid var(--action-color, #93c5fd); border-radius: 8px; background: var(--action-background, rgba(147, 197, 253, .12)); color: var(--action-color, #93c5fd); font: inherit; font-size: .8rem; font-weight: 750; line-height: 1.4; cursor: pointer; }
.admission-actions .admission-action .app-icon { width: 18px; height: 18px; flex: none; }
.admission-actions .admission-action.admission-action-icon { padding: 8px; }
.admission-actions .admission-action-payment { --action-color: #fff; --action-background: #15803d; }
.admission-actions .admission-action-schedule, .admission-actions .admission-action-outcome { --action-color: #ddd6fe; --action-background: rgba(139, 92, 246, .18); }
.admission-actions .admission-action-contract { --action-color: #fde68a; --action-background: rgba(245, 158, 11, .18); }
.admission-actions .admission-action-delete { --action-color: #fecaca; --action-background: rgba(239, 68, 68, .16); }
.admission-actions .admission-action-restore { --action-color: #99f6e4; --action-background: rgba(20, 184, 166, .16); }
.admission-actions button.admission-action:hover:not(:disabled) { filter: brightness(1.15); }
.admission-actions button.admission-action:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.admission-actions button.admission-action:disabled { cursor: default; opacity: .55; }
@media (max-width: 640px) { .admission-card-heading { flex-direction: column; } .admission-card-details { flex-direction: column; } }

.admission-outcome-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.admission-deletion-field { display: grid; gap: 8px; margin: 16px 0; }
.admission-deletion-field[hidden] { display: none; }
.admission-deletion-field :is(select, textarea) { width: 100%; min-width: 0; min-height: 44px; padding: 11px 12px; border: 1px solid #535d87; border-radius: 8px; background: #f7f8ff; color: #171c42; font: inherit; }
.admission-deletion-field textarea { min-height: 100px; resize: vertical; }

.admission-month-filter { margin: 12px 0; }
.admission-month-filter summary { cursor: pointer; padding: 10px 0; color: #b9c3df; font-size: .9rem; }
.admission-month-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.admission-month-controls label { display: grid; gap: 8px; flex: 1 1 150px; }
.admission-month-controls :is(input, select) { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #535d87; border-radius: 8px; background: #f7f8ff; color: #171c42; font: inherit; }

.admission-report-disclosure { margin-top: 12px; border: 1px solid rgba(159,169,203,.3); border-radius: 14px; background: rgba(15,23,42,.15); }
.admission-report-disclosure > summary { padding: 16px 20px; cursor: pointer; font-weight: 700; color: #e2e8f0; }
.admission-report-disclosure > summary:hover { color: #5eead4; }
.admission-report-disclosure > summary:focus-visible { outline: 2px solid #5eead4; outline-offset: 3px; border-radius: 12px; }
.admission-report-disclosure-body { padding: 0 20px 20px; }
.admission-report-disclosure[open] > summary { border-bottom: 1px solid rgba(159,169,203,.2); margin-bottom: 16px; }

/* Sign and intensity describe the administrative difference, not clinical outcomes. */
.admission-metrics .admission-administrative-balance, .admission-report-grid.admission-administrative-balance { --balance-rgb: 203,213,225; --balance-strength: 0; border: 2px solid rgb(var(--balance-rgb)); border-radius: 14px; background: rgba(var(--balance-rgb), calc(.08 + .25 * var(--balance-strength))); }
.admission-administrative-balance.balance-negative { --balance-rgb: 248,71,94; }
.admission-administrative-balance.balance-positive { --balance-rgb: 52,211,153; }
.admission-metrics .admission-administrative-balance .admission-metric-value, .admission-report-grid.admission-administrative-balance .admission-metric-value { color: rgb(var(--balance-rgb)); }

.admission-report-grid.admission-administrative-balance > .admission-report-stat { background: transparent; border: 0; }

.admission-metrics .admission-metric-card-warning, .admission-report-stat.admission-metric-card-warning { --admission-accent: #fbbf24; border: 1px solid #fbbf24; background: rgba(251,191,36,.12); }
.admission-metrics .admission-metric-card-warning .admission-metric-value, .admission-report-stat.admission-metric-card-warning .admission-metric-value { color: var(--admission-accent); }
.admission-metric-card-neutral { --admission-accent: #cbd5e1; }

.admission-metrics .admission-metric-card-critical, .admission-report-stat.admission-metric-card-critical { --admission-accent: #fb7185; border: 1px solid #fb7185; background: rgba(251,113,133,.16); }
.admission-metrics .admission-metric-card-critical .admission-metric-value, .admission-report-stat.admission-metric-card-critical .admission-metric-value { color: var(--admission-accent); }
