/* ==========================================================================
   PATIENT HEADER - PRECISION TERMINAL THEME
   Terminal aesthetics for patient identity, severity, and trajectory bar

   ARCHITECTURE: Additive theme layer - activates via data-theme="terminal"
   WHY: Consistent terminal design language across census sidebar, note rail,
        and patient header for unified visual identity
   TRADEOFF: Additional CSS layer vs modifying existing styles

   INFLUENCES (from NOTE_RAIL_DESIGN_SYSTEM.md):
   - Terminal/CLI: Window chrome, monospace, sharp corners
   - Art Deco: Corner embellishments, theatrical hovers, geometric precision
   - Bitcoin DeFi: Colored glows, bottom-border inputs, layered depth

   PERFORMANCE:
   - All `transition: all` replaced with specific properties
   - `will-change` hints on elements with box-shadow/transform animations
   - GPU-composited layers for glow effects
   ========================================================================== */


/* ==========================================================================
   SECTION 1: DESIGN TOKENS (scoped to terminal theme)
   ========================================================================== */

/* Variables extracted to terminal-core.css */


/* ==========================================================================
   SECTION 2: HEADER CONTAINER
   Void black bg, sharp corners, L-bracket embellishments
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] {
    background: var(--term-bg-void) !important;
    border: 1px solid var(--term-border-default) !important;
    border-radius: var(--term-radius-none) !important;
    box-shadow: none !important;
    font-family: var(--term-font-mono);
    position: relative;
    overflow: visible;
}

/* Kill the radial glow overlay from base styles */
.sol-patient-header[data-theme="terminal"]::before {
    background: none !important;
    display: none;
}

/* L-bracket corner - top-right (Art Deco) */
.sol-patient-header[data-theme="terminal"]::after {
    content: '';
    position: absolute;
    top: var(--term-corner-offset);
    right: var(--term-corner-offset);
    width: var(--term-corner-size);
    height: var(--term-corner-size);
    border-top: var(--term-corner-width) solid var(--term-accent-dim);
    border-right: var(--term-corner-width) solid var(--term-accent-dim);
    pointer-events: none;
    z-index: 2;
    transition: border-color var(--term-duration-theatrical) var(--term-easing);
}

.sol-patient-header[data-theme="terminal"]:hover::after {
    border-color: var(--term-accent);
}


/* ==========================================================================
   SECTION 3: IDENTITY ROW
   Remove blue-tinted gradient, transparent bg
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-header-identity-row {
    background: transparent !important;
    padding: var(--term-space-lg) var(--term-space-xl);
    position: relative;
    z-index: 1;
}

/* DR: geo-stripe — warm amber detail strip along identity row bottom edge.
   Mirrors Agent B's .dr-geo-stripe utility, scoped so it only fires when
   the DR bridge is loaded (falls back to transparent when token missing). */
.sol-patient-header[data-theme="terminal"] .sol-header-identity-row::after {
    content: '';
    position: absolute;
    left: var(--term-space-xl);
    right: var(--term-space-xl);
    bottom: 0;
    height: 2px;
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(230, 154, 76, 0.35) 20%,
        rgba(230, 154, 76, 0.6) 50%,
        rgba(230, 154, 76, 0.35) 80%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 1;
}


/* Typography pass (owner 2026-09-06): "the rest looks too terminal-esque".
   Every rule in this file reads --term-font-mono / --term-tracking-*, so one
   scope-level re-point turns the whole header (avatar, meta chips, severity,
   action buttons, trajectory labels) from tracked-uppercase mono into the same
   sans the chart rail uses. Uppercase stays only on the two label classes
   (severity badge, trajectory label) with tracking pulled in to a UI-normal
   .06em; buttons, meta chips and Edit identity go sentence-case. */
.sol-patient-header[data-theme="terminal"] {
    --term-font-display-sans: 'DM Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --term-font-mono: var(--term-font-display-sans);
    --term-tracking-wide: 0;
    --term-tracking-widest: 0.06em;
}
/* !important because sol-layout.css's board-mode="space" block forces 0.6rem
   uppercase on these with !important of its own (9.6px, unreadable at the
   owner's 80% zoom). */
