/* /Components/Layout/TopNavBar.razor.rz.scp.css */
/* TopNavBar scoped styles */

[b-wtsbmn0tjj] .mud-appbar {
    background-color: #1F3A3D !important;
    color: #ffffff;
    height: 60px;
    min-height: 60px;
}

.nav-content[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    gap: 8px;
}

.nav-left[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.nav-logo[b-wtsbmn0tjj] {
    height: 45px;
    width: auto;
}

.logo-link[b-wtsbmn0tjj],
.clinic-name-link[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

[b-wtsbmn0tjj] .clinic-name {
    color: #ffffff;
    white-space: nowrap;
    font-weight: 500;
}

.nav-center[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: 24px;
}

.patient-name-link[b-wtsbmn0tjj] {
    text-decoration: none;
    color: inherit;
}

.patient-name-link:hover[b-wtsbmn0tjj] {
    text-decoration: underline;
}

[b-wtsbmn0tjj] .patient-name {
    color: #ffffff;
    font-weight: 500;
    white-space: nowrap;
}

[b-wtsbmn0tjj] .patient-detail {
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}

.nav-right[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

[b-wtsbmn0tjj] .nav-button {
    color: #ffffff;
    text-transform: none;
}

.tablet-code[b-wtsbmn0tjj] {
    display: flex;
    align-items: center;
    gap: 4px;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
    font-size: 0.875rem;
}

[b-wtsbmn0tjj] .tablet-code-icon {
    color: rgba(255, 255, 255, 0.85);
}

/* Hide patient DOB, tablet code on small screens (matches legacy responsive behavior) */
@media (max-width: 960px) {
    .hide-small[b-wtsbmn0tjj] {
        display: none;
    }

    .nav-center[b-wtsbmn0tjj] {
        margin-left: 12px;
    }
}

@media (max-width: 600px) {
    .nav-center[b-wtsbmn0tjj] {
        display: none;
    }
}
/* /Components/Patient/AssessmentLegend.razor.rz.scp.css */
.legend-panel[b-8zd08u5mjv] {
    width: 140px;
    flex: 0 0 140px;
    background: white;
}

.legend-item[b-8zd08u5mjv] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-text[b-8zd08u5mjv] {
    font-size: 13px;
    color: #333;
    white-space: nowrap;
}

/* Print: strip elevation/box-shadow so the sidebar blends cleanly next to the diagram */
@media print {
    .legend-panel[b-8zd08u5mjv] {
        box-shadow: none !important;
        border: none !important;
        page-break-inside: avoid;
    }
}
/* /Components/Patient/CareMetricsPanel.razor.rz.scp.css */
.care-metrics-panel[b-ndtn5f8u24] {
    height: 100%;
}

.metric-card[b-ndtn5f8u24] {
    background-color: var(--mud-palette-background-grey);
    border-radius: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.metric-card:hover[b-ndtn5f8u24] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.metric-card-urgent[b-ndtn5f8u24] {
    background-color: rgba(244, 67, 54, 0.1);
    border: 1px solid var(--mud-palette-error);
}

.metric-card-warning[b-ndtn5f8u24] {
    background-color: rgba(255, 152, 0, 0.1);
    border: 1px solid var(--mud-palette-warning);
}
/* /Components/Patient/CompareLimbDiagram.razor.rz.scp.css */
/* Compare limb diagram — dual-side labels with connector lines */

.compare-limb-container[b-4jzxzfe4ua] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.compare-header[b-4jzxzfe4ua] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    padding: 0 10px;
}

.compare-header-label[b-4jzxzfe4ua] {
    font-size: 13px;
    font-weight: bold;
    color: #333;
}

.compare-header-label.left-label[b-4jzxzfe4ua] {
    text-align: left;
}

.compare-header-label.right-label[b-4jzxzfe4ua] {
    text-align: right;
}

.compare-marker[b-4jzxzfe4ua] {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    padding: 2px 4px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.85);
    z-index: 10;
}

/* Left labels: right-aligned, flow leftward from the edge */
.compare-marker-left[b-4jzxzfe4ua] {
    justify-content: flex-end;
    transform: translate(-100%, -50%);
}

/* Right labels: left-aligned, flow rightward from the edge */
.compare-marker-right[b-4jzxzfe4ua] {
    justify-content: flex-start;
    transform: translateY(-50%);
}

.marker-label[b-4jzxzfe4ua] {
    font-size: 12px;
    font-weight: bold;
    color: #777;
}

.marker-badges[b-4jzxzfe4ua] {
    display: flex;
    gap: 1.5px;
}
/* /Components/Patient/ComparePanel.razor.rz.scp.css */
.compare-container[b-twfs248jv9] {
    display: flex;
    gap: 20px;
    padding: 10px;
}

.visit-list-column[b-twfs248jv9] {
    flex: 0 0 240px;
    min-width: 240px;
    border-right: 1px solid #eee;
    padding-right: 15px;
}

.comparison-column[b-twfs248jv9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.compare-controls[b-twfs248jv9] {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
    padding: 10px;
}

[b-twfs248jv9] .pill-selected {
    background-color: var(--mud-palette-primary) !important;
    color: white !important;
    border-color: var(--mud-palette-primary) !important;
}

/* /Components/Patient/CompareVisitList.razor.rz.scp.css */
.compare-visit-list[b-6h6exnjxk4] {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

.visit-table[b-6h6exnjxk4] {
    width: 100%;
    border-collapse: collapse;
}

.visit-table th[b-6h6exnjxk4],
.visit-table td[b-6h6exnjxk4] {
    text-align: center;
    padding: 6px 8px;
    border-bottom: 1px solid #eee;
}

.visit-table th[b-6h6exnjxk4] {
    background: #f5f5f5;
    font-weight: bold;
    font-size: 12px;
    color: #666;
}

.col-radio[b-6h6exnjxk4] {
    width: 30px;
}

.col-date[b-6h6exnjxk4] {
    text-align: left !important;
    padding-left: 10px !important;
}

.toggle-label[b-6h6exnjxk4] {
    color: #337ab7;
    text-decoration: none;
    cursor: pointer;
    font-weight: normal;
}

.toggle-label:hover[b-6h6exnjxk4] {
    text-decoration: underline;
}

.visit-display[b-6h6exnjxk4] {
    font-size: 13px;
}

/* Annotation indicator - shows what data types the visit has */
.annotation[b-6h6exnjxk4] {
    display: inline-block;
    width: 6px;
    height: 14px;
    margin-left: 6px;
    vertical-align: middle;
}

.annotation.has-signs[b-6h6exnjxk4] {
    border-bottom: 14px solid #f0ad4e;
}

.annotation.has-symptoms[b-6h6exnjxk4] {
    border-top: 14px solid #5bc0de;
}

.annotation.has-signs.has-symptoms[b-6h6exnjxk4] {
    border-bottom: 7px solid #f0ad4e;
    border-top: 7px solid #5bc0de;
}

/* Radio button styling */
.visit-table input[type="radio"][b-6h6exnjxk4] {
    cursor: pointer;
    width: 16px;
    height: 16px;
}
/* /Components/Patient/ContactPanel.razor.rz.scp.css */
.contact-field[b-o62vh8i0is] {
    padding: 8px 12px;
    background-color: var(--mud-palette-background-grey);
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.contact-field:hover[b-o62vh8i0is] {
    background-color: var(--mud-palette-action-default-hover);
}

.field-label[b-o62vh8i0is] {
    margin-bottom: 4px;
}

.field-value[b-o62vh8i0is] {
    font-weight: 500;
    padding-left: 24px; /* Align with icon */
}

.email-truncate[b-o62vh8i0is] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

/* Ensure consistent height for grid items */
[b-o62vh8i0is] .mud-grid-item {
    display: flex;
}

[b-o62vh8i0is] .mud-grid-item > .contact-field {
    flex: 1;
}
/* /Components/Patient/OverviewBodyDiagram.razor.rz.scp.css */
/* Overview body diagram — column-aligned labels with connector lines */

.overview-marker[b-qdgawq84eu] {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    padding: 2px 4px;
    border-radius: 3px;
    background: white;
    z-index: 10;
}

/* Right-side labels: anchored at right edge, content flows left */
.overview-marker-right[b-qdgawq84eu] {
    justify-content: flex-end;
    transform: translate(-100%, -50%);
}

/* Left-side labels: anchored at left edge, content flows right */
.overview-marker-left[b-qdgawq84eu] {
    justify-content: flex-start;
    transform: translateY(-50%);
}

.marker-label[b-qdgawq84eu] {
    font-size: 12px;
    font-weight: bold;
    color: #777;
}

.marker-badges[b-qdgawq84eu] {
    display: flex;
    gap: 1.5px;
}

/* Side orientation labels on the body diagram */
.diagram-side-label[b-qdgawq84eu] {
    position: absolute;
    font-weight: 600;
    font-size: 13px;
    color: #555;
    z-index: 10;
    white-space: nowrap;
}

.diagram-side-label-right[b-qdgawq84eu] {
    transform: translateX(-100%);
    text-align: right;
    padding-right: 4px;
}

.diagram-side-label-left[b-qdgawq84eu] {
    text-align: left;
    padding-left: 4px;
}
/* /Components/Patient/OverviewPanel.razor.rz.scp.css */
.overview-nav-panel[b-fat7bhv8z4] {
    position: sticky;
    top: 68px;
    z-index: 10;
    background: #f5f5f5;
    border-radius: 4px;
}

.overview-header[b-fat7bhv8z4] {
    display: flex;
    align-items: center;
    padding: 4px 12px;
}

.header-right[b-fat7bhv8z4] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.header-center[b-fat7bhv8z4] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

/* Floats below the icons on the right — absolutely positioned so it doesn't push the body down */
.progress-float[b-fat7bhv8z4] {
    position: absolute;
    right: 12px;
    top: 100%;
    z-index: 20;
    display: flex;
    align-items: center;
}

.overview-body[b-fat7bhv8z4] {
    padding: 8px 0;
}

.foot-section[b-fat7bhv8z4] {
    display: flex;
    margin-top: 20px;
    padding-top: 20px;
    justify-content: center;
    gap: 40px;
}

.foot-column[b-fat7bhv8z4] {
    display: flex;
}

/* Right foot column - align content to the right (foot near center) */
.foot-column-right[b-fat7bhv8z4] {
    justify-content: flex-end;
}

/* Left foot column - align content to the left (foot near center) */
.foot-column-left[b-fat7bhv8z4] {
    justify-content: flex-start;
}

/* Foot diagram container - position: relative for absolute marker positioning */
.foot-diagram[b-fat7bhv8z4] {
    position: relative;
    padding-top: 20px;
}

/* Right foot container size - markers extend left */
.foot-diagram.foot-right[b-fat7bhv8z4] {
    width: 350px;
    display: flex;
    justify-content: flex-end;
}

/* Left foot container size - markers extend right */
.foot-diagram.foot-left[b-fat7bhv8z4] {
    width: 350px;
    display: flex;
    justify-content: flex-start;
}

.foot-image[b-fat7bhv8z4] {
    width: 100px;
    height: auto;
}

/* Print subtitle showing visit title and progress info */
.overview-print-info[b-fat7bhv8z4] {
    text-align: center;
    padding: 4px 0 8px;
}

.print-visit-title[b-fat7bhv8z4] {
    font-size: 1.15rem;
    font-weight: 500;
}

.print-progress-info[b-fat7bhv8z4] {
    font-size: 0.85rem;
    color: #666;
}
/* /Components/Patient/RecentActivityPanel.razor.rz.scp.css */
.recent-activity-panel[b-hp8ie87nu6] {
    height: 100%;
}

.activity-item[b-hp8ie87nu6] {
    background-color: var(--mud-palette-background-grey);
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.activity-item:hover[b-hp8ie87nu6] {
    background-color: var(--mud-palette-action-default-hover);
}
/* /Components/Patient/VisitHistoryPanel.razor.rz.scp.css */
/* Notes child row — visually separate from data rows */
[b-076w2b0vlv] .child-notes-row {
    background-color: #f9f9f9;
}

/* Prevent striped table styling from overriding the notes background */
[b-076w2b0vlv] .mud-table-body .child-notes-row:nth-child(odd),
[b-076w2b0vlv] .mud-table-body .child-notes-row:nth-child(even) {
    background-color: #f9f9f9;
}

[b-076w2b0vlv] .child-notes-row .notes-spacer {
    border-bottom: 2px solid #bdbdbd;
}

[b-076w2b0vlv] .child-notes-row .notes-cell {
    padding: 12px 16px;
    border-bottom: 2px solid #bdbdbd;
}

/* Color-coded left accent border via CSS custom property --note-color */
[b-076w2b0vlv] .notes-content {
    border-left: 3px solid var(--note-color, #bdbdbd);
    padding-left: 8px;
    margin-bottom: 6px;
}

/* /Components/Shared/BadgeRow.razor.rz.scp.css */
.badge[b-v0eox9p0vh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 4px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 2px;
    color: white;
    line-height: 1;
    /* Transparent border matches inverse badge border width so both occupy identical space */
    border: 1px solid transparent;
    box-sizing: border-box;
}

/* Signs */
.badge-vibration[b-v0eox9p0vh] { background-color: #9966ff; }
.badge-pinprick[b-v0eox9p0vh] { background-color: #99cc33; }
.badge-lightTouch[b-v0eox9p0vh] { background-color: #ff3399; }
.badge-symptomatic[b-v0eox9p0vh] { background-color: #ff9933; }

/* Symptoms */
.badge-pain[b-v0eox9p0vh] { background-color: #ffcc33; color: #333; }
.badge-tingling[b-v0eox9p0vh] { background-color: #cccc33; color: #333; }
.badge-numbness[b-v0eox9p0vh] { background-color: #cc66cc; }
.badge-tightness[b-v0eox9p0vh] { background-color: #999; }

/* Temperature */
.badge-temp-heat[b-v0eox9p0vh] { background: #ef5350; color: white; }
.badge-temp-cold[b-v0eox9p0vh] { background: #42a5f5; color: white; }
.badge-temp-both[b-v0eox9p0vh] { background: linear-gradient(135deg, #ef5350 0%, #ab47bc 50%, #42a5f5 100%); color: white; }

/* Inverse style: white background, colored border + text */
.badge-inverse[b-v0eox9p0vh] {
    background: white !important;
    border-style: solid;
}

/* Signs - inverse */
.badge-vibration.badge-inverse[b-v0eox9p0vh] { border-color: #9966ff; color: #9966ff; }
.badge-pinprick.badge-inverse[b-v0eox9p0vh] { border-color: #99cc33; color: #99cc33; }
.badge-lightTouch.badge-inverse[b-v0eox9p0vh] { border-color: #ff3399; color: #ff3399; }
.badge-symptomatic.badge-inverse[b-v0eox9p0vh] { border-color: #ff9933; color: #ff9933; }

/* Symptoms - inverse */
.badge-pain.badge-inverse[b-v0eox9p0vh] { border-color: #ffcc33; color: #997a00; }
.badge-tingling.badge-inverse[b-v0eox9p0vh] { border-color: #cccc33; color: #8a8a22; }
.badge-numbness.badge-inverse[b-v0eox9p0vh] { border-color: #cc66cc; color: #cc66cc; }
.badge-tightness.badge-inverse[b-v0eox9p0vh] { border-color: #999; color: #999; }

/* Temperature - inverse */
.badge-temp-heat.badge-inverse[b-v0eox9p0vh] { border-color: #ef5350; color: #ef5350; }
.badge-temp-cold.badge-inverse[b-v0eox9p0vh] { border-color: #42a5f5; color: #42a5f5; }
.badge-temp-both.badge-inverse[b-v0eox9p0vh] { border-color: #ab47bc; color: #ab47bc; }
/* /Components/Shared/VersionSkewNotice.razor.rz.scp.css */
/* FLU-015 — full-viewport blocking layer. Above MudBlazor's dialog/popover z-indices (1400/1500)
   so it also covers an open dialog: a stale tab must not be able to submit one. */
.version-skew-overlay[b-0eaf9zu3x1] {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.62);
    /* No dismissal path: no close button, no backdrop click handler, no Escape handling. */
}

/* Reload control. A plain <button> rather than MudButton because its onclick must be a native
   DOM handler that survives a dead Blazor renderer (see the component). Styled to match
   MudBlazor's filled primary button so the swap is invisible to the user. */
.version-skew-reload[b-0eaf9zu3x1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 140px;
    padding: 10px 22px;
    border: none;
    border-radius: 4px;
    background: #2D3E40;
    color: #fff;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.02857em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);
    transition: background-color .2s, box-shadow .2s;
}

.version-skew-reload:hover[b-0eaf9zu3x1] {
    background: #1e2b2c;
    box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12);
}

.version-skew-reload:focus-visible[b-0eaf9zu3x1] {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Non-blocking counterpart used while a laser is mid-treatment (TRT-005a deferral).
   Pinned to the top edge, above the app bar, but leaves the whole UI interactive. */
.version-skew-banner[b-0eaf9zu3x1] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3000;
}
/* /Components/Treatment/StandardTreatmentPanel.razor.rz.scp.css */
/* Treatment-tab editorial-clinical aesthetic.
   Scoped to the .tt-root wrapper — none of these rules leak into MudBlazor
   defaults elsewhere in the app. Fraunces (display) + Inter Tight (UI) loaded
   from index.html. */

[b-8o4c3z0fz9] .tt-root {
    --ink: #0F1014;
    --paper: #FAF8F4;
    --bone: #EDE8DD;
    --mute: #6B6960;
    --hairline: #D9D2C3;
    --accent: #C8553D;
    --accent-soft: #F2DBD2;
    --accent-deep: #8E2F1E;

    background: var(--paper);
    color: var(--ink);
    padding: 56px clamp(24px, 6vw, 96px) 32px;
    font-family: 'Inter Tight', system-ui, sans-serif;
    font-feature-settings: "tnum" 1, "ss01" 1;
    min-height: 100%;
    position: relative;
}

/* A barely-there grid texture under the recipe — anchors the page in print
   territory rather than typical SaaS canvas. */
[b-8o4c3z0fz9] .tt-root::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(0deg, var(--hairline) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(90deg, var(--hairline) 0 1px, transparent 1px 96px);
    opacity: 0.18;
    pointer-events: none;
    mask-image: linear-gradient(180deg, transparent, black 120px, black calc(100% - 80px), transparent);
}

[b-8o4c3z0fz9] .tt-recipe {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* ---------- Step band ---------- */

[b-8o4c3z0fz9] .tt-step {
    background: var(--bone);
    border: 1px solid var(--hairline);
    padding: 24px 28px 22px;
    position: relative;
    transition: border-color 240ms ease;
}

[b-8o4c3z0fz9] .tt-step:hover {
    border-color: var(--ink);
}

[b-8o4c3z0fz9] .tt-step-head {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 18px;
}

[b-8o4c3z0fz9] .tt-step-num {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 144, "wght" 400;
    font-size: 42px;
    line-height: 1;
    color: var(--mute);
    letter-spacing: -0.02em;
    font-feature-settings: "tnum" 1;
}

[b-8o4c3z0fz9] .tt-step-name {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 144, "wght" 500;
    font-size: 26px;
    line-height: 1.05;
    margin: 0;
    color: var(--ink);
    letter-spacing: -0.012em;
}

[b-8o4c3z0fz9] .tt-step-side {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--mute);
    border: 1px solid var(--hairline);
    padding: 2px 8px;
    align-self: center;
}

[b-8o4c3z0fz9] .tt-step-rule {
    flex: 1;
    height: 1px;
    background: var(--hairline);
    align-self: center;
}

[b-8o4c3z0fz9] .tt-step-meta {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 400;
    font-size: 14px;
    color: var(--mute);
    font-feature-settings: "tnum" 1;
    letter-spacing: 0.01em;
}

/* ---------- Field row ---------- */

[b-8o4c3z0fz9] .tt-fields {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px 20px;
}

[b-8o4c3z0fz9] .tt-fields-readonly {
    opacity: 0.78;
}

[b-8o4c3z0fz9] .tt-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 10px 8px;
    border-left: 2px solid transparent;
    transition: background-color 180ms ease, border-left-color 180ms ease;
}

[b-8o4c3z0fz9] .tt-field-modified {
    background: var(--accent-soft);
    border-left-color: var(--accent);
}

[b-8o4c3z0fz9] .tt-field-switch {
    align-items: flex-start;
}

[b-8o4c3z0fz9] .tt-field-readonly {
    border-left-color: var(--hairline);
}

/* ---------- Recommendation ghost button ---------- */

[b-8o4c3z0fz9] .tt-rec {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    line-height: 1;
    color: var(--accent-deep);
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: color 160ms ease, transform 160ms ease;
    align-self: flex-start;
    user-select: none;
}

[b-8o4c3z0fz9] .tt-rec:hover:not(:disabled) {
    color: var(--ink);
    transform: translateX(2px);
}

[b-8o4c3z0fz9] .tt-rec:disabled,
[b-8o4c3z0fz9] .tt-rec-matches {
    cursor: default;
    color: var(--mute);
    opacity: 0.7;
}

[b-8o4c3z0fz9] .tt-rec-label {
    text-transform: lowercase;
    font-style: italic;
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 400;
    font-size: 12px;
}

[b-8o4c3z0fz9] .tt-rec-value {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 500;
    font-size: 13px;
    font-feature-settings: "tnum" 1;
    color: inherit;
}

[b-8o4c3z0fz9] .tt-rec-arrow {
    font-size: 13px;
    transform: translateY(-1px);
}

/* ---------- MudBlazor tightening (scoped) ---------- */

/* Pull MudNeatoo numeric / text input toward our tabular numerals; remove the
   default heavy chrome MudBlazor's "Text" variant ships with. */
[b-8o4c3z0fz9] .tt-numeric .mud-input,
[b-8o4c3z0fz9] .tt-text .mud-input {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 500;
    font-size: 18px;
    color: var(--ink);
    font-feature-settings: "tnum" 1;
    padding-bottom: 2px;
}

[b-8o4c3z0fz9] .tt-numeric .mud-input::before,
[b-8o4c3z0fz9] .tt-text .mud-input::before {
    border-bottom-color: var(--hairline) !important;
}

[b-8o4c3z0fz9] .tt-numeric .mud-input::after,
[b-8o4c3z0fz9] .tt-text .mud-input::after {
    border-bottom-color: var(--accent) !important;
}

[b-8o4c3z0fz9] .tt-numeric .mud-input-label,
[b-8o4c3z0fz9] .tt-text .mud-input-label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--mute);
}

[b-8o4c3z0fz9] .tt-numeric .mud-input-adornment-text,
[b-8o4c3z0fz9] .tt-text .mud-input-adornment-text {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
}

[b-8o4c3z0fz9] .tt-switch .mud-switch-label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--mute);
}

/* ---------- Read-only fallback ---------- */

[b-8o4c3z0fz9] .tt-readonly {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

[b-8o4c3z0fz9] .tt-readonly-label {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--mute);
}

[b-8o4c3z0fz9] .tt-readonly-value {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 500;
    font-size: 18px;
    color: var(--ink);
    font-feature-settings: "tnum" 1;
}

/* ---------- Empty / step-empty ---------- */

[b-8o4c3z0fz9] .tt-step-empty,
[b-8o4c3z0fz9] .tt-empty {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 14, "wght" 400;
    font-style: italic;
    color: var(--mute);
    padding: 32px 0;
}

[b-8o4c3z0fz9] .tt-empty {
    display: flex;
    align-items: baseline;
    gap: 16px;
    border-top: 1px solid var(--hairline);
}

[b-8o4c3z0fz9] .tt-empty-mark {
    font-size: 42px;
    line-height: 0;
    color: var(--accent);
}

/* ---------- Footer totals ---------- */

[b-8o4c3z0fz9] .tt-foot {
    margin-top: 36px;
    padding-top: 22px;
    border-top: 1px solid var(--ink);
    display: flex;
    align-items: baseline;
    gap: 12px;
}

[b-8o4c3z0fz9] .tt-foot-num {
    font-family: 'Fraunces', serif;
    font-variation-settings: "opsz" 144, "wght" 500;
    font-size: 38px;
    line-height: 1;
    color: var(--ink);
    letter-spacing: -0.02em;
    font-feature-settings: "tnum" 1;
}

[b-8o4c3z0fz9] .tt-foot-unit {
    font-family: 'Inter Tight', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--mute);
}

[b-8o4c3z0fz9] .tt-foot-rule {
    flex: 1;
    height: 1px;
    background: var(--hairline);
    align-self: center;
    margin: 0 12px;
}

/* ---------- Responsive ---------- */

@media (max-width: 980px) {
    [b-8o4c3z0fz9] .tt-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    [b-8o4c3z0fz9] .tt-root {
        padding: 32px 16px 24px;
    }

    [b-8o4c3z0fz9] .tt-fields {
        grid-template-columns: 1fr;
    }

    [b-8o4c3z0fz9] .tt-step-num {
        font-size: 32px;
    }

    [b-8o4c3z0fz9] .tt-step-name {
        font-size: 20px;
    }
}
/* /Components/Visit/SignsMiniPopover.razor.rz.scp.css */
.signs-mini-popover[b-8v2uo9516e] {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 8px;
    min-width: 220px;
    touch-action: manipulation;
}

.badge-grid[b-8v2uo9516e] {
    display: grid;
    grid-template-columns: repeat(4, 44px);
    gap: 4px;
    align-items: center;
    justify-items: center;
}

/* Help mode — reveal row labels and switch to 5-column grid */
.help-mode .badge-grid[b-8v2uo9516e] {
    grid-template-columns: auto repeat(4, 70px);
    gap: 6px;
}

.help-row-label[b-8v2uo9516e] {
    font-size: 12px;
    font-weight: 600;
    color: #555;
    text-align: right;
    padding-right: 6px;
    white-space: nowrap;
    justify-self: end;
}
/* /Components/Visit/SymptomsMiniPopover.razor.rz.scp.css */
.symptoms-mini-popover[b-bje1whyq36] {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 8px;
    min-width: 260px;
    touch-action: manipulation;
}

.badge-grid[b-bje1whyq36] {
    display: grid;
    grid-template-columns: repeat(5, 44px);
    gap: 4px;
    align-items: center;
    justify-items: center;
}

/* Help mode — widen columns to fit 12px headers */
.help-mode .badge-grid[b-bje1whyq36] {
    grid-template-columns: repeat(5, 64px);
    gap: 6px;
}

/* Sub-popovers for Pain number grid and Temperature */
.sub-popover[b-bje1whyq36] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 6px;
    z-index: 20;
}

.sub-popover.sub-right[b-bje1whyq36] {
    left: calc(100% + 8px);
}

.sub-popover.sub-left[b-bje1whyq36] {
    right: calc(100% + 8px);
}

.number-grid[b-bje1whyq36] {
    display: grid;
    grid-template-columns: repeat(5, 36px);
    gap: 4px;
}

.num-badge[b-bje1whyq36] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    border: 2px solid;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    touch-action: manipulation;
}

.temp-grid[b-bje1whyq36] {
    display: grid;
    grid-template-columns: repeat(3, 48px);
    gap: 6px;
}

.temp-badge[b-bje1whyq36] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    color: white;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    opacity: 0.45;
    touch-action: manipulation;
}

.temp-badge.selected[b-bje1whyq36] {
    opacity: 1;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
}

.temp-hot[b-bje1whyq36] {
    background: #ef5350;
    color: white;
}

.temp-cold[b-bje1whyq36] {
    background: #42a5f5;
    color: white;
}

.temp-both[b-bje1whyq36] {
    background: linear-gradient(135deg, #ef5350 0%, #ab47bc 50%, #42a5f5 100%);
    color: white;
}

.temp-unselected[b-bje1whyq36] {
    background: #fff;
    color: #ff6666;
    border-color: #ff6666;
    opacity: 1;
}

/* Main temp badge in the value row (44px to match other pop-badges) */
.temp-main[b-bje1whyq36] {
    border-radius: 12px;
}

.temp-main.temp-unselected[b-bje1whyq36] {
    opacity: 1;
}

.temp-main.selected[b-bje1whyq36] {
    opacity: 1;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}
/* /Layout/LoginLayout.razor.rz.scp.css */
.login-layout[b-8rzc204cto] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 24px;
    background-color: var(--mud-palette-background);
}
/* /Pages/Visit/ConsultationFlow.razor.rz.scp.css */
/* Notes button in top-right of each step's content area */
[b-8m5gi873j0] .step-content-wrapper {
    position: relative;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

[b-8m5gi873j0] .step-notes-button {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

/* Constrain stepper header and actions to match the white content body (1200px centered) */
[b-8m5gi873j0] .flow-stepper .mud-stepper-nav {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

[b-8m5gi873j0] .flow-stepper .mud-stepper-actions {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
/* /Pages/Visit/VisitFlow.razor.rz.scp.css */
/* Notes button in top-right of each step's content area */
[b-6hlp26nufg] .step-content-wrapper {
    position: relative;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

[b-6hlp26nufg] .step-notes-button {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

/* Constrain stepper header and actions to match the white content body (1200px centered) */
[b-6hlp26nufg] .flow-stepper .mud-stepper-nav {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

[b-6hlp26nufg] .flow-stepper .mud-stepper-actions {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
