@import '_content/Blazor.Bootstrap/Blazor.Bootstrap.7t9tbfaemk.bundle.scp.css';
@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';
@import '_content/Cliexa.ClinicalGpt.Component/Cliexa.ClinicalGpt.Component.322bmg1vea.bundle.scp.css';
@import '_content/Cliexa.ClinicalInsightsPanel.Core.Components/Cliexa.ClinicalInsightsPanel.Core.Components.9upkyhscjf.bundle.scp.css';
@import '_content/PSC.Blazor.Components.Icons/PSC.Blazor.Components.Icons.bundle.scp.css';

/* _content/Cliexa.ClinicalInsightsPanel/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-ibs0opizud] {
	position: relative;
	display: flex;
	flex-direction: column;
}

main[b-ibs0opizud] {
	flex: 1;
	overflow-y: auto;
}

.sidebar[b-ibs0opizud] {
	background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-ibs0opizud] {
	background-color: #f7f7f7;
	border-bottom: 1px solid #d6d5d5;
	justify-content: flex-end;
	height: 3.5rem;
	display: flex;
	align-items: center;
}

.top-row[b-ibs0opizud]  a, .top-row[b-ibs0opizud]  .btn-link {
	white-space: nowrap;
	margin-left: 1.5rem;
	text-decoration: none;
}

.top-row[b-ibs0opizud]  a:hover, .top-row[b-ibs0opizud]  .btn-link:hover {
	text-decoration: underline;
}

.top-row[b-ibs0opizud]  a:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 640.98px) {
	.top-row[b-ibs0opizud] {
		justify-content: space-between;
	}

	.top-row[b-ibs0opizud]  a, .top-row[b-ibs0opizud]  .btn-link {
		margin-left: 0;
	}
}

@media (min-width: 641px) {
	.page[b-ibs0opizud] {
		flex-direction: row;
	}

	.sidebar[b-ibs0opizud] {
		width: 250px;
		height: 100vh;
		position: sticky;
		top: 0;
	}

	.top-row[b-ibs0opizud] {
		position: sticky;
		top: 0;
		z-index: 1;
	}

	.top-row.auth[b-ibs0opizud]  a:first-child {
		flex: 1;
		text-align: right;
		width: 0;
	}

	.top-row[b-ibs0opizud], article[b-ibs0opizud] {
		padding-left: 2rem !important;
		padding-right: 1.5rem !important;
	}
}

#blazor-error-ui[b-ibs0opizud] {
	background: #fff3cd;
	bottom: 0;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
	display: none;
	left: 0;
	padding: 0;
	position: fixed;
	width: 100%;
	z-index: 10000;
	border-top: 3px solid #ffc107;
}

#blazor-error-ui .error-content[b-ibs0opizud] {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	gap: 12px;
}

#blazor-error-ui .error-icon[b-ibs0opizud] {
	font-size: 20px;
	color: #856404;
}

#blazor-error-ui .error-message[b-ibs0opizud] {
	color: #856404;
	font-weight: 500;
}

#blazor-error-ui .reload[b-ibs0opizud] {
	background: #2e6aa2;
	color: white;
	padding: 6px 16px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	margin-left: 8px;
}

#blazor-error-ui .reload:hover[b-ibs0opizud] {
	background: #285d8e;
}

#blazor-error-ui .dismiss[b-ibs0opizud] {
	cursor: pointer;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: #856404;
	opacity: 0.7;
}

#blazor-error-ui .dismiss:hover[b-ibs0opizud] {
	opacity: 1;
}
/* _content/Cliexa.ClinicalInsightsPanel/Components/Pages/GroupNotesEntry.razor.rz.scp.css */
/* Group Notes Entry — visual language follows the Claude artifact design.
   Colors are inlined here (not in a global token file) so this page can be tweaked without
   threading through the broader CIP style system. */

.group-notes-page[b-uhee3393fb] {
    min-height: 100vh;
    background: #f3f4f6;
    padding-bottom: 80px; /* room for sticky footer */
    font-family: "Figtree", sans-serif;
}

