@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.lcdo7z9xd2.bundle.scp.css';

/* /Components/Account/Shared/AccountLayout.razor.rz.scp.css */
/* =================================
   ACCOUNT LAYOUT - CENTERED CARD
   ================================= */

.account-layout[b-h170kwxpjl] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    width: 100%;
    background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-secondary-dark) 100%);
    padding: 16px;
}

.account-card[b-h170kwxpjl] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    padding: 40px 36px 36px;
    width: 100%;
    max-width: 440px;
    animation: account-card-enter-b-h170kwxpjl 0.35s ease-out;
}

@keyframes account-card-enter-b-h170kwxpjl {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Branding */
.account-brand[b-h170kwxpjl] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 28px;
}

.account-brand-icon[b-h170kwxpjl] {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.account-brand-name[b-h170kwxpjl] {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-primary-dark);
    letter-spacing: -0.5px;
}

/* Page title styling */
.account-card h1[b-h170kwxpjl] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0 0 4px;
    text-align: center;
}

.account-card h2[b-h170kwxpjl] {
    font-size: 0.95rem;
    font-weight: 400;
    color: #6b7280;
    margin: 0 0 20px;
    text-align: center;
}

.account-card h3[b-h170kwxpjl] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #6b7280;
    margin: 16px 0 8px;
    text-align: center;
}

.account-card hr[b-h170kwxpjl] {
    display: none;
}

/* Divider with text */
.account-divider[b-h170kwxpjl] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: #9ca3af;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.account-divider[b-h170kwxpjl]::before,
.account-divider[b-h170kwxpjl]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

/* Links section */
.account-links[b-h170kwxpjl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 0.875rem;
}

.account-links p[b-h170kwxpjl] {
    margin: 0;
}

/* Status/confirmation pages */
.account-status[b-h170kwxpjl] {
    text-align: center;
    padding: 12px 0;
}

.account-status-icon[b-h170kwxpjl] {
    font-size: 3rem;
    margin-bottom: 16px;
    display: block;
}

.account-status p[b-h170kwxpjl] {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 16px;
}

.account-status a[b-h170kwxpjl] {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 500;
}

.account-status a:hover[b-h170kwxpjl] {
    text-decoration: underline;
}

/* Alert overrides for status messages */
.account-card .alert[b-h170kwxpjl] {
    border-radius: 8px;
    font-size: 0.875rem;
    padding: 10px 14px;
    margin-bottom: 16px;
}

.account-card .alert-danger[b-h170kwxpjl] {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.account-card .alert-success[b-h170kwxpjl] {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.account-card .alert-info[b-h170kwxpjl] {
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}

/* Text styling */
.account-card .text-danger[b-h170kwxpjl] {
    color: #dc2626;
    font-size: 0.8rem;
}

.account-card header h1.text-danger[b-h170kwxpjl] {
    color: #dc2626;
}

.account-card header p.text-danger[b-h170kwxpjl] {
    color: #4b5563;
}

/* Mobile responsive */
@media (max-width: 480px) {
    .account-layout[b-h170kwxpjl] {
        padding: 0;
        align-items: stretch;
    }
    
    .account-card[b-h170kwxpjl] {
        border-radius: 0;
        max-width: 100%;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 32px 24px;
    }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
.manage-layout[b-76ib8zwzys] {
     padding: 1rem;
}
/* /Components/Admin/AdminWorkoutManagement.razor.rz.scp.css */
/* ===========================================================================
   ADMIN WORKOUT MANAGEMENT - MODERN RESPONSIVE LAYOUT
   =========================================================================== */

.admin-page[b-hsoword6hv] {
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.admin-header[b-hsoword6hv] {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 4px 0;
}

.admin-eyebrow[b-hsoword6hv] {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.admin-title[b-hsoword6hv] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    letter-spacing: -0.5px;
}

.admin-subtitle[b-hsoword6hv] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1rem;
    color: var(--color-neutral-medium);
}

.header-subtitle[b-hsoword6hv] {
    color: var(--color-neutral-medium);
}

.workout-admin-container[b-hsoword6hv] {
    margin: 20px 0;
}

/* Panel Header Actions */
.panel-header-actions[b-hsoword6hv] {
    display: flex;
    gap: 8px;
}

@media (max-width: 600px) {
    .panel-header-actions[b-hsoword6hv] {
        flex-direction: column;
    }
}

/* Workout Panels - Two Column Layout */
.workout-panels[b-hsoword6hv] {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 24px;
    min-height: 600px;
}

@media (max-width: 1024px) {
    .workout-panels[b-hsoword6hv] {
        grid-template-columns: 1fr;
    }
}

/* ===========================================================================
   LEFT PANEL: Workout List
   =========================================================================== */

.workout-list-panel[b-hsoword6hv] {
    background: var(--color-neutral);
    border-radius: 12px;
    padding: 16px;
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 200px);
}

.panel-header[b-hsoword6hv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--hairline);
}

.panel-header h4[b-hsoword6hv] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.workout-count[b-hsoword6hv] {
    font-size: 0.8rem;
    color: var(--color-neutral-medium);
}

/* Filter Section */
.filter-section[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--hairline);
    margin-bottom: 16px;
}

.filter-row[b-hsoword6hv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.filter-row > div[b-hsoword6hv] {
    min-width: 0;
    overflow: hidden;
}

@media (max-width: 600px) {
    .filter-row[b-hsoword6hv] {
        grid-template-columns: 1fr;
    }
}

.filter-actions[b-hsoword6hv] {
    display: flex;
    gap: 8px;
}

.filter-actions > *[b-hsoword6hv] {
    flex: 1;
}

/* Workout List Section */
.workout-list-section[b-hsoword6hv] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.workout-items[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    overflow-y: auto;
}

/* Individual Workout Item */
.workout-list-item[b-hsoword6hv] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--color-neutral);
    border-radius: 8px;
    border: 1px solid var(--hairline);
    cursor: pointer;
    transition: all 0.2s ease;
}

.workout-list-item:hover[b-hsoword6hv] {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-paper-md);
}

.workout-list-item.selected[b-hsoword6hv] {
    border-color: var(--color-primary);
    background: var(--color-neutral-light);
}

.workout-item-date[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
    padding: 4px 8px;
    background: var(--color-neutral-light);
    border-radius: 6px;
}

.workout-item-date .day[b-hsoword6hv] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1;
}

.workout-item-date .month[b-hsoword6hv] {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--color-neutral-medium);
}

.workout-item-info[b-hsoword6hv] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.workout-item-type[b-hsoword6hv] {
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.workout-item-user[b-hsoword6hv] {
    font-size: 0.75rem;
    color: var(--color-primary);
    font-weight: 500;
}

.workout-item-phase[b-hsoword6hv] {
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
}

.workout-item-duration[b-hsoword6hv] {
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
    white-space: nowrap;
}

/* Loading and Empty States */
.loading-indicator[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    gap: 12px;
    color: var(--color-neutral-medium);
}

.empty-list[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    text-align: center;
    color: var(--color-neutral-medium);
}

.empty-list p[b-hsoword6hv] {
    margin: 8px 0 0 0;
    font-size: 0.9rem;
}

/* Pagination */
.pagination[b-hsoword6hv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 0;
    border-top: 1px solid var(--hairline);
    margin-top: auto;
}

.page-info[b-hsoword6hv] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

/* ===========================================================================
   RIGHT PANEL: Workout Details
   =========================================================================== */

.workout-detail-panel[b-hsoword6hv] {
    background: var(--color-neutral);
    border-radius: 12px;
    padding: 20px;
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
    overflow-y: auto;
    max-height: calc(100vh - 200px);
}

/* Workout Basic Info */
.workout-basic-info[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.info-item[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.info-value[b-hsoword6hv] {
    font-weight: 600;
    color: var(--color-primary);
    font-size: 0.95rem;
}

.info-row[b-hsoword6hv] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.info-row > div[b-hsoword6hv] {
    min-width: 0;
    overflow: hidden;
}

@media (max-width: 600px) {
    .info-row[b-hsoword6hv] {
        grid-template-columns: 1fr;
    }
}

/* Exercise Management */
.exercise-management[b-hsoword6hv] {
    border-top: 1px solid var(--hairline);
    padding-top: 16px;
    margin-top: 16px;
}

.exercise-header[b-hsoword6hv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.exercise-header h5[b-hsoword6hv] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.exercise-list[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
}

.exercise-edit-item[b-hsoword6hv] {
    display: flex;
    gap: 8px;
    padding: 12px;
    background: var(--color-neutral);
    border-radius: 8px;
    border: 1px solid var(--hairline);
}

.exercise-reorder[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.exercise-details[b-hsoword6hv] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.exercise-name-row[b-hsoword6hv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.exercise-name-row strong[b-hsoword6hv] {
    color: var(--color-primary);
    font-size: 0.95rem;
}

.exercise-params-row[b-hsoword6hv] {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 8px;
}

.exercise-params-row > div[b-hsoword6hv] {
    min-width: 0;
}

@media (max-width: 600px) {
    .exercise-params-row[b-hsoword6hv] {
        grid-template-columns: 1fr 1fr;
    }
}

/* Empty State */
.empty-state[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--color-neutral-medium);
    min-height: 300px;
}

.empty-state h4[b-hsoword6hv] {
    margin: 16px 0 8px 0;
}

.empty-state p[b-hsoword6hv] {
    margin: 0;
    font-size: 0.9rem;
}

.no-exercises-edit[b-hsoword6hv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
    text-align: center;
    background: var(--color-neutral-light);
    border-radius: 8px;
    color: var(--color-neutral-medium);
}

.no-exercises-edit p[b-hsoword6hv] {
    margin: 8px 0 0 0;
}

/* Action Buttons */
.workout-actions[b-hsoword6hv] {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--hairline);
}

@media (max-width: 600px) {
    .workout-actions[b-hsoword6hv] {
        flex-direction: column;
    }
}

/* Total Count */
.total-count[b-hsoword6hv] {
    text-align: center;
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
    padding-top: 8px;
}

/* ===========================================================================
   Fluent Component Overrides for Container Constraint
   =========================================================================== */

/* Ensure FluentSelect, FluentTextField, and other inputs respect container width */
.filter-row fluent-text-field[b-hsoword6hv],
.filter-row fluent-date-picker[b-hsoword6hv],
.info-row fluent-select[b-hsoword6hv],
.info-row fluent-text-field[b-hsoword6hv],
.info-row fluent-date-picker[b-hsoword6hv],
.info-row fluent-number-field[b-hsoword6hv] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Ensure the internal controls respect their containers */
.info-row fluent-select[b-hsoword6hv]::part(control) {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Exercise Purpose Styling */
.exercise-name-with-purpose[b-hsoword6hv] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Exercise item left border colors based on purpose */
.exercise-edit-item.purpose-warmup[b-hsoword6hv] {
    border-left: 3px solid var(--purpose-warmup);
}

.exercise-edit-item.purpose-technique[b-hsoword6hv] {
    border-left: 3px solid var(--purpose-technique);
}

.exercise-edit-item.purpose-corelift[b-hsoword6hv] {
    border-left: 3px solid var(--purpose-corelift);
}

.exercise-edit-item.purpose-strength[b-hsoword6hv] {
    border-left: 3px solid var(--purpose-strength);
}

.exercise-edit-item.purpose-accessory[b-hsoword6hv] {
    border-left: 3px solid var(--purpose-accessory);
}
/* /Components/Admin/Dialogs/AdminTimeOffBalanceDialog.razor.rz.scp.css */
.planner-dialog-header[b-9f3mom6cfl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 1.25rem;
}

.dialog-eyebrow[b-9f3mom6cfl] {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    color: var(--domain-nanny-accent);
}

.dialog-title[b-9f3mom6cfl] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.dialog-subtitle[b-9f3mom6cfl] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

.field[b-9f3mom6cfl] {
    width: 100%;
}
/* /Components/Admin/Dialogs/AdminTimeOffDialog.razor.rz.scp.css */
.planner-dialog-header[b-0vv8afmk0d] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 1.25rem;
}

.dialog-eyebrow[b-0vv8afmk0d] {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    color: var(--domain-nanny-accent);
}

.dialog-title[b-0vv8afmk0d] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.dialog-subtitle[b-0vv8afmk0d] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

.field[b-0vv8afmk0d] {
    width: 100%;
}

.field.grow[b-0vv8afmk0d] {
    flex: 1;
}
/* /Components/Admin/Dialogs/CopyWorkoutDialog.razor.rz.scp.css */
/* Copy Workout Dialog Styles */

.copy-workout-dialog[b-r9a1v2q64d] {
	--dialog-width: min(95vw, 600px);
	--dialog-height: min(90vh, 700px);
}

.copy-workout-content[b-r9a1v2q64d] {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-height: 60vh;
	overflow-y: auto;
}

/* Source Workout Info */
.source-workout-info h5[b-r9a1v2q64d] {
	margin: 0 0 12px 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-neutral-dark);
}

.workout-details-card[b-r9a1v2q64d] {
	padding: 12px;
	background: var(--color-secondary-light);
	border-radius: 8px;
	border: 1px solid var(--color-neutral-light);
}

.detail-row[b-r9a1v2q64d] {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: 0.85rem;
}

.detail-row .label[b-r9a1v2q64d] {
	font-weight: 600;
	color: var(--color-neutral-medium);
}

.detail-row .value[b-r9a1v2q64d] {
	color: var(--color-neutral-dark);
}

/* Target Date Section */
.target-date-section[b-r9a1v2q64d] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Target Users Section */
.target-users-section[b-r9a1v2q64d] {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.section-header[b-r9a1v2q64d] {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.section-header h5[b-r9a1v2q64d] {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-neutral-dark);
}

.user-count[b-r9a1v2q64d] {
	font-size: 0.8rem;
	color: var(--color-primary);
	font-weight: 500;
}

/* User List */
.user-list[b-r9a1v2q64d] {
	max-height: 300px;
	overflow-y: auto;
	border: 1px solid var(--color-neutral-light);
	border-radius: 8px;
	padding: 8px;
	background: white;
}

.user-checkbox-item[b-r9a1v2q64d] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	border-radius: 6px;
	transition: background 0.2s ease;
}

.user-checkbox-item:hover:not(.disabled)[b-r9a1v2q64d] {
	background: var(--color-neutral-light);
}

.user-checkbox-item.disabled[b-r9a1v2q64d] {
	opacity: 0.5;
	cursor: not-allowed;
}

.user-email[b-r9a1v2q64d] {
	font-size: 0.75rem;
	color: var(--color-neutral-medium);
	margin-left: 28px;
}

/* Empty State */
.empty-list[b-r9a1v2q64d] {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px;
	text-align: center;
	color: var(--color-neutral-medium);
}

.empty-list p[b-r9a1v2q64d] {
	margin: 0;
	font-size: 0.9rem;
}

/* Copy Summary */
.copy-summary[b-r9a1v2q64d] {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: var(--color-info-light, #e3f2fd);
	border-radius: 8px;
	border: 1px solid var(--color-info, #2196f3);
	font-size: 0.85rem;
	color: var(--color-neutral-dark);
}

/* Planner Dialog Header */
.planner-dialog-header[b-r9a1v2q64d] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dialog-eyebrow[b-r9a1v2q64d] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-workout-accent);
}

.dialog-title[b-r9a1v2q64d] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-r9a1v2q64d] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

/* /Components/Admin/Dialogs/CreateWorkoutDialog.razor.rz.scp.css */
/* Create Workout Dialog Styles */

.create-workout-dialog[b-ye54jc69pq] {
	--dialog-width: min(95vw, 550px);
}

.create-workout-content[b-ye54jc69pq] {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* User Selection Section */
.user-selection-section[b-ye54jc69pq] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.user-search-results[b-ye54jc69pq] {
	max-height: 200px;
	overflow-y: auto;
	border: 1px solid var(--color-neutral-light);
	border-radius: 8px;
	background: white;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.user-result-item[b-ye54jc69pq] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
	cursor: pointer;
	transition: background 0.2s ease;
	border-bottom: 1px solid var(--color-neutral-light);
}

.user-result-item:last-child[b-ye54jc69pq] {
	border-bottom: none;
}

.user-result-item:hover[b-ye54jc69pq] {
	background: var(--color-neutral-light);
}

.user-result-item.selected[b-ye54jc69pq] {
	background: var(--color-primary-light);
	border-color: var(--color-primary);
}

.user-info[b-ye54jc69pq] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.user-name[b-ye54jc69pq] {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--color-neutral-dark);
}

.user-email[b-ye54jc69pq] {
	font-size: 0.75rem;
	color: var(--color-neutral-medium);
}

.selected-user-badge[b-ye54jc69pq] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: var(--color-primary-light);
	border: 1px solid var(--color-primary);
	border-radius: 20px;
	font-size: 0.85rem;
	color: var(--color-primary);
	font-weight: 500;
	width: fit-content;
}

/* Workout Details Section */
.workout-details-section[b-ye54jc69pq] {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.form-row[b-ye54jc69pq] {
	display: grid;
	grid-template-columns: auto auto;
	gap: 12px;	
}

.form-row > div[b-ye54jc69pq] {
	min-width: 0;
}

@media (max-width: 600px) {
	.form-row[b-ye54jc69pq] {
		grid-template-columns: 1fr;
	}
}

/* Planner Dialog Header */
.planner-dialog-header[b-ye54jc69pq] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dialog-eyebrow[b-ye54jc69pq] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-workout-accent);
}

.dialog-title[b-ye54jc69pq] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-ye54jc69pq] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

/* /Components/Admin/Dialogs/SelectWorkoutDialog.razor.rz.scp.css */
/* Select Workout Dialog Styles */

.select-workout-dialog[b-l0qnklv8sb] {
	--dialog-width: min(95vw, 700px);
	--dialog-height: min(90vh, 800px);
}

.select-workout-content[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-height: 60vh;
}

/* Filter Section */
.filter-section[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-neutral-light);
}

/* Workout List Section */
.workout-list-section[b-l0qnklv8sb] {
	flex: 1;
	overflow-y: auto;
	min-height: 200px;
	max-height: 400px;
}

.workout-items[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.workout-select-item[b-l0qnklv8sb] {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: white;
	border-radius: 8px;
	border: 1px solid var(--color-neutral-light);
	cursor: pointer;
	transition: all 0.2s ease;
}

.workout-select-item:hover[b-l0qnklv8sb] {
	border-color: var(--color-primary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.workout-select-item.selected[b-l0qnklv8sb] {
	border-color: var(--color-primary);
	background: var(--color-primary-light);
	box-shadow: 0 2px 12px rgba(0, 120, 212, 0.15);
}

.workout-item-date[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 40px;
	padding: 4px 8px;
	background: var(--color-secondary-light);
	border-radius: 6px;
}

.workout-item-date .day[b-l0qnklv8sb] {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1;
}

.workout-item-date .month[b-l0qnklv8sb] {
	font-size: 0.7rem;
	text-transform: uppercase;
	color: var(--color-neutral-medium);
}

.workout-item-info[b-l0qnklv8sb] {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.workout-item-type[b-l0qnklv8sb] {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--color-neutral-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.workout-item-details[b-l0qnklv8sb] {
	font-size: 0.75rem;
	color: var(--color-neutral-medium);
}

.workout-item-exercises[b-l0qnklv8sb] {
	font-size: 0.7rem;
	color: var(--color-primary);
	font-weight: 500;
}

.workout-item-duration[b-l0qnklv8sb] {
	font-size: 0.75rem;
	color: var(--color-neutral-medium);
	white-space: nowrap;
}

/* Loading and Empty States */
.loading-indicator[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px;
	gap: 12px;
	color: var(--color-neutral-medium);
}

.empty-list[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px;
	text-align: center;
	color: var(--color-neutral-medium);
}

.empty-list p[b-l0qnklv8sb] {
	margin: 8px 0 0 0;
	font-size: 0.9rem;
}

/* Selected Workout Preview */
.selected-workout-preview[b-l0qnklv8sb] {
	padding: 16px;
	background: var(--color-primary-light);
	border-radius: 8px;
	border: 1px solid var(--color-primary);
}

.selected-workout-preview h5[b-l0qnklv8sb] {
	margin: 0 0 12px 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-primary);
}

.preview-content p[b-l0qnklv8sb] {
	margin: 4px 0;
	font-size: 0.85rem;
	color: var(--color-neutral-dark);
}

.preview-content strong[b-l0qnklv8sb] {
	font-weight: 600;
	color: var(--color-neutral-dark);
}

/* Planner Dialog Header */
.planner-dialog-header[b-l0qnklv8sb] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dialog-eyebrow[b-l0qnklv8sb] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-workout-accent);
}

.dialog-title[b-l0qnklv8sb] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-l0qnklv8sb] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

/* /Components/Admin/TimeOffManagement.razor.rz.scp.css */
.admin-page[b-3283qj2bwu] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
}

.admin-header[b-3283qj2bwu] {
    text-align: center;
    margin-bottom: 32px;
    padding: 24px;
    background: var(--color-neutral-light);
    border-radius: 12px;
    border: 1px solid var(--hairline);
}

.admin-eyebrow[b-3283qj2bwu] {
    display: block;
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    color: var(--domain-nanny-accent);
    margin-bottom: 0.5rem;
}

.admin-title[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    color: var(--color-neutral-dark);
}

.admin-subtitle[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-style: italic;
    color: var(--color-neutral-medium);
    margin: 0;
}

[b-3283qj2bwu] .timeoff-admin-card {
    padding: 1.75rem;
    border-radius: 18px;
    border: 1px solid var(--hairline);
    background: var(--domain-nanny-bg);
    box-shadow: var(--shadow-paper-md);
}

.user-picker[b-3283qj2bwu] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.user-picker-field[b-3283qj2bwu] {
    flex: 1;
    min-width: 240px;
}

.user-picker-actions[b-3283qj2bwu] {
    flex-shrink: 0;
}