.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn,
.sol-patient-header[data-theme="terminal"] .sol-meta-item,
.sol-patient-header[data-theme="terminal"] .sol-identity-edit-btn {
    text-transform: none !important;
    font-weight: 600;
}
.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn { font-size: 11.5px !important; }
.sol-patient-header[data-theme="terminal"] .sol-meta-item { font-size: 11.5px !important; font-weight: 500; }
.sol-patient-header[data-theme="terminal"] .sol-meta-item:first-child { font-weight: 700; color: var(--term-fg-primary); }


/* ==========================================================================
   SECTION 4: AVATAR
   Square (0px radius), electric mint border, kill gradient/glow
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-patient-avatar {
    border-radius: var(--term-radius-none) !important;
    background: var(--term-bg-surface) !important;
    border: 2px solid var(--term-accent-dim);
    color: var(--term-accent);
    box-shadow: none !important;
    font-family: var(--term-font-mono);
    font-weight: 600;
    transition: border-color var(--term-duration-theatrical) var(--term-easing),
                box-shadow var(--term-duration-theatrical) var(--term-easing);
    will-change: border-color, box-shadow;
}

.sol-patient-header[data-theme="terminal"] .sol-patient-avatar:hover {
    border-color: var(--term-accent);
    box-shadow: var(--term-glow-accent);
}

/* Warning state override */
.sol-patient-header[data-theme="terminal"] .sol-patient-avatar.sol-avatar-warning {
    border-color: var(--term-severity-critical);
    color: var(--term-severity-critical);
}


/* ==========================================================================
   SECTION 5: PATIENT NAME
   JetBrains Mono, uppercase, wide tracking
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-patient-name {
    /* Typography pass (owner 2026-09-06): the Playfair "hero" serif was a
       face nothing else on the screen uses. The name now shares the chart rail's sans (DM Sans) so the
       row you clicked and the header you landed on are the same voice. */
    font-family: var(--term-font-display-sans) !important;
    text-transform: none;
    letter-spacing: -0.01em;
    color: var(--term-fg-primary);
    font-weight: 700;
    font-size: 1.375rem !important;
}


/* ==========================================================================
   SECTION 6: SEVERITY BADGE
   Hollow outline style (border only, no fill), glow per status color
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-severity-badge {
    border-radius: var(--term-radius-none) !important;
    font-family: var(--term-font-mono);
    font-size: var(--term-text-xs);
    letter-spacing: var(--term-tracking-widest);
    transition: box-shadow var(--term-duration-theatrical) var(--term-easing),
                border-color var(--term-duration-theatrical) var(--term-easing);
    will-change: box-shadow;
}

.sol-patient-header[data-theme="terminal"] .sol-severity-badge:hover {
    transform: none;
    filter: none;
}

/* Severity dot - square in terminal theme */
.sol-patient-header[data-theme="terminal"] .sol-severity-dot {
    border-radius: var(--term-radius-none);
    width: 6px;
    height: 6px;
}

/* Stable - olive severity accent */
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="stable"] {
    background: transparent;
    color: var(--term-severity-stable);
    border: 1px solid var(--term-severity-stable);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="stable"]:hover {
    box-shadow: 0 0 12px var(--term-severity-stable);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="stable"] .sol-severity-dot {
    background: var(--term-severity-stable);
    box-shadow: 0 0 6px var(--term-severity-stable);
}

/* Worsening / Guarded - magenta severity accent */
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="worsening"] {
    background: transparent;
    color: var(--term-severity-worsening);
    border: 1px solid var(--term-severity-worsening);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="worsening"]:hover {
    box-shadow: 0 0 12px var(--term-severity-worsening);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="worsening"] .sol-severity-dot {
    background: var(--term-severity-worsening);
    box-shadow: 0 0 6px var(--term-severity-worsening);
}

