/* _content/DanceStudio/Components/ClassEditForm.razor.rz.scp.css */
/* Row of fields side by side */
.cef-row[b-9jtps1q3f9] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 0.5rem;
}

/* Individual field wrapper */
.cef-field-group[b-9jtps1q3f9] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 100px;
    margin-bottom: 0.5rem;
}

.cef-field-group label[b-9jtps1q3f9] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 0.2rem;
}

/* Narrow field (capacity, active checkbox) */
.cef-field-sm[b-9jtps1q3f9] {
    flex: 0 0 80px;
    min-width: 80px;
}

/* Meeting pattern block */
.cef-meeting-block[b-9jtps1q3f9] {
    border: 1px solid #dee2e6;
    border-radius: 0.4rem;
    padding: 0.65rem;
    margin-bottom: 0.65rem;
    background: #fff;
}

.cef-meeting-header[b-9jtps1q3f9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 0.5rem;
}

.cef-meeting-label[b-9jtps1q3f9] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Days of week toggles */
.cef-days-row[b-9jtps1q3f9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-bottom: 0.5rem;
}

.cef-day-toggle[b-9jtps1q3f9] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border: 1px solid #ced4da;
    border-radius: 0.3rem;
    cursor: pointer;
    background: #fff;
    color: #555;
    user-select: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.cef-day-toggle input[type="checkbox"][b-9jtps1q3f9] {
    display: none; /* hide native checkbox — the label itself is the toggle */
}

.cef-day-toggle.active[b-9jtps1q3f9] {
    background: #14b8a6;
    color: #fff;
    border-color: #14b8a6;
}

/* Align checkbox field to bottom of row (matches sibling fields with labels above) */
.cef-field-group.cef-checkbox[b-9jtps1q3f9] {
    justify-content: flex-end;
    padding-bottom: 0.15rem;
}

/* Custom checkbox — matches Users Edit styling */
.custom-checkbox[b-9jtps1q3f9] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

.custom-checkbox input[type="checkbox"][b-9jtps1q3f9] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.125rem;
    height: 1.125rem;
    border: 2px solid #d1d5db;
    border-radius: 3px;
    background-color: white;
    margin: 0;
    flex-shrink: 0;
    transition: all 0.2s;
    cursor: pointer;
}

.custom-checkbox input[type="checkbox"]:hover[b-9jtps1q3f9] {
    border-color: #14b8a6;
}

.custom-checkbox input[type="checkbox"]:checked[b-9jtps1q3f9] {
    background-color: #14b8a6;
    border-color: #14b8a6;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
}

.custom-checkbox input[type="checkbox"]:focus[b-9jtps1q3f9] {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
}

/* Instructor checkbox list */
.cef-instructor-list[b-9jtps1q3f9] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-height: 140px;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 0.4rem 0.5rem;
    background: #fff;
}

/* Dividers */
.cef-divider[b-9jtps1q3f9] {
    margin: 0.65rem 0;
    border-color: #dee2e6;
}

/* Save / Cancel / Delete actions */
.cef-actions[b-9jtps1q3f9] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.cef-actions .btn[b-9jtps1q3f9] {
    flex: 1;
}

/* Delete zone */
.cef-delete-zone[b-9jtps1q3f9] {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #f5c6cb;
}

/* Required field asterisk */
.cef-required[b-9jtps1q3f9] {
    color: #dc3545;
    margin-left: 0.15rem;
}

/* Days row error highlight */
.cef-days-row.has-error[b-9jtps1q3f9] {
    border: 1px solid #dc3545;
    border-radius: 0.3rem;
    padding: 0.3rem;
}

/* Inline error text under a field */
.cef-field-error[b-9jtps1q3f9] {
    font-size: 0.75rem;
    color: #dc3545;
    margin-top: 0.15rem;
    margin-bottom: 0.3rem;
}

/* Validation summary alert */
.cef-validation-alert[b-9jtps1q3f9] {
    font-size: 0.82rem;
    padding: 0.5rem 0.75rem;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
}

.cef-validation-alert ul[b-9jtps1q3f9] {
    padding-left: 1.2rem;
    margin-top: 0.25rem;
}
/* _content/DanceStudio/Pages/Attendance/Index.razor.rz.scp.css */
/* Two-column sticky layout */
.sp-layout[b-ua0wjtcb7i] { display: grid; grid-template-columns: 340px 1fr; gap: 1.25rem; align-items: start; }