.balance-row[b-3283qj2bwu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 1.5rem;
}

.balance-section[b-3283qj2bwu] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 1.5rem;
}

.balance-section .balance-row[b-3283qj2bwu] {
    margin-bottom: 0;
}

.balance-header[b-3283qj2bwu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.balance-eyebrow[b-3283qj2bwu] {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.75rem;
    color: var(--domain-nanny-accent);
}

.balance-tile[b-3283qj2bwu] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-nanny-accent);
    border-radius: 12px;
    padding: 12px 16px;
    box-shadow: var(--shadow-paper-sm);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.balance-label[b-3283qj2bwu] {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.7rem;
    color: var(--color-neutral-medium);
}

.balance-value[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.empty-state[b-3283qj2bwu] {
    padding: 48px 32px;
    text-align: center;
    border: 2px dashed var(--hairline);
    background: var(--color-neutral-light);
}

.empty-state-inline[b-3283qj2bwu] {
    padding: 32px 16px;
    text-align: center;
}

.empty-state-message[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-style: italic;
    color: var(--color-empty-state, var(--color-neutral-medium));
    margin: 0;
}

.entries-list[b-3283qj2bwu] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.entry-row[b-3283qj2bwu] {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "date meta"
        "reason reason"
        "actions actions";
    gap: 8px 16px;
    align-items: center;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-nanny-accent);
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: var(--shadow-paper-sm);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.entry-row:hover[b-3283qj2bwu] {
    box-shadow: var(--shadow-paper-md);
    transform: translateY(-1px);
}

.entry-date[b-3283qj2bwu] {
    grid-area: date;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.entry-type[b-3283qj2bwu] {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.7rem;
    color: var(--domain-nanny-accent);
}

.entry-range[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--color-neutral-dark);
}

.entry-meta[b-3283qj2bwu] {
    grid-area: meta;
    display: flex;
    align-items: center;
    gap: 12px;
}

.entry-hours[b-3283qj2bwu] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.entry-reason[b-3283qj2bwu] {
    grid-area: reason;
    font-family: var(--font-display);
    font-style: italic;
    color: var(--color-neutral-medium);
    font-size: 0.95rem;
}

.entry-actions[b-3283qj2bwu] {
    grid-area: actions;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 600px) {
    .entry-row[b-3283qj2bwu] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "date"
            "meta"
            "reason"
            "actions";
    }

    .entry-meta[b-3283qj2bwu] {
        justify-content: flex-start;
    }
}
/* /Components/Admin/UserEditDialog.razor.rz.scp.css */
/* User Info Section */
.user-info-section[b-jb196ia2mm] {
    padding: 12px;
}

.info-row[b-jb196ia2mm] {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--hairline);
}

.info-row:last-child[b-jb196ia2mm] {
    border-bottom: none;
}

/* Roles Section */
.roles-section[b-jb196ia2mm] {
    padding: 12px;
}

.role-checkbox[b-jb196ia2mm] {
    padding: 8px 0;
}

/* App Access Section */
.app-access-section[b-jb196ia2mm] {
    padding: 12px;
}

.app-checkbox[b-jb196ia2mm] {
    padding: 8px 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .info-row[b-jb196ia2mm] {
        flex-direction: column;
        gap: 4px;
    }
}
/* /Components/Admin/UserManagement.razor.rz.scp.css */
/* Admin Page Layout */
.admin-page[b-i0rj7y7am8] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
}

.admin-header[b-i0rj7y7am8] {
    text-align: center;
    margin-bottom: 32px;
    padding: 24px;
    background: var(--color-neutral-light);
    border-radius: 12px;
    border: 1px solid var(--hairline);
}

.header-icon[b-i0rj7y7am8] {
    margin-bottom: 12px;
    color: var(--color-primary);
}

.header-subtitle[b-i0rj7y7am8] {
    color: var(--color-neutral-medium);
    margin-top: 8px;
}

/* Users Container */
.users-container[b-i0rj7y7am8] {
    padding: 24px;
    border-radius: 12px;
    border: 1px solid var(--hairline);
    background: var(--color-neutral-light);
}

/* Actions column layout */
.actions-cell[b-i0rj7y7am8] {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

/* Empty State */
.empty-state[b-i0rj7y7am8] {
    padding: 48px 32px;
    text-align: center;
    border: 2px dashed var(--hairline);
    background: var(--color-neutral-light);
}

/* Desktop/Mobile View Toggle */
.desktop-view[b-i0rj7y7am8] {
    display: block;
}

.mobile-view[b-i0rj7y7am8] {
    display: none;
}

/* Mobile Card Layout - using ::deep for FluentCard child component */
[b-i0rj7y7am8] .user-card {
    margin-bottom: 16px;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid var(--hairline);
    background: var(--color-neutral-light);
}

.user-card-header[b-i0rj7y7am8] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-avatar[b-i0rj7y7am8] {
    flex-shrink: 0;
    color: var(--color-primary);
}

.user-card-info[b-i0rj7y7am8] {
    flex: 1;
    min-width: 0;
}

.user-email[b-i0rj7y7am8] {
    color: var(--color-neutral-medium);
    word-break: break-word;
}

.user-card-details[b-i0rj7y7am8] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.detail-row[b-i0rj7y7am8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.badges-container[b-i0rj7y7am8] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.user-card-actions[b-i0rj7y7am8] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.user-card-actions > *[b-i0rj7y7am8] {
    min-width: 0;
}

.user-card-actions .manage-button[b-i0rj7y7am8] {
    flex: 1;
}

/* Responsive Design - tablets and below get card layout */
@media (max-width: 1024px) {
    .admin-page[b-i0rj7y7am8] {
        padding: 16px;
    }

    .admin-header[b-i0rj7y7am8] {
        padding: 20px;
        margin-bottom: 24px;
    }

    .users-container[b-i0rj7y7am8] {
        padding: 16px;
    }

    .desktop-view[b-i0rj7y7am8] {
        display: none;
    }

    .mobile-view[b-i0rj7y7am8] {
        display: block;
    }
}

.admin-header[b-i0rj7y7am8] {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 4px 0;
}

.admin-eyebrow[b-i0rj7y7am8] {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-accent);
}

.admin-title[b-i0rj7y7am8] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    letter-spacing: -0.5px;
}

.admin-subtitle[b-i0rj7y7am8] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1rem;
    color: var(--color-neutral-medium);
}

.empty-state-message[b-i0rj7y7am8] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.05rem;
    color: var(--color-empty-state);
}
/* /Components/Bar/Bar.razor.rz.scp.css */
.bar-container[b-i57act1xye] {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.error-message[b-i57act1xye] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    background-color: var(--color-danger-bg);
    color: var(--color-danger);
    border-radius: 8px;
    border-left: 4px solid var(--color-danger);
}

.error-message fluent-icon[b-i57act1xye] {
    color: var(--color-danger);
}

/* Tablet-friendly styles */
@media (max-width: 1024px) {
    .bar-container[b-i57act1xye] {
        padding: 16px;
    }
}

@media (max-width: 768px) {
    .bar-container[b-i57act1xye] {
        padding: 12px;
    }
}
/* /Components/Bar/BarOrder.razor.rz.scp.css */
.drinks-grid[b-prglox0ay2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 16px;
    width: 100%;
}

.drink-card[b-prglox0ay2] {
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-bar-accent);
    border-radius: 14px;
    padding: 16px;
    background: var(--color-neutral);
    box-shadow: var(--shadow-paper-sm);
}

.drink-card:hover[b-prglox0ay2] {
    transform: translateY(-4px);
    box-shadow: var(--shadow-paper-md);
}

.drink-card.selected[b-prglox0ay2] {
    border-color: var(--domain-bar-accent);
    background-color: var(--domain-bar-bg);
}

.drink-image[b-prglox0ay2] {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
}

.drink-image-placeholder[b-prglox0ay2] {
    width: 100%;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--domain-bar-bg);
    border-radius: 8px;
    color: var(--color-neutral-medium);
}

.drink-description[b-prglox0ay2] {
    color: var(--color-neutral-medium);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    max-height: 2.8em;
}

/* Step 1 styling */
.order-info[b-prglox0ay2] {
    max-width: 720px;
    margin: 0 auto;
    padding: 24px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-bar-accent);
    border-radius: 16px;
    box-shadow: var(--shadow-paper-md);
}

.bar-order-header[b-prglox0ay2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}

.bar-order-eyebrow[b-prglox0ay2] {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--domain-bar-accent);
}

.bar-order-title[b-prglox0ay2] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.bar-order-subtitle[b-prglox0ay2] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

.order-inputs[b-prglox0ay2] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.order-name[b-prglox0ay2], .order-notes[b-prglox0ay2] {
    width: 100%;
}

/* Tablet optimizations */
@media (max-width: 1024px) {
    .drinks-grid[b-prglox0ay2] {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 12px;
    }
    
    .drink-card[b-prglox0ay2] {
        padding: 12px;
    }
    
    .drink-image[b-prglox0ay2],
    .drink-image-placeholder[b-prglox0ay2] {
        height: 120px;
    }
}

@media (max-width: 768px) {
    .drinks-grid[b-prglox0ay2] {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 8px;
    }
    
    .drink-image[b-prglox0ay2],
    .drink-image-placeholder[b-prglox0ay2] {
        height: 100px;
    }
}
/* /Components/Bar/BarView.razor.rz.scp.css */
.orders-grid[b-qayo8aenij] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
    margin-top: 16px;
}

.order-card[b-qayo8aenij] {
    border-left: 4px solid var(--hairline);
    background: var(--color-neutral);
    border-radius: 14px;
    box-shadow: var(--shadow-paper-sm);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.order-card:hover[b-qayo8aenij] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-md);
}

.order-card.status-requested[b-qayo8aenij] {
    border-left-color: var(--warning);
}

.order-card.status-inprogress[b-qayo8aenij] {
    border-left-color: var(--color-primary);
}

.order-card.status-ready[b-qayo8aenij] {
    border-left-color: var(--success);
}

.empty-state[b-qayo8aenij] {
    padding: 48px 24px;
    text-align: center;
    background-color: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 16px;
    box-shadow: var(--shadow-paper-sm);
    font-family: var(--font-display);
    font-style: italic;
    color: var(--color-empty-state);
}

.special-instructions[b-qayo8aenij] {
    background-color: var(--info-container);
    border: 1px solid var(--info);
    padding: 12px;
}

.drink-item[b-qayo8aenij] {
    background-color: var(--domain-bar-bg);
    padding: 12px;
    border: 1px solid var(--hairline);
    border-radius: 8px;
}

.customization-notes[b-qayo8aenij] {
    background-color: var(--warning-container);
    border: 1px solid var(--warning);
    padding: 8px;
}

/* Tablet optimizations */
@media (max-width: 1024px) {
    .orders-grid[b-qayo8aenij] {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 16px;
    }
}

@media (max-width: 768px) {
    .orders-grid[b-qayo8aenij] {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
/* /Components/Coffee/CoffeeApp.razor.rz.scp.css */
.coffee-container[b-czmnpmstzm] {
	padding: 24px;
	max-width: 1200px;
	margin: 0 auto;
}

.error-message[b-czmnpmstzm] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background-color: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--color-danger);
	border-radius: 12px;
	box-shadow: var(--shadow-paper-sm);
	margin-bottom: 16px;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

@media (max-width: 768px) {
	.coffee-container[b-czmnpmstzm] {
		padding: 12px;
	}
}

@media print {
	.coffee-container[b-czmnpmstzm] {
		padding: 0;
		max-width: none;
	}
}
/* /Components/Coffee/CoffeeMyOrders.razor.rz.scp.css */
/* =================================
   COFFEE MY ORDERS — Planner styling
   ================================= */

.my-orders-wrapper[b-oenb05omfx] {
	max-width: 800px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.orders-header[b-oenb05omfx] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 4px 24px;
}

.orders-title-block[b-oenb05omfx] {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.orders-eyebrow[b-oenb05omfx] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-coffee-accent);
}

.orders-title[b-oenb05omfx] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.orders-subtitle[b-oenb05omfx] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Empty state */
.empty-state[b-oenb05omfx] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 56px 24px;
	text-align: center;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 18px;
	box-shadow: var(--shadow-paper-md);
}

.empty-state-icon[b-oenb05omfx] {
	color: var(--color-empty-state);
}

.empty-state-message[b-oenb05omfx] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--color-empty-state);
}

/* Orders list */
.orders-list[b-oenb05omfx] {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.order-card[b-oenb05omfx] {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-coffee-accent);
	border-radius: 14px;
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.order-card:hover[b-oenb05omfx] {
	transform: translateY(-2px);
	box-shadow: var(--shadow-paper-md);
}

.order-card.status-inprogress[b-oenb05omfx] {
	border-left-color: var(--color-primary);
}

.order-card.status-completed[b-oenb05omfx] {
	border-left-color: var(--color-tertiary);
	opacity: 0.8;
}

.order-card-main[b-oenb05omfx] {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.order-row[b-oenb05omfx] {
	display: flex;
	align-items: center;
	gap: 8px;
}

.order-spacer[b-oenb05omfx] {
	flex: 1;
}

.order-number[b-oenb05omfx] {
	font-family: var(--font-mono);
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.order-price[b-oenb05omfx] {
	font-family: var(--font-mono);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--color-tertiary-dark);
}

.order-drink[b-oenb05omfx] {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	margin-top: 2px;
}

.order-meta[b-oenb05omfx] {
	font-size: 0.78rem;
	color: var(--color-neutral-medium);
}

.order-detail[b-oenb05omfx] {
	font-size: 0.8rem;
	color: var(--color-neutral-medium);
}

.order-pricing-breakdown[b-oenb05omfx] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	color: var(--color-neutral-medium);
	margin-top: 4px;
}

.order-status-icon[b-oenb05omfx] {
	color: var(--color-neutral-medium);
	flex-shrink: 0;
}

.status-inprogress .order-status-icon[b-oenb05omfx] {
	color: var(--color-primary);
}

.status-completed .order-status-icon[b-oenb05omfx] {
	color: var(--color-tertiary-dark);
}
/* /Components/Coffee/CoffeeOrderForm.razor.rz.scp.css */
/* =================================
   COFFEE ORDER FORM — Planner styling
   ================================= */

.coffee-order-wrapper[b-ub8y5nlfox] {
	max-width: 720px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

/* Page header (Planner three-part) */
.order-header[b-ub8y5nlfox] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 24px;
}

.order-eyebrow[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-coffee-accent);
}

.order-title[b-ub8y5nlfox] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.order-subtitle[b-ub8y5nlfox] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Empty state */
.empty-state[b-ub8y5nlfox] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 56px 24px;
	margin-top: 16px;
	text-align: center;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 18px;
	box-shadow: var(--shadow-paper-md);
}

.empty-state-message[b-ub8y5nlfox] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--color-empty-state);
}

.empty-state-icon[b-ub8y5nlfox] {
	color: var(--color-empty-state);
}

/* Order section card (paper) */
.order-section[b-ub8y5nlfox] {
	margin-top: 24px;
	padding: 24px 28px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 18px;
	box-shadow: var(--shadow-paper-md);
}

.section-label[b-ub8y5nlfox] {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 20px;
	color: var(--color-neutral-dark);
}

.step-number[b-ub8y5nlfox] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	color: var(--color-neutral);
	font-family: var(--font-body);
	font-size: 0.9rem;
	font-weight: 700;
	flex-shrink: 0;
}

.step-brown[b-ub8y5nlfox] { background: var(--domain-coffee-accent); }
.step-blue[b-ub8y5nlfox] { background: var(--color-primary); }
.step-green[b-ub8y5nlfox] { background: var(--color-tertiary); }

/* Drink type card grid */
.drink-type-grid[b-ub8y5nlfox] {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 12px;
}

.drink-card[b-ub8y5nlfox] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 20px 8px;
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-coffee-accent);
	border-radius: 14px;
	background: var(--color-neutral);
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	font-family: var(--font-body);
	font-size: 0.85rem;
	color: var(--color-neutral-dark);
	min-height: 80px;
	box-shadow: var(--shadow-paper-sm);
}

.drink-card:hover[b-ub8y5nlfox] {
	transform: translateY(-4px);
	box-shadow: var(--shadow-paper-md);
}

.drink-card.selected[b-ub8y5nlfox] {
	background: var(--domain-coffee-bg);
	border-color: var(--domain-coffee-accent);
	box-shadow: var(--shadow-paper-md);
}

.drink-card-name[b-ub8y5nlfox] {
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	color: var(--color-neutral-dark);
}

.drink-card-price[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-neutral-medium);
}

.drink-card.selected .drink-card-price[b-ub8y5nlfox] {
	color: var(--domain-coffee-accent);
}

/* Option chips */
.option-group[b-ub8y5nlfox] {
	margin-bottom: 20px;
}

.option-group:last-child[b-ub8y5nlfox] {
	margin-bottom: 0;
}

.option-group-label[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-neutral-medium);
	margin-bottom: 10px;
}

.option-group-hint[b-ub8y5nlfox],
.option-group-price-hint[b-ub8y5nlfox] {
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--color-neutral-medium);
}

.chip-row[b-ub8y5nlfox] {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.chip-price[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	color: var(--color-neutral-medium);
	margin-left: 2px;
}

.option-chip.selected .chip-price[b-ub8y5nlfox] {
	color: var(--color-primary);
}

.option-chip[b-ub8y5nlfox] {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid var(--hairline);
	border-radius: 24px;
	background: var(--color-neutral);
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: var(--font-body);
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--color-neutral-dark);
	white-space: nowrap;
	box-shadow: var(--shadow-paper-sm);
}

.option-chip:hover[b-ub8y5nlfox] {
	border-color: var(--color-primary);
	transform: translateY(-1px);
}

.option-chip.selected[b-ub8y5nlfox] {
	border-color: var(--color-primary);
	background: var(--domain-workout-bg);
	color: var(--color-primary);
	font-weight: 600;
}

/* Delivery fields */
.delivery-fields[b-ub8y5nlfox] {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: flex-end;
}

/* Order summary card */
.order-summary-card[b-ub8y5nlfox] {
	margin-top: 24px;
	padding: 22px 26px;
	background: var(--domain-coffee-bg);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--color-tertiary);
	border-radius: 18px;
	box-shadow: var(--shadow-paper-md);
}

.summary-header[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--domain-coffee-accent);
	margin-bottom: 12px;
}

.summary-drink[b-ub8y5nlfox] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--color-neutral-dark);
}

.summary-details[b-ub8y5nlfox] {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.summary-tag[b-ub8y5nlfox] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 12px;
	border-radius: 16px;
	border: 1px solid var(--color-tertiary);
	color: var(--color-tertiary-dark);
	font-family: var(--font-body);
	font-size: 0.78rem;
	font-weight: 600;
	background: var(--color-neutral);
}

.summary-location[b-ub8y5nlfox] {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	color: var(--color-neutral-medium);
}

.summary-pricing[b-ub8y5nlfox] {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--hairline);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.price-line[b-ub8y5nlfox] {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-body);
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

.price-line span:last-child[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	color: var(--color-neutral-dark);
}

.price-total[b-ub8y5nlfox] {
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid var(--hairline);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--color-neutral-dark);
}

.price-total span:last-child[b-ub8y5nlfox] {
	font-family: var(--font-mono);
	color: var(--color-tertiary-dark);
}

/* Order actions */
.order-actions[b-ub8y5nlfox] {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	padding: 20px 24px;
}
/* /Components/Coffee/CoffeeReport.razor.rz.scp.css */
/* ==================================
   COFFEE REPORT - SCREEN & PRINT STYLES
   ================================== */

/* Planner header */
.report-header[b-ta00icskkp] {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.report-eyebrow[b-ta00icskkp] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-coffee-accent);
}

.report-title[b-ta00icskkp] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.report-subtitle[b-ta00icskkp] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Date picker wrapper for layout control */
.date-picker-wrapper[b-ta00icskkp] {
	min-width: 160px;
}

/* Range selector wrapper */
.range-select[b-ta00icskkp] {
	min-width: 160px;
}

/* Print-only section: hidden on screen, visible on print */
.report-print[b-ta00icskkp] {
	display: none;
}

