/* SIAPIYA_CSP_GENERATED_STATIC_STYLE_PARITY_V36980 */
/* Frontend Hardening 4C Wave 7 — cumulative 117 generated style attributes remain migrated; Wave 7 closes the remaining finite-state DOM style writers with same-origin classes. */
.siapiya-csp-spinner-lg { width: 3rem; height: 3rem; }
.siapiya-csp-maxh-430 { max-height: 430px; }
.siapiya-csp-maxh-300 { max-height: 300px; }
.siapiya-csp-w-42 { width: 42px; }
.siapiya-csp-surface-body-fallback { background-color: var(--bs-body-bg, #fff); }
.siapiya-csp-fs-075 { font-size: 0.75rem; }
.siapiya-csp-action-max-400 { max-width: 400px; margin: 0 auto; }
.siapiya-csp-bg-info-soft { background-color: rgba(13,202,240,0.05); }
.siapiya-csp-fs-085 { font-size: 0.85rem; }
.siapiya-csp-maxw-820 { max-width: 820px; }
.siapiya-csp-fs-14px { font-size: 14px; }
.siapiya-csp-bg-primary-soft { background-color: rgba(13,110,253,0.05); }
.siapiya-csp-border-left-primary { border-left: 4px solid var(--bs-primary) !important; }
.siapiya-csp-fs-100 { font-size: 1rem; }
.siapiya-csp-fs-080 { font-size: 0.8rem; }
.siapiya-csp-bg-danger-soft { background-color: rgba(220, 53, 69, 0.05); }
.siapiya-csp-minw-800 { min-width: 800px; }
.siapiya-csp-fs-065-wide { font-size: 0.65rem; letter-spacing: 0.5px; }
.siapiya-csp-room-label { font-size: 0.80rem; color: var(--bs-secondary); font-weight: 700; }
.siapiya-csp-opacity-030 { opacity: 0.3; }
.siapiya-csp-badge-surface { background-color: var(--bs-body-bg); color: var(--bs-body-color); font-weight: normal; }
.siapiya-csp-fs-065 { font-size: 0.65rem; }
.siapiya-csp-surface-body { background-color: var(--bs-body-bg); }
.siapiya-csp-w-35 { width: 35px; }
.siapiya-csp-fs-085em { font-size: 0.85em; }
.siapiya-csp-fs-090 { font-size: 0.9rem; }
.siapiya-csp-color-primary { color: var(--bs-primary); }
.siapiya-csp-fs-120 { font-size: 1.2rem; }
.siapiya-csp-border-top-primary { border-top: 4px solid var(--bs-primary) !important; }

/* SIAPIYA_CSP_GENERATED_OPERATIONAL_STYLE_MIGRATION_V36980 */
.siapiya-csp-gradient-purple-blue { background: linear-gradient(135deg,#4c1d95 0%,#7c3aed 55%,#2563eb 100%) !important; }
.siapiya-csp-maxh-50vh { max-height: 50vh; }
.siapiya-csp-w-92 { width: 92px; }
.siapiya-csp-w-82 { width: 82px; }
.siapiya-csp-w-155 { width: 155px; }
.siapiya-csp-w-135 { width: 135px; }
.siapiya-csp-w-150 { width: 150px; }
.siapiya-csp-gradient-primary-cyan { background: linear-gradient(135deg, #005bb5 0%, #00d2ff 100%) !important; }
.siapiya-csp-fs-350 { font-size: 3.5rem; }
.siapiya-csp-list-transparent-095 { font-size: 0.95rem; background: transparent !important; }
.siapiya-csp-tp-text-semibold { font-size: 1rem; font-weight: 600; }
.siapiya-csp-maxh-360 { max-height: 360px; }
.siapiya-csp-maxh-520 { max-height: 520px; }
.siapiya-csp-maxw-280 { max-width: 280px; }
.siapiya-csp-minw-190 { min-width: 190px; }
.siapiya-csp-maxh-420 { max-height: 420px; }
.siapiya-csp-maxh-440 { max-height: 440px; }
.siapiya-csp-maxw-190 { max-width: 190px; }
.siapiya-csp-maxh-640 { max-height: 640px; }
.siapiya-csp-w-30 { width: 30px; }
.siapiya-csp-maxh-480 { max-height: 480px; }

/* SIAPIYA_CSP_VISIBILITY_STATE_MIGRATION_V36980 */
.siapiya-csp-hidden { display: none !important; }
.siapiya-csp-display-block { display: block; }
.siapiya-csp-display-flex { display: flex; }
.siapiya-csp-pb-80 { padding-bottom: 80px; }

/* SIAPIYA_CSP_DOM_VISIBILITY_WRITER_MIGRATION_V36980 */
.siapiya-csp-menu-visible { display: flex !important; }
.siapiya-csp-menu-hidden { display: none !important; }


/* SIAPIYA_CSP_DOM_FINITE_STATE_WRITER_CLOSURE_V36980 */
.siapiya-csp-date-locked { pointer-events: none; background-color: #e9ecef !important; }
.siapiya-csp-journal-border-primary { border-left: 4px solid var(--bs-primary) !important; }
.siapiya-csp-journal-border-danger { border-left: 4px solid #dc3545 !important; }
.siapiya-csp-scan-result-success { background: rgba(25,135,84,.92) !important; }
.siapiya-csp-scan-result-duplicate { background: rgba(13,110,253,.92) !important; }
.siapiya-csp-scan-result-error { background: rgba(220,53,69,.92) !important; }
.siapiya-csp-qr-offscreen-holder { position: fixed; left: -9999px; }


/* SIAPIYA_CSP_RUNTIME_FINITE_INTERPOLATION_MIGRATION_V36980 */
.siapiya-csp-teacher-color-01 { color: #0d6efd !important; }
.siapiya-csp-teacher-color-02 { color: #198754 !important; }
.siapiya-csp-teacher-color-03 { color: #dc3545 !important; }
.siapiya-csp-teacher-color-04 { color: #fd7e14 !important; }
.siapiya-csp-teacher-color-05 { color: #6f42c1 !important; }
.siapiya-csp-teacher-color-06 { color: #d63384 !important; }
.siapiya-csp-teacher-color-07 { color: #20c997 !important; }
.siapiya-csp-teacher-color-08 { color: #6610f2 !important; }
.siapiya-csp-teacher-color-09 { color: #b02a37 !important; }
.siapiya-csp-teacher-color-10 { color: #087990 !important; }
.siapiya-csp-teacher-color-11 { color: #d94b00 !important; }
.siapiya-csp-teacher-color-12 { color: #4a90e2 !important; }
.siapiya-csp-teacher-color-default { color: #000 !important; }
.siapiya-csp-schedule-cell-standard { border: 2px solid #8ab4f8 !important; background-color: var(--bs-body-bg, #ffffff) !important; }
.siapiya-csp-schedule-cell-combined { border: 2px solid #0dcaf0 !important; background-color: rgba(13, 202, 240, 0.05) !important; }
.siapiya-csp-schedule-cell-rotation { border: 2px dashed #fd7e14 !important; background-color: var(--bs-body-bg, #ffffff) !important; }
.siapiya-csp-schedule-cell-both { border: 2px dashed #6f42c1 !important; background-color: rgba(13, 202, 240, 0.05) !important; }


/* SIAPIYA_CSP_LEGER_EXCEL_SEMANTIC_STYLE_MIGRATION_V36980 */
.siapiya-csp-leger-scroll { overflow-x: auto; }
.siapiya-csp-leger-table { font-size: 0.85rem; min-width: 1000px; }
.siapiya-csp-excel-text { mso-number-format: '\@'; }
.siapiya-csp-text-left-force { text-align: left !important; }
.siapiya-csp-leger-description { font-size: 0.75rem; text-align: justify; }
.siapiya-csp-print-ttd-block { page-break-inside: avoid; margin-bottom: 50px; }


/* SIAPIYA_CSP_CLIENT_STYLE_SOURCE_CLOSURE_V36980 */
.siapiya-csp-attendance-svg { display: block; width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: var(--bs-tertiary-bg, #e9ecef); }
.siapiya-csp-attendance-fill-success { fill: var(--bs-success, #198754); }
.siapiya-csp-attendance-fill-secondary { fill: var(--bs-secondary, #6c757d); }
.siapiya-csp-attendance-fill-primary { fill: var(--bs-primary, #0d6efd); }
.siapiya-csp-attendance-fill-warning { fill: var(--bs-warning, #ffc107); }
.siapiya-csp-attendance-fill-danger { fill: var(--bs-danger, #dc3545); }