.sp-left[b-ua0wjtcb7i] {
    position: sticky;
    top: 0.5rem;
    max-height: 80vh;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

.sp-left-header[b-ua0wjtcb7i] { padding: 0.85rem 0.85rem 0.5rem; border-bottom: 1px solid #f1f3f5; }
.sp-left-header h5[b-ua0wjtcb7i] { margin: 0 0 0.5rem; font-size: 0.9rem; font-weight: 700; color: #111827; }

.sp-cards[b-ua0wjtcb7i] { display: flex; flex-direction: column; gap: 0; }

.sp-card[b-ua0wjtcb7i] {
    padding: 0.7rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    border-left: 3px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}
.sp-card:last-child[b-ua0wjtcb7i] { border-bottom: none; }
.sp-card:hover[b-ua0wjtcb7i] { background: #f9fafb; border-left-color: #93c5fd; }
.sp-card.active[b-ua0wjtcb7i] { background: #eff6ff; border-left-color: #3b82f6; }
.sp-card-name[b-ua0wjtcb7i] { font-weight: 600; font-size: 0.875rem; color: #111827; line-height: 1.3; }
.sp-card-subtitle[b-ua0wjtcb7i] { font-size: 0.75rem; color: #6b7280; font-style: italic; margin-top: 0.1rem; }
.sp-card-badge[b-ua0wjtcb7i] { display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 0.3rem; font-size: 0.7rem; padding: 0.1rem 0.45rem; border-radius: 999px; background: #e5e7eb; color: #374151; font-weight: 500; }
.sp-card-badge.full[b-ua0wjtcb7i] { background: #fee2e2; color: #991b1b; }

/* Right panel */
.sp-right[b-ua0wjtcb7i] { min-width: 0; }
.sp-right-card[b-ua0wjtcb7i] { background: #fff; border: 1px solid #dee2e6; border-radius: 0.5rem; box-shadow: 0 1px 4px rgba(0,0,0,0.07); overflow: hidden; }

.sp-no-selection[b-ua0wjtcb7i] { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; gap: 0.75rem; color: #9ca3af; font-size: 0.9rem; text-align: center; border: 1px dashed #dee2e6; border-radius: 0.5rem; padding: 2rem; }
.sp-no-selection p[b-ua0wjtcb7i] { margin: 0; }

.sp-panel-header[b-ua0wjtcb7i] { display: flex; justify-content: space-between; align-items: flex-start; padding: 0.9rem 1rem 0.75rem; border-bottom: 1px solid #f1f3f5; background: #fff; }
.sp-panel-header h5[b-ua0wjtcb7i] { margin: 0; font-size: 1rem; font-weight: 700; }
.sp-panel-subtitle[b-ua0wjtcb7i] { font-size: 0.75rem; color: #6b7280; font-style: italic; display: block; margin-top: 0.15rem; }

/* Table wrapper */
.dt-wrapper[b-ua0wjtcb7i] { padding: 0 1rem 1rem; }
.dt-top[b-ua0wjtcb7i] { display: flex; justify-content: space-between; align-items: center; padding: 0.65rem 0 0.5rem; }
.dt-search-label[b-ua0wjtcb7i] { font-size: 0.8rem; color: #6b7280; display: flex; align-items: center; gap: 0.4rem; }
.dt-search-label input[b-ua0wjtcb7i] { width: 200px; }
.dt-info[b-ua0wjtcb7i] { font-size: 0.78rem; color: #6b7280; }

table.sp-table[b-ua0wjtcb7i] { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
table.sp-table thead th[b-ua0wjtcb7i] { background: #f8f9fa; border-bottom: 2px solid #dee2e6; padding: 0.55rem 0.75rem; font-weight: 600; font-size: 0.8rem; color: #374151; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
table.sp-table tbody tr[b-ua0wjtcb7i] { border-bottom: 1px solid #f3f4f6; transition: background 0.1s; }
table.sp-table tbody tr:hover[b-ua0wjtcb7i] { background: #f9fafb; }
table.sp-table tbody tr.row-active[b-ua0wjtcb7i] { background: #f0fdf4; }
table.sp-table tbody tr.row-active:hover[b-ua0wjtcb7i] { background: #dcfce7; }
table.sp-table td[b-ua0wjtcb7i] { padding: 0.5rem 0.75rem; vertical-align: middle; }
table.sp-table td:first-child[b-ua0wjtcb7i], table.sp-table th:first-child[b-ua0wjtcb7i] { width: 52px; text-align: center; }

.sort-btn[b-ua0wjtcb7i] { background: none; border: none; padding: 0; cursor: pointer; color: #6b7280; font-size: 0.75rem; margin-left: 0.25rem; }
.sort-btn:hover[b-ua0wjtcb7i] { color: #374151; }

.status-badge[b-ua0wjtcb7i] { font-size: 0.68rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; }
.badge-present[b-ua0wjtcb7i] { background: #dcfce7; color: #15803d; }
.badge-absent[b-ua0wjtcb7i]  { background: #fee2e2; color: #b91c1c; }
.badge-enrolled[b-ua0wjtcb7i] { background: #dbeafe; color: #1d4ed8; }

/* Toolbar (attendance) */
.sp-toolbar[b-ua0wjtcb7i] { display: flex; justify-content: space-between; align-items: center; padding: 0.55rem 1rem; border-bottom: 1px solid #f1f3f5; background: #f9fafb; gap: 0.5rem; }
.sp-toolbar-counts[b-ua0wjtcb7i] { font-size: 0.82rem; color: #6b7280; }
.sp-toolbar-counts strong[b-ua0wjtcb7i] { color: #16a34a; }
.sp-toolbar-actions[b-ua0wjtcb7i] { display: flex; gap: 0.4rem; }
.sp-unsaved[b-ua0wjtcb7i] { background: #fffbeb; border-bottom: 1px solid #fde68a; color: #92400e; font-size: 0.78rem; padding: 0.3rem 1rem; }

/* Date picker (attendance) */
.sp-date-group[b-ua0wjtcb7i] { display: flex; flex-direction: column; align-items: flex-end; gap: 0.1rem; }
.sp-date-label[b-ua0wjtcb7i] { font-size: 0.68rem; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.04em; }
.sp-date-nav[b-ua0wjtcb7i] { display: flex; align-items: center; gap: 0.25rem; }
.sp-date-input[b-ua0wjtcb7i] { width: 145px; }
.sp-nav-btn[b-ua0wjtcb7i] { background: #fff; border: 1px solid #dee2e6; border-radius: 0.3rem; padding: 0.22rem 0.5rem; cursor: pointer; color: #6b7280; font-size: 0.8rem; line-height: 1; transition: background 0.1s, border-color 0.1s; }
.sp-nav-btn:hover[b-ua0wjtcb7i] { background: #f3f4f6; border-color: #9ca3af; color: #374151; }

/* Meeting pattern cards */
.sp-pattern-section[b-ua0wjtcb7i] { padding: 1rem 1rem 1.25rem; }
.sp-pattern-prompt[b-ua0wjtcb7i] { font-size: 0.72rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 0.85rem; }

.sp-pattern-cards[b-ua0wjtcb7i] { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.sp-pattern-card[b-ua0wjtcb7i] {
    flex: 1 1 200px;
    max-width: 320px;
    border: 2px solid #e5e7eb;
    border-radius: 0.6rem;
    padding: 0.9rem 1.1rem;
    cursor: pointer;
    background: #fff;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.sp-pattern-card:hover[b-ua0wjtcb7i] {
    border-color: #3b82f6;
    background: #eff6ff;
    box-shadow: 0 2px 10px rgba(59,130,246,0.14);
}

.sp-pattern-label[b-ua0wjtcb7i] { font-size: 0.7rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.4rem; }
.sp-pattern-days[b-ua0wjtcb7i] { font-weight: 700; font-size: 0.95rem; color: #111827; margin-bottom: 0.25rem; }
.sp-pattern-time[b-ua0wjtcb7i] { font-size: 0.82rem; color: #374151; display: flex; align-items: center; gap: 0.3rem; margin-bottom: 0.2rem; }
.sp-pattern-meta[b-ua0wjtcb7i] { font-size: 0.78rem; color: #6b7280; display: flex; align-items: center; gap: 0.3rem; margin-top: 0.15rem; }

/* Back breadcrumb in attendance header */
.sp-back-btn[b-ua0wjtcb7i] { background: none; border: none; padding: 0; margin-bottom: 0.2rem; font-size: 0.75rem; color: #3b82f6; cursor: pointer; display: inline-flex; align-items: center; gap: 0.2rem; }
.sp-back-btn:hover[b-ua0wjtcb7i] { color: #2563eb; text-decoration: underline; }

.sp-taken-label[b-ua0wjtcb7i] { font-size: 0.65rem; color: #16a34a; font-weight: 600; margin-left: 0.35rem; display: inline-flex; align-items: center; gap: 0.2rem; }

/* Mobile responsive — stack panels vertically + toolbar wrapping */
@media (max-width: 768px) {
    .sp-layout[b-ua0wjtcb7i] {
        grid-template-columns: 1fr;
    }
    .sp-left[b-ua0wjtcb7i] {
        position: static;
        max-height: 260px;
    }
    .sp-toolbar[b-ua0wjtcb7i] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }
    .sp-toolbar-actions[b-ua0wjtcb7i] {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .sp-date-group[b-ua0wjtcb7i] {
        align-items: stretch;
    }
    .sp-date-nav[b-ua0wjtcb7i] {
        justify-content: flex-end;
    }
    .sp-date-input[b-ua0wjtcb7i] {
        width: 100%;
        min-width: 0;
    }
    .dt-search-label input[b-ua0wjtcb7i] {
        width: 100%;
        min-width: 0;
    }
    .dt-top[b-ua0wjtcb7i] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
    }
}
/* _content/DanceStudio/Pages/Classes/Index.razor.rz.scp.css */
/* ── Search Bar ──────────────────────────────────────────────────────── */

.search-bar[b-w1neyr06wo] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.search-field[b-w1neyr06wo] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 160px;
    gap: 0.2rem;
}

.search-field label[b-w1neyr06wo] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.search-field-sm[b-w1neyr06wo] {
    flex: 0 0 150px;
    min-width: 130px;
}

.search-field-xs[b-w1neyr06wo] {
    flex: 0 0 auto;
    min-width: unset;
}

.search-empty[b-w1neyr06wo] {
    color: #9ca3af;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

/* ── Classes Header ──────────────────────────────────────────────────── */

.classes-header[b-w1neyr06wo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.grid-size-selector[b-w1neyr06wo] {
    display: flex;
    gap: 0.25rem;
}

.classes-grid[b-w1neyr06wo] {
    display: grid;
    gap: 1rem;
}

.class-card[b-w1neyr06wo] {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    perspective: 1000px;
}

.class-card:hover[b-w1neyr06wo] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.flip-card-inner[b-w1neyr06wo] {
    position: relative;
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card-inner.flipped[b-w1neyr06wo] {
    transform: rotateY(180deg);
}

/* Front stays in normal flow — drives the card height */
.flip-card-front[b-w1neyr06wo] {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    border-radius: 0.5rem;
    padding: 1rem;
}

/* Back overlays the front absolutely — scrolls if taller */
.flip-card-back[b-w1neyr06wo] {
    position: relative;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: rotateY(180deg);
    border-radius: 0.5rem;
    padding: 1rem;
    background: #f8f9fa;
}

/* Hide the front from view but keep it taking up space for height */
.flip-card-inner.flipped .flip-card-front[b-w1neyr06wo] {
    visibility: hidden;
    position: absolute;
    top: 0; left: 0; right: 0;
}

.class-card-header[b-w1neyr06wo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.class-card-actions[b-w1neyr06wo] {
    display: flex;
    gap: 0.35rem;
    flex-shrink: 0;
}

.class-name-group[b-w1neyr06wo] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.class-name[b-w1neyr06wo] {
    font-weight: 600;
    font-size: 1rem;
}

.class-subtitle[b-w1neyr06wo] {
    font-size: 0.75rem;
    color: #6b7280;
    font-style: italic;
}

.class-genre-badge[b-w1neyr06wo] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f766e;
    background-color: #ccfbf1;
    border: 1px solid #99f6e4;
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    align-self: flex-start;
}

.class-card-body[b-w1neyr06wo] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.class-info-row[b-w1neyr06wo] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #555;
}

.class-info-row i[b-w1neyr06wo] {
    width: 1rem;
    color: #888;
    flex-shrink: 0;
}

/* ── Weekly Schedule ─────────────────────────────────────────────────── */

.schedule-wrapper[b-w1neyr06wo] {
    margin-bottom: 1.5rem;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.schedule-toggle[b-w1neyr06wo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.65rem 1rem;
    cursor: pointer;
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    user-select: none;
}

.schedule-toggle:hover[b-w1neyr06wo] {
    background: #f0fdf9;
}

.schedule-nav[b-w1neyr06wo] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
    margin-right: 0.75rem;
}

.schedule-nav-btn[b-w1neyr06wo] {
    background: none;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    font-size: 0.75rem;
    color: #374151;
    cursor: pointer;
    line-height: 1.4;
    transition: background 0.15s, border-color 0.15s;
}

.schedule-nav-btn:hover[b-w1neyr06wo] {
    background: #e6faf8;
    border-color: #14b8a6;
    color: #0f766e;
}

.schedule-nav-today[b-w1neyr06wo] {
    font-weight: 600;
    font-size: 0.7rem;
}

.schedule-toggle-title[b-w1neyr06wo] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #374151;
}

.schedule-week-range[b-w1neyr06wo] {
    font-weight: 400;
    font-size: 0.8rem;
    color: #6b7280;
    margin-left: 0.4rem;
}

.schedule-empty[b-w1neyr06wo] {
    padding: 0.75rem 1rem;
    font-size: 0.85rem;
    color: #9ca3af;
    margin: 0;
}

.schedule-location-block[b-w1neyr06wo] {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e5e7eb;
}

.schedule-location-block:last-child[b-w1neyr06wo] {
    border-bottom: none;
}

.schedule-location-label[b-w1neyr06wo] {
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #14b8a6;
    margin-bottom: 0.5rem;
}

.schedule-grid-wrapper[b-w1neyr06wo] {
    display: flex;
    gap: 0;
}

.schedule-time-gutter[b-w1neyr06wo] {
    position: relative;
    width: 44px;
    flex-shrink: 0;
}

.schedule-time-tick[b-w1neyr06wo] {
    position: absolute;
    left: 0;
    font-size: 0.62rem;
    color: #9ca3af;
    line-height: 1;
    transform: translateY(-50%);
    white-space: nowrap;
}

.schedule-days-container[b-w1neyr06wo] {
    display: flex;
    flex: 1;
    gap: 2px;
}

.schedule-day-col[b-w1neyr06wo] {
    flex: 1;
    min-width: 0;
}

.schedule-day-header[b-w1neyr06wo] {
    font-size: 0.68rem;
    font-weight: 700;
    text-align: center;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 3px;
}

.schedule-day-body[b-w1neyr06wo] {
    position: relative;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    border-radius: 3px;
    overflow: hidden;
}

.schedule-hour-line[b-w1neyr06wo] {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: #e5e7eb;
}

.schedule-block[b-w1neyr06wo] {
    position: absolute;
    left: 1px;
    right: 1px;
    border-left: 3px solid;
    border-radius: 2px;
    padding: 2px 4px;
    overflow: hidden;
    cursor: default;
    min-height: 18px;
}

.schedule-block-name[b-w1neyr06wo] {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #1f2937;
}

.schedule-block-time[b-w1neyr06wo] {
    display: block;
    font-size: 0.58rem;
    color: #4b5563;
}

.schedule-block-subtitle[b-w1neyr06wo] {
    display: block;
    font-size: 0.58rem;
    color: #374151;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
}

.schedule-block-instructor[b-w1neyr06wo] {
    display: block;
    font-size: 0.58rem;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
}

.schedule-block-overlap .schedule-block-name[b-w1neyr06wo],
.schedule-block-overlap .schedule-block-time[b-w1neyr06wo],
.schedule-block-overlap .schedule-block-instructor[b-w1neyr06wo] {
    color: #991b1b;
}

/* ── Enrolled Students Modal ─────────────────────────────────────────── */

.sv-subtitle[b-w1neyr06wo] {
    font-size: 0.78rem;
    color: #6b7280;
    font-style: italic;
    margin-bottom: 0.75rem;
}

.sv-layout[b-w1neyr06wo] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sv-details[b-w1neyr06wo] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* Flex row of meeting cards — side by side */
.sv-meetings[b-w1neyr06wo] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.sv-meeting-card[b-w1neyr06wo] {
    flex: 1;
    min-width: 150px;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: 0.75rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sv-meeting-label[b-w1neyr06wo] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9ca3af;
    margin-bottom: 0.2rem;
}

.sv-info-row[b-w1neyr06wo] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #374151;
}

.sv-info-row i[b-w1neyr06wo] {
    width: 0.85rem;
    color: #9ca3af;
    flex-shrink: 0;
    font-size: 0.72rem;
}

.sv-status-dot[b-w1neyr06wo] {
    font-size: 0.5rem !important;
}

/* Date range sits below the cards, left-aligned */
.sv-dates[b-w1neyr06wo] {
    padding-left: 0.1rem;
}

/* Students section below meeting cards */
.sv-students[b-w1neyr06wo] {
    border-top: 1px solid #e5e7eb;
    padding-top: 0.75rem;
}

.sv-students-header[b-w1neyr06wo] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.sv-empty[b-w1neyr06wo] {
    font-size: 0.85rem;
    color: #9ca3af;
}

.students-list[b-w1neyr06wo] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.students-list li[b-w1neyr06wo] {
    padding: 0.3rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.82rem;
    color: #374151;
}

.students-list li:last-child[b-w1neyr06wo] {
    border-bottom: none;
}

/* Mobile responsive — schedule horizontal scroll, header wrap */
@media (max-width: 768px) {
    .classes-header[b-w1neyr06wo] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .schedule-grid-wrapper[b-w1neyr06wo] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .schedule-days-container[b-w1neyr06wo] {
        min-width: 500px;
    }

    .search-field-sm[b-w1neyr06wo] {
        flex: 1 1 120px;
    }

    .search-field-xs[b-w1neyr06wo] {
        flex: 1 1 auto;
    }
}
/* _content/DanceStudio/Pages/Enrollments/Index.razor.rz.scp.css */
/* Two-column sticky layout */
.sp-layout[b-npmca147qd] { display: grid; grid-template-columns: 340px 1fr; gap: 1.25rem; align-items: start; }

.sp-left[b-npmca147qd] {
    position: sticky;
    top: 0.5rem;
    max-height: 80vh;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

.sp-left-header[b-npmca147qd] { padding: 0.85rem 0.85rem 0.5rem; border-bottom: 1px solid #f1f3f5; }
.sp-left-header h5[b-npmca147qd] { margin: 0 0 0.5rem; font-size: 0.9rem; font-weight: 700; color: #111827; }

.sp-cards[b-npmca147qd] { display: flex; flex-direction: column; gap: 0; }

.sp-card[b-npmca147qd] {
    padding: 0.7rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    border-left: 3px solid transparent;
    transition: background 0.12s, border-color 0.12s;
}
.sp-card:last-child[b-npmca147qd] { border-bottom: none; }
.sp-card:hover[b-npmca147qd] { background: #f9fafb; border-left-color: #93c5fd; }
.sp-card.active[b-npmca147qd] { background: #eff6ff; border-left-color: #3b82f6; }
.sp-card-name[b-npmca147qd] { font-weight: 600; font-size: 0.875rem; color: #111827; line-height: 1.3; }
.sp-card-subtitle[b-npmca147qd] { font-size: 0.75rem; color: #6b7280; font-style: italic; margin-top: 0.1rem; }
.sp-card-badge[b-npmca147qd] { display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 0.3rem; font-size: 0.7rem; padding: 0.1rem 0.45rem; border-radius: 999px; background: #e5e7eb; color: #374151; font-weight: 500; }
.sp-card-badge.full[b-npmca147qd] { background: #fee2e2; color: #991b1b; }

/* Right panel */
.sp-right[b-npmca147qd] { min-width: 0; }
.sp-right-card[b-npmca147qd] { background: #fff; border: 1px solid #dee2e6; border-radius: 0.5rem; box-shadow: 0 1px 4px rgba(0,0,0,0.07); overflow: hidden; }

.sp-no-selection[b-npmca147qd] { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; gap: 0.75rem; color: #9ca3af; font-size: 0.9rem; text-align: center; border: 1px dashed #dee2e6; border-radius: 0.5rem; padding: 2rem; }
.sp-no-selection p[b-npmca147qd] { margin: 0; }

.sp-panel-header[b-npmca147qd] { display: flex; justify-content: space-between; align-items: flex-start; padding: 0.9rem 1rem 0.75rem; border-bottom: 1px solid #f1f3f5; background: #fff; }
.sp-panel-header h5[b-npmca147qd] { margin: 0; font-size: 1rem; font-weight: 700; }
.sp-panel-subtitle[b-npmca147qd] { font-size: 0.75rem; color: #6b7280; font-style: italic; display: block; margin-top: 0.15rem; }

/* Table wrapper */
.dt-wrapper[b-npmca147qd] { padding: 0 1rem 1rem; }
.dt-top[b-npmca147qd] { display: flex; justify-content: space-between; align-items: center; padding: 0.65rem 0 0.5rem; }
.dt-search-label[b-npmca147qd] { font-size: 0.8rem; color: #6b7280; display: flex; align-items: center; gap: 0.4rem; }
.dt-search-label input[b-npmca147qd] { width: 200px; }
.dt-info[b-npmca147qd] { font-size: 0.78rem; color: #6b7280; }

table.sp-table[b-npmca147qd] { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
table.sp-table thead th[b-npmca147qd] { background: #f8f9fa; border-bottom: 2px solid #dee2e6; padding: 0.55rem 0.75rem; font-weight: 600; font-size: 0.8rem; color: #374151; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
table.sp-table tbody tr[b-npmca147qd] { border-bottom: 1px solid #f3f4f6; transition: background 0.1s; }
table.sp-table tbody tr:hover[b-npmca147qd] { background: #f9fafb; }
table.sp-table tbody tr.row-active[b-npmca147qd] { background: #f0fdf4; }
table.sp-table tbody tr.row-active:hover[b-npmca147qd] { background: #dcfce7; }
table.sp-table td[b-npmca147qd] { padding: 0.5rem 0.75rem; vertical-align: middle; }
table.sp-table td:first-child[b-npmca147qd], table.sp-table th:first-child[b-npmca147qd] { width: 52px; text-align: center; }

.sort-btn[b-npmca147qd] { background: none; border: none; padding: 0; cursor: pointer; color: #6b7280; font-size: 0.75rem; margin-left: 0.25rem; }
.sort-btn:hover[b-npmca147qd] { color: #374151; }

.status-badge[b-npmca147qd] { font-size: 0.68rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 999px; }
.badge-enrolled[b-npmca147qd] { background: #dbeafe; color: #1d4ed8; }

/* Mobile responsive — stack panels vertically */
@media (max-width: 768px) {
    .sp-layout[b-npmca147qd] {
        grid-template-columns: 1fr;
    }
    .sp-left[b-npmca147qd] {
        position: static;
        max-height: 260px;
    }
    .dt-search-label input[b-npmca147qd] {
        width: 100%;
        min-width: 0;
    }
    .dt-top[b-npmca147qd] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
    }
}
/* _content/DanceStudio/Pages/Finance/Portal.razor.rz.scp.css */
.section-card[b-7r99m1asez] {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    background: #fff;
}

.fields-row[b-7r99m1asez] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.field-group[b-7r99m1asez] {
    flex: 1;
    min-width: 180px;
}

.field-group-sm[b-7r99m1asez] {
    flex: 0 0 auto;
    min-width: 130px;
}

.section-subtitle[b-7r99m1asez] {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0;
}

.clickable-row[b-7r99m1asez] {
    cursor: pointer;
}

/* Nested partial-payment rows shown under a charge line */
.payment-detail-row > td[b-7r99m1asez] {
    background: #f9fafb;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.payments-nested[b-7r99m1asez] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding-left: 1.5rem;
}

.payment-line[b-7r99m1asez] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.85rem;
}

.payment-line .pay-amt[b-7r99m1asez] {
    font-weight: 600;
    min-width: 70px;
}

.notes-cell[b-7r99m1asez] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* _content/DanceStudio/Pages/Index.razor.rz.scp.css */
/* ── Today's Schedule ── */

.section-block[b-m70shjfwaw] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.section-block-header[b-m70shjfwaw] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.section-title[b-m70shjfwaw] {
    font-weight: 700;
    font-size: 1rem;
    color: #111827;
}

.section-title .bi[b-m70shjfwaw] {
    color: #00a7a7;
}

.schedule-date-picker[b-m70shjfwaw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.schedule-date-picker .form-control[b-m70shjfwaw] {
    width: 155px;
}

.today-date[b-m70shjfwaw] {
    font-size: 0.82rem;
    color: #6b7280;
    font-weight: 500;
}

.rooms-row[b-m70shjfwaw] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.room-card[b-m70shjfwaw] {
    flex: 1;
    min-width: 200px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.room-header[b-m70shjfwaw] {
    background: #f0fdfa;
    color: #0f766e;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.85rem;
    border-bottom: 1px solid #ccfbf1;
}

.schedule-item[b-m70shjfwaw] {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid #f3f4f6;
}

.schedule-item:last-child[b-m70shjfwaw] {
    border-bottom: none;
}

.schedule-time[b-m70shjfwaw] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #00a7a7;
    margin-bottom: 0.1rem;
}

.schedule-name[b-m70shjfwaw] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #111827;
}

.schedule-subtitle[b-m70shjfwaw] {
    font-size: 0.78rem;
    color: #6b7280;
}

.schedule-meta[b-m70shjfwaw] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.3rem;
    font-size: 0.75rem;
    color: #6b7280;
}

/* ── Date Range Bar ── */

.date-range-bar[b-m70shjfwaw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.6rem 1rem;
}

.date-range-bar .form-control[b-m70shjfwaw] {
    width: 155px;
}

.range-label[b-m70shjfwaw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.range-sep[b-m70shjfwaw] {
    font-size: 0.85rem;
    color: #9ca3af;
}

.range-display[b-m70shjfwaw] {
    font-size: 0.85rem;
    color: #374151;
    font-weight: 500;
}

.range-display .bi[b-m70shjfwaw] {
    color: #00a7a7;
}

/* ── Metric Cards ── */

.metric-card[b-m70shjfwaw] {
    height: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.metric-icon[b-m70shjfwaw] {
    font-size: 1.3rem;
    color: #00a7a7;
    margin-bottom: 0.25rem;
}

.metric-value[b-m70shjfwaw] {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.1;
}

.metric-value-sm[b-m70shjfwaw] {
    font-size: 1.25rem;
    word-break: break-word;
}

.metric-label[b-m70shjfwaw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.metric-sub[b-m70shjfwaw] {
    font-size: 0.78rem;
    color: #9ca3af;
}

.metric-scope[b-m70shjfwaw] {
    font-size: 0.72rem;
    color: #9ca3af;
    margin-top: 0.1rem;
}

.metric-scope.filtered[b-m70shjfwaw] {
    color: #00a7a7;
    font-weight: 600;
}

/* ── Side-by-Side Stats ── */

.stats-side-by-side[b-m70shjfwaw] {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.stats-panel[b-m70shjfwaw] {
    flex: 1;
    min-width: 240px;
}

.stats-table thead th[b-m70shjfwaw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
}

.stats-table td[b-m70shjfwaw] {
    font-size: 0.875rem;
    vertical-align: middle;
}

.genre-pill[b-m70shjfwaw] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0f766e;
    background: #ccfbf1;
    border: 1px solid #99f6e4;
    border-radius: 999px;
    padding: 0.1rem 0.55rem;
}

/* ── Absence Table ── */

.rank-cell[b-m70shjfwaw] {
    width: 2.5rem;
    color: #9ca3af;
    font-weight: 600;
}

.absence-badge[b-m70shjfwaw] {
    display: inline-block;
    background: #fee2e2;
    color: #dc2626;
    font-weight: 700;
    font-size: 0.82rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
}

.filtered-badge[b-m70shjfwaw] {
    display: inline-block;
    background: #ccfbf1;
    color: #0f766e;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
/* _content/DanceStudio/Pages/Newsletters/Edit.razor.rz.scp.css */
/* Styles must live here (the component that owns the markup) due to Blazor CSS scoping
   when content is rendered inside Modal.razor — see CLAUDE.md. */

.section-card[b-oss0q7d7lk] {
    position: relative;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.section-card h4[b-oss0q7d7lk],
.section-card h5[b-oss0q7d7lk] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    margin-top: 0;
    padding-left: 0.75rem;
    border-left: 4px solid #14b8a6;
}

.section-card h5[b-oss0q7d7lk] { font-size: 1.1rem; }

.section-subtitle[b-oss0q7d7lk] {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
}

/* ===== Detail fields ===== */
.fields-row[b-oss0q7d7lk] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.field-group[b-oss0q7d7lk] {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
}

.field-group label[b-oss0q7d7lk] {
    font-weight: 500;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.375rem;
}

.field-group input[type="text"][b-oss0q7d7lk] {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.9rem;
    background-color: #f9fafb;
}

.field-group input:focus[b-oss0q7d7lk] {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
    background-color: #ffffff;
}

.field-group-sm.checkbox[b-oss0q7d7lk] {
    flex: 0 0 auto;
    min-width: 90px;
    padding-top: 1.625rem;
}

.custom-checkbox[b-oss0q7d7lk] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

/* ===== Field palette (chips) ===== */
.field-palette[b-oss0q7d7lk] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.chip[b-oss0q7d7lk] {
    padding: 0.4rem 0.75rem;
    border: 1px solid #14b8a6;
    background-color: #f0fdfa;
    color: #0f766e;
    border-radius: 9999px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.chip:hover[b-oss0q7d7lk] {
    background-color: #14b8a6;
    color: #ffffff;
}

/* ===== Editor + preview side by side ===== */
.editor-grid[b-oss0q7d7lk] {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}

.editor-grid .section-card[b-oss0q7d7lk] {
    flex: 1;
    min-width: 0;
}

@media (max-width: 768px) {
    .editor-grid[b-oss0q7d7lk] { flex-direction: column; }
}

.quill-wrapper[b-oss0q7d7lk] {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
}

.preview-pane[b-oss0q7d7lk] {
    min-height: 320px;
    padding: 1rem;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    background-color: #fafafa;
    line-height: 1.6;
    color: #111827;
    white-space: normal;
    word-wrap: break-word;
}

/* The underlined merge fields inside the preview. */
.preview-pane[b-oss0q7d7lk]  .merge-field {
    text-decoration: underline;
    text-decoration-color: #14b8a6;
    text-underline-offset: 2px;
    font-weight: 600;
    color: #0f766e;
}

/* ===== Section layout builder ===== */
.layout-section[b-oss0q7d7lk] {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
    background: #fcfcfd;
}

.layout-section-head[b-oss0q7d7lk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.layout-section-title[b-oss0q7d7lk] {
    font-weight: 600;
    color: #374151;
    font-size: 0.95rem;
}

.layout-section-actions[b-oss0q7d7lk] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.layout-section-actions select[b-oss0q7d7lk] {
    padding: 0.3rem 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.85rem;
    background: #fff;
}

.icon-btn[b-oss0q7d7lk] {
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    border-radius: 6px;
    width: 30px;
    height: 30px;
    line-height: 1;
    cursor: pointer;
    font-size: 0.9rem;
}

.icon-btn:hover:not(:disabled)[b-oss0q7d7lk] { background: #f3f4f6; }
.icon-btn:disabled[b-oss0q7d7lk] { opacity: 0.4; cursor: not-allowed; }
.icon-btn-danger[b-oss0q7d7lk] { color: #b91c1c; border-color: #fca5a5; }
.icon-btn-danger:hover:not(:disabled)[b-oss0q7d7lk] { background: #fee2e2; }

/* Two-column row: stack the two editors side by side. */
.section-cols[b-oss0q7d7lk] {
    display: flex;
    gap: 1rem;
}

.section-cols .quill-wrapper[b-oss0q7d7lk] {
    flex: 1;
    min-width: 0;
}

@media (max-width: 768px) {
    .section-cols[b-oss0q7d7lk] { flex-direction: column; }
}

.add-section-row[b-oss0q7d7lk] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Finance chips get a distinct tint to separate them from text fields. */
.chip-finance[b-oss0q7d7lk] {
    border-color: #f59e0b;
    background-color: #fffbeb;
    color: #b45309;
}

.chip-finance:hover[b-oss0q7d7lk] {
    background-color: #f59e0b;
    color: #ffffff;
}

/* Finance statement table inside the preview. */
.preview-pane[b-oss0q7d7lk]  table { width: 100%; border-collapse: collapse; }
.preview-pane[b-oss0q7d7lk]  hr { border: 0; border-top: 1px solid #ccc; margin: 16px 0; }
/* _content/DanceStudio/Pages/Newsletters/Schedules.razor.rz.scp.css */
.section-card[b-v2mfpkwyo5] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.section-card h5[b-v2mfpkwyo5] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    margin-top: 0;
    padding-left: 0.75rem;
    border-left: 4px solid #14b8a6;
}

.fields-row[b-v2mfpkwyo5] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.field-group[b-v2mfpkwyo5] {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
}

.field-group label[b-v2mfpkwyo5] {
    font-weight: 500;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.375rem;
}

.field-group input[type="text"][b-v2mfpkwyo5],
.field-group input[type="number"][b-v2mfpkwyo5],
.field-group input[type="date"][b-v2mfpkwyo5],
.field-group input[type="time"][b-v2mfpkwyo5],
.field-group select[b-v2mfpkwyo5] {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.9rem;
    background-color: #f9fafb;
}

.field-group input:focus[b-v2mfpkwyo5], .field-group select:focus[b-v2mfpkwyo5] {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20,184,166,0.1);
    background: #fff;
}

.field-group-sm.checkbox[b-v2mfpkwyo5] {
    flex: 0 0 auto;
    min-width: 110px;
    padding-bottom: 0.5rem;
}

.custom-checkbox[b-v2mfpkwyo5] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

/* ── Role / user picker ── */
.picker[b-v2mfpkwyo5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    max-height: 180px;
    overflow-y: auto;
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #fafafa;
}

.picker-item[b-v2mfpkwyo5] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    cursor: pointer;
    flex: 0 0 calc(33% - 1.5rem);
}

/* ── Day-of-week chips ── */
.day-picker[b-v2mfpkwyo5] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.day-chip[b-v2mfpkwyo5] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 9999px;
    font-size: 0.825rem;
    cursor: pointer;
    background: #f9fafb;
    color: #374151;
    transition: all 0.15s;
}

.day-chip input[b-v2mfpkwyo5] { display: none; }

.day-chip.active[b-v2mfpkwyo5] {
    background: #14b8a6;
    border-color: #14b8a6;
    color: #fff;
    font-weight: 600;
}
/* _content/DanceStudio/Pages/Newsletters/Send.razor.rz.scp.css */
.section-card[b-em63svf648] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.section-card h5[b-em63svf648] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    margin-top: 0;
    padding-left: 0.75rem;
    border-left: 4px solid #14b8a6;
}

.section-subtitle[b-em63svf648] {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.fields-row[b-em63svf648] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.field-group[b-em63svf648] {
    flex: 1;
    min-width: 180px;
    display: flex;
    flex-direction: column;
}

.field-group label[b-em63svf648] {
    font-weight: 500;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.375rem;
}

.field-group select[b-em63svf648] {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.9rem;
    background-color: #f9fafb;
}

.field-group-sm.checkbox[b-em63svf648] {
    flex: 0 0 auto;
    min-width: 110px;
    padding-bottom: 0.5rem;
}

.custom-checkbox[b-em63svf648] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

/* ===== Hand-pick students ===== */
.student-picker[b-em63svf648] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    max-height: 220px;
    overflow-y: auto;
    margin-top: 1rem;
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background-color: #fafafa;
}

.picker-item[b-em63svf648] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    cursor: pointer;
    flex: 0 0 calc(33% - 1.5rem);
}

/* ===== Per-recipient preview ===== */
.preview-pane[b-em63svf648] {
    padding: 1rem;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    background-color: #fafafa;
    line-height: 1.6;
    color: #111827;
}

.preview-subject[b-em63svf648] {
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: #374151;
}

.preview-pane[b-em63svf648]  .merge-field {
    text-decoration: underline;
    text-decoration-color: #14b8a6;
    text-underline-offset: 2px;
    font-weight: 600;
    color: #0f766e;
}
/* _content/DanceStudio/Pages/Users/Edit.razor.rz.scp.css */
/* ============================= */
/* Section Cards & Layout */
/* ============================= */

.section-card[b-cce352s5ik] {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.section-card h4[b-cce352s5ik],
.section-card h5[b-cce352s5ik] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    margin-top: 0;
    padding-left: 0.75rem;
    border-left: 4px solid #14b8a6;
}

.section-card h5[b-cce352s5ik] {
    font-size: 1.1rem;
}

.section-subtitle[b-cce352s5ik] {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
}

/* ============================= */
/* Form Layout (Flexbox) */
/* ============================= */

.fields-row[b-cce352s5ik] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.field-group[b-cce352s5ik] {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
}

.field-group label[b-cce352s5ik] {
    display: block;
    font-weight: 500;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.375rem;
}

.field-group input[type="text"][b-cce352s5ik],
.field-group input[type="email"][b-cce352s5ik],
.field-group input[type="date"][b-cce352s5ik],
.field-group select[b-cce352s5ik] {
    width: 100%;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.9rem;
    background-color: #f9fafb;
    transition: all 0.2s;
}

.field-group input:focus[b-cce352s5ik],
.field-group select:focus[b-cce352s5ik] {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
    background-color: #ffffff;
}

/* Small field group for checkboxes and buttons */
.field-group-sm[b-cce352s5ik] {
    flex: 0 0 auto;
    width: auto;
}

.field-group-sm.checkbox[b-cce352s5ik] {
    min-width: 90px;
    justify-content: flex-end;
    padding-top: 1.625rem;
}

.field-group-sm.action-btn[b-cce352s5ik] {
    min-width: auto;
    padding-top: 1.625rem;
}

/* ============================= */
/* Side-by-side Phones & Emails */
/* ============================= */

.contact-cards-row[b-cce352s5ik] {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

.contact-cards-row .section-card[b-cce352s5ik] {
    flex: 1;
    min-width: 0;
}

@media (max-width: 768px) {
    .contact-cards-row[b-cce352s5ik] {
        flex-direction: column;
    }
}

/* ============================= */
/* Address-specific field sizes */
/* ============================= */

.address-field-sm[b-cce352s5ik] {
    flex: 0 0 120px;
    min-width: 80px;
}

/* ============================= */
/* Entries (Phones, Emails) */
/* ============================= */

.entry-separator[b-cce352s5ik] {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 1.25rem 0;
}

/* ============================= */
/* Add Button (Icon + Tooltip) */
/* ============================= */

.section-card[b-cce352s5ik] {
    position: relative;
}

.add-btn[b-cce352s5ik] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    background-color: #14b8a6;
    color: white;
    border: none;
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 300;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    position: relative;
}

.add-btn:hover[b-cce352s5ik] {
    background-color: #0f766e;
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(20, 184, 166, 0.3);
}

.add-btn[b-cce352s5ik]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 0.75rem);
    right: 50%;
    transform: translateX(50%);
    padding: 0.5rem 0.75rem;
    background-color: #111827;
    color: white;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    z-index: 1001;
}

.add-btn:hover[b-cce352s5ik]::after {
    opacity: 1;
}

/* ============================= */
/* Dropdown Multi-Select */
/* ============================= */

.dropdown-multi-select[b-cce352s5ik] {
    position: relative;
    display: inline-block;
    width: 100%;
}

.dropdown-multi-select .dropdown-toggle[b-cce352s5ik] {
    width: 100%;
    text-align: left;
    padding: 0.625rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background-color: #f9fafb;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s;
}

.dropdown-multi-select .dropdown-toggle:focus[b-cce352s5ik],
.dropdown-multi-select .dropdown-toggle:active[b-cce352s5ik] {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.1);
    background-color: #ffffff;
}

.dropdown-multi-select .dropdown-menu[b-cce352s5ik] {
    /* In-flow (not absolute) so the popup is never clipped by the modal body's
       overflow-y: auto. It pushes content down and the modal scrolls to it,
       instead of being cut off as an absolute overlay. */
    position: static;
    width: 100%;
    margin-top: 4px;
    background-color: white;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 300px;
    overflow-y: auto;
    display: none;
}

.dropdown-multi-select .dropdown-menu.show[b-cce352s5ik] {
    display: block;
}

.dropdown-multi-select .dropdown-item[b-cce352s5ik] {
    display: block;
    padding: 0.625rem 1rem;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s;
}

.dropdown-multi-select .dropdown-item:hover[b-cce352s5ik] {
    background-color: #f3f4f6;
}

.dropdown-multi-select .dropdown-item input[type="checkbox"][b-cce352s5ik] {
    appearance: none;
    -webkit-appearance: none;
    width: 1rem;
    height: 1rem;
    border: 2px solid #d1d5db;
    border-radius: 3px;
    background-color: #f9fafb;
    cursor: pointer;
    margin-right: 0.5rem;
    flex-shrink: 0;
    transition: all 0.2s;
    vertical-align: middle;
}

.dropdown-multi-select .dropdown-item input[type="checkbox"]:checked[b-cce352s5ik] {
    background-color: #14b8a6;
    border-color: #14b8a6;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
}

/* ============================= */
/* Checkboxes */
/* ============================= */

.custom-checkbox[b-cce352s5ik] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

.custom-checkbox[b-cce352s5ik]  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.125rem;
    height: 1.125rem;
    border: 2px solid #d1d5db;
    border-radius: 4px;
    background-color: #f9fafb;
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
    transition: all 0.2s;
}

.custom-checkbox[b-cce352s5ik]  input[type="checkbox"]:hover {
    border-color: #14b8a6;
}

.custom-checkbox[b-cce352s5ik]  input[type="checkbox"]:checked {
    background-color: #14b8a6;
    border-color: #14b8a6;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
}

.custom-checkbox[b-cce352s5ik]  input[type="checkbox"]:focus {
    outline: none;
    border-color: #14b8a6;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.15);
}
/* _content/DanceStudio/Pages/Users/Index.razor.rz.scp.css */
/* ── Mobile: compact table and controls ──────────────────────────────── */
@media (max-width: 640px) {
    .table[b-74airwp6fc] {
        font-size: 0.82rem;
    }

    .table th[b-74airwp6fc],
    .table td[b-74airwp6fc] {
        padding: 0.35rem 0.4rem;
    }

    /* Shrink icon-only action buttons back to a sensible circle size.
       site.css adds 1rem left/right padding to all .btn on mobile,
       which bloats rounded-circle buttons unnecessarily. */
    .btn-sm.rounded-circle[b-74airwp6fc] {
        padding: 0.25rem;
        width: 1.9rem;
        height: 1.9rem;
        min-height: unset;
    }
}

/* ── Student Schedule Modal Header ───────────────────────────────────── */

.ss-classes-header[b-74airwp6fc] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 1rem;
}

/* ── Custom Checkbox (modal-scoped) ──────────────────────────────────── */

.custom-checkbox[b-74airwp6fc] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: #374151;
}

.custom-checkbox input[type="checkbox"][b-74airwp6fc] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.125rem;
    height: 1.125rem;
    border: 2px solid #d1d5db;
    border-radius: 3px;
    background-color: white;
    margin: 0;
    flex-shrink: 0;
    transition: all 0.2s;
    cursor: pointer;
}

.custom-checkbox input[type="checkbox"]:hover[b-74airwp6fc] {
    border-color: #14b8a6;
}

.custom-checkbox input[type="checkbox"]:checked[b-74airwp6fc] {
    background-color: #14b8a6;
    border-color: #14b8a6;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.custom-checkbox input[type="checkbox"]:focus[b-74airwp6fc] {
    outline: 2px solid #14b8a6;
    outline-offset: 2px;
}
/* _content/DanceStudio/Shared/MainLayout.razor.rz.scp.css */
.page[b-48wzzzxzpj] {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;
}

main[b-48wzzzxzpj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sidebar[b-48wzzzxzpj] {
    background-image: linear-gradient(270deg, rgb(60, 106, 110) 0%, #00a7a7 65%);
}

.top-row[b-48wzzzxzpj] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    height: 3.5rem;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    min-height: 3.5rem;
    position: relative;
    z-index: 100;
}

.top-row-spacer[b-48wzzzxzpj] {
    flex: 1;
}

    .top-row[b-48wzzzxzpj]  a, .top-row .btn-link[b-48wzzzxzpj] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

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

@media (max-width: 640px) {
    .hamburger[b-48wzzzxzpj] {
        display: flex !important;
    }

    .top-row[b-48wzzzxzpj] {
        justify-content: flex-start;
    }

    .top-row[b-48wzzzxzpj]  a, .top-row .btn-link[b-48wzzzxzpj] {
        display: none;
    }

    .sidebar[b-48wzzzxzpj] {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 280px;
        max-width: 85vw;
        z-index: 1000;
        transform: translateX(-100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
        overflow-y: auto;
    }

    .sidebar:not(.sidebar-collapsed)[b-48wzzzxzpj] {
        transform: translateX(0);
    }

    .sidebar.sidebar-collapsed[b-48wzzzxzpj] {
        transform: translateX(-100%);
    }

    main[b-48wzzzxzpj] {
        width: 100%;
    }
}

/* ============================= */
/* Sidebar Overlay Backdrop */
/* ============================= */

.sidebar-overlay[b-48wzzzxzpj] {
    display: none;
    cursor: pointer;
}

@media (max-width: 640px) {
    .sidebar-overlay[b-48wzzzxzpj] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 999;
        animation: fadeIn-b-48wzzzxzpj 0.2s ease;
    }
}

@keyframes fadeIn-b-48wzzzxzpj {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ============================= */
/* Hamburger Button */
/* ============================= */

.hamburger[b-48wzzzxzpj] {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    background: rgba(0, 167, 167, 0.15);
    border: 2px solid rgba(0, 167, 167, 0.3);
    cursor: pointer;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    transition: all 0.2s ease;
    min-width: 48px;
    min-height: 48px;
    flex-shrink: 0;
    position: relative;
    z-index: 101;
}

.hamburger:hover[b-48wzzzxzpj] {
    background-color: rgba(0, 167, 167, 0.25);
    border-color: rgba(0, 167, 167, 0.5);
}

.hamburger:active[b-48wzzzxzpj] {
    background-color: rgba(0, 167, 167, 0.35);
}

.hamburger span[b-48wzzzxzpj] {
    display: block;
    width: 24px;
    height: 3px;
    background-color: #333;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Animate to X when sidebar is open */
.hamburger.is-open span:nth-child(1)[b-48wzzzxzpj] {
    transform: translateY(8px) rotate(45deg);
}

.hamburger.is-open span:nth-child(2)[b-48wzzzxzpj] {
    opacity: 0;
}

.hamburger.is-open span:nth-child(3)[b-48wzzzxzpj] {
    transform: translateY(-8px) rotate(-45deg);
}

/* Mobile content scrolling */
.content[b-48wzzzxzpj] {
    overflow-y: auto;
    flex: 1;
}

@media (max-width: 640px) {
    main[b-48wzzzxzpj] {
        width: 100%;
    }

    .content[b-48wzzzxzpj] {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        overflow-x: hidden;
    }
}

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

    .sidebar[b-48wzzzxzpj] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        overflow: hidden;
        transition: width 0.3s ease;
        flex-shrink: 0;
    }

    .sidebar.sidebar-collapsed[b-48wzzzxzpj] {
        width: 0;
    }

    .hamburger[b-48wzzzxzpj] {
        display: flex;
    }

    .top-row-spacer[b-48wzzzxzpj] {
        display: none;
    }

    .top-row[b-48wzzzxzpj]  a, .top-row .btn-link[b-48wzzzxzpj] {
        display: flex;
        margin-left: 1.5rem;
    }

    main[b-48wzzzxzpj] {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .top-row[b-48wzzzxzpj] {
        position: sticky;
        top: 0;
        z-index: 1;
        justify-content: flex-start;
    }

    .top-row[b-48wzzzxzpj], .content[b-48wzzzxzpj] {
        padding-left: 1rem !important;
        padding-right: 1.5rem !important;
    }
}
/* _content/DanceStudio/Shared/Modal.razor.rz.scp.css */
/* ============================= */
/* Modern Dance Studio Modal CSS  */
/* ============================= */

/* ----- Modal Overlay ----- */
.modal-overlay[b-6c0cncj51q] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn-b-6c0cncj51q 0.2s ease-in-out;
}

@keyframes fadeIn-b-6c0cncj51q {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ----- Modal Container ----- */
.modal-container[b-6c0cncj51q] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
    max-width: var(--modal-max-width, 900px);
    width: 90%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: slideUp-b-6c0cncj51q 0.3s ease-out;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

@keyframes slideUp-b-6c0cncj51q {
    from { transform: translateY(50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ----- Modal Header ----- */
.modal-header[b-6c0cncj51q] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    background-color: #14b8a6; /* Teal */
    color: #ffffff;
}

.modal-title[b-6c0cncj51q] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
}

.modal-close-btn[b-6c0cncj51q] {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s;
}

.modal-close-btn:hover[b-6c0cncj51q] {
    transform: scale(1.2);
}

/* ----- Modal Body ----- */
.modal-body[b-6c0cncj51q] {
    padding: 1.5rem 2rem;
    overflow-y: auto;
    flex: 1;
}



/* ----- Buttons ----- */
.modal-footer[b-6c0cncj51q] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.5rem 2rem;
    border-top: 1px solid #e5e7eb;
}

.btn[b-6c0cncj51q] {
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s;
}

.btn:disabled[b-6c0cncj51q] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-primary[b-6c0cncj51q] {
    background-color: #14b8a6;
    color: #ffffff;
}

.btn-primary:hover:not(:disabled)[b-6c0cncj51q] {
    background-color: #0f766e;
}

.btn-secondary[b-6c0cncj51q] {
    background-color: #f3f4f6;
    color: #374151;
}

.btn-secondary:hover:not(:disabled)[b-6c0cncj51q] {
    background-color: #e5e7eb;
}

/* ----- Alerts ----- */
.alert[b-6c0cncj51q] {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin-bottom: 1rem;
    font-size: 0.875rem;
}

.alert-danger[b-6c0cncj51q] {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

/* ----- Loading Spinner ----- */
.loading-spinner[b-6c0cncj51q] {
    width: 24px;
    height: 24px;
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-top-color: #14b8a6;
    border-radius: 50%;
    animation: spin-b-6c0cncj51q 0.8s linear infinite;
    margin: auto;
}

@keyframes spin-b-6c0cncj51q {
    to { transform: rotate(360deg); }
}

/* ----- Responsive ----- */
@media (max-width: 1024px) {
    .form-group[b-6c0cncj51q] {
        flex: 1 1 calc(50% - 1rem); /* 2 across on smaller screens */
    }
}

@media (max-width: 640px) {
    .modal-container[b-6c0cncj51q] {
        width: 98%;
        max-height: 95vh;
        border-radius: 8px;
    }

    .modal-header[b-6c0cncj51q] {
        padding: 1rem 1.25rem;
    }

    .modal-body[b-6c0cncj51q] {
        padding: 1rem 1.25rem;
    }

    .modal-footer[b-6c0cncj51q] {
        flex-direction: column-reverse;
        padding: 1rem 1.25rem;
    }

    .modal-footer .btn[b-6c0cncj51q] {
        width: 100%;
        justify-content: center;
    }

    .form-group[b-6c0cncj51q] {
        flex: 1 1 100%; /* 1 per row on mobile */
    }
}
/* _content/DanceStudio/Shared/NavMenu.razor.rz.scp.css */

.top-row[b-6d3mg0xbah] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    padding: 0 1rem;
}

.navbar-brand[b-6d3mg0xbah] {
    font-size: 1.1rem;
    color: white;
    margin: 0;
}

.oi[b-6d3mg0xbah] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-6d3mg0xbah] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-6d3mg0xbah] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-6d3mg0xbah] {
        padding-bottom: 1rem;
    }

    .nav-item[b-6d3mg0xbah]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        padding: 0 1rem;
        text-decoration: none;
        transition: background-color 0.2s;
    }

.nav-item[b-6d3mg0xbah]  a.active {
    background-color: rgba(255,255,255,0.25);
    color: white;
}

.nav-item[b-6d3mg0xbah]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

/* Mobile-specific styling */
@media (max-width: 640px) {
    .nav-scrollable[b-6d3mg0xbah] {
        max-height: calc(100vh - 3.5rem);
        overflow-y: auto;
        padding: 1rem 0;
    }
}

@media (min-width: 641px) {
    .navbar-toggler[b-6d3mg0xbah] {
        display: none;
    }

    .collapse[b-6d3mg0xbah] {
        /* Never collapse the sidebar for wide screens */
        display: block !important;
    }

    .nav-scrollable[b-6d3mg0xbah] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