/* Keep Bootstrap/Syncfusion form controls on the page's font + cell-content size so inputs
   don't render in a different family/size than the rest of the grid. */
.group-notes-page .form-control[b-uhee3393fb],
.group-notes-page .form-select[b-uhee3393fb],
.group-notes-page textarea[b-uhee3393fb],
.group-notes-page .btn[b-uhee3393fb] {
    font-family: inherit;
    font-size: var(--font-size-base);
}

.gn-banner[b-uhee3393fb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 20;
}

.gn-banner-heading[b-uhee3393fb] {
    font-size: var(--font-size-large);
    font-weight: 600;
    color: #1A8B8B;
}

.gn-banner-actions[b-uhee3393fb] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-header-action[b-uhee3393fb] {
    background-color: #17a34a;
    color: #fff;
    border: none;
    padding: 4px 14px;
    border-radius: 4px;
    font-size: var(--font-size-base);
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s;
}

.btn-header-action:hover[b-uhee3393fb] {
    background-color: #15803d;
}

.gn-autosaved[b-uhee3393fb] {
    font-size: var(--font-size-small);
    color: #2e9e82;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.gn-loading[b-uhee3393fb] {
    padding: 64px;
    text-align: center;
}

.gn-card[b-uhee3393fb] {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    margin: 16px 24px;
}

.gn-card.p-0[b-uhee3393fb] {
    padding: 0;
    overflow: hidden;
}

.gn-card-header[b-uhee3393fb] {
    font-size: var(--font-size-base);
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #666;
    margin-bottom: 8px;
}

.gn-session-grid[b-uhee3393fb] {
    display: grid;
    grid-template-columns: 3fr 2fr 2fr 2fr;
    gap: 16px;
}

.gn-providers[b-uhee3393fb] {
    font-size: var(--font-size-base);
    color: #333;
}

.gn-label[b-uhee3393fb] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: #666;
    margin-bottom: 4px;
    display: block;
}

.gn-label small[b-uhee3393fb] {
    font-size: var(--font-size-small);
    color: #999;
    font-weight: 400;
}

/* MVP design: colored field labels mirror the legend dots —
   green = auto-populated from record, red = therapist input required, orange = support. */