@media print {
	/* Hide the interactive screen UI */
	.report-screen[b-ta00icskkp] {
		display: none !important;
	}

	.report-print[b-ta00icskkp] {
		display: block !important;
	}

	/* Report header */
	.print-header[b-ta00icskkp] {
		text-align: center;
		margin-bottom: 24px;
		padding-bottom: 12px;
		border-bottom: 2px solid #333;
	}

	.print-header h1[b-ta00icskkp] {
		margin: 0 0 4px 0;
		font-size: 20px;
		font-weight: 700;
	}

	.print-header p[b-ta00icskkp] {
		margin: 2px 0;
		font-size: 12px;
		color: #555;
	}

	/* Summary section */
	.print-summary[b-ta00icskkp] {
		margin-bottom: 20px;
		padding: 12px;
		border: 1px solid #ccc;
		border-radius: 4px;
		background-color: #f9f9f9;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.print-summary h2[b-ta00icskkp] {
		margin: 0 0 8px 0;
		font-size: 14px;
		font-weight: 600;
	}

	.print-summary p[b-ta00icskkp] {
		margin: 2px 0;
		font-size: 12px;
	}

	.print-summary .grand-total[b-ta00icskkp] {
		font-size: 16px;
		font-weight: 700;
		margin-top: 4px;
	}

	/* Customer group section */
	.print-customer-group[b-ta00icskkp] {
		margin-bottom: 16px;
		page-break-inside: avoid;
	}

	.print-customer-header[b-ta00icskkp] {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		padding: 6px 0;
		border-bottom: 2px solid #666;
		margin-bottom: 4px;
	}

	.print-customer-header h3[b-ta00icskkp] {
		margin: 0;
		font-size: 14px;
		font-weight: 600;
	}

	.print-customer-header span[b-ta00icskkp] {
		font-size: 12px;
		color: #555;
	}

	/* Order tables */
	.print-order-table[b-ta00icskkp] {
		width: 100%;
		border-collapse: collapse;
		font-size: 11px;
		margin-bottom: 4px;
		table-layout: fixed;
	}

	.print-order-table col.col-drink[b-ta00icskkp]    { width: 10%; }
	.print-order-table col.col-size[b-ta00icskkp]     { width: 18%; }
	.print-order-table col.col-temp[b-ta00icskkp]     { width: 6%; }
	.print-order-table col.col-options[b-ta00icskkp]  { width: 20%; }
	.print-order-table col.col-building[b-ta00icskkp] { width: 16%; }
	.print-order-table col.col-date[b-ta00icskkp]     { width: 14%; }
	.print-order-table col.col-price[b-ta00icskkp]    { width: 8%; }
	.print-order-table col.col-paid[b-ta00icskkp]     { width: 8%; }

	.print-order-table th[b-ta00icskkp] {
		text-align: left;
		padding: 4px 6px;
		border-bottom: 1px solid #999;
		font-weight: 600;
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: 0.3px;
		white-space: nowrap;
	}

	.print-order-table th:last-child[b-ta00icskkp] {
		text-align: center;
	}

	.print-order-table th:nth-last-child(2)[b-ta00icskkp] {
		text-align: right;
	}

	.print-order-table td[b-ta00icskkp] {
		padding: 3px 6px;
		border-bottom: 1px solid #e0e0e0;
		vertical-align: top;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}

	.print-order-table td:last-child[b-ta00icskkp] {
		text-align: center;
		white-space: nowrap;
	}

	.print-order-table td:nth-last-child(2)[b-ta00icskkp] {
		text-align: right;
		white-space: nowrap;
	}

	/* Customer subtotal row */
	.print-customer-total[b-ta00icskkp] {
		text-align: right;
		font-size: 12px;
		font-weight: 600;
		padding: 6px 6px 0 0;
		border-top: 1px solid #999;
	}

	/* Grand total footer */
	.print-grand-total[b-ta00icskkp] {
		margin-top: 24px;
		padding-top: 12px;
		border-top: 2px solid #333;
		text-align: right;
		font-size: 16px;
		font-weight: 700;
	}

	/* Footer */
	.print-footer[b-ta00icskkp] {
		margin-top: 24px;
		padding-top: 8px;
		border-top: 1px solid #ccc;
		text-align: center;
		font-size: 10px;
		color: #999;
	}
}
/* /Components/Coffee/CoffeeScheduleBanner.razor.rz.scp.css */
/* ===================================================================
   CoffeeScheduleBanner — Planner paper-thin notice strip
   =================================================================== */

.schedule-banner[b-x83gzgbspr] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px;
	border-radius: 10px;
	border: 1px solid var(--hairline);
	background: var(--color-neutral);
	margin-bottom: 12px;
	font-family: var(--font-body);
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.schedule-banner.schedule-open[b-x83gzgbspr] {
	background: var(--domain-nanny-bg);
	border-left: 3px solid var(--color-tertiary-dark);
}

.schedule-banner.schedule-closed[b-x83gzgbspr] {
	background: var(--color-neutral);
	border-left: 3px solid var(--color-neutral-medium);
}

.schedule-status[b-x83gzgbspr] {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.status-indicator[b-x83gzgbspr] {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.indicator-open[b-x83gzgbspr] {
	background-color: var(--color-tertiary-dark);
	animation: pulse-open-b-x83gzgbspr 2.4s ease-in-out infinite;
}

.indicator-closed[b-x83gzgbspr] {
	background-color: var(--color-neutral-medium);
}

@keyframes pulse-open-b-x83gzgbspr {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.55; }
}

.status-text[b-x83gzgbspr] {
	font-size: 0.9rem;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--color-neutral-dark);
}

.schedule-open .status-text[b-x83gzgbspr] {
	color: var(--color-tertiary-dark);
}

.schedule-closed .status-text[b-x83gzgbspr] {
	color: var(--color-neutral-medium);
}

.schedule-toggle[b-x83gzgbspr] {
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 6px;
	color: var(--color-neutral-medium);
	font-family: var(--font-body);
	font-size: 0.8rem;
	font-weight: 500;
	transition: background-color 0.2s ease;
	flex-shrink: 0;
}

.schedule-toggle:hover[b-x83gzgbspr] {
	background-color: var(--color-neutral-light);
}

.toggle-label[b-x83gzgbspr] {
	display: inline;
}

.schedule-details[b-x83gzgbspr] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 16px 12px;
	margin-bottom: 12px;
	background: var(--color-neutral);
	border-radius: 0 0 10px 10px;
	border: 1px solid var(--hairline);
	border-top: none;
	margin-top: -12px;
	font-family: var(--font-body);
}

.schedule-row[b-x83gzgbspr] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6px 8px;
	border-radius: 6px;
	font-size: 0.85rem;
}

.schedule-row-today[b-x83gzgbspr] {
	background: var(--domain-nanny-bg);
	border-left: 3px solid var(--color-tertiary-dark);
	font-weight: 600;
}

.schedule-days[b-x83gzgbspr] {
	color: var(--color-neutral-dark);
	font-weight: 500;
	min-width: 100px;
}

.schedule-row-today .schedule-days[b-x83gzgbspr] {
	color: var(--color-tertiary-dark);
}

.schedule-times[b-x83gzgbspr] {
	color: var(--color-neutral-medium);
	text-align: right;
	font-family: var(--font-mono);
	font-size: 0.8rem;
}

.schedule-row-today .schedule-times[b-x83gzgbspr] {
	color: var(--color-tertiary-dark);
}
/* /Components/Coffee/CoffeeSettings.razor.rz.scp.css */
/* =================================
   COFFEE SETTINGS — Planner styling
   ================================= */

.settings-container[b-lem04y6uv9] {
	max-width: 960px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.settings-header[b-lem04y6uv9] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 24px;
}

.settings-eyebrow[b-lem04y6uv9] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-coffee-accent);
}

.settings-title[b-lem04y6uv9] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.settings-subtitle[b-lem04y6uv9] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Section cards (paper) */
.settings-section[b-lem04y6uv9] {
	border-radius: 8px;
	border: 1px solid var(--hairline);
	overflow: hidden;
}

.schedule-section[b-lem04y6uv9] {
	overflow: visible;
}

.section-header[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	background: var(--color-neutral-light);
	border-bottom: 1px solid var(--hairline);
	font-weight: 600;
	font-size: 15px;
}

.section-header-accent[b-lem04y6uv9] {
	width: 4px;
	height: 24px;
	border-radius: 2px;
	flex-shrink: 0;
}

.section-title[b-lem04y6uv9] {
	flex: 1;
}

.section-count[b-lem04y6uv9] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--color-neutral-medium);
}

.accent-brown[b-lem04y6uv9] { background: var(--domain-coffee-accent); }
.accent-blue[b-lem04y6uv9] { background: var(--color-primary); }
.accent-green[b-lem04y6uv9] { background: var(--color-tertiary); }
.accent-purple[b-lem04y6uv9] { background: var(--color-secondary); }
.accent-teal[b-lem04y6uv9] { background: var(--color-tertiary-dark); }
.accent-orange[b-lem04y6uv9] { background: var(--color-warm); }
.accent-red[b-lem04y6uv9] { background: var(--color-accent); }

.section-body[b-lem04y6uv9] {
	padding: 0;
	background: var(--color-neutral);
}

/* Item rows */
.item-row[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 20px;
	border-bottom: 1px solid var(--hairline);
	transition: background 0.1s ease;
}

.item-row:last-child[b-lem04y6uv9] {
	border-bottom: none;
}

.item-row:hover[b-lem04y6uv9] {
	background: var(--color-neutral-light);
}

.item-row.inactive[b-lem04y6uv9] {
	opacity: 0.55;
}

.item-row.inactive:hover[b-lem04y6uv9] {
	opacity: 0.75;
}

.item-name[b-lem04y6uv9] {
	flex: 1;
	min-width: 140px;
}

.item-price[b-lem04y6uv9] {
	width: 110px;
	flex-shrink: 0;
}

.item-active[b-lem04y6uv9] {
	width: 60px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
}

.item-delete[b-lem04y6uv9] {
	width: 36px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
}

/* Add new area */
.add-new-area[b-lem04y6uv9] {
	padding: 16px 20px;
	border-top: 2px dashed var(--hairline);
	background: var(--color-neutral-light);
}

.add-new-label[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 12px;
	color: var(--color-neutral-medium);
}

.add-new-fields[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 12px;
}

.add-item-name[b-lem04y6uv9] {
	flex: 1;
	min-width: 140px;
}

.add-item-price[b-lem04y6uv9] {
	width: 110px;
	flex-shrink: 0;
}

.add-item-action[b-lem04y6uv9] {
	flex-shrink: 0;
}

/* Section footer with save button */
.section-footer[b-lem04y6uv9] {
	display: flex;
	justify-content: flex-end;
	padding: 12px 20px;
	background: var(--color-neutral-light);
	border-top: 1px solid var(--hairline);
}

/* Column labels */
.column-labels[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 22px 4px;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.5;
	border-bottom: 1px solid var(--hairline);
}

.col-name[b-lem04y6uv9] {
	flex: 1;
	min-width: 140px;
}

.col-price[b-lem04y6uv9] {
	width: 110px;
	flex-shrink: 0;
}

.col-active[b-lem04y6uv9] {
	width: 60px;
	flex-shrink: 0;
	text-align: center;
}

.col-delete[b-lem04y6uv9] {
	width: 36px;
	flex-shrink: 0;
}

/* Empty section message */
.empty-section[b-lem04y6uv9] {
	padding: 24px 22px;
	font-family: var(--font-display);
	font-style: italic;
	color: var(--color-empty-state);
}

/* Seed defaults card */
.seed-card[b-lem04y6uv9] {
	padding: 16px 20px;
	border-radius: 8px;
	border: 1px dashed var(--hairline);
	background: var(--color-neutral-light);
}

.seed-card-content[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.seed-card-text[b-lem04y6uv9] {
	flex: 1;
	min-width: 200px;
}

.seed-message[b-lem04y6uv9] {
	margin-top: 10px;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

/* Pricing matrix */
.pricing-matrix[b-lem04y6uv9] {
	padding: 16px 22px;
	overflow-x: auto;
	background: var(--color-neutral);
}

.pricing-header-row[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--hairline);
	margin-bottom: 8px;
}

.pricing-row[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
}

.pricing-drink-label[b-lem04y6uv9] {
	width: 140px;
	min-width: 140px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.9rem;
	flex-shrink: 0;
	color: var(--color-neutral-dark);
}

.pricing-header-row .pricing-drink-label[b-lem04y6uv9] {
	font-family: var(--font-mono);
	font-weight: 600;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-neutral-medium);
}

.pricing-size-label[b-lem04y6uv9] {
	flex: 1;
	min-width: 100px;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--color-neutral-medium);
}

.pricing-cell[b-lem04y6uv9] {
	flex: 1;
	min-width: 100px;
}

/* Schedule editor */
.schedule-editor[b-lem04y6uv9] {
	padding: 16px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--color-neutral);
}

.schedule-row[b-lem04y6uv9] {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.schedule-days[b-lem04y6uv9] {
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 700;
	min-width: 170px;
	color: var(--color-neutral-dark);
}

.schedule-time-inputs[b-lem04y6uv9] {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.schedule-time-field[b-lem04y6uv9] {
	width: 160px;
	flex-shrink: 0;
}

.schedule-time-input[b-lem04y6uv9] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid var(--hairline);
	background: var(--color-neutral);
	color: var(--color-neutral-dark);
	font: inherit;
	font-family: var(--font-body);
}

.schedule-time-input:focus[b-lem04y6uv9] {
	outline: none;
	border-color: var(--color-primary);
}

.schedule-windows[b-lem04y6uv9] {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	min-width: 0;
}

.schedule-time-separator[b-lem04y6uv9] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

.schedule-window-action[b-lem04y6uv9] {
	width: 40px;
	min-width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.schedule-time-input:focus[b-lem04y6uv9] {
	outline: 2px solid var(--color-primary);
	outline-offset: 1px;
}

/* Empty state */
.empty-section[b-lem04y6uv9] {
	padding: 24px 20px;
	text-align: center;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 14px;
	color: var(--color-empty-state);
}

@@media (max-width: 600px) {
	.item-row[b-lem04y6uv9], .add-new-fields[b-lem04y6uv9], .column-labels[b-lem04y6uv9] {
		flex-wrap: wrap;
		gap: 8px;
	}

	.item-name[b-lem04y6uv9], .add-item-name[b-lem04y6uv9] {
		min-width: 100%;
	}

	.item-price[b-lem04y6uv9], .add-item-price[b-lem04y6uv9] {
		width: auto;
		flex: 1;
	}

	.column-labels[b-lem04y6uv9] {
		display: none;
	}

	.pricing-drink-label[b-lem04y6uv9] {
		width: 100px;
		min-width: 100px;
		font-size: 12px;
	}

	.pricing-cell[b-lem04y6uv9] {
		min-width: 80px;
	}

	.schedule-row[b-lem04y6uv9] {
		flex-direction: column;
		align-items: flex-start;
	}

	.schedule-time-inputs[b-lem04y6uv9] {
		flex-wrap: wrap;
	}

	.schedule-time-field[b-lem04y6uv9] {
		width: calc(50% - 28px);
		min-width: 140px;
	}

	.schedule-window-action[b-lem04y6uv9] {
		width: auto;
		min-width: 0;
	}
}
/* /Components/Coffee/CoffeeStation.razor.rz.scp.css */
/* =================================
   COFFEE STATION — Planner styling
   ================================= */

.station-wrapper[b-5nl1yfyp95] {
	max-width: 1200px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.station-header[b-5nl1yfyp95] {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 4px 24px;
}

.station-title-block[b-5nl1yfyp95] {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.station-eyebrow[b-5nl1yfyp95] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-coffee-accent);
}

.station-title[b-5nl1yfyp95] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.station-subtitle[b-5nl1yfyp95] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Empty state */
.empty-state[b-5nl1yfyp95] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 56px 24px;
	text-align: center;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 18px;
	box-shadow: var(--shadow-paper-md);
}

.empty-state-icon[b-5nl1yfyp95] {
	color: var(--color-tertiary);
}

.empty-state-message[b-5nl1yfyp95] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--color-empty-state);
}

/* Grid of order cards */
.station-grid[b-5nl1yfyp95] {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 18px;
}

.station-order-card[b-5nl1yfyp95] {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-coffee-accent);
	border-radius: 16px;
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.station-order-card:hover[b-5nl1yfyp95] {
	transform: translateY(-2px);
	box-shadow: var(--shadow-paper-md);
}

.station-order-card.status-inprogress[b-5nl1yfyp95] {
	border-left-color: var(--color-primary);
	background: var(--domain-workout-bg);
}

.station-order-card.status-completed[b-5nl1yfyp95] {
	border-left-color: var(--color-tertiary);
	opacity: 0.85;
}

.station-order-head[b-5nl1yfyp95] {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.station-order-number[b-5nl1yfyp95] {
	font-family: var(--font-mono);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.station-customer[b-5nl1yfyp95] {
	font-size: 0.9rem;
	color: var(--color-neutral-medium);
}

.station-drink-block[b-5nl1yfyp95] {
	padding: 12px 14px;
	background: var(--domain-coffee-bg);
	border: 1px solid var(--hairline);
	border-radius: 10px;
}

.station-drink[b-5nl1yfyp95] {
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	margin-bottom: 4px;
}

.station-drink-detail[b-5nl1yfyp95] {
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

.station-location[b-5nl1yfyp95] {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

.station-notes[b-5nl1yfyp95] {
	padding: 10px 12px;
	background: var(--color-neutral-light);
	border-left: 3px solid var(--color-accent);
	border-radius: 8px;
}

.station-notes-label[b-5nl1yfyp95] {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--color-accent);
	margin-bottom: 2px;
}

.station-notes-body[b-5nl1yfyp95] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.9rem;
	color: var(--color-neutral-dark);
}

.station-time[b-5nl1yfyp95] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	color: var(--color-neutral-medium);
}

.station-actions[b-5nl1yfyp95] {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 4px;
}
/* /Components/Dinner/DinnerApp.razor.rz.scp.css */
.dinner-container[b-u6vmcebejj] {
	padding: 24px;
	max-width: 1200px;
	margin: 0 auto;
}

.error-message[b-u6vmcebejj] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background-color: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--color-danger);
	border-radius: 12px;
	box-shadow: var(--shadow-paper-sm);
	margin-bottom: 16px;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.error-message span[b-u6vmcebejj] {
	flex: 1;
}

@media (max-width: 768px) {
	.dinner-container[b-u6vmcebejj] {
		padding: 12px;
	}
}
/* /Components/Dinner/DinnerPlan.razor.rz.scp.css */
.dinner-plan-container[b-rgrfqi23vh] {
	padding: 24px 0;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.plan-header[b-rgrfqi23vh] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 24px;
}

.plan-eyebrow[b-rgrfqi23vh] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.plan-title[b-rgrfqi23vh] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.plan-subtitle[b-rgrfqi23vh] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

.plan-content[b-rgrfqi23vh] {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 32px;
	align-items: start;
}

/* Paper card sections */
.create-meal-section[b-rgrfqi23vh],
.recipe-actions-section[b-rgrfqi23vh] {
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	border-radius: 16px;
	padding: 24px;
	box-shadow: var(--shadow-paper-md);
}

.recipe-actions-section[b-rgrfqi23vh] {
	position: sticky;
	top: 24px;
}

.create-meal-section h4[b-rgrfqi23vh],
.recipe-actions-section h4[b-rgrfqi23vh] {
	margin: 0 0 20px 0;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.meal-form-grid[b-rgrfqi23vh] {
	display: grid;
	gap: 20px;
}

.recipe-search-section[b-rgrfqi23vh] {
	display: grid;
	gap: 12px;
}

.form-label[b-rgrfqi23vh] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-neutral-medium);
	margin-bottom: 4px;
	display: block;
}

.form-actions[b-rgrfqi23vh] {
	margin-top: 12px;
}

.action-buttons[b-rgrfqi23vh] {
	display: grid;
	gap: 12px;
}

.action-buttons fluent-button[b-rgrfqi23vh] {
	width: 100%;
	justify-content: flex-start;
}