/* Critical / High - red */
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="critical"],
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="high"] {
    background: transparent;
    color: var(--term-severity-critical);
    border: 1px solid var(--term-severity-critical);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="critical"]:hover,
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="high"]:hover {
    box-shadow: 0 0 12px var(--term-severity-critical);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="critical"] .sol-severity-dot,
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="high"] .sol-severity-dot {
    background: var(--term-severity-critical);
    box-shadow: 0 0 6px var(--term-severity-critical);
}

/* Improving - harvest severity accent */
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="improving"] {
    background: transparent;
    color: var(--term-severity-improving);
    border: 1px solid var(--term-severity-improving);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="improving"]:hover {
    box-shadow: 0 0 12px var(--term-severity-improving);
}
.sol-patient-header[data-theme="terminal"] .sol-severity-badge[data-severity="improving"] .sol-severity-dot {
    background: var(--term-severity-improving);
    box-shadow: 0 0 6px var(--term-severity-improving);
}


/* ==========================================================================
   SECTION 7: META ITEMS
   Monospace font, dim labels, bright values, kill pill shape
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-patient-meta {
    gap: var(--term-space-md);
}

.sol-patient-header[data-theme="terminal"] .sol-meta-item {
    background: transparent !important;
    border: 1px solid var(--term-border-subtle) !important;
    border-radius: var(--term-radius-none) !important;
    font-family: var(--term-font-mono);
    font-size: var(--term-text-sm);
    color: var(--term-fg-secondary);
    padding: 2px 8px;
    letter-spacing: var(--term-tracking-wide);
    transition: color var(--term-duration-normal) var(--term-easing),
                border-color var(--term-duration-normal) var(--term-easing);
}

.sol-patient-header[data-theme="terminal"] .sol-meta-item:hover {
    transform: none !important;
    background: transparent !important;
    color: var(--term-fg-primary);
    border-color: var(--term-accent-dim) !important;
    box-shadow: none !important;
}


/* ==========================================================================
   SECTION 8: ACTION BUTTONS
   Square corners, mint border, glow hover, kill blue effects
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-patient-actions {
    background: var(--term-bg-surface);
    border: 1px solid var(--term-border-default);
    border-radius: var(--term-radius-none);
    box-shadow: none;
    gap: var(--term-space-xs);
    padding: var(--term-space-xs) var(--term-space-sm);
}

.sol-patient-header[data-theme="terminal"] .sol-patient-actions-divider {
    background: var(--term-border-default);
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn {
    background: transparent;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    color: var(--term-fg-secondary);
    font-family: var(--term-font-mono);
    /* Legibility pass (2026-07-11): xs (11-12px) -> sm (13-14px);
       uppercase mono at xs was unreadable at rounding distance. */
    font-size: var(--term-text-sm);
    letter-spacing: var(--term-tracking-wide);
    text-transform: uppercase;
    transition: color var(--term-duration-theatrical) var(--term-easing),
                border-color var(--term-duration-theatrical) var(--term-easing),
                box-shadow var(--term-duration-theatrical) var(--term-easing),
                background-color var(--term-duration-theatrical) var(--term-easing);
    will-change: box-shadow, border-color;
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:hover {
    background: var(--term-accent-ghost);
    border-color: var(--term-accent-dim);
    color: var(--term-accent);
    transform: none;
    box-shadow: var(--term-glow-accent);
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:focus-visible {
    outline: 2px solid var(--term-accent);
    outline-offset: 2px;
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:active {
    background: var(--term-accent-subtle);
    transform: none;
}

/* Primary action (Create Note) - mint accent instead of blue gradient */
.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn.primary {
    background: transparent;
    border: 2px solid var(--term-accent);
    color: var(--term-accent);
    font-weight: 600;
    box-shadow: none;
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn.primary:hover {
    background: var(--term-accent);
    color: var(--term-fg-inverse);
    box-shadow: var(--term-glow-accent-intense);
}

/* Voice recording state */
.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn.recording {
    background: transparent;
    border-color: var(--term-severity-critical);
    color: var(--term-severity-critical);
    box-shadow: var(--term-glow-critical);
}

/* Action badge */
.sol-patient-header[data-theme="terminal"] .sol-action-badge {
    background: var(--term-accent);
    color: var(--term-fg-inverse);
    border-radius: var(--term-radius-none);
    font-family: var(--term-font-mono);
}

/* Disabled state */
.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:disabled {
    opacity: 0.3;
    border-color: var(--term-border-subtle);
}

.sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:disabled:hover {
    background: transparent;
    border-color: var(--term-border-subtle);
    color: var(--term-fg-secondary);
    box-shadow: none;
}


/* --------------------------------------------------------------------------
   SECTION 8b: ID-LEVEL BUTTON OVERRIDES
   Base CSS uses ID selectors (specificity 1,0,0) for individual buttons.
   These overrides combine [data-theme] + #id for specificity 1,1,0.
   WHY: Beats base #addNoteBtn (1,0,0) without !important
   -------------------------------------------------------------------------- */

/* View Notes (#addNoteBtn) — kill blue tint */
.sol-patient-header[data-theme="terminal"] #addNoteBtn {
    background: transparent;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    color: var(--term-fg-secondary);
    width: auto;
    height: 36px;
}
.sol-patient-header[data-theme="terminal"] #addNoteBtn:hover {
    background: var(--term-accent-ghost);
    border-color: var(--term-accent-dim);
    color: var(--term-accent);
    transform: none;
    box-shadow: var(--term-glow-accent);
}

/* Add Clinical Data (#addClinicalDataBtn) — kill green tint */
.sol-patient-header[data-theme="terminal"] #addClinicalDataBtn {
    background: transparent;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    color: var(--term-fg-secondary);
    width: auto;
    height: 36px;
}
.sol-patient-header[data-theme="terminal"] #addClinicalDataBtn:hover {
    background: var(--term-accent-ghost);
    border-color: var(--term-accent-dim);
    color: var(--term-accent);
    transform: none;
    box-shadow: var(--term-glow-accent);
}