.gn-label-blue[b-uhee3393fb]   { color: #16a34a; }
.gn-label-red[b-uhee3393fb]    { color: #dc2626; }
.gn-label-purple[b-uhee3393fb] { color: #f59e0b; }

/* Light blue tint on read-only-from-record inputs so the source is obvious at a glance. */
.gn-input-from-record[b-uhee3393fb] {
    background-color: #eff6ff !important;
    border-color: #bfdbfe !important;
}

.gn-section-label[b-uhee3393fb] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.gn-chip-row[b-uhee3393fb] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gn-chip[b-uhee3393fb] {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: var(--font-size-base);
    font-weight: 500;
    background: #fff;
    color: #666;
    border: 1px solid #e5e7eb;
    cursor: pointer;
}

.gn-chip:hover[b-uhee3393fb] {
    background: #f8fafc;
}

/* MVP design: chips use the brand blue accent when toggled on. */
.gn-chip-on[b-uhee3393fb] {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #16a34a;
}

.gn-legend[b-uhee3393fb] {
    margin: 0 24px 8px;
    display: flex;
    gap: 16px;
    align-items: center;
    font-size: var(--font-size-small);
    color: #666;
}

.gn-legend-item[b-uhee3393fb] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.gn-dot[b-uhee3393fb] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* Scoped to `.gn-dot` so the colored-background rule doesn't bleed onto label/title elements
   that ALSO carry `.gn-dot-X` to render a leading dot via `::before` (see rules below). */
.gn-dot.gn-dot-blue[b-uhee3393fb] { background: #16a34a; }
.gn-dot.gn-dot-red[b-uhee3393fb] { background: #dc2626; }
.gn-dot.gn-dot-purple[b-uhee3393fb] { background: #f59e0b; }

/* Apply dot before labels that have a category dot class. */
.gn-section-label.gn-dot-red[b-uhee3393fb]::before,
.gn-mini-title.gn-dot-red[b-uhee3393fb]::before,
.gn-mini-title.gn-dot-blue[b-uhee3393fb]::before,
.gn-mini-title.gn-dot-purple[b-uhee3393fb]::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}

.gn-mini-title.gn-dot-red[b-uhee3393fb]::before { background: #dc2626; }
.gn-mini-title.gn-dot-blue[b-uhee3393fb]::before { background: #16a34a; }
.gn-mini-title.gn-dot-purple[b-uhee3393fb]::before { background: #f59e0b; }
.gn-section-label.gn-dot-red[b-uhee3393fb]::before { background: #dc2626; }

/* Compound-selector overrides — `.gn-section-label` and `.gn-mini-title` set a default
   gray text color, which would otherwise beat `.gn-label-X` due to declaration order.
   These rules bump specificity so labels with category colors render in their assigned color. */
.gn-section-label.gn-label-blue[b-uhee3393fb],
.gn-mini-title.gn-label-blue[b-uhee3393fb] { color: #16a34a; }
.gn-section-label.gn-label-red[b-uhee3393fb],
.gn-mini-title.gn-label-red[b-uhee3393fb] { color: #dc2626; }
.gn-section-label.gn-label-purple[b-uhee3393fb],
.gn-mini-title.gn-label-purple[b-uhee3393fb] { color: #f59e0b; }

.gn-expand-all[b-uhee3393fb] {
    font-size: var(--font-size-base);
    font-weight: 600;
    color: #2e9e82;
    cursor: pointer;
}

.gn-grid-header[b-uhee3393fb] {
    display: grid;
    /* chevron, Patient, MRN, Status, Participation, Progress, Plan, Preview */
    grid-template-columns: 32px 1.6fr 0.7fr 0.9fr 1fr 1fr 1.4fr 0.6fr;
    gap: 10px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #e5e7eb;
    font-size: var(--font-size-base);
    font-weight: 600;
    color: #666;
    letter-spacing: 0.3px;
}

.gn-row[b-uhee3393fb] {
    border-bottom: 1px solid #f0f0f0;
    border-left: 3px solid transparent;
    transition: border-color 0.15s;
}

.gn-row-expanded[b-uhee3393fb] {
    border-left-color: #2e9e82;
}

/* Visually de-emphasize but do not hide — facilitator can still see the row + toggle back. */
.gn-row-noshow .gn-row-summary[b-uhee3393fb] {
    opacity: 0.55;
}

.gn-row-noshow .gn-row-summary .fw-semibold[b-uhee3393fb] {
    text-decoration: line-through;
    text-decoration-color: rgba(0, 0, 0, 0.4);
}

/* Submitted rows are immutable — green tint + read-only feel. */
.gn-row-submitted[b-uhee3393fb] {
    border-left-color: #16a34a;
}

.gn-row-submitted .gn-row-summary[b-uhee3393fb] {
    background: #f0fdf4;
}

.gn-noshow-btn[b-uhee3393fb],
.gn-restore-btn[b-uhee3393fb] {
    color: #b45309;
    font-size: var(--font-size-base);
}

.gn-noshow-btn:hover[b-uhee3393fb],
.gn-restore-btn:hover[b-uhee3393fb] {
    color: #92400e;
}

.gn-row-summary[b-uhee3393fb] {
    display: grid;
    /* chevron, Patient, MRN, Status, Participation, Progress, Plan, Preview */
    grid-template-columns: 32px 1.6fr 0.7fr 0.9fr 1fr 1fr 1.4fr 0.6fr;
    gap: 10px;
    align-items: center;
    padding: 10px 16px;
    cursor: pointer;
    /* ERC-1919: pin the row to the standard 14px so the patient-name (.fw-semibold) and MRN spans —
       which set no size of their own — don't inherit the 16px body default and dwarf the rest of the row. */
    font-size: var(--font-size-base);
}

.gn-row-expanded .gn-row-summary[b-uhee3393fb] {
    background: #f0faf5;
}

.gn-col-chev[b-uhee3393fb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #999;
}

.gn-progress[b-uhee3393fb] {
    height: 4px;
    background: #e5e7eb;
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 2px;
}

.gn-progress-bar[b-uhee3393fb] {
    height: 100%;
    background: #2e9e82;
    transition: width 0.2s;
}

.gn-view-link[b-uhee3393fb] {
    font-weight: 600;
    color: #2e9e82;
    text-decoration: none;
    font-size: var(--font-size-base);
}

/* v3 status chip (replaces the Complete % bar + "N required" badge). */
.gn-status-chip[b-uhee3393fb] {
    display: inline-block;
    font-size: var(--font-size-small);
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 10px;
    letter-spacing: 0.2px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.gn-status-notstarted[b-uhee3393fb] { background: #f3f4f6; color: #999; border-color: #e5e7eb; }
.gn-status-progress[b-uhee3393fb]   { background: #fef9ee; color: #b8860b; border-color: #e8d5a0; }
.gn-status-complete[b-uhee3393fb]   { background: #e6f7f2; color: #2e9e82; border-color: #a3dcc9; }

.gn-row-detail[b-uhee3393fb] {
    padding: 12px 16px 16px;
    background: #f7f8fa;
    border-top: 1px solid #f0f0f0;
}

.gn-detail-grid[b-uhee3393fb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.gn-detail-col[b-uhee3393fb] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* MVP design: flat sections, no card border / shadow. Just the colored label heading + the input(s).
   The visual grouping comes from spacing and the colored uppercase labels, not card chrome. */
.gn-mini-card[b-uhee3393fb] {
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.gn-mini-title[b-uhee3393fb] {
    font-size: var(--font-size-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #333;
    margin-bottom: 8px;
    background: transparent !important;
    padding: 0;
}

/* When the title has "(from record)" or similar sub-text, it should NOT be uppercased. */
.gn-mini-title small[b-uhee3393fb] {
    font-size: var(--font-size-small);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: #9ca3af;
    margin-left: 6px;
}

/* ── Inline multi-select dropdown (MVP design language) ───────────────────
   Used for Patient-Specific Interventions, Positive Indicators, Challenges,
   and Support Interventions in the expanded row. */
.gn-ms[b-uhee3393fb] {
    position: relative;
    width: 100%;
}

.gn-ms-trigger[b-uhee3393fb] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 28px 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    font-size: var(--font-size-base);
    color: #333;
    cursor: pointer;
    min-height: 38px;
    flex-wrap: wrap;
    position: relative;
}

.gn-ms-trigger:focus-within[b-uhee3393fb],
.gn-ms-trigger.gn-ms-open[b-uhee3393fb] {
    border-color: #16a34a;
}

.gn-ms-trigger[b-uhee3393fb]::after {
    content: "▾";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: var(--font-size-small);
    pointer-events: none;
}

.gn-ms-placeholder[b-uhee3393fb] {
    color: #9ca3af;
}

.gn-ms-pill[b-uhee3393fb] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 12px;
    background: #dbeafe;
    color: #1d4ed8;
    border: 1px solid #3b82f6;
    font-size: var(--font-size-base);
    font-weight: 500;
}

.gn-ms-pill-remove[b-uhee3393fb] {
    cursor: pointer;
    font-size: var(--font-size-base);
    line-height: 1;
}

.gn-ms-panel[b-uhee3393fb] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    max-height: 240px;
    overflow-y: auto;
    z-index: 51;
}

.gn-ms-panel label[b-uhee3393fb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-size: var(--font-size-base);
    color: #333;
    cursor: pointer;
    margin: 0;
}

.gn-ms-panel label:hover[b-uhee3393fb] {
    background: #f0faf5;
}

.gn-ms-panel label.gn-ms-none[b-uhee3393fb] {
    color: #9ca3af;
    font-style: italic;
    border-bottom: 1px solid #f0f0f0;
}

.gn-ms-backdrop[b-uhee3393fb] {
    position: fixed;
    inset: 0;
    z-index: 50;
}

.gn-check[b-uhee3393fb] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 4px;
    font-size: var(--font-size-base);
    color: #333;
    cursor: pointer;
}

.gn-check-muted[b-uhee3393fb] {
    color: #999;
    font-style: italic;
}

/* Attendance/Transitions checkbox grid — two columns. */
.gn-attendance-grid[b-uhee3393fb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 16px;
}

.gn-empty[b-uhee3393fb] {
    padding: 32px;
    text-align: center;
    color: #999;
    font-style: italic;
}

.gn-footer[b-uhee3393fb] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 12px 24px;
    background: #fff;
    border-top: 1px solid #e5e7eb;
    z-index: 20;
}

.gn-footer-count[b-uhee3393fb] {
    margin-right: auto;
    font-size: var(--font-size-small);
}

/* ── Modals ─────────────────────────────────────────────────────────── */

.gn-modal-backdrop[b-uhee3393fb] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 100;
}

.gn-modal[b-uhee3393fb] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 12px;
    width: 600px;
    max-width: 90vw;
    max-height: 85vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    z-index: 101;
}

.gn-modal-header[b-uhee3393fb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
}

.gn-modal-body[b-uhee3393fb] {
    padding: 16px 20px;
    overflow-y: auto;
    flex-grow: 1;
}

.gn-modal-footer[b-uhee3393fb] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
}

.gn-narrative[b-uhee3393fb] {
    background: #f7f8fa;
    border-radius: 6px;
    padding: 12px;
    font-size: var(--font-size-base);
    color: #333;
    white-space: pre-wrap;
    margin: 0;
    font-family: inherit;
}

/* ── Submission result toast ────────────────────────────────────────── */

.gn-result-toast[b-uhee3393fb] {
    position: fixed;
    bottom: 80px;
    right: 24px;
    background: #fff;
    border-radius: 12px;
    padding: 12px 16px;
    max-width: 420px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    z-index: 90;
    border-left: 4px solid #2e9e82;
}

.gn-result-warn[b-uhee3393fb] {
    border-left-color: #f59e0b;
}

/* ── Print ───────────────────────────────────────────────────────────────
   PrintGrid expands every row, then opens the browser print dialog. These rules
   strip interactive chrome and flatten form controls so the grid prints legibly. */
@media print {
    .group-notes-page[b-uhee3393fb] {
        background: #fff;
        min-height: 0;
        padding-bottom: 0;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .gn-banner-actions[b-uhee3393fb],
    .gn-footer[b-uhee3393fb],
    .gn-expand-all[b-uhee3393fb],
    .gn-noshow-btn[b-uhee3393fb],
    .gn-restore-btn[b-uhee3393fb],
    .gn-view-link[b-uhee3393fb],
    .gn-modal[b-uhee3393fb],
    .gn-modal-backdrop[b-uhee3393fb],
    .gn-result-toast[b-uhee3393fb],
    .gn-ms-backdrop[b-uhee3393fb],
    .gn-ms-panel[b-uhee3393fb] {
        display: none !important;
    }

    .gn-banner[b-uhee3393fb] {
        position: static;
        border-bottom: 1px solid #000;
    }

    .gn-card[b-uhee3393fb] {
        box-shadow: none;
        margin: 0 0 8px;
        border: 1px solid #ccc;
    }

    /* ERC-1920: keep break-inside:avoid ONLY on the one-line summary + each field group so a tall
       expanded row can flow across a page boundary (start on page 1, continue on page 2) instead of
       jumping wholesale to page 2 and leaving the first page half-blank. */
    .gn-row-summary[b-uhee3393fb],
    .gn-mini-card[b-uhee3393fb] {
        break-inside: avoid;
        page-break-inside: avoid;
    }
    .gn-grid-header[b-uhee3393fb] {
        break-inside: avoid;
    }

    .gn-row-summary .form-select[b-uhee3393fb],
    .gn-row-summary .form-control[b-uhee3393fb],
    .gn-row-detail .form-control[b-uhee3393fb],
    .gn-row-detail .form-select[b-uhee3393fb],
    .gn-ms-trigger[b-uhee3393fb] {
        border: none !important;
        background: transparent !important;
        -webkit-appearance: none;
        appearance: none;
        padding: 0 !important;
        box-shadow: none !important;
        color: #000;
    }

    .gn-ms-trigger[b-uhee3393fb]::after {
        display: none;
    }
}