@media (max-width: 768px) {
	.plan-content[b-rgrfqi23vh] {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.recipe-actions-section[b-rgrfqi23vh] {
		position: static;
	}

	.action-buttons[b-rgrfqi23vh] {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}
/* /Components/Dinner/FavoriteMeals.razor.rz.scp.css */
.favorites-container[b-kjl2lermdq] {
	max-width: 900px;
	margin: 0 auto;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.favorites-header[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 24px;
}

.favorites-eyebrow[b-kjl2lermdq] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.favorites-title[b-kjl2lermdq] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.favorites-subtitle[b-kjl2lermdq] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

/* Add Favorite Form */
.add-favorite-section[b-kjl2lermdq] {
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	border-radius: 16px;
	padding: 22px;
	margin-bottom: 24px;
	box-shadow: var(--shadow-paper-md);
}

.add-favorite-section h4[b-kjl2lermdq],
.favorites-list-section h4[b-kjl2lermdq] {
	margin: 0 0 16px 0;
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.favorite-form-grid[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.form-actions[b-kjl2lermdq] {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
}

/* Empty state */
.empty-favorites[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 48px 24px;
	text-align: center;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 16px;
	box-shadow: var(--shadow-paper-md);
}

.empty-favorites .empty-icon[b-kjl2lermdq] {
	color: var(--color-empty-state);
}

.empty-favorites p[b-kjl2lermdq] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--color-empty-state);
}

/* Favorites list */
.favorites-grid[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.favorite-card[b-kjl2lermdq] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	border-radius: 14px;
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.favorite-card:hover[b-kjl2lermdq] {
	transform: translateY(-2px);
	box-shadow: var(--shadow-paper-md);
}

.favorite-card.editing[b-kjl2lermdq] {
	padding: 18px;
	background: var(--domain-meal-bg);
	box-shadow: var(--shadow-paper-md);
}

.favorite-content[b-kjl2lermdq] {
	flex: 1;
	min-width: 0;
}

.favorite-header[b-kjl2lermdq] {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}

.favorite-header h5[b-kjl2lermdq] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.favorite-star[b-kjl2lermdq] {
	color: var(--color-accent);
	flex-shrink: 0;
}

.favorite-description[b-kjl2lermdq] {
	margin: 0 0 4px 28px;
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
}

.favorite-tags[b-kjl2lermdq] {
	display: flex;
	gap: 4px;
	margin-left: 28px;
	flex-wrap: wrap;
}

.favorite-actions[b-kjl2lermdq] {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}

/* Edit form inside card */
.favorite-edit-form[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.edit-actions[b-kjl2lermdq] {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

@media (max-width: 768px) {
	.favorite-card[b-kjl2lermdq] {
		flex-direction: column;
		align-items: stretch;
	}

	.favorite-actions[b-kjl2lermdq] {
		justify-content: flex-end;
		margin-top: 8px;
	}

	.favorite-description[b-kjl2lermdq],
	.favorite-tags[b-kjl2lermdq],
	.favorite-recipe[b-kjl2lermdq] {
		margin-left: 0;
	}
}

/* Recipe field (add/edit forms) */
.recipe-field[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.recipe-selected[b-kjl2lermdq] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: var(--domain-meal-bg);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	border-radius: 8px;
}

.recipe-selected-icon[b-kjl2lermdq] {
	color: var(--domain-meal-accent);
	flex-shrink: 0;
}

.recipe-selected-name[b-kjl2lermdq] {
	flex: 1;
	font-weight: 600;
	font-size: 0.9rem;
}

.recipe-search-area[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.recipe-results[b-kjl2lermdq] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-height: 200px;
	overflow-y: auto;
	border: 1px solid var(--hairline);
	border-radius: 8px;
	padding: 4px;
	background: var(--color-neutral);
}

.recipe-option[b-kjl2lermdq] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: transparent;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	text-align: left;
	width: 100%;
	transition: background 0.15s ease;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.recipe-option:hover[b-kjl2lermdq] {
	background: var(--color-neutral-light);
}

.recipe-option-icon[b-kjl2lermdq] {
	color: var(--color-neutral-medium);
	flex-shrink: 0;
}

.recipe-option-name[b-kjl2lermdq] {
	font-size: 0.9rem;
	font-weight: 500;
}

.recipe-no-results[b-kjl2lermdq] {
	padding: 12px;
	text-align: center;
	font-family: var(--font-display);
	font-style: italic;
	color: var(--color-empty-state);
	font-size: 0.9rem;
}

/* Recipe display in card */
.favorite-recipe[b-kjl2lermdq] {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: 28px;
	margin-bottom: 4px;
}

.favorite-recipe-icon[b-kjl2lermdq] {
	color: var(--domain-meal-accent);
	flex-shrink: 0;
}

.favorite-recipe-name[b-kjl2lermdq] {
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
	font-weight: 500;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* =================================
   MAIN LAYOUT RESPONSIVE STYLES
   ================================= */

/* Main app layout container */
.app-layout[b-m8t35i2l9w] {
    display: flex;
    height: 100vh;
    width: 100%;
}

/* Desktop sidebar */
.desktop-sidebar[b-m8t35i2l9w] {
    display: block;
    width: 86px;
    height: 100vh;
    flex-shrink: 0;
    background-color: var(--neutral-layer-4);
}

/* Main content area */
.main-content-area[b-m8t35i2l9w] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    height: 100vh;
    max-width: 100%;
}

/* Mobile bottom nav - hidden on desktop */
.mobile-bottom-nav[b-m8t35i2l9w] {
    display: none;
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    .app-layout[b-m8t35i2l9w] {
        display: flex;
        flex-direction: column;
        max-width: 100vw;
        overflow-x: hidden;
        height: 100vh;
        background: var(--color-page-bg);
    }
    
    .desktop-sidebar[b-m8t35i2l9w] {
        display: none;
    }
    
    .main-content-area[b-m8t35i2l9w] {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }
    
    .mobile-bottom-nav[b-m8t35i2l9w] {
        display: block;
        flex-shrink: 0;
        background: var(--color-neutral);
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.app-bar-container[b-18ug0s6k72] {
	background-color: var(--neutral-layer-4);
	padding: 10px;
	height:100%;
}

[b-18ug0s6k72] .app-bar {
	background-color: var(--color-light-blue);
}

/* =================================
   MOBILE BOTTOM NAVIGATION BAR
   ================================= */

.mobile-nav-bar[b-18ug0s6k72] {
    background: var(--color-neutral);
    border-top: 1px solid var(--color-neutral-light);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
}

.mobile-nav-items[b-18ug0s6k72] {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
}

.mobile-nav-item[b-18ug0s6k72] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    min-width: 64px;
    flex: 1;
    text-decoration: none;
    color: var(--color-neutral-medium);
    font-size: 0.7rem;
    font-weight: 500;
    gap: 4px;
    transition: all 0.2s ease;
    border-top: 2px solid transparent;
    cursor: pointer;
    background: transparent;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.mobile-nav-item:hover[b-18ug0s6k72] {
    background-color: var(--color-secondary-light);
    color: var(--color-primary);
}

.mobile-nav-item.active[b-18ug0s6k72] {
    color: var(--color-primary);
    border-top-color: var(--color-primary);
    background-color: var(--color-primary-light);
}

.mobile-nav-item[b-18ug0s6k72]  svg {
    width: 24px;
    height: 24px;
}

.mobile-nav-item span[b-18ug0s6k72] {
    white-space: nowrap;
}

/* =================================
   MORE MENU DROPDOWN
   ================================= */

.mobile-more-menu[b-18ug0s6k72] {
    position: relative;
}

.mobile-more-dropdown[b-18ug0s6k72] {
    position: fixed;
    bottom: 70px;
    right: 8px;
    left: 8px;
    z-index: 1001;
}

.more-menu-overlay[b-18ug0s6k72] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: -1;
}

.more-menu-content[b-18ug0s6k72] {
    background: var(--color-neutral);
    border-radius: 12px;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    min-width: 180px;
    max-width: 300px;
    margin-left: auto;
    overflow: hidden;
    border: 1px solid var(--color-neutral-light);
}

.more-menu-item[b-18ug0s6k72] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    text-decoration: none;
    color: var(--color-neutral-dark);
    font-size: 0.9rem;
    font-weight: 500;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid var(--color-neutral-light);
}

.more-menu-item:last-child[b-18ug0s6k72] {
    border-bottom: none;
}

.more-menu-item:hover[b-18ug0s6k72] {
    background-color: var(--color-secondary-light);
}

.more-menu-item.active[b-18ug0s6k72] {
    background-color: var(--color-primary-light);
    color: var(--color-primary);
}

.more-menu-item[b-18ug0s6k72]  svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* =================================
   LOGOUT FORM IN MORE MENU
   ================================= */

.more-menu-logout-form[b-18ug0s6k72] {
    margin: 0;
    padding: 0;
}

.more-menu-item.logout-button[b-18ug0s6k72] {
    width: 100%;
    text-align: left;
    border: none;
    cursor: pointer;
    font-family: inherit;
    background: transparent;
}

.more-menu-item.logout-button:hover[b-18ug0s6k72] {
    background-color: var(--color-secondary-light);
}
/* /Components/Meal/Dialogs/EditMealDialog.razor.rz.scp.css */
[b-lvq4my5ire] .edit-meal-dialog {
    --dialog-width: min(95vw, 560px);
    --dialog-height: auto;
    --dialog-max-height: 90vh;
}

[b-lvq4my5ire] .recipe-picker-dialog {
    --dialog-width: min(95vw, 560px);
    --dialog-height: auto;
    --dialog-max-height: 85vh;
}

.planner-dialog-header[b-lvq4my5ire] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 0;
}

.dialog-eyebrow[b-lvq4my5ire] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--domain-meal-accent);
    font-weight: 600;
}

.dialog-title[b-lvq4my5ire] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    line-height: 1.2;
}

.dialog-subtitle[b-lvq4my5ire] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

.edit-meal-form[b-lvq4my5ire] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.field-wrap[b-lvq4my5ire] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-lvq4my5ire] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-neutral-medium);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.recipe-field[b-lvq4my5ire] {
    gap: 8px;
}

.recipe-pill[b-lvq4my5ire] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-meal-accent);
    border-radius: 12px;
    padding: 8px 12px;
    box-shadow: var(--shadow-paper-sm);
}

.recipe-name[b-lvq4my5ire] {
    flex: 1;
    font-size: 0.95rem;
    color: var(--color-neutral-dark);
}

.no-recipe[b-lvq4my5ire] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.9rem;
    color: var(--color-empty-state, var(--color-neutral-medium));
}

[b-lvq4my5ire] .resizable-notes::part(control) {
    resize: vertical;
    min-height: 80px;
}
/* /Components/Meal/Meal.razor.rz.scp.css */
/* =================================
   MEAL PLANNER VIEW STYLES
   Aligned with WorkoutView planner pattern
   ================================= */

.meal-planner-container[b-uyt5wmcl97] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px;
    background-color: transparent;
    font-family: var(--font-body);
    color: var(--color-neutral-dark);
}

/* Responsive helpers */
.desktop-only[b-uyt5wmcl97] {
    display: flex;
}

@media (max-width: 768px) {
    .desktop-only[b-uyt5wmcl97] {
        display: none !important;
    }
}

/* =================================
   MODERN PAGE HEADER (Typography-Forward)
   ================================= */
.modern-page-header[b-uyt5wmcl97] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
    padding: 0 8px;
}

.title-section[b-uyt5wmcl97] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.page-eyebrow[b-uyt5wmcl97] {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--domain-meal-accent);
    font-weight: 600;
}

.page-title[b-uyt5wmcl97] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-neutral-dark);
    letter-spacing: -0.01em;
}

.page-subtitle[b-uyt5wmcl97] {
    margin: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--color-neutral-medium);
}

.header-toolbar[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.toolbar-pill[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
    border-radius: 40px;
    padding: 6px 8px;
    gap: 8px;
}

.date-navigator[b-uyt5wmcl97] {
    min-width: 220px;
    justify-content: space-between;
}

.week-label[b-uyt5wmcl97] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-neutral-dark);
}

.action-group[b-uyt5wmcl97] {
    padding-left: 16px;
}

.switch-wrapper[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    margin-right: 8px;
}

.divider[b-uyt5wmcl97] {
    width: 1px;
    height: 24px;
    background: var(--hairline);
    margin: 0 4px;
}

@media (max-width: 768px) {
    .modern-page-header[b-uyt5wmcl97] {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .header-toolbar[b-uyt5wmcl97] {
        width: 100%;
        justify-content: space-between;
    }

    .toolbar-pill[b-uyt5wmcl97] {
        flex: 1;
        justify-content: center;
    }

    .date-navigator[b-uyt5wmcl97] {
        order: 2;
        width: 100%;
    }

    .action-group[b-uyt5wmcl97] {
        order: 1;
        width: 100%;
        padding-left: 8px;
    }
}

/* =================================
   PLANNER BOARD (Kanban style)
   ================================= */
.planner-board-container[b-uyt5wmcl97] {
    display: flex;
    justify-content: center;
    width: 100%;
}

.planner-board[b-uyt5wmcl97] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    width: 100%;
    align-items: start;
}

@media (max-width: 768px) {
    .planner-board[b-uyt5wmcl97] {
        gap: 16px;
    }
}

/* Day Column as Lane */
.planner-column[b-uyt5wmcl97] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
}

.column-header[b-uyt5wmcl97] {
    margin-bottom: 12px;
    padding: 0 8px;
}

.day-indicator[b-uyt5wmcl97] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.day-short[b-uyt5wmcl97] {
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-neutral-medium);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.day-badge[b-uyt5wmcl97] {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    line-height: 1;
}

.planner-column.is-today .day-short[b-uyt5wmcl97],
.planner-column.is-today .day-badge[b-uyt5wmcl97] {
    color: var(--domain-meal-accent);
}

.planner-column.is-weekend[b-uyt5wmcl97] {
    opacity: 0.85;
}

.column-lane[b-uyt5wmcl97] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    min-height: 120px;
    padding: 0;
    background: transparent;
    border: none;
}

.empty-lane-state[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    font-family: var(--font-display);
    font-style: italic;
    color: var(--color-empty-state, var(--color-neutral-medium));
    opacity: 0.7;
}

/* Lane Actions */
.lane-actions[b-uyt5wmcl97] {
    margin-bottom: 8px;
}

.action-spread[b-uyt5wmcl97] {
    display: flex;
    gap: 4px;
    background: var(--color-neutral);
    border-radius: 8px;
    padding: 4px;
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
}

.add-block-btn[b-uyt5wmcl97] {
    width: 100%;
}

.drop-block-btn[b-uyt5wmcl97] {
    width: 100%;
    margin-top: 8px;
}

/* =================================
   MEAL BLOCKS — paper cards lifted off the page
   ================================= */
.meal-block[b-uyt5wmcl97] {
    cursor: pointer;
    background: var(--domain-meal-bg);
    border-radius: 18px;
    padding: 1.25rem 1.25rem 1rem;
    box-shadow: var(--shadow-paper-md);
    border: none;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.meal-block:hover[b-uyt5wmcl97] {
    box-shadow: var(--shadow-paper-lg);
    transform: translateY(-4px);
}

.meal-block.is-swapping[b-uyt5wmcl97] {
    outline: 2px dashed var(--domain-meal-accent);
    outline-offset: 2px;
    opacity: 0.7;
}

.block-header[b-uyt5wmcl97] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.block-title[b-uyt5wmcl97] {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-neutral-dark);
}

.block-notes[b-uyt5wmcl97] {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--color-neutral-medium);
    margin: 0;
}

.block-meta[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
    margin: 0;
    font-style: italic;
}

.recipe-actions[b-uyt5wmcl97] {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

/* =================================
   DANCING FROG
   ================================= */
.dancing-frog-card[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 8px;
}

.frog-content[b-uyt5wmcl97] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.dancing-frog-gif[b-uyt5wmcl97] {
    width: 100px;
    height: auto;
    border-radius: 12px;
    box-shadow: var(--shadow-paper-sm);
}

.frog-message[b-uyt5wmcl97] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.9rem;
    color: var(--color-neutral-medium);
}

/* =================================
   MEAL DETAILS DIALOG
   ================================= */
.meal-details-content[b-uyt5wmcl97] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.detail-section h4[b-uyt5wmcl97] {
    margin: 0 0 6px 0;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.detail-section p[b-uyt5wmcl97] {
    margin: 0;
    color: var(--color-neutral-medium);
    line-height: 1.55;
}

.recipe-details[b-uyt5wmcl97] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.recipe-dialog-actions[b-uyt5wmcl97] {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.tags-container[b-uyt5wmcl97] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.tag-badge[b-uyt5wmcl97] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.8rem;
    color: var(--color-neutral-dark);
}
/* /Components/Meal/MealInspiration.razor.rz.scp.css */
.inspiration-container[b-9vpj3boz35] {
	padding: 24px;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}

.inspiration-header[b-9vpj3boz35] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 28px;
	text-align: left;
}

.inspiration-title[b-9vpj3boz35] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.inspiration-subtitle[b-9vpj3boz35] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

.inspiration-controls[b-9vpj3boz35] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 32px;
	gap: 16px;
	flex-wrap: wrap;
}

.search-section[b-9vpj3boz35] {
	display: flex;
	flex: 1;
	max-width: 400px;
}

.control-buttons[b-9vpj3boz35] {
	display: flex;
	gap: 12px;
}

/* Loading state */
.loading-state[b-9vpj3boz35] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 64px;
	text-align: center;
	color: var(--color-neutral-medium);
}

.loading-state p[b-9vpj3boz35] {
	margin-top: 16px;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
}

/* Empty state */
.empty-state[b-9vpj3boz35] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 48px 24px;
	text-align: center;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 16px;
	box-shadow: var(--shadow-paper-md);
}

.empty-state-icon[b-9vpj3boz35] {
	color: var(--color-empty-state);
}

.empty-state-message[b-9vpj3boz35] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: var(--color-empty-state);
}

/* Masonry layout */
.masonry-container[b-9vpj3boz35] {
	column-count: 4;
	column-gap: 20px;
	column-fill: balance;
}

.masonry-item[b-9vpj3boz35] {
	display: inline-block;
	width: 100%;
	margin-bottom: 20px;
	break-inside: avoid;
}

/* Recipe cards */
.recipe-card[b-9vpj3boz35] {
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}

.recipe-card:hover[b-9vpj3boz35] {
	transform: translateY(-4px);
	box-shadow: var(--shadow-paper-md);
}

.recipe-image-container[b-9vpj3boz35] {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.recipe-image-container img[b-9vpj3boz35] {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}

.recipe-card:hover .recipe-image-container img[b-9vpj3boz35] {
	transform: scale(1.05);
}

.placeholder-image[b-9vpj3boz35] {
	width: 100%;
	height: 200px;
	background: var(--domain-meal-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-neutral-medium);
}

.recipe-overlay[b-9vpj3boz35] {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--color-overlay, rgba(60, 50, 40, 0.55));
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.recipe-card:hover .recipe-overlay[b-9vpj3boz35] {
	opacity: 1;
}

.add-button[b-9vpj3boz35] {
	transform: translateY(10px);
	transition: transform 0.3s ease;
}

.recipe-card:hover .add-button[b-9vpj3boz35] {
	transform: translateY(0);
}

.recipe-content[b-9vpj3boz35] {
	padding: 16px;
}

.recipe-title[b-9vpj3boz35] {
	margin: 0 0 12px 0;
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	line-height: 1.3;
}

.ingredients-section[b-9vpj3boz35] {
	margin-bottom: 16px;
}

.ingredients-section h5[b-9vpj3boz35] {
	margin: 0 0 8px 0;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--color-neutral-medium);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.ingredients-tags[b-9vpj3boz35] {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.ingredient-tag[b-9vpj3boz35] {
	background: var(--domain-meal-bg);
	color: var(--domain-meal-accent);
	font-size: 0.75rem;
	padding: 4px 8px;
	border-radius: 12px;
	font-weight: 500;
}

.ingredient-tag.more[b-9vpj3boz35] {
	background: var(--color-accent-light);
	color: var(--color-accent);
}

.recipe-actions[b-9vpj3boz35] {
	padding-top: 12px;
	border-top: 1px solid var(--hairline);
}

/* Add recipe section */
.add-recipe-section[b-9vpj3boz35] {
	margin-top: 32px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--shadow-paper-sm);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.toggle-button[b-9vpj3boz35] {
	width: 100%;
	padding: 16px;
	justify-content: center;
	background: transparent;
	border: none;
}

.custom-recipe-form[b-9vpj3boz35] {
	padding: 0 24px 24px 24px;
	border-top: 1px solid var(--hairline);
}

.custom-recipe-form h4[b-9vpj3boz35] {
	margin: 16px 0 20px 0;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.form-grid[b-9vpj3boz35] {
	display: grid;
	gap: 16px;
}

.file-upload-section[b-9vpj3boz35] {
	display: grid;
	gap: 8px;
}

.file-upload-section label[b-9vpj3boz35] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--color-neutral-medium);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
/* /Components/Nanny/NannyApp.razor.rz.scp.css */
.nanny-container[b-wl1q0tt5i6] {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px;
	font-family: var(--font-body);
	color: var(--color-neutral-dark);
}
/* /Components/Nanny/TimeOff.razor.rz.scp.css */
.timeoff-header[b-ffgw0d5qmf] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 20px;
}

.timeoff-eyebrow[b-ffgw0d5qmf] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-nanny-accent);
}

.timeoff-title[b-ffgw0d5qmf] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.timeoff-subtitle[b-ffgw0d5qmf] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

.timeoff-actions[b-ffgw0d5qmf] {
	margin-bottom: 18px;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* Root and Layout */
.dashboard-root[b-94lfyzr8hw] {
    padding: 1.5rem;
    background-color: var(--color-page-bg);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 100vh;
    gap: 1.5rem;
    position: relative;
    overflow-x: hidden;
}


/* Loading State */
.loading-container[b-94lfyzr8hw], .widget-loading[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 4rem;
}

/* -------------------------------------
   Modern Bearoki Header (Neo-Glass)
------------------------------------- */
.modern-page-header[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 0.5rem;
}

.header-text[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.page-title[b-94lfyzr8hw] {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--color-neutral-dark);
    margin: 0;
    letter-spacing: -0.5px;
}

.page-subtitle[b-94lfyzr8hw] {
    font-size: 1.05rem;
    color: var(--color-neutral-medium);
    font-weight: 500;
}

/* Header Stats — flat paper pill, no glass */
.toolbar-pill.header-stats[b-94lfyzr8hw] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    width: fit-content;
    flex-wrap: wrap;
    box-shadow: var(--shadow-paper-sm);
}

.stat-item[b-94lfyzr8hw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-neutral-dark);
}

.text-bold[b-94lfyzr8hw] {
    font-weight: 800;
    font-size: 1.1rem;
}

.stat-label[b-94lfyzr8hw] {
    color: var(--color-neutral-medium);
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* -------------------------------------
   Empty State
------------------------------------- */
.empty-dashboard-container[b-94lfyzr8hw] {
    padding: 3rem;
    text-align: center;
    margin: 1rem 0;
    border-radius: 24px;
    background: var(--color-neutral);
    border: 1px dashed var(--hairline);
    box-shadow: var(--shadow-paper-sm);
}

.empty-dashboard-content[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.empty-icon[b-94lfyzr8hw] {
    font-size: 4rem;
    color: var(--color-empty-state);
}

.empty-message[b-94lfyzr8hw] {
    color: var(--color-neutral-medium);
    max-width: 400px;
}

/* -------------------------------------
   Journal Layout — cards flow as entries, not kanban items
------------------------------------- */
.planner-board-container[b-94lfyzr8hw] {
    display: block;
}

.planner-board[b-94lfyzr8hw] {
    column-count: 3;
    column-gap: 2.5rem;
    column-fill: balance;
}

@media (max-width: 1600px) {
    .planner-board[b-94lfyzr8hw] { column-count: 3; }
}

@media (max-width: 1100px) {
    .planner-board[b-94lfyzr8hw] { column-count: 2; }
}

@media (max-width: 700px) {
    .planner-board[b-94lfyzr8hw] { column-count: 1; }
}

/* -------------------------------------
   Paper Card Widgets (Journal entries)
------------------------------------- */
[b-94lfyzr8hw] .dashboard-widget {
    display: inline-block;
    padding: 1.75rem;
    border-radius: 18px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-md);
    width: 100%;
    margin-bottom: 2.5rem;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-94lfyzr8hw] .dashboard-widget > * + * {
    margin-top: 1rem;
}

[b-94lfyzr8hw] .dashboard-widget:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-paper-lg);
}

/* Domain paper washes — opaque, theme-token driven */
[b-94lfyzr8hw] .weather-widget { background: var(--domain-weather-bg); }
[b-94lfyzr8hw] .meal-widget    { background: var(--domain-meal-bg); }
[b-94lfyzr8hw] .workout-widget { background: var(--domain-workout-bg); }
[b-94lfyzr8hw] .nanny-widget   { background: var(--domain-nanny-bg); }
[b-94lfyzr8hw] .coffee-widget  { background: var(--domain-coffee-bg); }

