/* /Components/PayslipView.razor.rz.scp.css */
.ps-sheet[b-d4k10psrvc] { background: var(--vs-surface, #fff); border: 1px solid var(--vs-border, #d9d9e3); border-radius: 10px; padding: 20px; max-width: 900px; }
.ps-head[b-d4k10psrvc] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ps-head h2[b-d4k10psrvc] { margin: 0; }
.ps-sub[b-d4k10psrvc] { color: var(--vs-muted, #666); }
.ps-meta[b-d4k10psrvc] { margin: 12px 0; }
.ps-meta th[b-d4k10psrvc] { width: 20%; text-align: start; font-weight: 600; }
.ps-cols[b-d4k10psrvc] { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ps-num[b-d4k10psrvc] { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ps-total td[b-d4k10psrvc] { font-weight: 700; border-top: 2px solid var(--vs-border, #d9d9e3); }
.ps-net[b-d4k10psrvc] { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; padding: 12px 16px; border-radius: 8px; background: var(--vs-surface-alt, #f4f4f8); font-size: 1.15rem; }
@media (max-width: 720px) { .ps-cols[b-d4k10psrvc] { grid-template-columns: 1fr; } }
@media print { .ps-sheet[b-d4k10psrvc] { border: none; padding: 0; } }
/* /Layout/MainLayout.razor.rz.scp.css */
/* Shell layout now lives in wwwroot/css/dashboard.css (HR-style, global). */
/* /Layout/NavMenu.razor.rz.scp.css */
/* Sidebar styling now lives in wwwroot/css/dashboard.css (HR-style, global). */
/* /Pages/Admissions/AdmissionsPipeline.razor.rz.scp.css */
.ad-timeline[b-yomr6v74zd] { list-style: none; margin: 8px 0 0; padding: 0; border-inline-start: 2px solid var(--vs-border, #d9d9e3); }
.ad-timeline li[b-yomr6v74zd] { position: relative; padding: 6px 14px 12px; }
.ad-timeline li[b-yomr6v74zd]::before { content: ""; position: absolute; inset-inline-start: -6px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--vs-primary, #7a1f3d); }
/* /Pages/Attendance/Attendance.razor.rz.scp.css */
/* Segmented status picker + status chips for teacher attendance (scoped). */
.att-seg[b-eo5gvj3fr8] {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
}
.att-btn[b-eo5gvj3fr8] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1.5px solid #e6e6ef;
    background: #fff;
    color: #6b6f82;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s, transform .08s;
}
.att-btn svg[b-eo5gvj3fr8] { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.att-btn:hover[b-eo5gvj3fr8] { border-color: #cfd0e0; transform: translateY(-1px); }

.att-btn.active.present[b-eo5gvj3fr8]     { background:#e6f6ed; border-color:#1f8a54; color:#1f8a54; }
.att-btn.active.absent[b-eo5gvj3fr8]      { background:#fdeaea; border-color:#c0392b; color:#c0392b; }
.att-btn.active.late[b-eo5gvj3fr8]        { background:#fdf7e2; border-color:#b8860b; color:#b8860b; }
.att-btn.active.leave[b-eo5gvj3fr8]       { background:#f3eafc; border-color:#7b3fc4; color:#7b3fc4; }
.att-btn.active.officialduty[b-eo5gvj3fr8]{ background:#e0f5f3; border-color:#12897e; color:#12897e; }

/* Read-only status chip in the list. */
.att-chip[b-eo5gvj3fr8] {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 10px; border-radius: 999px;
    font-size: .78rem; font-weight: 700;
}
.att-chip svg[b-eo5gvj3fr8] { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.att-chip.present[b-eo5gvj3fr8]      { background:#e6f6ed; color:#1f8a54; }
.att-chip.absent[b-eo5gvj3fr8]       { background:#fdeaea; color:#c0392b; }
.att-chip.late[b-eo5gvj3fr8]         { background:#fdf7e2; color:#b8860b; }
.att-chip.leave[b-eo5gvj3fr8]        { background:#f3eafc; color:#7b3fc4; }
.att-chip.officialduty[b-eo5gvj3fr8] { background:#e0f5f3; color:#12897e; }
/* /Pages/Attendance/Excuses.razor.rz.scp.css */
/* Colored status chips + action buttons for excuse review (scoped). */
.att-chip[b-zg1pvxnmct] {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 10px; border-radius: 999px;
    font-size: .78rem; font-weight: 700;
}
.att-chip svg[b-zg1pvxnmct] { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.att-chip.pending[b-zg1pvxnmct]  { background:#fdf7e2; color:#b8860b; }
.att-chip.approved[b-zg1pvxnmct] { background:#e6f6ed; color:#1f8a54; }
.att-chip.rejected[b-zg1pvxnmct] { background:#fdeaea; color:#c0392b; }

.att-actions[b-zg1pvxnmct] { display: inline-flex; gap: 8px; }
.att-act[b-zg1pvxnmct] {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1.5px solid transparent; border-radius: 10px;
    padding: 7px 14px; font-size: .82rem; font-weight: 700;
    cursor: pointer; transition: filter .12s, transform .08s;
}
.att-act svg[b-zg1pvxnmct] { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.att-act:hover[b-zg1pvxnmct] { transform: translateY(-1px); filter: brightness(.97); }
.att-act.approve[b-zg1pvxnmct] { background:#e6f6ed; border-color:#bfe6cf; color:#1f8a54; }
.att-act.reject[b-zg1pvxnmct]  { background:#fdeaea; border-color:#f4c7c7; color:#c0392b; }
/* /Pages/Attendance/StudentAttendance.razor.rz.scp.css */
/* Segmented status picker for student attendance (scoped). */
.att-seg[b-np7znhow19] {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
}
.att-btn[b-np7znhow19] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1.5px solid #e6e6ef;
    background: #fff;
    color: #6b6f82;
    border-radius: 10px;
    padding: 7px 12px;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s, transform .08s;
}
.att-btn svg[b-np7znhow19] { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.att-btn:hover[b-np7znhow19] { border-color: #cfd0e0; transform: translateY(-1px); }
.att-btn .lbl[b-np7znhow19] { line-height: 1; }

/* Active states, colour-coded per status. */
.att-btn.active.present[b-np7znhow19]  { background:#e6f6ed; border-color:#1f8a54; color:#1f8a54; }
.att-btn.active.absent[b-np7znhow19]   { background:#fdeaea; border-color:#c0392b; color:#c0392b; }
.att-btn.active.late[b-np7znhow19]     { background:#fdf7e2; border-color:#b8860b; color:#b8860b; }
.att-btn.active.excused[b-np7znhow19]  { background:#e7f0fd; border-color:#2f6fb0; color:#2f6fb0; }

/* On phones show icon-only to keep rows compact. */
@media (max-width: 640px) {
    .att-btn[b-np7znhow19] { padding: 8px; }
    .att-btn .lbl[b-np7znhow19] { display: none; }
}
/* /Pages/Auth/ChangePassword.razor.rz.scp.css */
.pw-hints[b-kkzncil9kl] { list-style: none; margin: 8px 0 0; padding: 0; font-size: 13px; }
.pw-hints li[b-kkzncil9kl] { color: var(--ds-muted, #6b7280); padding: 2px 0; }
.pw-hints li.ok[b-kkzncil9kl] { color: var(--ds-success, #1b7a3d); }
/* /Pages/Calendar.razor.rz.scp.css */
/* Modern monthly calendar (scoped to Calendar.razor). */
.cal-toolbar[b-6ty8juihjx] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.cal-title[b-6ty8juihjx] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--vs-primary, #5B57A6);
    min-width: 220px;
}

.cal-sub[b-6ty8juihjx] {
    font-size: .8rem;
    color: #8b8fa3;
    font-weight: 500;
}

.cal-nav[b-6ty8juihjx] {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.cal-iconbtn[b-6ty8juihjx] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e6e6ef;
    background: #fff;
    color: var(--vs-primary, #5B57A6);
    font-size: 1.1rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, border-color .15s;
}
.cal-iconbtn:hover[b-6ty8juihjx] { background: #f1f0fb; border-color: #d7d5f0; }

.cal-today-btn[b-6ty8juihjx] {
    height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid #e6e6ef;
    background: #fff;
    color: #4a4a68;
    font-weight: 600;
    cursor: pointer;
}
.cal-today-btn:hover[b-6ty8juihjx] { background: #f1f0fb; }

.cal-spacer[b-6ty8juihjx] { flex: 1 1 auto; }

/* View toggle (segmented control) */
.cal-views[b-6ty8juihjx] {
    display: inline-flex;
    background: #f1f0fb;
    border-radius: 10px;
    padding: 3px;
    gap: 2px;
}
.cal-views button[b-6ty8juihjx] {
    border: none;
    background: transparent;
    color: #6b6f82;
    font-weight: 600;
    font-size: .82rem;
    padding: 6px 14px;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.cal-views button.active[b-6ty8juihjx] {
    background: #fff;
    color: var(--vs-primary, #5B57A6);
    box-shadow: 0 1px 4px rgba(91,87,166,.18);
}

/* Year view: 12 mini months */
.cal-year[b-6ty8juihjx] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.cal-mini[b-6ty8juihjx] {
    background: #fff;
    border: 1px solid #ececf4;
    border-radius: 12px;
    padding: 10px;
}
.cal-mini h4[b-6ty8juihjx] {
    margin: 0 0 8px;
    font-size: .9rem;
    color: var(--vs-primary, #5B57A6);
    cursor: pointer;
}
.cal-mini-grid[b-6ty8juihjx] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}
.cal-mini-dow[b-6ty8juihjx] { font-size: .6rem; color: #a2a5b6; text-align: center; font-weight: 600; }
.cal-mini-day[b-6ty8juihjx] {
    font-size: .68rem;
    text-align: center;
    padding: 3px 0;
    border-radius: 6px;
    color: #4a4a68;
    cursor: pointer;
    position: relative;
}
.cal-mini-day.out[b-6ty8juihjx] { color: #cfd1dd; }
.cal-mini-day.weekend[b-6ty8juihjx] { color: #b0b3c4; }
.cal-mini-day.today[b-6ty8juihjx] { background: var(--vs-primary, #5B57A6); color: #fff; font-weight: 700; }
.cal-mini-day.has-ev[b-6ty8juihjx] { font-weight: 700; }
.cal-mini-day.has-ev[b-6ty8juihjx]::after {
    content: "";
    position: absolute;
    bottom: 1px; left: 50%;
    transform: translateX(-50%);
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--ev-color, #5B57A6);
}

/* Agenda view */
.cal-agenda[b-6ty8juihjx] { display: flex; flex-direction: column; gap: 4px; }
.cal-agenda-month[b-6ty8juihjx] {
    font-weight: 700;
    color: #8b8fa3;
    font-size: .82rem;
    margin: 14px 0 4px;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.cal-agenda-row[b-6ty8juihjx] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #ececf4;
    border-radius: 10px;
    padding: 10px 14px;
}
.cal-agenda-date[b-6ty8juihjx] {
    min-width: 92px;
    font-weight: 700;
    color: #3a3a52;
    font-size: .85rem;
}
.cal-agenda-date small[b-6ty8juihjx] { display: block; font-weight: 500; color: #a2a5b6; font-size: .7rem; }
.cal-agenda-title[b-6ty8juihjx] { flex: 1 1 auto; font-weight: 600; color: #3a3a52; }
.cal-agenda-empty[b-6ty8juihjx] { color: #8b8fa3; padding: 20px; text-align: center; }

@media (max-width: 900px) { .cal-year[b-6ty8juihjx] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cal-year[b-6ty8juihjx] { grid-template-columns: 1fr; } }

/* Legend */
.cal-legend[b-6ty8juihjx] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    font-size: .8rem;
    color: #6b6f82;
}
.cal-legend span[b-6ty8juihjx] { display: inline-flex; align-items: center; gap: 6px; }
.cal-dot[b-6ty8juihjx] { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }

/* Grid */
.cal-grid[b-6ty8juihjx] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    background: transparent;
}

.cal-dow[b-6ty8juihjx] {
    text-align: center;
    font-weight: 700;
    font-size: .8rem;
    color: #8b8fa3;
    padding: 6px 0;
}

.cal-cell[b-6ty8juihjx] {
    min-height: 104px;
    background: #fff;
    border: 1px solid #ececf4;
    border-radius: 12px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    transition: box-shadow .15s, border-color .15s;
    cursor: default;
}
.cal-cell.clickable[b-6ty8juihjx] { cursor: pointer; }
.cal-cell.clickable:hover[b-6ty8juihjx] { box-shadow: 0 4px 14px rgba(91,87,166,.12); border-color: #d7d5f0; }

.cal-cell.out[b-6ty8juihjx] { background: #fafafd; opacity: .55; }
.cal-cell.weekend[b-6ty8juihjx] { background: #f7f7fb; }
.cal-cell.today[b-6ty8juihjx] { border-color: var(--vs-primary, #5B57A6); box-shadow: 0 0 0 2px rgba(91,87,166,.18); }

.cal-daynum[b-6ty8juihjx] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    font-weight: 700;
    color: #3a3a52;
    font-size: .95rem;
}
.cal-cell.out .cal-daynum[b-6ty8juihjx] { color: #b8bac9; }
.cal-hijri[b-6ty8juihjx] { font-size: .68rem; color: #a2a5b6; font-weight: 500; }
.cal-today .cal-num[b-6ty8juihjx] {
    background: var(--vs-primary, #5B57A6);
    color: #fff;
    border-radius: 50%;
    width: 24px; height: 24px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .82rem;
}

.cal-events[b-6ty8juihjx] { display: flex; flex-direction: column; gap: 4px; overflow: hidden; }

.cal-chip[b-6ty8juihjx] {
    font-size: .72rem;
    font-weight: 600;
    padding: 3px 7px;
    border-radius: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-inline-start: 3px solid transparent;
}
.cal-chip.holiday[b-6ty8juihjx]    { background: #fdeaea; color: #c0392b; border-inline-start-color: #e74c3c; }
.cal-chip.exam[b-6ty8juihjx]       { background: #efeafc; color: #6c3fc5; border-inline-start-color: #8e5df0; }
.cal-chip.event[b-6ty8juihjx]      { background: #eaeffb; color: #2f6fb0; border-inline-start-color: #4a90d9; }
.cal-chip.meeting[b-6ty8juihjx]    { background: #eafaf1; color: #1f8a54; border-inline-start-color: #2ecc71; }
.cal-chip.dismissal[b-6ty8juihjx]  { background: #fdf3e6; color: #c77a12; border-inline-start-color: #f0a326; }

.cal-more[b-6ty8juihjx] { font-size: .68rem; color: #8b8fa3; font-weight: 600; }

@media (max-width: 640px) {
    .cal-cell[b-6ty8juihjx] { min-height: 66px; padding: 5px; border-radius: 9px; }
    .cal-grid[b-6ty8juihjx] { gap: 4px; }
    .cal-chip[b-6ty8juihjx] { font-size: .6rem; padding: 2px 4px; }
    .cal-hijri[b-6ty8juihjx] { display: none; }
}
/* /Pages/Communication/Announcements.razor.rz.scp.css */
.an-checks[b-hc8ox007jg] { display: flex; gap: 16px; flex-wrap: wrap; margin: 8px 0; }
.an-checks label[b-hc8ox007jg], .an-check[b-hc8ox007jg] { display: inline-flex; gap: 6px; align-items: center; }
.an-row[b-hc8ox007jg] { display: flex; gap: 12px; flex-wrap: wrap; }
.an-row .vs-field[b-hc8ox007jg] { min-width: 200px; }
.an-att[b-hc8ox007jg] { display: flex; gap: 8px; align-items: center; margin-top: 4px; }
.an-stats[b-hc8ox007jg] { display: flex; gap: 24px; flex-wrap: wrap; margin: 12px 0; }
.an-stats div[b-hc8ox007jg] { display: flex; flex-direction: column; }
.an-stats b[b-hc8ox007jg] { font-size: 1.6rem; }
/* /Pages/Communication/AudiencePicker.razor.rz.scp.css */
.ap-row[b-9d50kyad4u] { display: flex; gap: 12px; flex-wrap: wrap; }
.ap-scope[b-9d50kyad4u] { min-width: 180px; }
.ap-target[b-9d50kyad4u] { min-width: 220px; }
.ap-filter[b-9d50kyad4u] { margin-bottom: 6px; }
/* /Pages/Communication/Consents.razor.rz.scp.css */
.cs-row[b-xscbf2fq8y] { display: flex; gap: 12px; flex-wrap: wrap; }
.cs-row .vs-field[b-xscbf2fq8y] { min-width: 200px; }
.cs-check[b-xscbf2fq8y] { display: inline-flex; gap: 6px; align-items: center; margin: 8px 0; }
.cs-ok[b-xscbf2fq8y] { padding: 8px 12px; border-radius: 6px; margin-bottom: 10px; background: var(--vs-success-bg, rgba(46, 160, 67, .12)); }
.cs-summary[b-xscbf2fq8y] { display: flex; gap: 28px; flex-wrap: wrap; margin: 8px 0 12px; }
.cs-summary div[b-xscbf2fq8y] { display: flex; flex-direction: column; }
.cs-summary b[b-xscbf2fq8y] { font-size: 1.5rem; }
/* /Pages/Communication/Events.razor.rz.scp.css */
.ev-ok[b-um9xu1n69l] { padding: 8px 12px; border-radius: 6px; margin-bottom: 10px; background: var(--vs-success-bg, rgba(46, 160, 67, .12)); }
.ev-row[b-um9xu1n69l] { display: flex; gap: 12px; flex-wrap: wrap; }
.ev-row .vs-field[b-um9xu1n69l] { min-width: 200px; }
.ev-checks[b-um9xu1n69l] { display: flex; gap: 16px; flex-wrap: wrap; margin: 8px 0; }
.ev-checks label[b-um9xu1n69l] { display: inline-flex; gap: 6px; align-items: center; }
.ev-cancelled[b-um9xu1n69l] { opacity: .6; text-decoration: line-through; }
.ev-views[b-um9xu1n69l] { display: inline-flex; border: 1px solid var(--vs-border, #ccc); border-radius: 6px; overflow: hidden; }
.ev-views button[b-um9xu1n69l] { padding: 6px 12px; background: transparent; border: 0; cursor: pointer; color: inherit; }
.ev-views button.active[b-um9xu1n69l] { font-weight: 600; background: var(--vs-hover, rgba(0, 0, 0, .08)); }
.ev-cal-nav[b-um9xu1n69l] { display: flex; gap: 12px; align-items: center; justify-content: center; margin: 10px 0; }
.ev-grid[b-um9xu1n69l] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.ev-dow[b-um9xu1n69l] { text-align: center; font-weight: 600; padding: 4px; }
.ev-cell[b-um9xu1n69l] { min-height: 84px; border: 1px solid var(--vs-border, #ddd); border-radius: 6px; padding: 4px; overflow: hidden; }
.ev-empty[b-um9xu1n69l] { border: 0; }
.ev-num[b-um9xu1n69l] { font-size: .75rem; opacity: .7; }
.ev-chip[b-um9xu1n69l] { font-size: .72rem; padding: 2px 4px; margin-top: 2px; border-radius: 4px; background: var(--vs-hover, rgba(0, 0, 0, .08)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) { .ev-cell[b-um9xu1n69l] { min-height: 56px; } .ev-chip[b-um9xu1n69l] { display: none; } }
/* /Pages/Communication/Meetings.razor.rz.scp.css */
.mt-row[b-gwc18rxp12] { display: flex; gap: 12px; flex-wrap: wrap; }
.mt-row .vs-field[b-gwc18rxp12] { min-width: 160px; }
.mt-ok[b-gwc18rxp12] { padding: 8px 12px; border-radius: 6px; margin-bottom: 10px; background: var(--vs-success-bg, rgba(46, 160, 67, .12)); }
.mt-sel[b-gwc18rxp12] { background: var(--vs-hover, rgba(0, 0, 0, .04)); }
/* /Pages/Communication/Moderation.razor.rz.scp.css */
.mo-tabs[b-dxnl0q84w5] { display: flex; gap: 6px; margin: 12px 0; flex-wrap: wrap; }
.mo-tabs button[b-dxnl0q84w5] { padding: 8px 14px; border: 1px solid var(--vs-border, #ccc); background: transparent; border-radius: 6px; cursor: pointer; color: inherit; }
.mo-tabs button.active[b-dxnl0q84w5] { font-weight: 600; border-color: currentColor; }
.mo-card[b-dxnl0q84w5] { margin-bottom: 12px; }
.mo-head[b-dxnl0q84w5] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.mo-msg[b-dxnl0q84w5] { padding: 8px 12px; border-inline-start: 3px solid var(--vs-border, #ccc); margin-bottom: 8px; }
.mo-body[b-dxnl0q84w5] { white-space: pre-wrap; word-break: break-word; }
.mo-actions[b-dxnl0q84w5] { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.mo-rev[b-dxnl0q84w5] { padding: 8px 0; border-bottom: 1px dashed var(--vs-border, #ccc); }
.mo-line[b-dxnl0q84w5] { padding: 6px 0; border-bottom: 1px solid var(--vs-border, #eee); }
.mo-reported[b-dxnl0q84w5] { background: rgba(200, 40, 40, .06); }
.mo-ok[b-dxnl0q84w5] { padding: 8px 12px; border-radius: 6px; margin-bottom: 10px; background: var(--vs-success-bg, rgba(46, 160, 67, .12)); }
/* /Pages/Communication/NotificationStatus.razor.rz.scp.css */
.ns-kpis[b-ssldicutmw] { display: flex; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.ns-kpi[b-ssldicutmw] { display: flex; flex-direction: column; gap: 4px; min-width: 110px; padding: 10px 14px; border: 1px solid var(--vs-border, #ddd); border-radius: 8px; }
.ns-kpi b[b-ssldicutmw] { font-size: 1.6rem; }
/* /Pages/Communication/Surveys.razor.rz.scp.css */
.sv-ok[b-gouibplfwv] { padding: 8px 12px; border-radius: 6px; margin-bottom: 10px; background: var(--vs-success-bg, rgba(46, 160, 67, .12)); }
.sv-note[b-gouibplfwv] { padding: 8px 12px; border-radius: 6px; background: var(--vs-hover, rgba(0, 0, 0, .05)); }
.sv-checks[b-gouibplfwv] { display: flex; gap: 16px; flex-wrap: wrap; margin: 8px 0; }
.sv-checks label[b-gouibplfwv], .sv-req[b-gouibplfwv] { display: inline-flex; gap: 6px; align-items: center; }
.sv-row[b-gouibplfwv] { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.sv-row .vs-field[b-gouibplfwv] { min-width: 180px; }
.sv-qedit[b-gouibplfwv] { border: 1px solid var(--vs-border, #ddd); border-radius: 8px; padding: 10px; margin-bottom: 10px; }
.sv-q[b-gouibplfwv] { margin: 14px 0; }
.sv-bar-row[b-gouibplfwv] { display: flex; gap: 10px; align-items: center; margin: 4px 0; }
.sv-lbl[b-gouibplfwv] { min-width: 140px; }
.sv-bar[b-gouibplfwv] { flex: 1; height: 10px; background: var(--vs-hover, rgba(0, 0, 0, .08)); border-radius: 5px; overflow: hidden; }
.sv-bar > div[b-gouibplfwv] { height: 100%; background: currentColor; opacity: .55; }
.sv-text[b-gouibplfwv] { padding: 6px 10px; margin: 4px 0; border-inline-start: 3px solid var(--vs-border, #ccc); }
/* /Pages/Communication/WhatsApp.razor.rz.scp.css */
.wa-tabs[b-hh0rmmwcbw] { display: flex; gap: 6px; margin: 10px 0; flex-wrap: wrap; }
.wa-tabs button[b-hh0rmmwcbw] { padding: 8px 14px; border: 1px solid var(--vs-border, #ccc); background: transparent; border-radius: 6px; cursor: pointer; color: inherit; }
.wa-tabs button.active[b-hh0rmmwcbw] { font-weight: 600; border-color: currentColor; }
.wa-row[b-hh0rmmwcbw] { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-start; }
.wa-row .vs-field[b-hh0rmmwcbw] { min-width: 180px; }
.wa-check[b-hh0rmmwcbw] { display: inline-flex; gap: 6px; align-items: center; margin-top: 26px; }
/* /Pages/Help.razor.rz.scp.css */
/* In-app user manual (scoped). */
.help-hero[b-6rh6j3b0lc] {
    background: linear-gradient(135deg, #5B57A6 0%, #6f6bd0 100%);
    color: #fff; border-radius: 18px; padding: 24px 28px; margin-bottom: 20px;
    box-shadow: 0 12px 28px rgba(91,87,166,.26);
}
.help-hero h1[b-6rh6j3b0lc] { margin: 0 0 6px; color: #fff; font-size: 1.5rem; font-weight: 800; }
.help-hero p[b-6rh6j3b0lc] { margin: 0; opacity: .92; font-size: .92rem; }

.help-cols[b-6rh6j3b0lc] { display: grid; grid-template-columns: 240px 1fr; gap: 22px; align-items: start; }

.help-toc[b-6rh6j3b0lc] {
    position: sticky; top: 12px;
    background: #fff; border: 1px solid #ececf4; border-radius: 14px; padding: 14px 12px;
    max-height: calc(100vh - 40px); overflow: auto;
}
.help-toc h3[b-6rh6j3b0lc] { margin: 0 0 8px; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #8b8fa3; }
.help-toc a[b-6rh6j3b0lc] { display: block; padding: 6px 10px; border-radius: 8px; color: #4a4a68; text-decoration: none; font-size: .86rem; font-weight: 600; }
.help-toc a:hover[b-6rh6j3b0lc] { background: #f1f0fb; color: var(--vs-primary,#5B57A6); }

.help-search[b-6rh6j3b0lc] { width: 100%; margin-bottom: 10px; padding: 8px 10px; border: 1px solid #e6e6ef; border-radius: 9px; font: inherit; }

.help-section[b-6rh6j3b0lc] {
    background: #fff; border: 1px solid #ececf4; border-radius: 14px;
    padding: 18px 20px; margin-bottom: 16px; scroll-margin-top: 12px;
}
.help-section h2[b-6rh6j3b0lc] {
    margin: 0 0 12px; font-size: 1.15rem; color: var(--vs-primary,#5B57A6);
    display: flex; align-items: center; gap: 10px;
}
.help-section h2 .num[b-6rh6j3b0lc] {
    background: #efeefb; color: var(--vs-primary,#5B57A6); border-radius: 8px;
    width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
    font-size: .85rem; font-weight: 800; flex-shrink: 0;
}
.help-body[b-6rh6j3b0lc] { color: #3a3a52; font-size: .92rem; line-height: 1.7; }
.help-body ul[b-6rh6j3b0lc] { margin: 6px 0; padding-inline-start: 20px; }
.help-body li[b-6rh6j3b0lc] { margin: 4px 0; }
.help-body b[b-6rh6j3b0lc] { color: #2b2b40; }
.help-tip[b-6rh6j3b0lc] { background: #eef7ff; border-inline-start: 3px solid #4a90d9; padding: 8px 12px; border-radius: 8px; margin-top: 8px; font-size: .86rem; }

@media (max-width: 860px) {
    .help-cols[b-6rh6j3b0lc] { grid-template-columns: 1fr; }
    .help-toc[b-6rh6j3b0lc] { position: static; max-height: none; }
}
/* /Pages/Home.razor.rz.scp.css */
/* Modern role-based home (scoped to Home.razor). */
.home-hero[b-ubvs0wojsk] {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(130% 130% at 100% 0%, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 45%),
        linear-gradient(135deg, #5B57A6 0%, #6f6bd0 100%);
    color: #fff;
    border-radius: 20px;
    padding: 28px 30px;
    margin-bottom: 24px;
    box-shadow: 0 12px 28px rgba(91,87,166,.26);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
/* Decorative soft glow */
.home-hero[b-ubvs0wojsk]::after {
    content: "";
    position: absolute;
    top: -60px;
    inset-inline-end: -30px;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 70%);
    pointer-events: none;
}
.home-hero > *[b-ubvs0wojsk] { position: relative; z-index: 1; }
.home-hero h1[b-ubvs0wojsk] { margin: 0 0 6px; font-size: 1.6rem; font-weight: 800; color: #fff; }
.home-hero .sub[b-ubvs0wojsk] { opacity: .92; font-size: .95rem; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.home-role[b-ubvs0wojsk] {
    background: rgba(255,255,255,.24);
    padding: 3px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: .8rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.home-date[b-ubvs0wojsk] { text-align: end; opacity: .96; font-size: .9rem; line-height: 1.5; }
.home-avatar[b-ubvs0wojsk] {
    width: 66px; height: 66px; border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.12));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 6px 16px rgba(0,0,0,.12);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: 800; flex-shrink: 0; color: #fff;
}

.home-section-title[b-ubvs0wojsk] { font-size: 1.05rem; font-weight: 700; color: #3a3a52; margin: 4px 0 12px; }

.home-cols[b-ubvs0wojsk] { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; align-items: start; }

.home-actions[b-ubvs0wojsk] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.home-action[b-ubvs0wojsk] {
    position: relative;
    background: #fff;
    border: 1px solid #ececf4;
    border-radius: 14px;
    padding: 20px 14px 18px;
    text-align: center;
    text-decoration: none;
    color: #3a3a52;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    transition: transform .14s, box-shadow .14s, border-color .14s;
}
/* Colored top accent per card, driven by the tone variable. */
.home-action[b-ubvs0wojsk]::before {
    content: "";
    position: absolute; top: 0; inset-inline: 0; height: 3px;
    background: var(--tone, #5B57A6);
    opacity: .0;
    transition: opacity .14s;
}
.home-action:hover[b-ubvs0wojsk] { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(75,63,166,.16); border-color: color-mix(in srgb, var(--tone,#5B57A6) 40%, #e6e6ef); }
.home-action:hover[b-ubvs0wojsk]::before { opacity: 1; }
.home-action .ic[b-ubvs0wojsk] {
    width: 50px; height: 50px; border-radius: 14px;
    background: var(--tone-bg, #efeefb);
    color: var(--tone, #5B57A6);
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform .14s;
}
.home-action:hover .ic[b-ubvs0wojsk] { transform: scale(1.06); }
.home-action .ic svg[b-ubvs0wojsk] { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-action .lbl[b-ubvs0wojsk] { font-weight: 700; font-size: .9rem; }

/* Tone palette (icon background + accent colour). */
.tone-indigo[b-ubvs0wojsk] { --tone:#5B57A6; --tone-bg:#ecebfb; }
.tone-blue[b-ubvs0wojsk]   { --tone:#2f6fb0; --tone-bg:#e7f0fd; }
.tone-green[b-ubvs0wojsk]  { --tone:#1f8a54; --tone-bg:#e6f6ed; }
.tone-teal[b-ubvs0wojsk]   { --tone:#12897e; --tone-bg:#e0f5f3; }
.tone-orange[b-ubvs0wojsk] { --tone:#c77a12; --tone-bg:#fdf1e2; }
.tone-purple[b-ubvs0wojsk] { --tone:#7b3fc4; --tone-bg:#f3eafc; }
.tone-red[b-ubvs0wojsk]    { --tone:#c0392b; --tone-bg:#fdeaea; }
.tone-pink[b-ubvs0wojsk]   { --tone:#c0398a; --tone-bg:#fdeaf3; }
.tone-amber[b-ubvs0wojsk]  { --tone:#b8860b; --tone-bg:#fdf7e2; }

.home-events[b-ubvs0wojsk] {
    background: #fff;
    border: 1px solid #ececf4;
    border-radius: 14px;
    padding: 16px 18px;
}
.home-events h3[b-ubvs0wojsk] { margin: 0 0 12px; font-size: 1rem; color: #3a3a52; display: flex; justify-content: space-between; align-items: center; }
.home-events h3 a[b-ubvs0wojsk] { font-size: .78rem; font-weight: 600; color: var(--vs-primary,#5B57A6); text-decoration: none; }
.home-event[b-ubvs0wojsk] {
    display: flex; gap: 12px; align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f1f1f6;
}
.home-event:last-child[b-ubvs0wojsk] { border-bottom: none; }
.home-event .d[b-ubvs0wojsk] {
    flex-shrink: 0; text-align: center; min-width: 46px;
    background: #f4f3fb; border-radius: 10px; padding: 6px 4px;
}
.home-event .d .day[b-ubvs0wojsk] { font-weight: 800; font-size: 1.05rem; color: var(--vs-primary,#5B57A6); line-height: 1; }
.home-event .d .mon[b-ubvs0wojsk] { font-size: .66rem; color: #8b8fa3; text-transform: uppercase; }
.home-event .info[b-ubvs0wojsk] { flex: 1 1 auto; min-width: 0; }
.home-event .info .t[b-ubvs0wojsk] { font-weight: 600; color: #3a3a52; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-event .info .m[b-ubvs0wojsk] { font-size: .76rem; color: #8b8fa3; }
.home-chip[b-ubvs0wojsk] { font-size: .68rem; font-weight: 700; padding: 2px 8px; border-radius: 6px; }
.home-chip.holiday[b-ubvs0wojsk] { background:#fdeaea; color:#c0392b; }
.home-chip.exam[b-ubvs0wojsk] { background:#efeafc; color:#6c3fc5; }
.home-chip.event[b-ubvs0wojsk] { background:#eaeffb; color:#2f6fb0; }
.home-chip.meeting[b-ubvs0wojsk] { background:#eafaf1; color:#1f8a54; }
.home-chip.dismissal[b-ubvs0wojsk] { background:#fdf3e6; color:#c77a12; }
.home-empty[b-ubvs0wojsk] { color: #8b8fa3; padding: 12px 0; font-size: .9rem; }

@media (max-width: 900px) {
    .home-cols[b-ubvs0wojsk] { grid-template-columns: 1fr; }
    .home-actions[b-ubvs0wojsk] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .home-actions[b-ubvs0wojsk] { grid-template-columns: repeat(2, 1fr); }
    .home-date[b-ubvs0wojsk] { text-align: start; }
}