/* Voice (#headerVoiceBtn) — kill purple tint, remove ::before separator */
.sol-patient-header[data-theme="terminal"] #headerVoiceBtn {
    background: transparent;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    color: var(--term-fg-secondary);
    min-width: auto;
    padding: 0 12px;
    margin-left: 0;
}
.sol-patient-header[data-theme="terminal"] #headerVoiceBtn::before {
    display: none;
}
.sol-patient-header[data-theme="terminal"] #headerVoiceBtn:hover {
    background: var(--term-accent-ghost);
    border-color: var(--term-accent-dim);
    color: var(--term-accent);
    transform: none;
    box-shadow: var(--term-glow-accent);
}

/* Approve (#approveProblemsBtn) — terminal style */
.sol-patient-header[data-theme="terminal"] #approveProblemsBtn {
    background: transparent;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    color: var(--term-fg-secondary);
    padding: 0 12px;
}
.sol-patient-header[data-theme="terminal"] #approveProblemsBtn:hover {
    background: var(--term-accent-ghost);
    border-color: var(--term-accent-dim);
    color: var(--term-accent);
    box-shadow: var(--term-glow-accent);
}

/* Create Note (#showNotePanelBtn) — terminal primary: mint outline, kills gradient/shimmer/pulse */
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn {
    background: transparent;
    border: 2px solid var(--term-accent);
    border-radius: var(--term-radius-none);
    color: var(--term-accent);
    font-weight: 600;
    box-shadow: none;
    animation: none;
    padding: 10px 20px;
}
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn::before {
    display: none;
}
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn span {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: var(--term-accent);
    animation: none;
}
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn:hover {
    background: var(--term-accent);
    color: var(--term-fg-inverse);
    transform: none;
    box-shadow: var(--term-glow-accent-intense);
    animation: none;
}
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn:hover span {
    -webkit-text-fill-color: var(--term-fg-inverse);
}
.sol-patient-header[data-theme="terminal"] #showNotePanelBtn svg {
    filter: none;
}