.widget-header[b-94lfyzr8hw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.widget-title-row[b-94lfyzr8hw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.widget-title[b-94lfyzr8hw] {
    font-weight: 800;
    color: var(--color-neutral-dark);
    font-size: 1.15rem;
}

.widget-content[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.widget-empty[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: var(--color-empty-state);
    text-align: center;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 12px;
    border: 1px dashed var(--hairline);
}

/* Meals Widget Specifics */
.meal-list[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.meal-item[b-94lfyzr8hw] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.75rem;
    background: var(--color-neutral);
    border-radius: 10px;
    border-left: 3px solid var(--domain-meal-accent);
    box-shadow: var(--shadow-paper-sm);
}

.meal-badge[b-94lfyzr8hw] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.85rem;
    flex-shrink: 0;
    box-shadow: var(--shadow-paper-sm);
}

.lunch-badge[b-94lfyzr8hw]     { background: var(--domain-weather-bg); color: var(--domain-weather-accent); }
.dinner-badge[b-94lfyzr8hw]    { background: var(--domain-meal-bg);    color: var(--domain-meal-accent); }
.breakfast-badge[b-94lfyzr8hw] { background: var(--domain-workout-bg); color: var(--domain-workout-accent); }

.meal-details[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.meal-name[b-94lfyzr8hw] {
    font-weight: 700;
    color: var(--color-neutral-dark);
}

.meal-description[b-94lfyzr8hw] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

/* Workout Widget Specifics */
.workout-summary[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.workout-type-row[b-94lfyzr8hw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.workout-type-badge[b-94lfyzr8hw] {
    background: var(--domain-workout-accent);
    color: var(--color-neutral);
    padding: 0.3rem 0.7rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: var(--shadow-paper-sm);
}

.workout-duration[b-94lfyzr8hw] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
    font-weight: 700;
}

.workout-exercises[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.75rem;
    background: var(--color-neutral);
    border-radius: 10px;
    border-left: 3px solid var(--domain-workout-accent);
    box-shadow: var(--shadow-paper-sm);
}

.exercise-item[b-94lfyzr8hw] {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    padding: 0.25rem 0;
    border-bottom: 1px solid var(--hairline);
}
.exercise-item:last-child[b-94lfyzr8hw] { border-bottom: none; }

.exercise-name[b-94lfyzr8hw] {
    color: var(--color-neutral-dark);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.exercise-sets[b-94lfyzr8hw] {
    color: var(--color-neutral-medium);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.more-exercises[b-94lfyzr8hw] {
    font-size: 0.8rem;
    color: var(--domain-workout-accent);
    font-weight: 700;
    margin-top: 0.25rem;
}

/* Nanny Time Off Specifics */
.timeoff-summary[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.timeoff-stat[b-94lfyzr8hw] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 1rem;
    background: var(--color-neutral);
    border-radius: 12px;
    border-left: 3px solid var(--domain-nanny-accent);
    box-shadow: var(--shadow-paper-sm);
}

.stat-number[b-94lfyzr8hw] {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--color-neutral-dark);
    line-height: 1;
}

.stat-text[b-94lfyzr8hw] {
    color: var(--color-neutral-medium);
    font-weight: 600;
}

.timeoff-breakdown[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0 0.5rem;
}

.timeoff-item[b-94lfyzr8hw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
}

.timeoff-dot[b-94lfyzr8hw] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.vacation-dot[b-94lfyzr8hw] { background: var(--domain-workout-accent); }
.sick-dot[b-94lfyzr8hw]     { background: var(--color-danger); }
.personal-dot[b-94lfyzr8hw] { background: var(--domain-nanny-accent); }

.timeoff-label[b-94lfyzr8hw] {
    color: var(--color-neutral-medium);
    flex: 1;
    font-weight: 500;
}

.timeoff-value[b-94lfyzr8hw] {
    font-weight: 700;
    color: var(--color-neutral-dark);
    font-variant-numeric: tabular-nums;
}

/* Coffee Specifics */
.coffee-controls[b-94lfyzr8hw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@media (max-width: 768px) {
    .toolbar-pill.header-stats[b-94lfyzr8hw] {
        border-radius: 16px;
        padding: 1rem;
    }
}
/* /Components/Pages/Settings.razor.rz.scp.css */
/* Settings Page Layout */
.settings-page[b-rilbt59vrw] {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px;
}

.settings-header[b-rilbt59vrw] {
    text-align: center;
    margin-bottom: 32px;
    padding: 24px;
    background: var(--color-neutral-light);
    border-radius: 12px;
    border: 1px solid var(--hairline);
}

.header-icon[b-rilbt59vrw] {
    margin-bottom: 12px;
    color: var(--color-primary);
}

.header-subtitle[b-rilbt59vrw] {
    color: var(--color-neutral-medium);
    margin-top: 8px;
}

.settings-container[b-rilbt59vrw] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Settings Section Cards */
.settings-section[b-rilbt59vrw] {
    padding: 24px;
    border-radius: 12px;
    border: 1px solid var(--hairline);
    background: var(--color-neutral);
    transition: all 0.3s ease;
}

.settings-section:hover[b-rilbt59vrw] {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-paper-md);
}

.settings-section.coming-soon[b-rilbt59vrw] {
    opacity: 0.6;
    background: var(--color-neutral-light);
}

/* Section Headers */
.section-header[b-rilbt59vrw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--hairline);
}

.section-title[b-rilbt59vrw] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.section-icon[b-rilbt59vrw] {
    color: var(--color-primary);
}

.help-icon[b-rilbt59vrw] {
    color: var(--color-neutral-medium);
    cursor: help;
    transition: color 0.2s ease;
}

.help-icon:hover[b-rilbt59vrw] {
    color: var(--color-primary);
}

/* Setting Rows */
.setting-row[b-rilbt59vrw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid var(--hairline);
}

.setting-row:last-child[b-rilbt59vrw] {
    border-bottom: none;
    padding-bottom: 0;
}

.setting-info[b-rilbt59vrw] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.setting-label[b-rilbt59vrw] {
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.setting-description[b-rilbt59vrw] {
    font-size: 0.9em;
    color: var(--color-neutral-medium);
    line-height: 1.4;
}

.setting-control[b-rilbt59vrw] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.setting-value[b-rilbt59vrw] {
    font-size: 0.9em;
    color: var(--color-neutral-medium);
    font-weight: 500;
    min-width: 60px;
    text-align: right;
}

/* Color Palette Preview */
.color-palette-preview[b-rilbt59vrw] {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--hairline);
}

.palette-label[b-rilbt59vrw] {
    margin-bottom: 16px;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.palette-grid[b-rilbt59vrw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.palette-theme[b-rilbt59vrw] {
    padding: 16px;
    border-radius: 8px;
    border: 2px solid var(--hairline);
    transition: all 0.3s ease;
    cursor: pointer;
}

.palette-theme.active[b-rilbt59vrw] {
    border-color: var(--color-primary);
    background: var(--color-neutral-light);
    box-shadow: var(--shadow-paper-sm);
}

.palette-name[b-rilbt59vrw] {
    font-size: 0.9em;
    font-weight: 600;
    color: var(--color-neutral-dark);
    margin-bottom: 8px;
    text-align: center;
}

.palette-colors[b-rilbt59vrw] {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.color-dot[b-rilbt59vrw] {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: help;
    transition: transform 0.2s ease;
    box-shadow: var(--shadow-paper-sm);
}

.color-dot:hover[b-rilbt59vrw] {
    transform: scale(1.2);
}

/* Coming Soon Placeholder */
.coming-soon-content[b-rilbt59vrw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 32px;
    color: var(--color-neutral-medium);
}

/* Authentication Required Card */
.auth-required[b-rilbt59vrw] {
    padding: 48px 32px;
    text-align: center;
    border: 2px dashed var(--hairline);
    background: var(--color-neutral-light);
}

.auth-icon[b-rilbt59vrw] {
    color: var(--color-neutral-medium);
    margin-bottom: 16px;
}

.auth-message[b-rilbt59vrw] {
    color: var(--color-neutral-medium);
    margin-bottom: 24px;
    line-height: 1.5;
}

/* Responsive Design */
@media (max-width: 768px) {
    .settings-page[b-rilbt59vrw] {
        padding: 16px;
    }
    
    .settings-header[b-rilbt59vrw] {
        padding: 20px;
        margin-bottom: 24px;
    }
    
    .settings-section[b-rilbt59vrw] {
        padding: 20px;
    }
    
    .setting-row[b-rilbt59vrw] {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .setting-control[b-rilbt59vrw] {
        align-self: stretch;
        justify-content: space-between;
    }
    
    .palette-grid[b-rilbt59vrw] {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .color-dot[b-rilbt59vrw] {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 480px) {
    .settings-page[b-rilbt59vrw] {
        padding: 12px;
    }
    
    .palette-colors[b-rilbt59vrw] {
        gap: 4px;
    }
    
    .color-dot[b-rilbt59vrw] {
        width: 18px;
        height: 18px;
    }
}

.settings-header[b-rilbt59vrw]{display:flex;flex-direction:column;gap:4px;padding:8px 4px 24px;align-items:flex-start;}
.settings-eyebrow[b-rilbt59vrw]{font-family:var(--font-mono);font-size:0.72rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-accent);}
.settings-title[b-rilbt59vrw]{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-neutral-dark);letter-spacing:-0.5px;}
.settings-subtitle[b-rilbt59vrw]{margin:0;font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--color-neutral-medium);}

/* /Components/Pages/UserInfo.razor.rz.scp.css */
.user-info-page[b-p63mj3d4aj] {
	padding: 20px;
	max-width: 1100px;
	margin: 0 auto;
}

.user-info-header[b-p63mj3d4aj] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 4px 24px;
}

.user-eyebrow[b-p63mj3d4aj] {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.user-title[b-p63mj3d4aj] {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	letter-spacing: -0.5px;
}

.user-subtitle[b-p63mj3d4aj] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-neutral-medium);
}

h3[b-p63mj3d4aj] {
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
	margin: 0 0 12px;
}
/* /Components/Widgets/AddRecipeToDayDialog.razor.rz.scp.css */
.planner-dialog-header[b-ppzr08l84u] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 16px;
}

.dialog-eyebrow[b-ppzr08l84u] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.dialog-title[b-ppzr08l84u] {
	font-family: var(--font-display);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-ppzr08l84u] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}
/* /Components/Widgets/IngredientDialog.razor.rz.scp.css */
.planner-dialog-header[b-yis0pdxq3p] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 16px;
}

.dialog-eyebrow[b-yis0pdxq3p] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.dialog-title[b-yis0pdxq3p] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-yis0pdxq3p] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}
/* /Components/Widgets/QuickAddFavoritesDialog.razor.rz.scp.css */
/* QuickAddFavoritesDialog Styles */

[b-z4t60qj58i] .quick-add-favorites-dialog {
	--dialog-width: 95vw;
	--dialog-max-width: 500px;
}

.dialog-header-content[b-z4t60qj58i] {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dialog-header-icon[b-z4t60qj58i] {
	color: var(--color-accent);
}

.quick-add-content[b-z4t60qj58i] {
	padding: 8px;
}

/* Empty State */
.empty-state[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 32px 16px;
	text-align: center;
	color: var(--color-neutral-medium);
}

.empty-state .empty-icon[b-z4t60qj58i] {
	margin-bottom: 12px;
	opacity: 0.4;
}

.empty-state p[b-z4t60qj58i] {
	margin: 4px 0;
}

.empty-hint[b-z4t60qj58i] {
	font-size: 0.85rem;
}

/* Date Selection */
.date-selection[b-z4t60qj58i] {
	margin-bottom: 16px;
}

.date-options[b-z4t60qj58i] {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.calendar-picker[b-z4t60qj58i] {
	margin-top: 12px;
}

.selected-date-label[b-z4t60qj58i] {
	margin-top: 8px;
	color: var(--color-neutral-medium);
}

.favorites-divider[b-z4t60qj58i] {
	height: 1px;
	background: var(--hairline);
	margin: 16px 0;
}

/* Meal Type Selection */
.meal-type-selection[b-z4t60qj58i] {
	margin-bottom: 4px;
}

.meal-type-options[b-z4t60qj58i] {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	flex-wrap: wrap;
}

.meal-type-badge[b-z4t60qj58i] {
	margin-top: 8px;
}

/* Description Section */
.description-section[b-z4t60qj58i] {
	margin-bottom: 8px;
}

/* Favorites Selection */
.favorites-selection[b-z4t60qj58i] {
	margin-bottom: 8px;
}

.favorites-list[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 8px;
	max-height: 300px;
	overflow-y: auto;
}

.favorite-option[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 16px;
	background: var(--color-neutral);
	border: 2px solid var(--hairline);
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.15s ease;
	text-align: left;
	width: 100%;
}

.favorite-option:hover[b-z4t60qj58i] {
	border-color: var(--color-primary);
	background: var(--color-neutral-light);
}

.favorite-option.selected[b-z4t60qj58i] {
	border-color: var(--color-primary);
	background: var(--color-primary);
	color: white;
}

.favorite-option.selected .favorite-icon[b-z4t60qj58i] {
	color: white;
}

.favorite-option.selected .favorite-desc[b-z4t60qj58i] {
	color: var(--color-neutral-light);
}

.favorite-option-content[b-z4t60qj58i] {
	display: flex;
	align-items: center;
	gap: 8px;
}

.favorite-icon[b-z4t60qj58i] {
	color: var(--color-accent);
	flex-shrink: 0;
}

.favorite-info[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.favorite-name[b-z4t60qj58i] {
	font-weight: 600;
	font-size: 0.95rem;
}

.favorite-desc[b-z4t60qj58i] {
	font-size: 0.8rem;
	color: var(--color-neutral-medium);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.favorite-option-tags[b-z4t60qj58i] {
	display: flex;
	gap: 4px;
	margin-left: 24px;
	flex-wrap: wrap;
}

.mini-tag[b-z4t60qj58i] {
	font-size: 0.7rem;
}

/* Recipe Selection */
.recipe-selection[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.selected-recipe[b-z4t60qj58i] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: var(--color-neutral);
	border: 1px solid var(--color-primary);
	border-radius: 8px;
}

.recipe-link-icon[b-z4t60qj58i] {
	color: var(--color-primary);
	flex-shrink: 0;
}

.recipe-link-name[b-z4t60qj58i] {
	flex: 1;
	font-weight: 500;
	font-size: 0.9rem;
}

.recipe-search-area[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
}

.recipe-results[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-height: 200px;
	overflow-y: auto;
	border: 1px solid var(--hairline);
	border-radius: 8px;
	padding: 4px;
}

.recipe-option[b-z4t60qj58i] {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: transparent;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	text-align: left;
	width: 100%;
	transition: background 0.15s ease;
}

.recipe-option:hover[b-z4t60qj58i] {
	background: var(--color-neutral-light);
}

.recipe-option-icon[b-z4t60qj58i] {
	color: var(--color-neutral-medium);
	flex-shrink: 0;
}

.recipe-option-name[b-z4t60qj58i] {
	font-size: 0.9rem;
	font-weight: 500;
}

.recipe-no-results[b-z4t60qj58i] {
	padding: 12px;
	text-align: center;
	color: var(--color-neutral-medium);
	font-size: 0.85rem;
}

/* Planner Dialog Header */
.planner-dialog-header[b-z4t60qj58i] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dialog-eyebrow[b-z4t60qj58i] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.dialog-title[b-z4t60qj58i] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-z4t60qj58i] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */
.empty-state-message[b-z4t60qj58i]{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--color-empty-state);}

/* /Components/Widgets/RecipeSelectionDialog.razor.rz.scp.css */
.planner-dialog-header[b-rfoduwqur8] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 16px;
}

.dialog-eyebrow[b-rfoduwqur8] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-meal-accent);
}

.dialog-title[b-rfoduwqur8] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-rfoduwqur8] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}

.recipe-list[b-rfoduwqur8] {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 50vh;
	overflow-y: auto;
}

.recipe-item[b-rfoduwqur8] {
	padding: 12px 16px;
	border-radius: 14px;
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-left: 3px solid var(--domain-meal-accent);
	box-shadow: var(--shadow-paper-sm);
	cursor: pointer;
	transition: all 0.2s ease;
}

.recipe-item:hover[b-rfoduwqur8] {
	box-shadow: var(--shadow-paper-md);
	transform: translateY(-2px);
}

.recipe-label[b-rfoduwqur8] {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--color-neutral-dark);
}

.recipe-description[b-rfoduwqur8] {
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
	margin-top: 4px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* /Components/Widgets/TimeOffRequestPanel.razor.rz.scp.css */
.planner-dialog-header[b-xek20fjsar] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: 16px;
}

.dialog-eyebrow[b-xek20fjsar] {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--domain-nanny-accent);
}

.dialog-title[b-xek20fjsar] {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.dialog-subtitle[b-xek20fjsar] {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 0.95rem;
	color: var(--color-neutral-medium);
}
/* /Components/Widgets/TodayEvents.razor.rz.scp.css */
.today-events-card[b-85lg7s2arr] {
	background: var(--color-neutral);
	border: 1px solid var(--hairline);
	border-radius: 18px;
	padding: 1.5rem;
	box-shadow: var(--shadow-paper-md);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.eyebrow[b-85lg7s2arr] {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.card-title[b-85lg7s2arr] {
	margin: 0 0 6px;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.status-line[b-85lg7s2arr] {
	margin: 0;
	color: var(--color-neutral-medium);
}

.empty-state-message[b-85lg7s2arr] {
	margin: 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1rem;
	color: var(--color-empty-state);
}

.event-list[b-85lg7s2arr] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.event-item[b-85lg7s2arr] {
	padding: 12px 0;
	border-top: 1px solid var(--hairline);
}

.event-item:first-child[b-85lg7s2arr] {
	border-top: none;
}

.event-title[b-85lg7s2arr] {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-neutral-dark);
}

.event-time[b-85lg7s2arr] {
	font-family: var(--font-mono);
	font-size: 0.85rem;
	color: var(--color-neutral-medium);
	margin-top: 2px;
}

.event-meta[b-85lg7s2arr] {
	font-size: 0.9rem;
	color: var(--color-neutral-medium);
	margin-top: 2px;
}
/* /Components/Workout/Dialogs/AddExerciseDialog.razor.rz.scp.css */
/* =================================
   ADD EXERCISE DIALOG STYLES
   
   FLUENT UI LAYOUT PATTERN:
   -------------------------
   FluentUI Blazor components render as Web Components with shadow DOM.
   Wrap them in container <div> elements for stable layout control.
   Use 'auto' sizing in grids to let components size naturally.
   ================================= */

/* Dialog sizing and z-index for nested dialogs */
.add-exercise-dialog[b-9u221ttpgo] {
    --dialog-width: min(95vw, 640px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
    z-index: 1000;
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

/* Dialog Header with Back Button title styling */
.dialog-header-with-back[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dialog-header-with-back > span[b-9u221ttpgo] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* Ensure dialog body allows interaction */
.add-exercise-content[b-9u221ttpgo] {
    padding: 8px;
    position: relative;
    z-index: 1;
}

/* Fix for nested dialog input focus issues */
.exercise-params-form[b-9u221ttpgo] {
    position: relative;
    z-index: 10;
}

.params-row[b-9u221ttpgo] {
    display: flex;
    gap: 12px;
    position: relative;
    z-index: 10;
}

.params-row > *[b-9u221ttpgo] {
    flex: 1;
    min-width: 0;
}

/* Ensure FluentUI inputs are clickable in nested dialogs */
.params-row > div[b-9u221ttpgo] {
    position: relative;
    z-index: 10;
}

/* Force input elements to be interactive */
.params-row fluent-number-field[b-9u221ttpgo],
.params-row fluent-text-field[b-9u221ttpgo],
.params-row fluent-select[b-9u221ttpgo] {
    position: relative;
    z-index: 11;
}

/* Dialog Header with Back Button */
.dialog-header-with-back[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Category Grid */
.category-grid[b-9u221ttpgo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}

.category-tile[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-paper-sm);
}

.category-tile:hover[b-9u221ttpgo] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.category-tile.selected[b-9u221ttpgo] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    background: var(--domain-workout-accent, #4f6d8c);
    color: white;
}

.category-tile.selected .category-icon[b-9u221ttpgo] {
    background: rgba(255, 255, 255, 0.2);
}

.category-icon[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--color-page-bg, #f4f1ec);
    border-radius: 8px;
    flex-shrink: 0;
}

.category-info[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.category-name[b-9u221ttpgo] {
    font-family: var(--font-display, Georgia, serif);
    font-weight: 600;
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.category-count[b-9u221ttpgo] {
    font-size: 0.75rem;
    opacity: 0.7;
}

/* Exercise Selection */
.exercise-search-wrapper[b-9u221ttpgo] {
    margin-bottom: 16px;
}

.search-no-results[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px 16px;
    color: var(--color-neutral-medium);
    font-size: 0.9rem;
}

.exercise-select-details[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.exercise-select-meta[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.exercise-search-category-badge[b-9u221ttpgo] {
    display: inline-block;
    padding: 1px 8px;
    background: var(--domain-workout-accent, #4f6d8c);
    color: white;
    border-radius: 12px;
    font-size: 0.7rem;
    font-weight: 500;
}

.exercise-selection-header[b-9u221ttpgo] {
    margin-bottom: 16px;
}

.selected-category-badge[b-9u221ttpgo] {
    display: inline-block;
    padding: 4px 12px;
    background: var(--domain-workout-accent, #4f6d8c);
    color: white;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 500;
}

.exercise-list-selection[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 400px;
    overflow-y: auto;
}

.exercise-select-item[b-9u221ttpgo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: var(--shadow-paper-sm);
}

.exercise-select-item:hover[b-9u221ttpgo] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    box-shadow: var(--shadow-paper-md, 0 2px 8px rgba(0, 0, 0, 0.06));
}

.exercise-select-item.selected[b-9u221ttpgo] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    background: var(--domain-workout-accent, #4f6d8c);
    color: white;
}

.exercise-select-name[b-9u221ttpgo] {
    font-weight: 500;
}

.exercise-select-focus[b-9u221ttpgo] {
    font-size: 0.8rem;
    color: var(--color-neutral-medium);
    padding: 2px 8px;
    background: var(--color-page-bg, #f4f1ec);
    border-radius: 12px;
}

.exercise-select-item.selected .exercise-select-focus[b-9u221ttpgo] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

/* Exercise Details Form */
.exercise-details-form[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    z-index: 5;
}

.selected-exercise-header[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 10px;
    box-shadow: var(--shadow-paper-sm);
}

.selected-exercise-info[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.selected-exercise-name[b-9u221ttpgo] {
    font-family: var(--font-display, Georgia, serif);
    font-weight: 600;
    font-size: 1.15rem;
    color: var(--color-neutral-dark);
}

.selected-exercise-category[b-9u221ttpgo] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

.exercise-params-form[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Mobile Responsiveness */
@media (max-width: 500px) {
    .category-grid[b-9u221ttpgo] {
        grid-template-columns: 1fr;
    }
    
    .params-row[b-9u221ttpgo] {
        flex-direction: column;
    }
    
    .params-row > *[b-9u221ttpgo] {
        flex: none;
        width: 100%;
    }
    
    .category-tile[b-9u221ttpgo] {
        padding: 12px;
    }
}

/* Resizable notes textarea */
.resizable-notes[b-9u221ttpgo]::part(control) {
    resize: vertical;
    min-height: 60px;
    white-space: pre-wrap;
    font-family: inherit;
    line-height: 1.4;
}

/* Exercise Purpose Selection */
.purpose-selection[b-9u221ttpgo] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.purpose-selection .purpose-label[b-9u221ttpgo] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--color-neutral-dark);
}

.purpose-options[b-9u221ttpgo] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.purpose-option[b-9u221ttpgo] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--hairline);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    background: var(--color-neutral);
}

.purpose-option:hover[b-9u221ttpgo] {
    border-color: var(--color-neutral-medium);
    background: var(--color-page-bg, #f4f1ec);
}

.purpose-option.selected[b-9u221ttpgo] {
    border-width: 2px;
}

.purpose-indicator[b-9u221ttpgo] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--hairline);
}

.purpose-option.purpose-warmup .purpose-indicator[b-9u221ttpgo] {
    background: var(--purpose-warmup);
}

.purpose-option.purpose-technique .purpose-indicator[b-9u221ttpgo] {
    background: var(--purpose-technique);
}

.purpose-option.purpose-corelift .purpose-indicator[b-9u221ttpgo] {
    background: var(--purpose-corelift);
}

.purpose-option.purpose-strength .purpose-indicator[b-9u221ttpgo] {
    background: var(--purpose-strength);
}

.purpose-option.purpose-accessory .purpose-indicator[b-9u221ttpgo] {
    background: var(--purpose-accessory);
}

.purpose-option.purpose-warmup.selected[b-9u221ttpgo] {
    border-color: var(--purpose-warmup);
    background: var(--purpose-warmup-bg);
}

.purpose-option.purpose-technique.selected[b-9u221ttpgo] {
    border-color: var(--purpose-technique);
    background: var(--purpose-technique-bg);
}

.purpose-option.purpose-corelift.selected[b-9u221ttpgo] {
    border-color: var(--purpose-corelift);
    background: var(--purpose-corelift-bg);
}

.purpose-option.purpose-strength.selected[b-9u221ttpgo] {
    border-color: var(--purpose-strength);
    background: var(--purpose-strength-bg);
}

.purpose-option.purpose-accessory.selected[b-9u221ttpgo] {
    border-color: var(--purpose-accessory);
    background: var(--purpose-accessory-bg);
}

.purpose-name[b-9u221ttpgo] {
    font-size: 0.85rem;
    font-weight: 500;
}
/* /Components/Workout/Dialogs/EditWorkoutDialog.razor.rz.scp.css */
/* =================================
   EDIT WORKOUT DIALOG  —  Planner Personality
   See wiki/DESIGN_STRATEGY.md.

   Pattern: wrap every Fluent input in a `.field-wrap` div for layout.
   Shadow DOM means flex/grid sizing applied directly to <FluentXxx>
   components is unreliable; wrappers are the stable layout unit.
   ================================= */

/* Dialog sizing tokens.
   NOTE: max-height & ::part(control) rules live in wwwroot/css/app.css
   because ::part() pseudo-elements must pierce shadow DOM globally
   (Blazor scoped CSS cannot reliably reach shadow parts). */
[b-aopy7hkk91] .edit-workout-dialog {
    --dialog-width: min(95vw, 680px);
    --dialog-max-width: 680px;
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

/* Inner scroll container — same proven pattern as AddExerciseDialog.
   Scrolling lives on `.dialog-scroll-area`, defined globally in
   wwwroot/css/app.css under SHARED DIALOG UTILITIES. */

/* ============= Header ============= */
.dialog-header-content[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0;
}

.dialog-eyebrow[b-aopy7hkk91] {
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--domain-workout-accent);
}

.dialog-title[b-aopy7hkk91] {
    font-family: var(--font-display);
    font-size: 1.4rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--color-neutral-dark);
    margin: 0;
}

.dialog-subtitle[b-aopy7hkk91] {
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: var(--color-neutral-medium);
    font-style: italic;
}

/* ============= Panels ============= */
.dialog-panel[b-aopy7hkk91] {
    margin-bottom: 1rem;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.dialog-panel--flush[b-aopy7hkk91] {
    margin-bottom: 0.75rem;
}

.dialog-panel + .dialog-panel[b-aopy7hkk91] {
    border-top: 1px solid var(--hairline);
    padding-top: 0.75rem;
    margin-top: 0.25rem;
}

.panel-header[b-aopy7hkk91] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 0.6rem;
}

.panel-title-row[b-aopy7hkk91] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.panel-title[b-aopy7hkk91] {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--color-neutral-dark);
    margin: 0;
}

.panel-count[b-aopy7hkk91] {
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-neutral-medium);
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 999px;
    padding: 1px 8px;
    min-width: 24px;
    text-align: center;
}

/* ============= Form layout =============
   `auto-fit + minmax` reflows columns based on REAL available width
   instead of fighting Fluent's intrinsic min-content sizing. */
.workout-basic-info[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.form-row[b-aopy7hkk91] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.field-wrap[b-aopy7hkk91] {
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Force Fluent inputs to respect parent width (shadow DOM workaround).
   Must be `display: block` — Fluent components default to inline-ish
   custom elements whose width: 100% behaves unpredictably otherwise. */
.field-wrap fluent-text-field[b-aopy7hkk91],
.field-wrap fluent-number-field[b-aopy7hkk91],
.field-wrap fluent-select[b-aopy7hkk91],
.field-wrap fluent-text-area[b-aopy7hkk91],
.field-wrap fluent-number-field[b-aopy7hkk91]::part(root),
.field-wrap fluent-text-field[b-aopy7hkk91]::part(root) {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

/* ============= Exercise list =============
   The DIALOG BODY scrolls — not this list. Capping the list's height
   creates a nested scroll that fights with the body's scroll and breaks
   on tall content. Just stack the cards and let the body handle it. */
.exercise-list[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Each exercise — paper card lifted off the page. */
.exercise-edit-item[b-aopy7hkk91] {
    display: flex;
    gap: 10px;
    padding: 12px;
    background: var(--color-neutral);
    border-radius: 12px;
    border: none;
    border-left: 3px solid var(--color-neutral-light);
    box-shadow: var(--shadow-paper-sm);
    transition: box-shadow 0.2s ease;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.exercise-edit-item:hover[b-aopy7hkk91] {
    box-shadow: var(--shadow-paper-md);
}

/* Purpose color border — matches planner board */
.exercise-edit-item.purpose-warmup[b-aopy7hkk91] { border-left-color: var(--purpose-warmup); }
.exercise-edit-item.purpose-technique[b-aopy7hkk91] { border-left-color: var(--purpose-technique); }
.exercise-edit-item.purpose-corelift[b-aopy7hkk91] { border-left-color: var(--purpose-corelift); }
.exercise-edit-item.purpose-strength[b-aopy7hkk91] { border-left-color: var(--purpose-strength); }
.exercise-edit-item.purpose-accessory[b-aopy7hkk91] { border-left-color: var(--purpose-accessory); }

/* Order rail (number badge + reorder chevrons) */
.exercise-order-rail[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.exercise-order-badge[b-aopy7hkk91] {
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-neutral-medium);
    background: var(--color-page-bg);
    border: 1px solid var(--hairline);
    border-radius: 6px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.exercise-reorder[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
}

/* Exercise content */
.exercise-details[b-aopy7hkk91] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.exercise-name-row[b-aopy7hkk91] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.exercise-name-stack[b-aopy7hkk91] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.exercise-name[b-aopy7hkk91] {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    letter-spacing: -0.005em;
    line-height: 1.2;
    word-break: break-word;
}

.exercise-purpose-tag[b-aopy7hkk91] {
    font-family: var(--font-body);
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-neutral-medium);
    align-self: flex-start;
}

/* Parameters — flex-wrap layout.
   Each field is given a target basis (~120px) and is allowed to grow
   to fill remaining row space. When the row can't fit 4 fields it
   wraps to 2x2 automatically. flex-basis + min-width: 0 lets fields
   shrink past their intrinsic content width if needed. */
.exercise-params-row[b-aopy7hkk91] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.exercise-params-row > .field-wrap[b-aopy7hkk91] {
    flex: 1 1 calc(25% - 8px);
    min-width: 110px;
    box-sizing: border-box;
}

.percentage-of-row[b-aopy7hkk91] {
    margin-top: 0;
}

/* Resizable textareas — smaller default.
   `max-width: 100%` on the host prevents user-drag resize from
   expanding the card past its container. */
[b-aopy7hkk91] .resizable-notes {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

[b-aopy7hkk91] .resizable-notes::part(control) {
    resize: vertical;
    min-height: 56px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-wrap;
    font-family: var(--font-body);
    line-height: 1.45;
}

/* Empty state */
.no-exercises-edit[b-aopy7hkk91] {
    text-align: center;
    padding: 20px 16px;
    background: var(--color-page-bg);
    border: 1px dashed var(--hairline);
    border-radius: 10px;
}

.empty-headline[b-aopy7hkk91] {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    margin: 0 0 2px 0;
}

.empty-hint[b-aopy7hkk91] {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
    margin: 0;
    font-style: italic;
}

/* ============= Responsive ============= */
@media (max-width: 600px) {
    [b-aopy7hkk91] .edit-workout-dialog {
        --dialog-width: 95vw;
    }

    .dialog-title[b-aopy7hkk91] {
        font-size: 1.25rem;
    }

    .form-row[b-aopy7hkk91] {
        grid-template-columns: 1fr;
    }

    .exercise-edit-item[b-aopy7hkk91] {
        flex-direction: column;
        gap: 8px;
    }

    .exercise-order-rail[b-aopy7hkk91] {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 6px;
        border-bottom: 1px solid var(--hairline);
    }

    .exercise-reorder[b-aopy7hkk91] {
        flex-direction: row;
    }

    .exercise-params-row[b-aopy7hkk91] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Components/Workout/Dialogs/GenerateWorkoutDialog.razor.rz.scp.css */
/* =================================
   GENERATE WORKOUT DIALOG STYLES
   ================================= */

[b-wdzxrahusm] .generate-workout-dialog {
    --dialog-width: min(95vw, 920px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

/* Base `.dialog-scroll-area` is defined globally in wwwroot/css/app.css.
   This dialog uses a back-button header (no subtitle) so reserves only
   ~140px for chrome instead of the default ~170px. */
.dialog-scroll-area[b-wdzxrahusm] {
    max-height: calc(90vh - 140px);
}

.generate-workout-content[b-wdzxrahusm] {
    padding: 8px;
}

.template-header[b-wdzxrahusm] {
    text-align: center;
    margin-bottom: 24px;
}

.template-title[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 8px;
}

.template-title h3[b-wdzxrahusm] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.template-title .header-icon[b-wdzxrahusm] {
    color: var(--domain-workout-accent, #4f6d8c);
}

.template-subtitle[b-wdzxrahusm] {
    color: var(--color-neutral-medium);
    margin: 0;
    font-size: 0.95rem;
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
}

/* Dialog Header with Back Button */
.dialog-header-with-back[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dialog-header-with-back > span[b-wdzxrahusm] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* Week Planning Section */
.week-planning-section[b-wdzxrahusm] {
    margin-bottom: 24px;
}

.week-planning-button[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 16px 20px;
    background: var(--domain-workout-accent, #4f6d8c);
    border: 1px solid var(--domain-workout-accent, #4f6d8c);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    color: white;
    text-align: left;
    box-shadow: var(--shadow-paper-sm);
}

.week-planning-button:hover[b-wdzxrahusm] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-lg, 0 4px 12px rgba(0, 0, 0, 0.15));
    filter: brightness(1.05);
}

.week-planning-button .button-icon[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
}

.week-planning-button .button-content[b-wdzxrahusm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.week-planning-button .button-title[b-wdzxrahusm] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.15rem;
    font-weight: 600;
}

.week-planning-button .button-subtitle[b-wdzxrahusm] {
    font-size: 0.85rem;
    opacity: 0.9;
}

.week-planning-button .button-arrow[b-wdzxrahusm] {
    opacity: 0.8;
}

/* Section Divider */
.section-divider[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0;
    color: var(--color-neutral-medium);
    font-size: 0.85rem;
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
}

.section-divider[b-wdzxrahusm]::before,
.section-divider[b-wdzxrahusm]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--hairline);
}

/* Day Type Grid */
.day-type-grid[b-wdzxrahusm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
}

.day-type-tile[b-wdzxrahusm] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-paper-sm);
}

.day-type-tile:hover[b-wdzxrahusm] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.day-type-tile-header[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.day-type-tile-header h4[b-wdzxrahusm] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.day-type-icon[b-wdzxrahusm] {
    color: var(--domain-workout-accent, #4f6d8c);
}

.day-type-description[b-wdzxrahusm] {
    margin: 0 0 12px 0;
    font-size: 0.8rem;
    color: var(--color-neutral-medium);
    line-height: 1.4;
}

.template-count[b-wdzxrahusm] {
    font-size: 0.75rem;
    color: var(--domain-workout-accent, #4f6d8c);
    font-weight: 500;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    letter-spacing: 0.05em;
}

/* Week Template Categories */
.week-category-section[b-wdzxrahusm] {
    margin-bottom: 24px;
}

.week-category-section:last-child[b-wdzxrahusm] {
    margin-bottom: 0;
}

.week-category-title[b-wdzxrahusm] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--domain-workout-accent, #4f6d8c);
    display: inline-block;
}

/* Week Template Grid */
.week-template-grid[b-wdzxrahusm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.week-template-tile[b-wdzxrahusm] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-paper-sm);
}

.week-template-tile:hover[b-wdzxrahusm] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.week-template-header[b-wdzxrahusm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--hairline);
}

.week-template-header h4[b-wdzxrahusm] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.day-count[b-wdzxrahusm] {
    font-size: 0.78rem;
    color: white;
    font-weight: 500;
    background: var(--domain-workout-accent, #4f6d8c);
    padding: 2px 10px;
    border-radius: 12px;
}

.week-template-days[b-wdzxrahusm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.week-day-preview[b-wdzxrahusm] {
    display: flex;
    gap: 12px;
    align-items: center;
}

.week-day-preview .day-label[b-wdzxrahusm] {
    min-width: 36px;
    font-weight: 600;
    color: var(--domain-workout-accent, #4f6d8c);
    font-size: 0.85rem;
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    letter-spacing: 0.05em;
}

.week-day-preview .template-name[b-wdzxrahusm] {
    font-size: 0.85rem;
    color: var(--color-neutral-dark);
}

/* Template Grid */
.template-grid[b-wdzxrahusm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.template-tile[b-wdzxrahusm] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-paper-sm);
}

.template-tile:hover[b-wdzxrahusm] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    transform: translateY(-2px);
    box-shadow: var(--shadow-paper-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}

.template-tile-header[b-wdzxrahusm] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.template-tile-icon[b-wdzxrahusm] {
    color: var(--domain-workout-accent, #4f6d8c);
    flex-shrink: 0;
}

.template-tile-title[b-wdzxrahusm] {
    flex: 1;
}

.template-tile-name[b-wdzxrahusm] {
    margin: 0 0 4px 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

.template-duration[b-wdzxrahusm] {
    font-size: 0.8rem;
    color: var(--color-neutral-medium);
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
}

.template-tile-content[b-wdzxrahusm] {
    padding-top: 8px;
    border-top: 1px solid var(--hairline);
}

.template-tile-description[b-wdzxrahusm] {
    margin: 0 0 12px 0;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

/* Exercise Phases */
.exercise-phases[b-wdzxrahusm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.phase-item[b-wdzxrahusm] {
    display: flex;
    gap: 8px;
    font-size: 0.8rem;
    padding: 4px 8px;
    border-radius: 6px;
    background: var(--color-page-bg, #f4f1ec);
}

.phase-item.warmup[b-wdzxrahusm] {
    border-left: 3px solid var(--purpose-warmup);
}

.phase-item.technique[b-wdzxrahusm] {
    border-left: 3px solid var(--purpose-technique);
}

.phase-item.core[b-wdzxrahusm] {
    border-left: 3px solid var(--purpose-corelift);
}

.phase-item.strength[b-wdzxrahusm] {
    border-left: 3px solid var(--purpose-strength);
}

.phase-item.accessory[b-wdzxrahusm] {
    border-left: 3px solid var(--purpose-accessory);
}

.phase-label[b-wdzxrahusm] {
    min-width: 70px;
    font-weight: 600;
    color: var(--color-neutral-medium);
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
}

.phase-exercise[b-wdzxrahusm] {
    color: var(--color-neutral-dark);
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
    .day-type-grid[b-wdzxrahusm] {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .week-template-grid[b-wdzxrahusm],
    .template-grid[b-wdzxrahusm] {
        grid-template-columns: 1fr;
    }
    
    .week-planning-button[b-wdzxrahusm] {
        padding: 12px 16px;
    }
    
    .week-planning-button .button-icon[b-wdzxrahusm] {
        width: 40px;
        height: 40px;
    }
    
    .day-selector-grid[b-wdzxrahusm] {
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
    }
    
    .day-selector-tile[b-wdzxrahusm] {
        padding: 10px 6px;
    }
    
    .day-selector-tile .day-number[b-wdzxrahusm] {
        font-size: 1.2rem;
    }
}

/* =================================
   DAY SELECTOR STYLES (Using FluentCalendar)
   ================================= */

.calendar-container[b-wdzxrahusm] {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

/* Style the FluentCalendar to fit the dialog */
.calendar-container fluent-calendar[b-wdzxrahusm] {
    --calendar-width: 100%;
    max-width: 320px;
}

.date-warning[b-wdzxrahusm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: rgba(255, 152, 0, 0.1);
    border: 1px solid rgba(255, 152, 0, 0.3);
    border-radius: 8px;
    color: #e65100;
    font-size: 0.85rem;
    margin-bottom: 16px;
}

.day-selection-actions[b-wdzxrahusm] {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}
/* /Components/Workout/Dialogs/LogWorkoutDialog.razor.rz.scp.css */
/* Log Workout Dialog — Planner personality */

[b-25d75kkwje] .log-workout-dialog {
    --dialog-width: min(95vw, 560px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

.planner-dialog-header[b-25d75kkwje] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0;
}

.dialog-eyebrow[b-25d75kkwje] {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--domain-workout-accent, #4f6d8c);
}

.dialog-title[b-25d75kkwje] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    line-height: 1.2;
}

.dialog-subtitle[b-25d75kkwje] {
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

.log-workout-content[b-25d75kkwje] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.detail-section[b-25d75kkwje] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.detail-section h4[b-25d75kkwje] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    margin: 0;
}

.exercises-summary[b-25d75kkwje] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 240px;
    overflow-y: auto;
    padding: 12px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 8px;
    box-shadow: var(--shadow-paper-sm);
}

.exercise-summary-item[b-25d75kkwje] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: var(--color-neutral-dark);
}

.notes-hint[b-25d75kkwje] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: var(--color-neutral-medium);
    margin-top: 6px;
}
/* /Components/Workout/Dialogs/ManageCyclesDialog.razor.rz.scp.css */
/* =================================
   MANAGE CYCLES DIALOG STYLES
   ================================= */

[b-uukbr9cmgy] .manage-cycles-dialog {
    --dialog-width: min(95vw, 720px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

/* Base `.dialog-scroll-area` is defined globally in wwwroot/css/app.css.
   This dialog uses a back-button header so reserves ~140px for chrome. */
.dialog-scroll-area[b-uukbr9cmgy] {
    max-height: calc(90vh - 140px);
}

.manage-cycles-content[b-uukbr9cmgy] {
    padding: 8px;
    min-height: 400px;
}

/* Dialog Header with Back Button */
.dialog-header-with-back[b-uukbr9cmgy] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dialog-header-with-back > span[b-uukbr9cmgy] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* Dialog Header with Close Button */
.dialog-header-with-close[b-uukbr9cmgy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* List Header */
.cycles-list-header[b-uukbr9cmgy] {
    margin-bottom: 24px;
}

.list-subtitle[b-uukbr9cmgy] {
    color: var(--color-neutral-medium);
    margin: 0 0 16px 0;
    font-size: 0.9rem;
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
}

/* Loading and Empty States */
.loading-indicator[b-uukbr9cmgy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    gap: 12px;
    color: var(--color-neutral-medium);
}

.empty-state[b-uukbr9cmgy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--color-neutral-medium);
}

.empty-state h4[b-uukbr9cmgy] {
    margin: 16px 0 8px 0;
    color: var(--color-neutral-dark);
    font-family: var(--font-display, Georgia, serif);
}

.empty-state p[b-uukbr9cmgy] {
    margin: 0;
    font-size: 0.9rem;
}

/* Cycles Grid */
.cycles-grid[b-uukbr9cmgy] {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

@media (max-width: 600px) {
    .cycles-grid[b-uukbr9cmgy] {
        grid-template-columns: 1fr;
    }
}

/* Cycle Card */
.cycle-card[b-uukbr9cmgy] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: var(--shadow-paper-sm);
    transition: all 0.2s ease;
}

.cycle-card:hover[b-uukbr9cmgy] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    box-shadow: var(--shadow-paper-md, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.cycle-card-header[b-uukbr9cmgy] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.cycle-card-header h4[b-uukbr9cmgy] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    flex: 1;
    word-break: break-word;
}

.cycle-actions[b-uukbr9cmgy] {
    display: flex;
    gap: 4px;
}

.cycle-card-body[b-uukbr9cmgy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cycle-info-row[b-uukbr9cmgy] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

/* Edit Form */
.form-section[b-uukbr9cmgy] {
    margin-bottom: 16px;
}

.form-row[b-uukbr9cmgy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 500px) {
    .form-row[b-uukbr9cmgy] {
        grid-template-columns: 1fr;
    }
}

.form-row > div[b-uukbr9cmgy] {
    min-width: 0;
}

.form-actions[b-uukbr9cmgy] {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--hairline);
}

.form-actions > *[b-uukbr9cmgy] {
    flex: 1;
}
/* /Components/Workout/Dialogs/ManageExercisesDialog.razor.rz.scp.css */
/* =================================
   MANAGE EXERCISES DIALOG STYLES
   ================================= */

[b-u2hdbrxsb9] .manage-exercises-dialog {
    --dialog-width: min(95vw, 780px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

/* Base `.dialog-scroll-area` is defined globally in wwwroot/css/app.css.
   This dialog uses a back-button header so reserves ~140px for chrome. */
.dialog-scroll-area[b-u2hdbrxsb9] {
    max-height: calc(90vh - 140px);
}

.manage-exercises-content[b-u2hdbrxsb9] {
    padding: 8px;
    min-height: 500px;
}

/* Dialog Header with Back Button */
.dialog-header-with-back[b-u2hdbrxsb9] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dialog-header-with-back > span[b-u2hdbrxsb9] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* Dialog Header with Close Button */
.dialog-header-with-close[b-u2hdbrxsb9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Exercise Header Actions */
.exercise-header-actions[b-u2hdbrxsb9] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

/* List Header */
.exercises-list-header[b-u2hdbrxsb9] {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.header-top[b-u2hdbrxsb9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

@media (max-width: 600px) {
    .header-top[b-u2hdbrxsb9] {
        flex-direction: column;
        align-items: stretch;
    }
}

.list-subtitle[b-u2hdbrxsb9] {
    color: var(--color-neutral-medium);
    margin: 0;
    font-size: 0.9rem;
    flex: 1;
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
}

/* Loading and Empty States */
.loading-indicator[b-u2hdbrxsb9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    gap: 12px;
    color: var(--color-neutral-medium);
}

.empty-state[b-u2hdbrxsb9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--color-neutral-medium);
}

.empty-state h4[b-u2hdbrxsb9] {
    margin: 16px 0 8px 0;
    color: var(--color-neutral-dark);
    font-family: var(--font-display, Georgia, serif);
}

.empty-state p[b-u2hdbrxsb9] {
    margin: 0;
    font-size: 0.9rem;
}

/* Exercises List */
.exercises-list[b-u2hdbrxsb9] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 500px;
    overflow-y: auto;
    padding-right: 8px;
}

/* Exercise Card */
.exercise-card[b-u2hdbrxsb9] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: var(--shadow-paper-sm);
    transition: all 0.2s ease;
}

.exercise-card:hover[b-u2hdbrxsb9] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    box-shadow: var(--shadow-paper-md, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.exercise-card-header[b-u2hdbrxsb9] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.exercise-title[b-u2hdbrxsb9] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.exercise-title h4[b-u2hdbrxsb9] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    word-break: break-word;
}

.exercise-description[b-u2hdbrxsb9] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-neutral-medium);
    line-height: 1.4;
}

.exercise-details[b-u2hdbrxsb9] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.exercise-detail-item[b-u2hdbrxsb9] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

.exercise-detail-item strong[b-u2hdbrxsb9] {
    color: var(--color-neutral-dark);
    font-weight: 500;
}

.exercise-video[b-u2hdbrxsb9] {
    padding-top: 8px;
    border-top: 1px solid var(--hairline);
}

/* Edit Form */
.form-section[b-u2hdbrxsb9] {
    margin-bottom: 16px;
}

.form-row[b-u2hdbrxsb9] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 500px) {
    .form-row[b-u2hdbrxsb9] {
        grid-template-columns: 1fr;
    }
}

.form-row > div[b-u2hdbrxsb9] {
    min-width: 0;
}

.form-actions[b-u2hdbrxsb9] {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--hairline);
}

.form-actions > *[b-u2hdbrxsb9] {
    flex: 1;
}

/* Scrollbar Styling */
.exercises-list[b-u2hdbrxsb9]::-webkit-scrollbar {
    width: 8px;
}

.exercises-list[b-u2hdbrxsb9]::-webkit-scrollbar-track {
    background: var(--color-page-bg, #f4f1ec);
    border-radius: 4px;
}

.exercises-list[b-u2hdbrxsb9]::-webkit-scrollbar-thumb {
    background: var(--hairline);
    border-radius: 4px;
}

.exercises-list[b-u2hdbrxsb9]::-webkit-scrollbar-thumb:hover {
    background: var(--color-neutral-medium);
}
/* /Components/Workout/Dialogs/ManagePhasesDialog.razor.rz.scp.css */
/* =================================
   MANAGE PHASES DIALOG STYLES
   ================================= */

[b-0obq8g6p0g] .manage-phases-dialog {
    --dialog-width: min(95vw, 680px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

/* Base `.dialog-scroll-area` is defined globally in wwwroot/css/app.css.
   This dialog uses a back-button header so reserves ~140px for chrome. */
.dialog-scroll-area[b-0obq8g6p0g] {
    max-height: calc(90vh - 140px);
}

.manage-phases-content[b-0obq8g6p0g] {
    padding: 8px;
    min-height: 400px;
}

/* Dialog Header with Back Button */
.dialog-header-with-back[b-0obq8g6p0g] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dialog-header-with-back > span[b-0obq8g6p0g] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* List Header */
.phases-list-header[b-0obq8g6p0g] {
    margin-bottom: 24px;
}

.list-subtitle[b-0obq8g6p0g] {
    color: var(--color-neutral-medium);
    margin: 0 0 16px 0;
    font-size: 0.9rem;
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
}

/* Loading and Empty States */
.loading-indicator[b-0obq8g6p0g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    gap: 12px;
    color: var(--color-neutral-medium);
}

.empty-state[b-0obq8g6p0g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--color-neutral-medium);
}

.empty-state h4[b-0obq8g6p0g] {
    margin: 16px 0 8px 0;
    color: var(--color-neutral-dark);
    font-family: var(--font-display, Georgia, serif);
}

.empty-state p[b-0obq8g6p0g] {
    margin: 0;
    font-size: 0.9rem;
}

/* Phases List */
.phases-list[b-0obq8g6p0g] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Phase Card */
.phase-card[b-0obq8g6p0g] {
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: var(--shadow-paper-sm);
    transition: all 0.2s ease;
}

.phase-card:hover[b-0obq8g6p0g] {
    border-color: var(--domain-workout-accent, #4f6d8c);
    box-shadow: var(--shadow-paper-md, 0 2px 8px rgba(0, 0, 0, 0.08));
}

.phase-card-header[b-0obq8g6p0g] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.phase-title[b-0obq8g6p0g] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.phase-title h4[b-0obq8g6p0g] {
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    word-break: break-word;
}

.phase-actions[b-0obq8g6p0g] {
    display: flex;
    gap: 4px;
}

.phase-description[b-0obq8g6p0g] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-neutral-medium);
    line-height: 1.4;
}

.phase-info[b-0obq8g6p0g] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.phase-info-item[b-0obq8g6p0g] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

/* Edit Form */
.form-section[b-0obq8g6p0g] {
    margin-bottom: 16px;
}

.form-actions[b-0obq8g6p0g] {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--hairline);
}

.form-actions > *[b-0obq8g6p0g] {
    flex: 1;
}
/* /Components/Workout/Dialogs/WorkoutDetailsDialog.razor.rz.scp.css */
/* Workout Details Dialog — Planner personality */

[b-zkk0o6fee7] .workout-details-dialog {
    --dialog-width: min(95vw, 580px);
    --dialog-height: 90vh;
    --dialog-max-height: 90vh;
}

.planner-dialog-header[b-zkk0o6fee7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 0;
}

.dialog-eyebrow[b-zkk0o6fee7] {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--domain-workout-accent, #4f6d8c);
}

.dialog-title[b-zkk0o6fee7] {
    font-family: var(--font-display, Georgia, serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    line-height: 1.2;
}

.dialog-subtitle[b-zkk0o6fee7] {
    font-family: var(--font-display, Georgia, serif);
    font-style: italic;
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
}

/* .dialog-scroll-area is defined globally in wwwroot/css/app.css. */

.workout-details-content[b-zkk0o6fee7] {
    padding: 8px;
}

.detail-section[b-zkk0o6fee7] {
    margin-bottom: 20px;
}

.detail-section:last-child[b-zkk0o6fee7] {
    margin-bottom: 0;
}

.detail-section h4[b-zkk0o6fee7] {
    margin: 0 0 8px 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
    letter-spacing: 0.01em;
}

.detail-section p[b-zkk0o6fee7] {
    margin: 0;
    color: var(--color-neutral-dark);
}

.completion-status[b-zkk0o6fee7] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.completion-date[b-zkk0o6fee7] {
    color: var(--color-neutral-medium);
    font-size: 0.9rem;
}

.exercises-list[b-zkk0o6fee7] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.exercise-detail-item[b-zkk0o6fee7] {
    padding: 12px 16px;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    border-left: 3px solid var(--domain-workout-accent, #4f6d8c);
    border-radius: 8px;
    box-shadow: var(--shadow-paper-sm);
}

.exercise-detail-item.purpose-warmup[b-zkk0o6fee7] { border-left-color: var(--purpose-warmup); }
.exercise-detail-item.purpose-technique[b-zkk0o6fee7] { border-left-color: var(--purpose-technique); }
.exercise-detail-item.purpose-corelift[b-zkk0o6fee7] { border-left-color: var(--purpose-corelift); }
.exercise-detail-item.purpose-strength[b-zkk0o6fee7] { border-left-color: var(--purpose-strength); }
.exercise-detail-item.purpose-accessory[b-zkk0o6fee7] { border-left-color: var(--purpose-accessory); }

.exercise-name-with-purpose[b-zkk0o6fee7] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.purpose-label[b-zkk0o6fee7] {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-neutral-medium);
}

.purpose-label.purpose-warmup[b-zkk0o6fee7] { color: var(--purpose-warmup); }
.purpose-label.purpose-technique[b-zkk0o6fee7] { color: var(--purpose-technique); }
.purpose-label.purpose-corelift[b-zkk0o6fee7] { color: var(--purpose-corelift); }
.purpose-label.purpose-strength[b-zkk0o6fee7] { color: var(--purpose-strength); }
.purpose-label.purpose-accessory[b-zkk0o6fee7] { color: var(--purpose-accessory); }

.exercise-detail-header[b-zkk0o6fee7] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.exercise-detail-header strong[b-zkk0o6fee7] {
    font-size: 0.95rem;
    color: var(--color-neutral-dark);
}

.exercise-detail-stats[b-zkk0o6fee7] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.stat-badge[b-zkk0o6fee7] {
    font-size: 0.78rem;
    padding: 2px 10px;
    background: var(--color-page-bg, #f4f1ec);
    border: 1px solid var(--hairline);
    border-radius: 12px;
    color: var(--color-neutral-dark);
    font-weight: 500;
}

.percentage-badge[b-zkk0o6fee7] {
    background: var(--domain-workout-accent, #4f6d8c);
    border-color: var(--domain-workout-accent, #4f6d8c);
    color: white;
}

.weight-badge[b-zkk0o6fee7] {
    background: var(--color-neutral);
}

.exercise-detail-notes[b-zkk0o6fee7] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--hairline);
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

.no-exercises[b-zkk0o6fee7] {
    text-align: center;
    padding: 24px;
    color: var(--color-neutral-medium);
    font-style: italic;
    font-family: var(--font-display, Georgia, serif);
}

@media (max-width: 500px) {
    .exercise-detail-header[b-zkk0o6fee7] {
        flex-direction: column;
        align-items: flex-start;
    }
    .exercise-detail-stats[b-zkk0o6fee7] {
        width: 100%;
    }
}
/* /Components/Workout/Workout.razor.rz.scp.css */
/* =================================
   WORKOUT PLANNER COMPONENT STYLES
   ================================= */

/* =================================
   CONTAINER AND LAYOUT
   ================================= */
.workout-planner-container[b-vw3vojmbyy] {
     max-width: 1200px;
     margin: 0 auto;
     padding: 16px;
     background-color: transparent;
     border-radius: 0;
     box-shadow: none;
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    .workout-planner-container[b-vw3vojmbyy] {
        padding: 8px;
        border-radius: 0;
    }
}

/* =================================
   ERROR
   ================================= */

/* Error Message */
.error-message[b-vw3vojmbyy] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    background-color: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: var(--workout-border-radius-small);
    color: #dc2626;
    font-size: 0.9rem;
}

/* =================================
   FORM STYLING (FOR DIALOGS)
   ================================= */

/* Form Styling */
.form-actions[b-vw3vojmbyy] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    justify-content: flex-end;
}

/* Enhanced Exercise Management */
.workout-edit-container[b-vw3vojmbyy] {
    padding: 16px;
}

.workout-basic-info[b-vw3vojmbyy] {
    display: flex;
    align-items: end;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.exercise-management[b-vw3vojmbyy] {
    margin: 16px 0;
    padding: 16px;
    background-color: var(--color-secondary-light);
    border-radius: 8px;
    border: 1px solid var(--color-neutral-light);
}

.exercise-header[b-vw3vojmbyy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.exercise-header h5[b-vw3vojmbyy] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-primary);
}

.add-exercise-btn[b-vw3vojmbyy] {
    font-size: 0.9rem;
}

.exercise-list[b-vw3vojmbyy] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.exercise-edit-item[b-vw3vojmbyy] {
    display: flex;
    gap: 12px;
    padding: 12px;
    background-color: var(--color-neutral);
    border-radius: 8px;
    border: 1px solid var(--color-neutral-light);
}

.exercise-reorder[b-vw3vojmbyy] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.exercise-details[b-vw3vojmbyy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.exercise-name-row[b-vw3vojmbyy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.exercise-name-row strong[b-vw3vojmbyy] {
    color: var(--color-primary);
    font-size: 1rem;
}

.remove-exercise-btn[b-vw3vojmbyy] {
    color: var(--color-danger) !important;
}

.exercise-params[b-vw3vojmbyy] {
    display: flex;
    gap: 12px;
    align-items: end;
    flex-wrap: wrap;
}

.no-exercises-edit[b-vw3vojmbyy] {
    text-align: center;
    color: var(--color-neutral-medium);
    font-style: italic;
    padding: 24px;
    margin: 0;
}

/* Add Exercise Dialog */
.add-exercise-content[b-vw3vojmbyy] {
    padding: 16px 0;
}

.exercise-params-grid[b-vw3vojmbyy] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

/* Generate Workout Dialog */
.generate-workout-content[b-vw3vojmbyy] {
    padding: 16px 0;
}

/* Enhanced Template Header */
.template-header[b-vw3vojmbyy] {
    margin-bottom: 24px;
    text-align: center;
}

.template-title[b-vw3vojmbyy] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 8px;
}

.template-title h3[b-vw3vojmbyy] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.template-title .header-icon[b-vw3vojmbyy] {
    color: var(--color-accent);
    font-size: 1.8rem;
}

.template-subtitle[b-vw3vojmbyy] {
    font-size: 1rem;
    color: var(--color-neutral-medium);
    margin: 0;
    font-style: italic;
}

/* Template Grid Layout */
.template-grid[b-vw3vojmbyy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

/* Template Tiles */
.template-tile[b-vw3vojmbyy] {
    background: linear-gradient(135deg, var(--color-neutral), var(--color-secondary-light));
    border: 2px solid var(--color-neutral-light);
    border-radius: 16px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 140px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
}

.template-tile[b-vw3vojmbyy]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.template-tile:hover[b-vw3vojmbyy] {
    border-color: var(--color-primary);
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 12px 32px rgba(59, 130, 246, 0.2);
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-accent-light));
}

.template-tile:hover[b-vw3vojmbyy]::before {
    opacity: 1;
}

.template-tile-header[b-vw3vojmbyy] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.template-tile-icon[b-vw3vojmbyy] {
    font-size: 2rem;
    color: var(--color-primary);
    transition: all 0.3s ease;
}

.template-tile:hover .template-tile-icon[b-vw3vojmbyy] {
    color: var(--color-accent);
    transform: scale(1.1) rotate(5deg);
}

.template-tile-name[b-vw3vojmbyy] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-neutral-dark);
    margin: 0;
    line-height: 1.3;
}

.template-tile-content[b-vw3vojmbyy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.template-tile-description[b-vw3vojmbyy] {
    font-size: 0.95rem;
    color: var(--color-neutral-medium);
    margin: 0;
    line-height: 1.4;
    flex: 1;
}

.template-tile-exercises[b-vw3vojmbyy] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.exercise-preview[b-vw3vojmbyy] {
    background-color: var(--color-secondary-light);
    color: var(--color-primary);
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}

.exercise-count[b-vw3vojmbyy] {
    background-color: var(--color-accent-light);
    color: var(--color-accent);
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 768px) {
    .workout-planner-container[b-vw3vojmbyy] {
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .workout-planner-container[b-vw3vojmbyy] {
	   padding: 8px;
    }
}
/* /Components/Workout/WorkoutDiscover.razor.rz.scp.css */
/* ========================================
   WORKOUT DISCOVER - Responsive Styles
   ======================================== */

.discover-container[b-h9nqfvcqcf] {
    padding: 24px;
    max-width: 1400px;
    margin: 0 auto;
}

/* ========================================
   MODERN PAGE HEADER
   ======================================== */

.modern-page-header[b-h9nqfvcqcf] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
    padding: 0 8px;
}

.title-section[b-h9nqfvcqcf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.page-title[b-h9nqfvcqcf] {
    margin: 0;
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--neutral-foreground-rest);
    letter-spacing: -0.5px;
}

.page-subtitle[b-h9nqfvcqcf] {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    color: var(--neutral-foreground-hint);
}

.header-toolbar[b-h9nqfvcqcf] {
    display: flex;
    align-items: center;
}

.toolbar-pill[b-h9nqfvcqcf] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--neutral-layer-card-container);
    border: 1px solid var(--neutral-stroke-layer-rest);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    border-radius: 40px;
    padding: 10px;
}

@media (max-width: 768px) {
    .modern-page-header[b-h9nqfvcqcf] {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

/* ========================================
   SECTION HEADERS
   ======================================== */

.section-header[b-h9nqfvcqcf] {
    margin-bottom: 24px;
    text-align: center;
}

.section-header h3[b-h9nqfvcqcf] {
    margin: 0 0 8px 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--neutral-foreground-rest);
}

.section-header p[b-h9nqfvcqcf] {
    margin: 0;
    color: var(--neutral-foreground-hint);
    font-size: 1rem;
}

/* ========================================
   CONCEPTS SECTION
   ======================================== */

.concepts-section[b-h9nqfvcqcf] {
    margin-bottom: 48px;
}

.concept-cards[b-h9nqfvcqcf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    margin-bottom: 24px;
}

.concept-card[b-h9nqfvcqcf] {
    border-top: 4px solid var(--domain-workout-accent);
    padding: 20px 24px;
    transition: transform 0.2s ease;
}

.concept-card:hover[b-h9nqfvcqcf] {
    transform: translateY(-2px);
}

.concept-content h4[b-h9nqfvcqcf] {
    margin: 0 0 8px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--neutral-foreground-rest);
}

.concept-content p[b-h9nqfvcqcf] {
    margin: 0 0 12px 0;
    font-size: 0.9rem;
    color: var(--neutral-foreground-hint);
    line-height: 1.5;
}

.concept-tips[b-h9nqfvcqcf] {
    margin: 0;
    padding-left: 20px;
    font-size: 0.85rem;
    color: var(--neutral-foreground-hint);
}

.concept-tips li[b-h9nqfvcqcf] {
    margin-bottom: 4px;
}

.concept-tips li:last-child[b-h9nqfvcqcf] {
    margin-bottom: 0;
}

/* ========================================
   QUICK START GUIDE
   ======================================== */

.quick-start[b-h9nqfvcqcf] {
    background: var(--neutral-layer-card-container);
    border: 2px dashed var(--neutral-stroke-layer-rest);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.quick-start.expanded[b-h9nqfvcqcf] {
    border-style: solid;
    border-color: var(--domain-workout-accent);
}

.quick-start-toggle[b-h9nqfvcqcf] {
    width: 100%;
    padding: 16px;
    justify-content: center;
    font-weight: 500;
}

.quick-start-content[b-h9nqfvcqcf] {
    padding: 0 24px 24px 24px;
    border-top: 1px solid var(--neutral-stroke-layer-rest);
}

.setup-steps[b-h9nqfvcqcf] {
    margin: 20px 0;
    padding-left: 24px;
    counter-reset: step-counter;
    list-style: none;
}

.setup-steps li[b-h9nqfvcqcf] {
    position: relative;
    padding: 12px 0 12px 16px;
    border-left: 2px solid var(--neutral-stroke-layer-rest);
    margin-left: 12px;
}

.setup-steps li[b-h9nqfvcqcf]::before {
    content: counter(step-counter);
    counter-increment: step-counter;
    position: absolute;
    left: -14px;
    top: 12px;
    width: 24px;
    height: 24px;
    background: var(--domain-workout-accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
}

.setup-steps li strong[b-h9nqfvcqcf] {
    display: block;
    color: var(--neutral-foreground-rest);
    margin-bottom: 4px;
}

.setup-steps li span[b-h9nqfvcqcf] {
    font-size: 0.9rem;
    color: var(--neutral-foreground-hint);
}

.quick-start-action[b-h9nqfvcqcf] {
    text-align: center;
    padding-top: 16px;
}

/* ========================================
   EXERCISES SECTION
   ======================================== */

.exercises-section[b-h9nqfvcqcf] {
    margin-bottom: 32px;
}

.exercise-controls[b-h9nqfvcqcf] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.search-box[b-h9nqfvcqcf] {
    max-width: 400px;
}

.filter-chips[b-h9nqfvcqcf] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.filter-chip[b-h9nqfvcqcf] {
    font-size: 0.85rem;
    padding: 6px 12px;
}

/* ========================================
   EXERCISE GRID
   ======================================== */

.exercise-grid[b-h9nqfvcqcf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
}

.exercise-card[b-h9nqfvcqcf] {
    border-top: 4px solid var(--domain-workout-accent);
    overflow: hidden;
    transition: transform 0.2s ease;
    display: flex;
    flex-direction: column;
}

.exercise-card:hover[b-h9nqfvcqcf] {
    transform: translateY(-2px);
    border-top-color: var(--color-accent);
}

.exercise-card-clickable[b-h9nqfvcqcf] {
    cursor: pointer;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.exercise-card-content[b-h9nqfvcqcf] {
    flex: 1;
}

.exercise-title-row[b-h9nqfvcqcf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

.exercise-card-content h4[b-h9nqfvcqcf] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--neutral-foreground-rest);
    line-height: 1.3;
    flex: 1;
}

.difficulty-badge[b-h9nqfvcqcf] {
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.difficulty-beginner[b-h9nqfvcqcf] {
    background: #d4edda;
    color: #155724;
}

.difficulty-intermediate[b-h9nqfvcqcf] {
    background: #fff3cd;
    color: #856404;
}

.difficulty-advanced[b-h9nqfvcqcf] {
    background: #f8d7da;
    color: #721c24;
}

.difficulty-expert[b-h9nqfvcqcf] {
    background: #d1c4e9;
    color: #4a148c;
}

.difficulty-default[b-h9nqfvcqcf] {
    background: var(--neutral-layer-floating);
    color: var(--neutral-foreground-hint);
}

.exercise-focus[b-h9nqfvcqcf] {
    display: block;
    font-size: 0.85rem;
    color: var(--domain-workout-accent);
    margin-bottom: 4px;
}

.exercise-category[b-h9nqfvcqcf] {
    display: inline-block;
    font-size: 0.75rem;
    background: var(--neutral-layer-floating);
    color: var(--neutral-foreground-hint);
    padding: 2px 8px;
    border-radius: 8px;
}

.exercise-card-footer[b-h9nqfvcqcf] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    padding: 8px 12px;
    border-top: 1px solid var(--neutral-stroke-layer-rest);
    background: var(--neutral-layer-floating);
}

/* ========================================
   LOADING & EMPTY STATES
   ======================================== */

.loading-state[b-h9nqfvcqcf],
.empty-state[b-h9nqfvcqcf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 64px 24px;
    text-align: center;
    color: var(--neutral-foreground-hint);
}

.loading-state p[b-h9nqfvcqcf],
.empty-state p[b-h9nqfvcqcf] {
    margin: 16px 0;
}

.empty-state h4[b-h9nqfvcqcf] {
    margin: 16px 0 8px 0;
    color: var(--neutral-foreground-rest);
}

.load-more[b-h9nqfvcqcf] {
    display: flex;
    justify-content: center;
    padding: 24px;
}

/* ========================================
   EXERCISE DETAILS DIALOG
   ======================================== */

.exercise-details-dialog[b-h9nqfvcqcf] {
    max-width: 500px;
}

.dialog-header-content[b-h9nqfvcqcf] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.exercise-detail-content[b-h9nqfvcqcf] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.detail-row[b-h9nqfvcqcf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.detail-label[b-h9nqfvcqcf] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--neutral-foreground-hint);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-value[b-h9nqfvcqcf] {
    font-size: 1rem;
    color: var(--neutral-foreground-rest);
}

.detail-row.description p[b-h9nqfvcqcf] {
    margin: 0;
    line-height: 1.5;
}

/* ========================================
   RESPONSIVE - TABLET
   ======================================== */

@media (max-width: 1024px) {
    .discover-container[b-h9nqfvcqcf] {
        padding: 20px;
    }

    .concept-cards[b-h9nqfvcqcf] {
        grid-template-columns: repeat(2, 1fr);
    }

    .exercise-grid[b-h9nqfvcqcf] {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

/* ========================================
   RESPONSIVE - MOBILE
   ======================================== */

@media (max-width: 768px) {
    .discover-container[b-h9nqfvcqcf] {
        padding: 16px;
    }

    .discover-hero[b-h9nqfvcqcf] {
        padding: 20px 16px;
        border-radius: 10px;
    }

    .discover-hero h2[b-h9nqfvcqcf] {
        font-size: 1.25rem;
    }

    .discover-hero p[b-h9nqfvcqcf] {
        font-size: 0.9rem;
    }

    .concept-cards[b-h9nqfvcqcf] {
        grid-template-columns: 1fr;
    }

    .concept-card[b-h9nqfvcqcf] {
        text-align: left;
    }

    .concept-tips[b-h9nqfvcqcf] {
        text-align: left;
    }

    .exercise-controls[b-h9nqfvcqcf] {
        gap: 12px;
    }

    .search-box[b-h9nqfvcqcf] {
        max-width: none;
    }

    .filter-chips[b-h9nqfvcqcf] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding-bottom: 0;
    }

    .filter-chip[b-h9nqfvcqcf] {
        flex-shrink: 0;
        padding: 4px 10px;
        font-size: 0.8rem;
    }

    .exercise-grid[b-h9nqfvcqcf] {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .exercise-card-clickable[b-h9nqfvcqcf] {
        padding: 12px;
    }

    .exercise-card-header[b-h9nqfvcqcf] {
        padding: 0 0 8px 0;
    }

    .exercise-card-content[b-h9nqfvcqcf] {
        padding: 0;
    }

    .exercise-card-content h4[b-h9nqfvcqcf] {
        font-size: 0.9rem;
    }

    .exercise-card-footer[b-h9nqfvcqcf] {
        padding: 8px 12px;
    }

    .setup-steps li[b-h9nqfvcqcf] {
        padding: 10px 0 10px 12px;
    }
}

/* ========================================
   RESPONSIVE - SMALL MOBILE
   ======================================== */

@media (max-width: 480px) {
    .discover-container[b-h9nqfvcqcf] {
        padding: 12px;
    }

    .discover-hero[b-h9nqfvcqcf] {
        padding: 16px 12px;
        margin-bottom: 20px;
    }

    .discover-hero h2[b-h9nqfvcqcf] {
        font-size: 1.1rem;
    }

    .hero-icon[b-h9nqfvcqcf] {
        display: none;
    }

    .section-header h3[b-h9nqfvcqcf] {
        font-size: 1.25rem;
    }
}
/* /Components/Workout/WorkoutManage.razor.rz.scp.css */
/* ===========================================================================
   WORKOUT MANAGE - TWO-PANEL LAYOUT WITH FILTER + LIST
   
   FLUENT UI LAYOUT PATTERN:
   -------------------------
   FluentUI Blazor components render as Web Components with shadow DOM.
   Wrap them in container <div> elements for stable layout control.
   Use 'auto' sizing in grids to let components size naturally.
   =========================================================================== */

/* ===========================================================================
   MODERN PAGE HEADER
   =========================================================================== */

.modern-page-header[b-m20z9llecm] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
    padding: 0 8px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.title-section[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.page-title[b-m20z9llecm] {
    margin: 0;
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--neutral-foreground-rest);
    letter-spacing: -0.5px;
}

.page-subtitle[b-m20z9llecm] {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    color: var(--neutral-foreground-hint);
}

.header-toolbar[b-m20z9llecm] {
    display: flex;
    align-items: center;
}

.toolbar-pill[b-m20z9llecm] {
    display: flex;
    align-items: center;
    background: var(--neutral-layer-card-container);
    border: 1px solid var(--neutral-stroke-layer-rest);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    border-radius: 40px;
    padding: 6px 8px;
    gap: 8px;
}

.divider[b-m20z9llecm] {
    width: 1px;
    height: 24px;
    background: var(--neutral-stroke-layer-rest);
    margin: 0 4px;
}

@media (max-width: 768px) {
    .modern-page-header[b-m20z9llecm] {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

/* Main Container - Two Panel Layout */
.manage-workout-container[b-m20z9llecm] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    min-height: 600px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px;
}

/* Responsive: Stack on mobile */
@media (max-width: 900px) {
    .manage-workout-container[b-m20z9llecm] {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Panel Headers */
.panel-header[b-m20z9llecm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-neutral-light);
}

.panel-header h4[b-m20z9llecm] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-neutral-dark);
}

/* ===========================================================================
   LEFT PANEL: Workout List
   =========================================================================== */

.workout-list-panel[b-m20z9llecm] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 150px);
}

/* Filter Section */
.filter-section[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-neutral-light);
    margin-bottom: 16px;
}

.filter-row[b-m20z9llecm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.filter-row > div[b-m20z9llecm] {
    min-width: 0;
}

.filter-actions[b-m20z9llecm] {
    display: flex;
    gap: 8px;
}

.filter-actions > *[b-m20z9llecm] {
    flex: 1;
}

/* Workout List Section */
.workout-list-section[b-m20z9llecm] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.workout-items[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    overflow-y: auto;
}

/* Individual Workout Item */
.workout-list-item[b-m20z9llecm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: white;
    border-radius: 8px;
    border: 1px solid var(--color-neutral-light);
    cursor: pointer;
    transition: all 0.2s ease;
}

.workout-list-item:hover[b-m20z9llecm] {
    border-color: var(--color-primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.workout-list-item.selected[b-m20z9llecm] {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
}

.workout-item-date[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    min-height: 50px;
    padding: 4px 8px;
    border-radius: 25px; /* Pill-shaped / Circular */
    background: rgba(0, 120, 212, 0.1);
    border: 1px solid rgba(0, 120, 212, 0.2);
}

.workout-item-date .day[b-m20z9llecm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--domain-workout-accent);
    line-height: 1;
}

.workout-item-date .month[b-m20z9llecm] {
    font-size: 0.7rem;
    text-transform: uppercase;
    color: var(--domain-workout-accent);
    opacity: 0.8;
    font-weight: 600;
}

.workout-item-info[b-m20z9llecm] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.workout-item-type[b-m20z9llecm] {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--color-neutral-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.workout-item-phase[b-m20z9llecm] {
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
}

.workout-item-duration[b-m20z9llecm] {
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
    white-space: nowrap;
}

/* Loading and Empty States */
.loading-indicator[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    gap: 12px;
    color: var(--color-neutral-medium);
}

.empty-list[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    text-align: center;
    color: var(--color-neutral-medium);
}

.empty-list p[b-m20z9llecm] {
    margin: 8px 0 0 0;
    font-size: 0.9rem;
}

/* Pagination */
.pagination[b-m20z9llecm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 0;
    border-top: 1px solid var(--color-neutral-light);
    margin-top: auto;
}

.page-info[b-m20z9llecm] {
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

.total-count[b-m20z9llecm] {
    text-align: center;
    font-size: 0.75rem;
    color: var(--color-neutral-medium);
    padding-top: 8px;
}

/* ===========================================================================
   RIGHT PANEL: Workout Details
   =========================================================================== */

.workout-detail-panel[b-m20z9llecm] {
    padding: 20px;
    overflow-y: auto;
    max-height: calc(100vh - 150px);
}

/* Workout Basic Info */
.workout-basic-info[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.info-row[b-m20z9llecm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.info-row > div[b-m20z9llecm] {
    min-width: 0;
}

.info-row.full-width[b-m20z9llecm] {
    grid-template-columns: 1fr;
}

/* Exercise Management */
.exercise-management[b-m20z9llecm] {
    border-top: 1px solid var(--color-neutral-light);
    padding-top: 16px;
    margin-top: 16px;
}

.exercise-header[b-m20z9llecm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.exercise-header h5[b-m20z9llecm] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.exercise-list[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
}

.exercise-edit-item[b-m20z9llecm] {
    display: flex;
    gap: 8px;
    padding: 12px;
    background: white;
    border-radius: 8px;
    border: 1px solid var(--color-neutral-light);
}

.exercise-reorder[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.exercise-details[b-m20z9llecm] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.exercise-name-row[b-m20z9llecm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.exercise-name-row strong[b-m20z9llecm] {
    color: var(--color-primary);
    font-size: 0.95rem;
}

.exercise-params-row[b-m20z9llecm] {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 8px;
}

.exercise-params-row > div[b-m20z9llecm] {
    min-width: 0;
}

@media (max-width: 600px) {
    .exercise-params-row[b-m20z9llecm] {
        grid-template-columns: 1fr 1fr;
    }
}

/* Empty State */
.empty-state[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    color: var(--color-neutral-medium);
    min-height: 300px;
}

.empty-state h4[b-m20z9llecm] {
    margin: 16px 0 8px 0;
    color: var(--color-neutral-dark);
}

.empty-state p[b-m20z9llecm] {
    margin: 0;
    font-size: 0.9rem;
}

.no-exercises-edit[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
    text-align: center;
    background: var(--color-tertiary-light);
    border-radius: 8px;
    color: var(--color-neutral-medium);
}

.no-exercises-edit p[b-m20z9llecm] {
    margin: 8px 0 0 0;
}

/* Action Buttons */
.workout-actions[b-m20z9llecm] {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--color-neutral-light);
}

/* ===========================================================================
   ADD EXERCISE DIALOG
   =========================================================================== */

.add-exercise-dialog[b-m20z9llecm] {
    --dialog-width: min(95vw, 500px);
}

.add-exercise-content[b-m20z9llecm] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
/* /Components/Workout/WorkoutView.razor.rz.scp.css */
/* =================================
   WORKOUT PLANNER VIEW STYLES
   ================================= */

/* =================================
   RESPONSIVE VISIBILITY HELPERS
   ================================= */

.desktop-only[b-hbtwknv491] {
    display: flex;
}

.mobile-only[b-hbtwknv491] {
    display: none;
}

@media (max-width: 768px) {
    .desktop-only[b-hbtwknv491] {
        display: none !important;
    }
    
    .mobile-only[b-hbtwknv491] {
        display: block !important;
    }
}

/* =================================
   MODERN PAGE HEADER (Typography-Forward)
   ================================= */

.modern-page-header[b-hbtwknv491] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 32px;
    padding: 0 8px; /* Breathing room against the container edges */
}

.title-section[b-hbtwknv491] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.page-title[b-hbtwknv491] {
    margin: 0;
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--color-neutral-dark);
    letter-spacing: -0.5px;
}

.page-subtitle[b-hbtwknv491] {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    color: var(--color-neutral-medium);
}

.header-toolbar[b-hbtwknv491] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.toolbar-pill[b-hbtwknv491] {
    display: flex;
    align-items: center;
    background: var(--color-neutral);
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
    border-radius: 40px; /* Pill shape */
    padding: 6px 8px;
    gap: 8px;
}

.date-navigator[b-hbtwknv491] {
    min-width: 220px;
    justify-content: space-between;
}

.week-label[b-hbtwknv491] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-neutral-dark);
}

.action-group[b-hbtwknv491] {
    padding-left: 16px; /* A bit more space for the switch */
}

.switch-wrapper[b-hbtwknv491] {
    display: flex;
    align-items: center;
    margin-right: 8px;
}

.divider[b-hbtwknv491] {
    width: 1px;
    height: 24px;
    background: var(--hairline);
    margin: 0 4px;
}

@media (max-width: 768px) {
    .modern-page-header[b-hbtwknv491] {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    
    .header-toolbar[b-hbtwknv491] {
        width: 100%;
        justify-content: space-between;
    }
    
    .toolbar-pill[b-hbtwknv491] {
        flex: 1;
        justify-content: center;
    }
    
    .date-navigator[b-hbtwknv491] {
        order: 2; /* Put date navigator below actions on mobile */
        width: 100%;
    }
    
    .action-group[b-hbtwknv491] {
        order: 1;
        width: 100%;
        padding-left: 8px;
    }
}

/* =================================
   PLANNER BOARD (Kanban style)
   ================================= */

.planner-board-container[b-hbtwknv491] {
    display: flex;
    justify-content: center;
    width: 100%;
}

.planner-board[b-hbtwknv491] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    width: 100%;
    align-items: start;
}

/* Day Column as Lane */
.planner-column[b-hbtwknv491] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
}

.column-header[b-hbtwknv491] {
    margin-bottom: 12px;
    padding: 0 8px;
}

.day-indicator[b-hbtwknv491] {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.day-short[b-hbtwknv491] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-neutral-medium);
    text-transform: uppercase;
}

.day-badge[b-hbtwknv491] {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--color-neutral-dark);
    line-height: 1;
}

.planner-column.is-today .day-short[b-hbtwknv491],
.planner-column.is-today .day-badge[b-hbtwknv491] {
    color: var(--domain-workout-accent);
}

.planner-column.is-weekend[b-hbtwknv491] {
    opacity: 0.85;
}

.column-lane[b-hbtwknv491] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    min-height: 120px;
    padding: 0;
    background: transparent;
    border: none;
    transition: all 0.2s ease;
}

.column-lane.edit-mode-active[b-hbtwknv491] {
    background: transparent;
    border: none;
}

.empty-lane-state[b-hbtwknv491] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    color: var(--color-neutral-medium);
    opacity: 0.5;
}

/* Actions */
.lane-actions[b-hbtwknv491] {
    margin-bottom: 8px;
}

.action-spread[b-hbtwknv491] {
    display: flex;
    gap: 4px;
    background: var(--color-neutral);
    border-radius: 8px;
    padding: 4px;
    border: 1px solid var(--hairline);
    box-shadow: var(--shadow-paper-sm);
}

.add-block-btn[b-hbtwknv491] {
    width: 100%;
}

.drop-block-btn[b-hbtwknv491] {
    width: 100%;
    margin-top: 8px;
    animation: drop-pulse-b-hbtwknv491 1.5s infinite;
}

@keyframes drop-pulse-b-hbtwknv491 {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(79, 109, 140, 0.4); }
    50% { transform: scale(1.02); box-shadow: 0 0 0 4px rgba(79, 109, 140, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(79, 109, 140, 0); }
}

/* Workout Blocks — paper cards lifted off the page */
.workout-block[b-hbtwknv491] {
    cursor: pointer;
    background: var(--domain-workout-bg);
    border-radius: 18px;
    padding: 1.5rem 1.5rem 1.25rem;
    box-shadow: var(--shadow-paper-md);
    border: none;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.workout-block:hover[b-hbtwknv491] {
    box-shadow: var(--shadow-paper-lg);
    transform: translateY(-4px);
}

.workout-block.is-swapping[b-hbtwknv491] {
    outline: 2px dashed var(--domain-workout-accent);
    outline-offset: 2px;
    opacity: 0.7;
}

.workout-block.is-completed[b-hbtwknv491] {
    background: var(--domain-workout-bg);
    border-left: 4px solid var(--domain-workout-accent);
    opacity: 0.85;
}

.block-header[b-hbtwknv491] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.block-title[b-hbtwknv491] {
    margin: 0;
    font-size: 1.25rem;
    color: var(--color-neutral-dark);
}

.block-meta[b-hbtwknv491] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
    margin-bottom: 0;
    font-style: italic;
}

.status-icon.success[b-hbtwknv491] {
    color: var(--domain-nanny-accent); /* Sage green — on-brand success */
}

.completion-feedback[b-hbtwknv491] {
    display: flex;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--color-neutral-dark);
    background: var(--color-neutral);
    border-left: 3px solid var(--domain-nanny-accent);
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 0;
    font-style: italic;
    line-height: 1.5;
    box-shadow: var(--shadow-paper-sm);
}

.block-notes[b-hbtwknv491] {
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--color-neutral-medium);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Body holds notes + exercise stack; breathing room between them. */
.block-body[b-hbtwknv491] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 4px;
}

.exercise-stack[b-hbtwknv491] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mini-exercise[b-hbtwknv491] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    background: var(--color-neutral);
    border-radius: 6px;
    border-left: 3px solid transparent;
    box-shadow: var(--shadow-paper-sm);
}

.ex-primary[b-hbtwknv491] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--color-neutral-dark);
}

.ex-metrics[b-hbtwknv491] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--color-neutral-medium);
}

.ex-load[b-hbtwknv491] {
    color: var(--domain-workout-accent);
}

/* Colors matching existing logic */
.mini-exercise.purpose-warmup[b-hbtwknv491] { border-left-color: var(--purpose-warmup); }
.mini-exercise.purpose-technique[b-hbtwknv491] { border-left-color: var(--purpose-technique); }
.mini-exercise.purpose-corelift[b-hbtwknv491] { border-left-color: var(--purpose-corelift); }
.mini-exercise.purpose-strength[b-hbtwknv491] { border-left-color: var(--purpose-strength); }
.mini-exercise.purpose-accessory[b-hbtwknv491] { border-left-color: var(--purpose-accessory); }