/* ==========================================================================
   SECTION 9: TRAJECTORY BAR CONTAINER
   Void bg, 0px radius, terminal border
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-trajectory-bar {
    background: var(--term-bg-header);
    border-top: 1px solid var(--term-border-default);
    border-bottom: none;
    padding: var(--term-space-md) var(--term-space-xl);
    position: relative;
    z-index: 1;
}

/* L-bracket corner - bottom-left (pairs with header's top-right) */
.sol-patient-header[data-theme="terminal"] .sol-trajectory-bar::after {
    content: '';
    position: absolute;
    bottom: var(--term-corner-offset);
    left: var(--term-corner-offset);
    width: var(--term-corner-size);
    height: var(--term-corner-size);
    border-bottom: var(--term-corner-width) solid var(--term-accent-dim);
    border-left: var(--term-corner-width) solid var(--term-accent-dim);
    pointer-events: none;
    z-index: 2;
    transition: border-color var(--term-duration-theatrical) var(--term-easing);
}

.sol-patient-header[data-theme="terminal"]:hover .sol-trajectory-bar::after {
    border-color: var(--term-accent);
}


/* ==========================================================================
   SECTION 10: TRAJECTORY SEGMENTS
   Square, monospace, mint accent on hover
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-trajectory-segment {
    border-radius: var(--term-radius-none);
    padding: var(--term-space-xs) var(--term-space-lg);
    transition: background-color var(--term-duration-normal) var(--term-easing),
                border-color var(--term-duration-normal) var(--term-easing);
}

.sol-patient-header[data-theme="terminal"] .sol-trajectory-segment:first-child {
    padding-left: var(--term-space-xs);
    margin-left: calc(-1 * var(--term-space-xs));
}

.sol-patient-header[data-theme="terminal"] .sol-trajectory-segment:hover {
    transform: none;
    background: var(--term-accent-ghost);
    box-shadow: none;
    border-left: 2px solid var(--term-accent-dim);
    padding-left: calc(var(--term-space-lg) - 2px);
}

.sol-patient-header[data-theme="terminal"] .sol-trajectory-segment:first-child:hover {
    padding-left: calc(var(--term-space-xs) - 2px);
}


/* ==========================================================================
   SECTION 11: TRAJECTORY LABELS
   ALL-CAPS, wide tracking, dim color
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-traj-label {
    font-family: var(--term-font-mono);
    font-size: var(--term-text-xs);
    text-transform: uppercase;
    letter-spacing: var(--term-tracking-widest);
    color: var(--term-fg-muted);
    font-weight: 500;
}


/* ==========================================================================
   SECTION 12: TRAJECTORY VALUES
   Bright mint, monospace, tabular-nums
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-traj-value {
    font-family: var(--term-font-mono);
    font-size: var(--term-text-base);
    font-weight: 600;
    color: var(--term-fg-primary);
    font-variant-numeric: tabular-nums;
}


/* ==========================================================================
   SECTION 13: TRAJECTORY DIVIDERS
   Fade-centered gradient dividers
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-trajectory-divider {
    width: 1px;
    height: 28px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        var(--term-border-strong) 30%,
        var(--term-border-strong) 70%,
        transparent 100%
    );
    margin: 0 var(--term-space-md);
}


/* ==========================================================================
   SECTION 14: PROGRESS INDICATOR
   Mint glow, square shape
   ========================================================================== */

.sol-patient-header[data-theme="terminal"] .sol-progress-indicator {
    font-family: var(--term-font-mono);
    font-variant-numeric: tabular-nums;
}

.sol-patient-header[data-theme="terminal"] .sol-progress-arrow {
    transition: transform var(--term-duration-normal) var(--term-easing);
}

/* Terminal progress states */
.sol-patient-header[data-theme="terminal"] .sol-progress-indicator[data-trend="improving"] {
    color: var(--term-severity-improving);
}

.sol-patient-header[data-theme="terminal"] .sol-progress-indicator[data-trend="stable"] {
    color: var(--term-severity-stable);
}

.sol-patient-header[data-theme="terminal"] .sol-progress-indicator[data-trend="worsening"] {
    color: var(--term-severity-worsening);
}


/* ==========================================================================
   SECTION 15: RESPONSIVE BREAKPOINTS
   Stack adjustments for narrow viewports
   ========================================================================== */

/* Legibility pass (2026-07-11): label-hiding breakpoint lowered
   1400px -> 900px to match census-enhancements.css — laptops keep
   readable labels now that the action cluster wraps. */
@media (max-width: 900px) {
    .sol-patient-header[data-theme="terminal"] .sol-patient-action-btn span:not(.sol-action-badge) {
        display: none;
    }
    .sol-patient-header[data-theme="terminal"] .sol-patient-action-btn {
        padding: 0 10px;
    }
}

@media (max-width: 1100px) {
    /* Stack identity and actions vertically */
    .sol-patient-header[data-theme="terminal"] .sol-header-identity-row {
        flex-direction: column;
        gap: var(--term-space-md);
        align-items: stretch;
    }

    .sol-patient-header[data-theme="terminal"] .sol-patient-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    /* Compact trajectory bar */
    .sol-patient-header[data-theme="terminal"] .sol-trajectory-bar {
        flex-wrap: wrap;
        gap: var(--term-space-sm);
    }

    .sol-patient-header[data-theme="terminal"] .sol-trajectory-divider {
        display: none;
    }

    .sol-patient-header[data-theme="terminal"] .sol-trajectory-segment {
        border-left: 2px solid var(--term-border-subtle);
        padding-left: calc(var(--term-space-md) - 2px);
    }
}

@media (max-width: 768px) {
    .sol-patient-header[data-theme="terminal"] .sol-header-identity-row {
        padding: var(--term-space-md);
    }

    .sol-patient-header[data-theme="terminal"] .sol-trajectory-bar {
        padding: var(--term-space-sm) var(--term-space-md);
    }

    .sol-patient-header[data-theme="terminal"] .sol-patient-name {
        font-size: 1.125rem;
    }

    .sol-patient-header[data-theme="terminal"] .sol-patient-avatar {
        width: 48px;
        height: 48px;
        font-size: 1rem;
    }
}


/* ==========================================================================
   SECTION 16: REDUCED MOTION
   Respect prefers-reduced-motion — disable glow/animation effects
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .sol-patient-header[data-theme="terminal"],
    .sol-patient-header[data-theme="terminal"] *,
    .sol-patient-header[data-theme="terminal"] *::before,
    .sol-patient-header[data-theme="terminal"] *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .sol-patient-header[data-theme="terminal"] .sol-severity-dot {
        animation: none;
    }

    .sol-patient-header[data-theme="terminal"] .sol-patient-action-btn:hover,
    .sol-patient-header[data-theme="terminal"] .sol-patient-action-btn.primary:hover {
        box-shadow: none;
    }

    .sol-patient-header[data-theme="terminal"] .sol-severity-badge:hover {
        box-shadow: none;
    }

    .sol-patient-header[data-theme="terminal"] .sol-patient-avatar:hover {
        box-shadow: none;
    }
}

/* Doctor-reviewed encounter identity correction. */
.sol-patient-header[data-theme="terminal"] .sol-identity-edit-btn {
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid var(--term-border-subtle);
    border-radius: var(--term-radius-none);
    background: transparent;
    color: var(--term-fg-muted);
    font-family: var(--term-font-mono);
    font-size: var(--term-text-xs);
    letter-spacing: var(--term-tracking-wide);
    text-transform: uppercase;
    cursor: pointer;
}

.sol-patient-header[data-theme="terminal"] .sol-identity-edit-btn:hover,
.sol-patient-header[data-theme="terminal"] .sol-identity-edit-btn:focus-visible {
    border-color: var(--term-accent);
    color: var(--term-accent);
}

.sol-patient-header[data-theme="terminal"] .sol-identity-edit-btn:focus-visible {
    outline: 2px solid var(--term-accent);
    outline-offset: 2px;
}

#patientIdentityModal[hidden] {
    display: none;
}

.sol-identity-modal {
    max-width: 560px;
}

.sol-identity-modal form {
    display: contents;
}
