:root{--font-family-display:"Inter", "Segoe UI", sans-serif;--font-family-body:"Inter", "Segoe UI", sans-serif;--font-family-subtle:"Segoe UI", "Inter", sans-serif;--brand-primary:#5b21b6;--brand-secondary:#8b5cf6;--brand-accent:#14b8a6;--surface-primary:#fffffff0;--surface-secondary:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--border-color:#94a3b82e;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--shadow-soft:0 10px 30px #0f172a0d;--shadow-medium:0 20px 45px #0f172a14;--shadow-lg:0 28px 60px #0f172a1f;--shadow-sm:0 8px 18px #0f172a0d;--shadow-md:0 16px 36px #0f172a14;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--transition-fast:.16s ease;--transition-normal:.24s ease;--primary-color:var(--brand-primary);--primary-light:var(--brand-secondary);--secondary-color:var(--brand-secondary);--accent-color:var(--brand-accent);--success-color:var(--success);--warning-color:var(--warning);--danger-color:var(--danger);--bg-primary:var(--surface-secondary);--bg-card:var(--surface-primary);--color-primary:var(--brand-primary);--color-secondary:var(--brand-secondary);--color-accent:var(--brand-accent);--color-success:var(--success);--color-warning:var(--warning);--color-danger:var(--danger);--color-bg:var(--surface-secondary);--color-surface:var(--surface-primary);--color-border:var(--border-color);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--radius-xs:8px;--radius-xl:32px;--transition:.3s ease;--field-height:44px;--field-radius:14px;--field-font-size:14px}.fade-up{animation:.8s forwards fadeUp}.float-soft{animation:6s ease-in-out infinite floatSoft}.pulse-soft{animation:3s infinite pulseSoft}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes floatSoft{0%{transform:translateY(0)}50%{transform:translateY(-14px)}to{transform:translateY(0)}}@keyframes pulseSoft{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.app-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.app-button{font-weight:600;border-radius:var(--field-radius)!important;height:var(--field-height)!important;min-height:var(--field-height)!important}.app-toast.ant-notification-notice{box-shadow:var(--shadow-lg);border:1px solid #0000;border-radius:14px}.app-toast .ant-notification-notice-message{color:var(--text-primary);margin-bottom:4px;font-weight:800}.app-toast .ant-notification-notice-description{color:var(--text-secondary);line-height:1.5}.app-toast--success.ant-notification-notice{background:color-mix(in srgb, var(--success) 12%, var(--surface-primary));border-color:color-mix(in srgb, var(--success) 30%, var(--border-color))}.app-toast--success .ant-notification-notice-icon{color:var(--success)}.app-toast--warning.ant-notification-notice{background:color-mix(in srgb, var(--warning) 16%, var(--surface-primary));border-color:color-mix(in srgb, var(--warning) 38%, var(--border-color))}.app-toast--warning .ant-notification-notice-icon{color:var(--warning)}.app-toast--error.ant-notification-notice{background:color-mix(in srgb, var(--danger) 12%, var(--surface-primary));border-color:color-mix(in srgb, var(--danger) 34%, var(--border-color))}.app-toast--error .ant-notification-notice-icon{color:var(--danger)}.app-toast--info.ant-notification-notice{background:color-mix(in srgb, var(--brand-secondary) 10%, var(--surface-primary));border-color:color-mix(in srgb, var(--brand-secondary) 28%, var(--border-color))}.app-toast--info .ant-notification-notice-icon{color:var(--brand-secondary)}.auth-field-spacer--lg{height:20px}.auth-login-options{justify-content:space-between;margin-bottom:24px;display:flex}.auth-primary-button{height:52px;color:#fff!important;background:#4f46e5!important;border-color:#4f46e5!important;border-radius:12px!important}.auth-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.app-input,.app-select .ant-select-selector,.app-search .ant-input,.app-search .ant-input-affix-wrapper{font-size:var(--field-font-size);border-radius:var(--field-radius)!important;height:var(--field-height)!important;min-height:var(--field-height)!important}.app-select .ant-select-selector{align-items:center!important;padding-block:0!important;display:flex!important}.app-select .ant-select-selection-item,.app-select .ant-select-selection-placeholder{line-height:var(--field-height)!important}.app-select.ant-select-multiple .ant-select-selector{height:auto!important;min-height:var(--field-height)!important;align-items:center!important;padding-block:4px!important}.app-select.ant-select-multiple .ant-select-selection-item,.app-select.ant-select-multiple .ant-select-selection-placeholder{line-height:1.4!important}.app-date-picker.ant-picker{align-items:center;width:100%;display:flex;height:var(--field-height)!important;min-height:var(--field-height)!important;border-radius:var(--field-radius)!important}.app-color-picker{flex-direction:column;gap:8px;display:flex}.app-color-picker__label{color:var(--color-text-secondary);font-size:13px;font-weight:600;font-family:var(--font-family-subtle)}.app-color-picker__field{min-height:var(--field-height);border-radius:var(--field-radius);border:1px solid var(--color-border);background:var(--surface-primary);align-items:center;gap:12px;padding:6px 12px 6px 6px;display:flex}.app-color-picker__swatch{border:1px solid #0f172a1f;border-radius:10px;flex:none;width:34px;height:34px;box-shadow:inset 0 0 0 1px #ffffff59}.app-color-picker__input{appearance:none;cursor:pointer;background:0 0;border:none;width:34px;height:34px;padding:0}.app-color-picker__input::-webkit-color-swatch-wrapper{padding:0}.app-color-picker__input::-webkit-color-swatch{border:1px solid #0f172a14;border-radius:10px}.app-color-picker__value{letter-spacing:.04em;color:var(--color-text-primary);font-size:13px;font-weight:700;font-family:var(--font-family-subtle)}.app-color-picker__help{color:var(--color-text-secondary);font-size:12px;line-height:1.5;font-family:var(--font-family-subtle)}.app-upload.ant-upload-wrapper{width:100%}.app-upload-field{gap:8px;width:100%;display:grid}.app-upload-field__note{color:var(--text-secondary);font-size:12px;line-height:1.45;font-family:var(--font-family-subtle);margin:0}.app-upload-field__existing{gap:8px;display:grid}.app-upload-field__file-row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:6px 8px 6px 12px;display:flex}.app-upload-field__file-name{min-width:0;color:var(--text-primary);font:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.app-upload-field__file-actions{flex:none;align-items:center;gap:6px;display:flex}.app-upload-field__icon-button{border:1px solid var(--border-color);background:var(--surface-primary);width:30px;height:30px;color:var(--brand-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.app-upload-field__icon-button:hover{border-color:color-mix(in srgb, var(--brand-primary) 42%, var(--border-color));background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary))}.app-upload-field__icon-button--danger{color:var(--danger)}.app-upload-field__icon-button--danger:hover{border-color:color-mix(in srgb, var(--danger) 42%, var(--border-color));background:color-mix(in srgb, var(--danger) 8%, var(--surface-primary))}.app-upload-field__preview-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:70vh;margin:0 auto;display:block}.app-upload .ant-upload.ant-upload-drag{background:color-mix(in srgb, var(--brand-primary) 4%, var(--surface-secondary));border-color:color-mix(in srgb, var(--brand-primary) 18%, var(--border-color));border-radius:16px;min-height:170px;padding:18px 16px}.app-upload .ant-upload-drag-icon{margin-bottom:10px}.app-upload .ant-upload-text{margin-bottom:8px;font-weight:600}.app-upload .ant-upload-hint{color:var(--text-secondary)}.app-upload .ant-upload-list-item-actions{opacity:1}.app-tag{vertical-align:middle;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding-block:2px;padding-inline:14px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.app-tag--neutral{background:color-mix(in srgb, var(--text-muted) 12%, var(--surface-primary));color:var(--text-secondary);border-color:var(--border-color)}.app-tag--brand{background:color-mix(in srgb, var(--brand-primary) 12%, var(--surface-primary));color:var(--brand-primary);border-color:color-mix(in srgb, var(--brand-primary) 24%, var(--border-color))}.app-tag--platform{background:color-mix(in srgb, var(--brand-secondary) 12%, var(--surface-primary));color:var(--brand-secondary);border-color:color-mix(in srgb, var(--brand-secondary) 24%, var(--border-color))}.app-tag--success{background:color-mix(in srgb, var(--success) 14%, var(--surface-primary));color:var(--success);border-color:color-mix(in srgb, var(--success) 22%, var(--border-color))}.app-tag--warning{background:color-mix(in srgb, var(--warning) 14%, var(--surface-primary));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-color))}.app-tag--danger{background:color-mix(in srgb, var(--danger) 12%, var(--surface-primary));color:var(--danger);border-color:color-mix(in srgb, var(--danger) 22%, var(--border-color))}.app-tag.activity-logs-module-tag--attendance-rules{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.app-tag.activity-logs-module-tag--grading-system{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.activity-logs-table .app-table-toolbar{flex-wrap:nowrap;align-items:center}.activity-logs-table .app-table-toolbar>div:first-child{flex-shrink:0}.activity-logs-table .app-table-toolbar__actions{flex-wrap:nowrap;flex-shrink:0}.app-stat-card{flex-direction:column;gap:10px;display:flex}.app-stat-card.app-card{min-height:168px}.app-stat-card__label{color:var(--color-text-secondary);font-size:13px;font-weight:600;font-family:var(--font-family-subtle)}.app-stat-card__value{color:var(--color-text-primary);font-size:30px;font-weight:800;line-height:1}.app-stat-card__meta{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-family-subtle)}.app-stat-card--platform{border-color:color-mix(in srgb, var(--brand-primary) 18%, var(--border-color))}.app-stat-card--tenant{border-color:color-mix(in srgb, var(--brand-secondary) 18%, var(--border-color))}.app-stat-card--neutral{border-color:var(--border-color)}.app-stat-card--interactive{cursor:pointer}.app-stat-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.app-stat-card--interactive:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-primary) 25%, transparent);outline-offset:3px}.app-drawer .ant-drawer-content-wrapper{box-shadow:var(--shadow-lg)}.sw-root{z-index:1200;flex-direction:row;align-items:center;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.sw-tab__trigger{border:1.5px solid color-mix(in srgb, var(--brand-primary) 55%, transparent);background:var(--brand-primary);color:#fff;cursor:pointer;width:28px;height:52px;box-shadow:-3px 2px 10px color-mix(in srgb, var(--brand-primary) 30%, transparent);z-index:1;border-right:none;border-radius:10px 0 0 10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .14s,width .12s;display:flex;position:relative}.sw-tab__trigger:hover{background:color-mix(in srgb, var(--brand-primary) 85%, black);width:32px}.sw-tab__unread-dot{background:var(--danger-color);border:2px solid var(--primary-color);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:6px}.sw-menu{background:var(--surface-primary);border:1.5px solid var(--border-color);opacity:0;pointer-events:none;padding:10px 8px;border-right:none;border-radius:14px 0 0 14px;flex-direction:column;align-items:center;gap:8px;width:0;max-width:0;padding-left:0;padding-right:0;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .18s,padding .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:-6px 4px 20px #0000001f}.sw-menu--open{opacity:1;pointer-events:auto;width:auto;max-width:72px;padding:10px 8px}.sw-menu__item{cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:transform .12s,filter .12s;display:flex}.sw-menu__item:hover{filter:brightness(.92);transform:scale(1.08)}.sw-menu__item:active{transform:scale(.95)}.sw-help-modal__mask{-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;background:#0f172a73!important}.sw-help-modal .ant-modal-content{border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden;padding:0!important}.support-panel__modal-wrap{flex-direction:column;max-height:85vh;display:flex}.support-panel__modal-wrap .support-panel__header{border-radius:0}.support-panel__modal-wrap .support-panel__body{overflow-y:auto}.support-scrim{z-index:1198;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a47;position:fixed;inset:0}.support-panel{z-index:1199;pointer-events:none;position:fixed;inset:0}.support-panel__shell{background:var(--surface-primary);border-left:1px solid var(--border-color);width:min(540px,100vw);height:100%;box-shadow:var(--shadow-lg);transition:transform var(--transition-normal);pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.support-panel--open .support-panel__shell{transform:translate(0)}.support-panel__header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 12%, transparent), color-mix(in srgb, var(--brand-accent) 12%, transparent));flex:none;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.support-panel__brand{align-items:flex-start;gap:14px;min-width:0;display:flex}.support-panel__brand-mark{width:auto;height:auto;color:var(--text-inverse);box-shadow:none;background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.support-panel__brand-mark img{object-fit:contain;width:182px;height:auto;padding:0}.support-panel__brand-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.support-panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.support-panel__title{margin:0!important;font-size:20px!important;line-height:1.25!important}.support-panel__subtitle{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0!important}.support-panel__close{flex:none}.support-panel__body{flex-direction:column;flex:auto;gap:20px;padding:20px 24px 24px;display:flex;overflow-y:auto}.support-panel__hero-icons{align-items:center;gap:10px;display:flex}.support-panel__hero-icon{width:34px;height:34px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.support-panel__hero-icon--primary{color:var(--text-inverse);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 88%, white), color-mix(in srgb, var(--brand-secondary) 84%, white))}.support-panel__meta{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.support-panel__meta .ant-typography{max-width:320px}.support-drawer .ant-drawer-content{background:var(--surface-primary);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.support-drawer .ant-drawer-body{padding:0}.support-drawer__panel{flex-direction:column;height:100%;display:flex}.support-drawer__header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 12%, transparent), color-mix(in srgb, var(--brand-accent) 12%, transparent));justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.support-drawer__brand{align-items:flex-start;gap:14px;min-width:0;display:flex}.support-drawer__brand-mark{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 88%, white), color-mix(in srgb, var(--brand-secondary) 84%, white));width:48px;height:48px;box-shadow:var(--shadow-soft);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.support-drawer__brand-mark img{object-fit:cover;width:100%;height:100%}.support-drawer__brand-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.support-drawer__eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.support-drawer__title{margin:0!important;font-size:20px!important;line-height:1.25!important}.support-drawer__subtitle{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0!important}.support-drawer__close{flex:none}.support-drawer__body{flex-direction:column;gap:20px;padding:20px 24px 24px;display:flex;overflow-y:auto}.support-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.support-quick-actions__item{text-align:left;white-space:normal;min-height:80px;box-shadow:var(--shadow-soft);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-normal);align-items:flex-start;gap:12px;border:1px solid var(--border-color)!important;background:var(--surface-primary)!important;border-radius:18px!important;height:auto!important;padding:16px!important;display:flex!important}.support-quick-actions__item:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px);border-color:color-mix(in srgb, var(--brand-primary) 28%, var(--border-color))!important}.support-quick-actions__item--active{border-color:color-mix(in srgb, var(--brand-primary) 35%, var(--border-color))!important;background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary))!important}.support-quick-actions__icon{width:36px;height:36px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.support-quick-actions__content{flex-direction:column;gap:4px;min-width:0;display:flex}.support-quick-actions__label{color:var(--text-primary);font-size:14px;font-weight:700}.support-quick-actions__description{color:var(--text-secondary);font-size:12px;line-height:1.5}.support-form{flex-direction:column;gap:16px;display:flex}.support-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.support-form__grid--single{grid-template-columns:1fr}.support-form__footer{flex-direction:column;gap:14px;display:flex}.support-form__hint{font-size:12px}.support-contact-actions{row-gap:10px}.support-contact-actions .app-button{min-height:42px}.support-form__selection-note{border:1px solid var(--border-color);background:color-mix(in srgb, var(--brand-primary) 5%, var(--surface-primary));border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.support-empty-state{padding:8px 0 4px}.support-success-state{border:1px solid color-mix(in srgb, var(--success) 18%, var(--border-color));background:linear-gradient(135deg, color-mix(in srgb, var(--success) 10%, var(--surface-primary)), var(--surface-primary));box-shadow:var(--shadow-soft);border-radius:22px;flex-direction:column;gap:14px;padding:20px;display:flex}.support-success-state__icon{width:52px;height:52px;color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--surface-primary));border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.support-success-state__title{margin:0!important}.support-success-state__copy{color:var(--text-secondary);margin:0!important}.support-success-state__ticket{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.support-success-state__actions{flex-wrap:wrap;gap:10px;display:flex}.support-drawer__meta{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.app-stat-card .metric-icon{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.app-stat-card--platform .metric-icon{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))}.app-stat-card--tenant .metric-icon{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent))}.app-stat-card--neutral .metric-icon{background:linear-gradient(135deg, var(--brand-secondary), var(--text-muted))}.app-page-header{flex-direction:column;gap:14px;display:flex}.app-page-header__top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.app-breadcrumbs,.app-breadcrumbs .ant-breadcrumb-link,.app-breadcrumbs a{color:var(--color-text-secondary)}.student-onboarding-step-card__title{gap:20px;font-size:22px}.app-page-header__title{color:var(--color-text-primary);font-size:30px;font-weight:800;line-height:1.15}.app-page-header__subtitle{max-width:720px;color:var(--color-text-secondary);font-size:14px;line-height:1.7;font-family:var(--font-family-subtle);margin-top:6px;font-weight:400}.app-page-header__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.app-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.app-quick-actions .app-button{width:100%}.app-page-header__title,.app-table-toolbar__title{margin:0!important}.app-table-toolbar__subtitle{margin-top:4px;display:block}.app-page-header__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.app-breadcrumbs,.app-breadcrumbs .ant-breadcrumb-link,.app-breadcrumbs a{color:var(--color-text-secondary)}.app-search{width:100%}.app-modal .ant-modal-header{border-bottom:1px solid var(--color-border);padding:20px 24px}.app-modal .ant-modal-body{padding:24px}.app-modal .ant-modal-footer{border-top:1px solid var(--color-border);padding:16px 24px}.app-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.app-table-toolbar__search{flex:1;min-width:240px}.app-table-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-onboarding-step-card__subtitle{color:var(--text-secondary);text-align:left;margin-top:2px;font-size:14px;line-height:1.6}.app-empty-state{text-align:center;color:var(--color-text-secondary);padding:42px 20px}.app-page-section-grid{gap:24px;display:grid}.student-onboarding-roadmap{flex-direction:column;gap:20px;display:flex}.student-onboarding-roadmap__header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-onboarding-roadmap__copy{flex-direction:column;gap:10px;max-width:860px;display:flex}.student-onboarding-roadmap__title{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.student-onboarding-roadmap__subtitle{color:var(--color-text-secondary);font-size:14px;line-height:1.7;font-family:var(--font-family-subtle);margin:0}.student-onboarding-roadmap__badges{flex-wrap:wrap;gap:8px;display:flex}.student-onboarding-roadmap__actions{flex:none;justify-content:flex-end;align-items:center;display:flex}.school-onboarding-preview-grid,.student-onboarding-section.school-onboarding-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-onboarding-page{flex-direction:column;gap:24px;display:flex}.student-onboarding-page__panel{overflow:hidden;padding:0!important}.student-onboarding-page__footer-note{color:var(--text-muted);text-align:center;padding-bottom:8px;font-size:12px}.student-onboarding-wizard{flex-direction:column;display:flex}.leave-policy-page{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.leave-policy-page .student-onboarding-wizard,.leave-policy-page .student-onboarding-step-card,.leave-policy-page .student-onboarding-step-card__content{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.leave-policy-page .student-onboarding-stepper{width:100%;min-width:0;max-width:100%;overflow:auto hidden}.student-onboarding-stepper{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#94a3b8b3 transparent;background:#f1f5f9;align-items:stretch;gap:4px;padding:14px;display:flex;overflow:auto hidden}.student-onboarding-stepper::-webkit-scrollbar{height:8px}.student-onboarding-stepper::-webkit-scrollbar-track{background:0 0}.student-onboarding-stepper::-webkit-scrollbar-thumb{background:#94a3b8b3;border-radius:999px}.student-onboarding-stepper__item{cursor:pointer;text-align:left;background:0 0;border:none;flex:1 1 0;min-width:140px;padding:0;position:relative}.student-onboarding-stepper__inner{box-sizing:border-box;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,18px 50%);background:#e2e8f0;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:66px;padding:14px 16px 14px 28px;transition:background .22s;display:flex}.student-onboarding-stepper__item:first-child .student-onboarding-stepper__inner{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);padding-left:18px}.student-onboarding-stepper__item:last-child .student-onboarding-stepper__inner{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,18px 50%)}.student-onboarding-stepper__item--active .student-onboarding-stepper__inner{background:var(--brand-primary)}.student-onboarding-stepper__item--done .student-onboarding-stepper__inner{background:color-mix(in srgb, var(--brand-primary) 10%, #e2e8f0)}.student-onboarding-stepper__step-number{width:30px;height:30px;color:var(--text-secondary);background:#fff;border:2px solid #94a3b866;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.student-onboarding-stepper__item--active .student-onboarding-stepper__step-number{color:#fff;background:#ffffff2e;border-color:#ffffff59}.student-onboarding-stepper__item--done .student-onboarding-stepper__step-number{background:var(--brand-primary);color:#fff;border-color:#0000}.student-onboarding-stepper__icon{color:var(--text-muted);flex:none;align-items:center;transition:color .2s;display:inline-flex}.student-onboarding-stepper__item--active .student-onboarding-stepper__icon{color:#ffffffe6}.student-onboarding-stepper__item--done .student-onboarding-stepper__icon{color:var(--brand-primary)}.student-onboarding-stepper__label{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:600;line-height:1.3;transition:color .2s;overflow:hidden}.student-onboarding-stepper__label>div,.student-onboarding-stepper__label>small{text-overflow:ellipsis;overflow:hidden}.student-onboarding-stepper__label>div{white-space:nowrap}.student-onboarding-stepper__label>small{white-space:nowrap;display:block}.student-onboarding-stepper__item--active .student-onboarding-stepper__label{color:#fff}.student-onboarding-stepper__item--done .student-onboarding-stepper__label{color:var(--brand-primary)}.student-onboarding-wizard__form{padding:28px}.student-onboarding-step-card.app-card{border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden}.student-onboarding-step-card__header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:4px;margin-bottom:28px;padding-bottom:20px;display:flex}.student-onboarding-step-card__step-label{color:var(--brand-primary);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.student-onboarding-step-card__title{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.2}.student-onboarding-step-card__subtitle{color:var(--text-secondary);margin-top:2px;font-size:14px;line-height:1.6}.student-onboarding-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px;display:grid}.subjects-stepper-wizard,.lesson-plan-stepper-wizard{gap:0}.lesson-plan-step-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:0 18px;display:grid}.lesson-plan-step-stack{gap:0;display:grid}.subject-stepper-review{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.subject-stepper-review>div{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;flex-direction:column;gap:4px;min-height:72px;padding:14px 16px;display:flex}.subject-stepper-review span{color:var(--text-secondary);font-size:12px;font-weight:700}.subject-stepper-review strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:15px}.academic-setup-flow-grid{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;gap:22px 28px;display:grid}.academic-setup-flow-grid .ant-checkbox-wrapper{align-items:center;min-height:42px;display:flex}.asf-field{flex-direction:column;gap:8px;min-width:0;display:flex}.asf-field__label{color:var(--text-secondary,#4b5563);font-size:13px;font-weight:600;line-height:1.3}.asf-field__optional{color:var(--text-tertiary,#9ca3af);font-weight:400}.asf-field .ant-select,.asf-field .ant-picker,.asf-field .ant-input,.asf-field .ant-input-affix-wrapper{width:100%}.academic-setup-toggle-field{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);min-height:42px;color:var(--text-primary);justify-content:space-between;align-items:center;gap:16px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.student-onboarding-field--full{grid-column:1/-1}.student-onboarding-readonly-field{min-height:var(--field-height);border:1px solid var(--border-color);background:color-mix(in srgb, var(--text-muted) 6%, var(--surface-primary));color:var(--text-primary);overflow-wrap:anywhere;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.45;display:flex}.student-onboarding-readonly-field--upload{min-height:72px}.student-onboarding-readonly-field--upload img{object-fit:cover;border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;flex:none;width:48px;height:58px}.student-onboarding-section-block__divider{background:var(--border-color);height:1px;margin:24px 0}.student-onboarding-info-notice{background:color-mix(in srgb, var(--brand-primary) 6%, #fff);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--brand-primary) 16%, transparent);color:var(--brand-primary);align-items:center;gap:10px;margin-top:24px;padding:13px 18px;font-size:13px;font-weight:500;display:flex}.student-onboarding-review-card{background:var(--surface-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);flex-direction:column;gap:18px;padding:24px;font-size:14px;line-height:1.7;display:flex}.student-onboarding-review-card__chips{flex-wrap:wrap;gap:8px;display:flex}.student-onboarding-review-card__chips>span{background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 15%, var(--border-color));color:var(--brand-primary);border-radius:99px;padding:6px 14px;font-size:12px;font-weight:600}.student-onboarding-review-summary{flex-direction:column;gap:0;display:flex}.student-onboarding-review-summary__intro{color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin:0;padding:0 0 20px;font-size:13px;line-height:1.6}.student-onboarding-review-summary__section{border-bottom:1px solid var(--border-color);padding:20px 0}.student-onboarding-review-summary__section:last-child{border-bottom:none}.student-onboarding-review-summary__section-title{color:var(--brand-primary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}.student-onboarding-review-summary__section-title svg{opacity:.85;flex-shrink:0}.student-onboarding-review-summary__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 24px;display:grid}.student-onboarding-review-summary__field{flex-direction:column;gap:2px;min-width:0;display:flex}.student-onboarding-review-summary__field--upload{grid-column:span 2}.student-onboarding-review-summary__field-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.student-onboarding-review-summary__field-value{color:var(--text-primary);word-break:break-word;font-size:14px;font-weight:500}.student-onboarding-review-summary__field-value--empty{color:var(--text-tertiary);font-style:italic;font-weight:400}.student-onboarding-review-summary__parents{flex-direction:column;gap:10px;display:flex}.student-onboarding-review-summary__parent-card{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.student-onboarding-review-summary__parent-name{color:var(--text-primary);font-size:14px;font-weight:600}.student-onboarding-review-summary__parent-meta{color:var(--text-secondary);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.student-onboarding-id-card-workspace{border-top:1px solid var(--border-color);grid-template-columns:minmax(280px,520px) minmax(180px,240px);align-items:start;gap:18px;margin-top:22px;padding-top:22px;display:grid}.student-onboarding-id-card-preview{aspect-ratio:1.58;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-primary);width:100%;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.student-onboarding-id-card-preview__header{background:var(--brand-primary);color:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px 20px;display:flex}.student-onboarding-id-card-preview__header span,.student-onboarding-id-card-preview__details span,.student-onboarding-id-card-preview__footer span{font-size:12px;line-height:1.4;display:block}.student-onboarding-id-card-preview__header strong{margin-top:2px;font-size:16px;line-height:1.2;display:block}.student-onboarding-id-card-preview__class{border-radius:var(--radius-sm);border:1px solid #ffffff73;flex:none;padding:6px 10px;font-weight:700}.student-onboarding-id-card-preview__body{flex:1;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;padding:20px;display:grid}.student-onboarding-id-card-preview__photo{aspect-ratio:3/4;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary));width:112px;color:var(--brand-primary);place-items:center;font-size:42px;font-weight:800;display:grid;overflow:hidden}.student-onboarding-id-card-preview__photo img{object-fit:cover;width:100%;height:100%}.student-onboarding-id-card-preview__details{flex-direction:column;gap:8px;min-width:0;display:flex}.student-onboarding-id-card-preview__details strong{color:var(--text-primary);font-size:22px;line-height:1.2}.student-onboarding-id-card-preview__footer{border-top:1px solid var(--border-color);min-height:52px;color:var(--text-secondary);justify-content:space-between;gap:12px;padding:12px 20px;display:flex}.student-onboarding-id-card-actions{flex-direction:column;gap:10px;display:flex}@media (width<=760px){.student-onboarding-id-card-workspace{grid-template-columns:1fr}.student-onboarding-id-card-actions{flex-flow:wrap}}.student-onboarding-upload.ant-upload-wrapper{width:100%}.student-onboarding-upload .ant-upload.ant-upload-drag{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--brand-primary) 4%, var(--surface-secondary));border-color:color-mix(in srgb, var(--brand-primary) 20%, var(--border-color));min-height:72px}.student-onboarding-wizard__footer{border-top:1px solid var(--border-color);background:var(--surface-primary);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.student-onboarding-wizard__footer-left-group{align-items:center;gap:20px;display:flex}.student-onboarding-wizard__footer-left{min-width:90px}.student-onboarding-wizard__footer-progress{flex-direction:column;gap:6px;display:flex}.student-onboarding-wizard__footer-step-label{color:var(--text-secondary);font-size:13px;font-weight:600}.student-onboarding-wizard__progress-track{gap:5px;min-width:150px;display:flex}.student-onboarding-wizard__progress-segment{background:color-mix(in srgb, var(--brand-primary) 12%, #e2e8f0);border-radius:99px;flex:1;height:4px;transition:background .3s}.student-onboarding-wizard__progress-segment--active{background:var(--brand-primary)}.student-onboarding-wizard__footer-actions{align-items:center;gap:12px;display:flex}.student-onboarding-wizard__draft-info{cursor:pointer;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.app-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.teacher-directory-kpis{gap:14px;display:flex;overflow-x:auto}.teacher-directory-kpis>.app-card{flex:1 0 170px}.teacher-directory-table-filters{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.teacher-directory-table-filter-group{gap:8px;min-width:0;display:flex}.teacher-leave-table-filters{justify-content:flex-end;margin-bottom:16px}.teacher-directory-table-filters .ant-input,.teacher-directory-table-filters .ant-select{max-width:150px;width:150px!important;min-width:150px!important}.teacher-directory-table-filters .app-input,.teacher-directory-table-filters .app-select,.teacher-directory-table-filters .app-select .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.teacher-directory-table-filters .app-select .ant-select-selector{align-items:center;display:flex}@media (width<=760px){.teacher-directory-table-filters,.teacher-directory-table-filter-group{flex-direction:column;align-items:stretch}.teacher-directory-table-filters .ant-input,.teacher-directory-table-filters .ant-select{max-width:none;width:100%!important;min-width:0!important}}.teacher-directory-table-card{width:100%;min-width:0;max-width:100%;overflow:hidden}.teacher-directory-table-card .app-table-toolbar,.teacher-directory-table-card .ant-table-wrapper,.teacher-directory-table-card .ant-table-container,.teacher-directory-table-card .app-table-toolbar__actions{width:100%;min-width:0;max-width:100%}.teacher-directory-table-card .app-table-toolbar>div:first-child{display:none}.teacher-directory-table-card .ant-table-content{max-width:100%;overflow-x:hidden!important}.teacher-workload-table-card .ant-table-cell{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.teacher-workload-table-card{width:100%;min-width:0;max-width:100%;overflow:hidden}.teacher-workload-table-card .app-table-toolbar,.teacher-workload-table-card .ant-table-wrapper,.teacher-workload-table-card .ant-table-container{width:100%;min-width:0;max-width:100%}.teacher-workload-table-card .ant-table-content{overflow-x:auto!important}.teacher-directory-table-card .ant-table-cell{white-space:normal;overflow-wrap:anywhere}.app-analytics-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:24px;display:grid}.app-three-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.app-panel-grid{gap:24px;display:grid}.app-panel-grid--two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.app-panel{flex-direction:column;gap:18px;display:flex}.app-panel__actions{justify-content:flex-end;align-items:center;margin-top:-10px;display:flex}.app-card-form{gap:16px;display:grid}.app-panel__title{color:var(--color-text-primary);font-size:18px;font-weight:700}.app-panel__subtitle{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-family-subtle)}.app-list-stack{flex-direction:column;gap:14px;display:flex}.app-list-stack--spaced{margin-top:18px}.app-list-item{border-bottom:1px solid #94a3b81a;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.app-list-item--health,.app-list-item--risk{align-items:center}.app-risk-actions{flex:none;align-items:center;gap:10px;display:flex}.app-risk-action{border:1px solid var(--border-color);background:var(--surface-primary);cursor:pointer;width:38px;height:38px;color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.app-risk-action--sms{color:var(--brand-primary)}.app-risk-action--whatsapp{color:var(--success)}.app-risk-action:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.app-list-item__icon{border-radius:14px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.app-list-item__icon--health{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 18%, var(--surface-primary)), color-mix(in srgb, var(--brand-accent) 18%, var(--surface-primary)));color:var(--brand-primary)}.app-list-item:last-child{border-bottom:none;padding-bottom:0}.app-list-item__meta{flex-direction:column;gap:4px;display:flex}.app-list-item__meta strong{color:var(--color-text-primary);font-size:14px}.app-list-item__meta span{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle)}.app-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.app-form-grid--whitelabel-assets{align-items:start}.app-form-grid--whitelabel-assets .app-upload{min-height:220px}.app-form-grid--whitelabel-assets .app-upload .ant-upload{width:100%;min-height:170px}.app-form-grid--whitelabel-assets .app-upload .ant-upload-list{width:100%;margin-top:14px}.app-form-grid--whitelabel-assets .app-upload .ant-upload-list-item{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;width:100%;padding:10px 12px}.app-form-grid--whitelabel-assets .app-upload .ant-upload-list-item-name{color:var(--text-primary);font-weight:600}.app-form-grid--whitelabel-assets .app-upload .ant-upload-list-item-actions{opacity:1}.whitelabel-page-layout{grid-template-columns:1fr;width:100%;display:grid}.whitelabel-school-picker{grid-template-columns:minmax(680px,1fr) auto;align-items:center;gap:16px;width:100%;display:grid}.whitelabel-school-picker .app-select{width:100%}.whitelabel-school-select .ant-select-selection-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitelabel-school-option{flex-direction:column;gap:3px;min-width:0;line-height:1.35;display:flex}.whitelabel-school-option strong{color:var(--text-primary);font-size:14px}.whitelabel-school-option span{color:var(--text-secondary);white-space:normal;font-size:12px}@media (width<=900px){.whitelabel-school-picker{grid-template-columns:1fr}}.whitelabel-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.whitelabel-toggle-card{background:color-mix(in srgb, var(--brand-primary) 4%, var(--surface-secondary));border:1px solid var(--border-color);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px;display:flex}.whitelabel-toggle-card .app-list-item__meta{min-width:0}.whitelabel-toggle-card .app-list-item__meta strong,.whitelabel-toggle-card .app-list-item__meta span{word-break:break-word}@media (width<=1200px){.whitelabel-preview-shell,.whitelabel-preview-assets{grid-template-columns:1fr}}.app-drawer-actions,.app-modal-actions,.app-branding-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.attendance-modal-grid{gap:24px;display:grid}.attendance-modal__cards{margin-top:14px}.attendance-modal__filters{grid-template-columns:1.2fr 1.2fr .8fr auto;align-items:end;gap:14px;display:grid}.attendance-modal__actions{justify-content:flex-end;display:flex}.teacher-modal-grid{gap:24px;display:grid}.teacher-modal__filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;display:grid}.teacher-modal__filters--spaced{margin-top:14px}.teacher-modal__summary{gap:12px;display:grid}.app-filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.app-filter-row>*{min-width:180px}.app-filter-row .app-button{min-width:auto}.attendance-action-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.attendance-action-buttons .app-button{width:100%}.attendance-class-table .app-table-toolbar{flex-wrap:nowrap}.attendance-class-table .app-table-toolbar__search{flex:0 0 180px;min-width:180px}.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper,.attendance-class-table .app-input{height:40px!important;min-height:40px!important}.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper{align-items:center!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important}.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper .ant-input,.attendance-class-table .app-input{height:40px!important;line-height:40px!important}.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper .ant-input{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-top:0!important;padding-bottom:0!important}.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper .ant-input-prefix,.attendance-class-table .app-table-toolbar__search.ant-input-affix-wrapper .ant-input-suffix{line-height:40px}.attendance-class-table .app-table-toolbar__actions .app-button{height:40px!important;min-height:40px!important;padding-top:0!important;padding-bottom:0!important;line-height:40px!important}.attendance-class-table .app-table-toolbar__actions .app-button .ant-btn-icon{align-items:center;display:inline-flex}.attendance-class-table .app-table-toolbar__actions .app-button.ant-btn-icon-only{width:40px;padding-inline:0!important}.attendance-class-table .app-table-toolbar__actions{flex-wrap:nowrap}.app-preview-card{flex-direction:column;gap:12px;display:flex}.app-preview-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.student-profile-modal{gap:20px;display:grid}.student-profile-modal__hero{border:1px solid var(--color-border);background:var(--surface-secondary);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid}.student-profile-modal__avatar{background:var(--color-primary);width:68px;height:68px;color:var(--color-primary-contrast);border-radius:18px;place-items:center;font-size:22px;font-weight:800;display:grid}.student-profile-modal__identity{min-width:0}.student-profile-modal__identity h3{color:var(--text-primary);margin:4px 0;font-size:24px}.student-profile-modal__identity p{color:var(--text-secondary);margin:0}.student-profile-modal__tags,.student-profile-modal__actions{flex-wrap:wrap;gap:8px;display:flex}.student-profile-modal__actions{justify-content:flex-end}.student-profile-modal__sections{gap:16px;max-height:min(64vh,680px);padding-right:4px;display:grid;overflow:auto}.student-profile-modal__section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:18px}.student-profile-modal__section h4{color:var(--text-primary);margin:0 0 14px;font-size:16px}.student-profile-modal__field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-profile-modal__field{background:var(--surface-secondary);border-radius:12px;gap:6px;min-width:0;padding:12px;display:grid}.student-profile-modal__field span{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:700}.student-profile-modal__field strong{color:var(--text-primary);overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;font-weight:700;line-height:1.5}.app-chip-list{flex-wrap:wrap;gap:8px;display:flex}.app-skeleton{border-radius:20px}.app-shell-header{z-index:1000;background:color-mix(in srgb, var(--surface-primary) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;height:86px;padding:0 28px;display:flex;position:sticky;top:0}.app-shell-header__brand{align-items:center;gap:14px;min-width:0;display:flex}.app-shell-header__brand img{object-fit:contain;width:52px;height:52px}.app-shell-header__brand-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.app-shell-header__brand-name{color:var(--color-text-primary);font-size:18px;font-weight:800;font-family:var(--font-family-display)}.app-shell-header__brand-meta{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell-header__controls{align-items:center;gap:16px;min-width:0;display:flex}.app-shell-header__search{width:min(480px,42vw)}.app-shell-header__search .ant-input-search-button,.app-shell-header__search .ant-btn,.app-shell-header__search .ant-input-group-addon button{width:58px;height:48px;min-height:48px}.app-shell-header__search .ant-input,.app-shell-header__search .ant-input-affix-wrapper{min-height:48px}.app-shell-header__subtitle{display:none}.app-notification-trigger{border:1px solid var(--color-border);background:var(--surface-primary);box-shadow:var(--shadow-sm);border-radius:999px}.app-notification-trigger:hover{box-shadow:var(--shadow-md)}.app-shell-footer{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle);flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:18px 28px 24px;display:flex}.app-shell-footer .legal-links a{color:var(--brand-primary,#4f46e5)}.app-donut-chart{flex-direction:column;gap:18px;display:flex}.app-donut-chart__title{color:var(--color-text-primary);font-size:18px;font-weight:700}.app-donut-chart__layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.app-donut-chart__values{flex-direction:column;gap:14px;display:flex}.app-donut-chart__value-item{align-items:flex-start;gap:12px;display:flex}.app-donut-chart__dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:6px}.app-donut-chart__value-item strong{font-size:14px;display:block}.app-donut-chart__value-item p{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle);margin-top:4px}.app-donut-chart__chart{width:100%;min-width:0}.app-donut-chart__chart .recharts-surface{overflow:visible}.app-donut-chart__chart .recharts-tooltip-wrapper{outline:none}.app-donut-chart__footer{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:6px 2px;display:flex}.app-donut-chart__footer-item{color:var(--color-text-secondary);white-space:nowrap;background:#f8fafc;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.app-donut-chart__footer i{border-radius:50%;width:10px;height:10px;display:inline-block}.app-donut-chart__subtitle{color:var(--color-text-secondary);margin-top:6px;font-size:13px}.profile-page{flex-direction:column;gap:24px;display:flex}.profile-layout{grid-template-columns:minmax(0,1fr);display:grid}.profile-hero-card{flex-direction:column;gap:24px;display:flex}.profile-hero-header{align-items:center;gap:16px;display:flex}.profile-hero-header img{object-fit:contain;border:1px solid var(--color-border);background:#fff;border-radius:18px;width:68px;height:68px}.profile-hero-header h2{margin:0;font-size:24px;font-weight:800}.profile-hero-header p{color:var(--color-text-secondary);font-family:var(--font-family-subtle);margin-top:4px}.profile-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-readonly-grid div{background:#f8fafc;border:1px solid #94a3b814;border-radius:16px;padding:16px 18px}.profile-readonly-grid span{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle);margin-bottom:8px;display:block}.profile-readonly-grid strong{font-size:14px;font-weight:700}.app-shell-header__actions{align-items:center;gap:12px;display:flex}.app-shell-header__crumbs{flex-direction:column;gap:4px;min-width:220px;display:flex}.app-shell-header__subscription{background:color-mix(in srgb, var(--brand-primary) 10%, transparent);color:var(--brand-primary);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.app-shell-header__icon-button{border:1px solid var(--color-border);background:var(--surface-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.app-shell-header__profile{align-items:center;gap:12px;display:flex}.app-shell-header__avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))!important}.app-avatar-menu__tenant-logo{border:1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--border-color));background:var(--surface-primary);border-radius:50%;flex:0 0 44px;width:44px;height:44px;padding:7px;position:relative;overflow:hidden;box-shadow:0 8px 20px #0f172a14;justify-content:center!important;align-items:center!important;display:inline-flex!important}.app-avatar-menu__tenant-logo img{object-fit:contain;opacity:1;width:100%;height:100%;display:block}.app-avatar-menu__tenant-logo--loading img{opacity:0}.app-avatar-menu__tenant-logo .ant-skeleton{place-items:center;display:grid;position:absolute;inset:0}.app-avatar-menu{cursor:pointer;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.app-avatar-menu span{flex-direction:column;align-items:flex-start;display:flex}.app-avatar-menu strong{font-size:14px;line-height:1.2}.app-avatar-menu small{color:var(--color-text-secondary);font-size:12px}.app-splash-loader{z-index:9999;background:radial-gradient(circle at top, color-mix(in srgb, var(--brand-primary) 12%, transparent), transparent 30%), var(--surface-secondary);place-items:center;display:grid;position:fixed;inset:0}.app-splash-loader__card{width:min(92vw,520px);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);text-align:center;background:#fffffff2;border-radius:28px;padding:36px}.app-splash-loader__hero{gap:28px;display:grid}.app-splash-loader__illustration{background:linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 8%, transparent), color-mix(in srgb, var(--brand-accent) 5%, transparent));border-radius:24px;min-height:180px;padding:26px;position:relative;overflow:hidden}.app-splash-loader__roof{background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));clip-path:polygon(50% 0%,100% 54%,100% 100%,0 100%,0 54%);border-radius:20px 20px 14px 14px;height:56px;position:absolute;inset:26px 26px auto}.app-splash-loader__building{width:180px;height:84px;box-shadow:var(--shadow-md);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;display:grid;position:absolute;top:78px;left:50%;transform:translate(-50%)}.app-splash-loader__building span{background:linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 18%, transparent), color-mix(in srgb, var(--brand-secondary) 8%, transparent));border-radius:10px}.app-splash-loader__counters{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:absolute;bottom:18px;left:18px;right:18px}.app-splash-loader__counters div{background:#ffffffe0;border:1px solid #94a3b824;border-radius:16px;flex-direction:column;gap:2px;padding:12px;display:flex}.app-splash-loader__counters strong{font-size:18px}.app-splash-loader__counters small{color:var(--color-text-secondary);font-size:12px}.app-splash-loader__brand img,.app-splash-loader__card img{width:72px;height:72px}.app-splash-loader__card h1{margin:18px 0 8px;font-size:30px;font-weight:800}.app-splash-loader__card p{color:var(--color-text-secondary)}.app-splash-loader__meter{background:#94a3b829;border-radius:999px;height:8px;margin-top:24px;overflow:hidden}.app-splash-loader__meter span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));height:100%;display:block}@media (width<=900px){.app-shell-header{gap:12px;height:auto;min-height:72px;padding:14px 16px}.app-shell-header__brand{flex:auto}.app-shell-header__brand img{width:42px;height:42px}.app-shell-header__brand-name{font-size:16px}.app-shell-header__controls{flex:none}.app-avatar-menu{gap:8px}.app-avatar-menu>span:not(.app-avatar-menu__tenant-logo){display:none}}@media (width<=640px){.app-shell-header__brand-meta{display:none}.app-shell-header__actions{gap:8px}}.school-profile-identity{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.school-profile-logo-zone{flex-direction:column;flex:none;align-items:center;gap:10px;display:flex}.school-profile-logo{border:1px solid var(--color-border);background:var(--surface-secondary);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;display:flex;overflow:hidden}.school-profile-logo__img{object-fit:contain;width:100%;height:100%;padding:6px}.school-profile-logo__placeholder{color:var(--text-muted);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.school-profile-logo-actions{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.school-profile-logo-actions__pick-btn{border:1px solid var(--color-border);background:var(--surface-primary);min-height:34px;color:var(--brand-primary);cursor:pointer;transition:background var(--transition-normal), border-color var(--transition-normal);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.school-profile-logo-actions__pick-btn:hover{background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary));border-color:color-mix(in srgb, var(--brand-primary) 32%, var(--color-border))}.school-profile-logo-hint{color:var(--text-muted);text-align:center;margin:0;font-size:11px}.school-profile-identity__details{flex-direction:column;flex:auto;gap:8px;min-width:0;padding-top:4px;display:flex}.school-profile-identity__name{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.2;font-family:var(--font-family-display)}.school-profile-identity__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.school-profile-identity__code{color:var(--text-secondary);font-size:13px;font-weight:700;font-family:var(--font-family-subtle);border:1px solid var(--color-border);background:var(--surface-secondary);border-radius:999px;padding:2px 10px}.school-profile-identity__board{color:var(--text-secondary);font-size:14px}.school-profile-identity__updated{color:var(--text-muted);font-size:12px;font-family:var(--font-family-subtle)}.school-profile-section{flex-direction:column;gap:16px;display:flex}.school-profile-section__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.school-profile-section-heading{align-items:flex-start;gap:12px;display:flex}.school-profile-section-heading__icon{width:36px;height:36px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--color-border));border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.school-profile-section-heading__title{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.3}.school-profile-section-heading__subtitle{color:var(--text-secondary);font-size:12px;line-height:1.5;font-family:var(--font-family-subtle);margin-top:2px}.school-profile-fields{gap:12px;margin:0;display:grid}.school-profile-field{grid-template-columns:140px 1fr;align-items:baseline;gap:8px;font-size:14px;display:grid}.school-profile-field__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;font-family:var(--font-family-subtle)}.school-profile-field__value{color:var(--text-primary);word-break:break-word;margin:0;font-size:14px;font-weight:500}.school-profile-field__empty{color:var(--text-muted)}.school-profile-modal-steps{align-items:center;gap:4px;display:flex}.school-profile-modal-step{border:1px solid var(--color-border);background:var(--surface-secondary);color:var(--text-secondary);cursor:default;transition:background var(--transition-normal), color var(--transition-normal), border-color var(--transition-normal);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.school-profile-modal-step--active{background:color-mix(in srgb, var(--brand-primary) 12%, var(--surface-primary));border-color:color-mix(in srgb, var(--brand-primary) 32%, var(--color-border));color:var(--brand-primary)}.school-profile-modal-step--done{cursor:pointer;background:color-mix(in srgb, var(--success) 10%, var(--surface-primary));border-color:color-mix(in srgb, var(--success) 24%, var(--color-border));color:var(--success)}.school-profile-modal-step--done:hover{background:color-mix(in srgb, var(--success) 16%, var(--surface-primary))}.app-form-grid{gap:16px;display:grid}.app-form-grid__field{gap:6px;display:grid}.app-form-grid__label{color:var(--text-secondary);font-size:13px;font-weight:600}.app-form-grid__error{color:var(--danger);font-size:12px;display:block}.acad-progress{background:var(--surface-secondary);border:1px solid var(--color-border);scrollbar-width:none;border-radius:16px;align-items:center;gap:0;padding:6px 8px;display:flex;overflow-x:auto}.acad-progress::-webkit-scrollbar{display:none}.acad-progress__step{cursor:pointer;color:var(--text-muted);white-space:nowrap;transition:background var(--transition-normal), color var(--transition-normal);background:0 0;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.acad-progress__step:hover{background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary));color:var(--brand-primary)}.acad-progress__step--active{background:color-mix(in srgb, var(--brand-primary) 12%, var(--surface-primary));color:var(--brand-primary)}.acad-progress__step--done{color:var(--success)}.acad-progress__step-bubble{width:24px;height:24px;transition:background var(--transition-normal);border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.acad-progress__step--active .acad-progress__step-bubble{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.acad-progress__step--done .acad-progress__step-bubble{background:var(--success);border-color:var(--success);color:#fff}.acad-progress__step-label{font-size:13px;font-weight:600}.acad-progress__chevron{color:var(--text-muted);opacity:.5;flex-shrink:0;margin-left:4px}.acad-modal-footer{justify-content:flex-end;gap:8px;display:flex}.acad-toggle-field{min-height:var(--field-height);border:1px solid var(--color-border);border-radius:var(--field-radius);background:var(--surface-primary);cursor:pointer;color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.acad-toggle-field input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--brand-primary);flex-shrink:0}.acad-warning{background:color-mix(in srgb, var(--warning) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--warning) 24%, var(--color-border));color:var(--text-primary);border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.6}.acad-tree{flex-direction:column;gap:12px;display:flex}.acad-tree__class{border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.acad-tree__class-header{background:color-mix(in srgb, var(--brand-primary) 5%, var(--surface-secondary));border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.acad-tree__class-name{color:var(--text-primary);font-size:15px;font-weight:700}.acad-tree__meta{color:var(--text-muted);font-size:12px;font-family:var(--font-family-subtle)}.acad-tree__section{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 20px 10px 32px;display:flex}.acad-tree__section:last-child{border-bottom:none}.acad-tree__section--empty{color:var(--text-muted);padding:10px 20px 10px 32px;font-size:13px;font-style:italic}.acad-tree__section-name{color:var(--brand-primary);flex-shrink:0;min-width:60px;font-size:13px;font-weight:700}.acad-tree__subjects{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;display:flex}.acad-tree__subject-pill{background:color-mix(in srgb, var(--brand-secondary) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-secondary) 20%, var(--color-border));color:var(--brand-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.acad-tree__no-subjects{color:var(--text-muted);font-size:12px;font-style:italic}.wd-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.wd-page-header__copy{flex:1 1 0;min-width:0}.wd-page-header__title{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:800;line-height:1.15}.wd-page-header__subtitle{color:var(--text-secondary);font-size:13px;line-height:1.65;font-family:var(--font-family-subtle);max-width:640px;margin:0}.wd-kpi-strip{align-items:stretch;gap:0;display:flex}.wd-kpi-strip__divider{background:var(--border-color);flex:0 0 1px;width:1px;margin-block:6px}.wd-kpi-card{flex:1 1 0;align-items:center;gap:16px;min-width:0;padding:20px 24px;display:flex}.wd-kpi-card__icon{width:46px;height:46px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--border-color));border-radius:14px;flex:0 0 46px;justify-content:center;align-items:center;display:flex}.wd-kpi-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.wd-kpi-card__label{color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font-family-subtle);text-transform:uppercase;letter-spacing:.04em}.wd-kpi-card__value{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.15}.wd-kpi-card__meta{color:var(--text-muted);font-size:12px;font-family:var(--font-family-subtle)}.wd-table-header{margin-bottom:18px}.wd-table-header__title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.wd-table,.wd-config-table{border:1px solid var(--border-color);border-radius:12px;width:100%;overflow:hidden}.wd-table__head,.wd-config-table__head{background:color-mix(in srgb, var(--text-muted) 6%, var(--surface-primary));border-bottom:1px solid var(--border-color);padding:0;display:grid}.wd-table__head,.wd-table__row{grid-template-columns:200px 160px 130px 220px 1fr 60px}.wd-config-table__head,.wd-config-table__row{grid-template-columns:160px 90px 160px 1fr 120px}.wd-table__th,.wd-config-table__th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700;font-family:var(--font-family-subtle);padding:11px 16px}.wd-table__row,.wd-config-table__row{border-bottom:1px solid var(--border-color);transition:background var(--transition-normal);align-items:center;display:grid}.wd-table__row:last-child,.wd-config-table__row:last-child{border-bottom:none}.wd-table__row:hover{background:color-mix(in srgb, var(--brand-primary) 3%, var(--surface-primary))}.wd-config-table__row--off{background:color-mix(in srgb, var(--text-muted) 4%, var(--surface-primary))}.wd-table__td,.wd-config-table__td{color:var(--text-primary);align-items:center;padding:14px 16px;font-size:14px;display:flex}.wd-day-badge{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--border-color));width:36px;height:36px;color:var(--brand-primary);font-size:11px;font-weight:700;font-family:var(--font-family-subtle);border-radius:10px;flex:0 0 36px;justify-content:center;align-items:center;margin-right:10px;display:inline-flex}.wd-day-name{color:var(--text-primary);font-size:14px;font-weight:600}.wd-timing-cell{flex-direction:column;gap:2px;display:flex}.wd-timing-cell__time{color:var(--text-primary);font-size:13px;font-weight:600}.wd-timing-cell__label{color:var(--text-muted);font-size:11px;font-family:var(--font-family-subtle)}.wd-description{color:var(--text-secondary);font-size:13px}.wd-row-menu-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal), color var(--transition-normal);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.wd-row-menu-btn:hover{background:var(--surface-secondary);color:var(--text-primary)}.wd-skeleton-rows{border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:2px;display:flex;overflow:hidden}.wd-skeleton-row{background:color-mix(in srgb, var(--text-muted) 8%, var(--surface-primary));height:56px;animation:1.4s ease-in-out infinite wd-pulse}.wd-skeleton-row:nth-child(odd){animation-delay:.1s}.wd-skeleton-row:nth-child(2n){animation-delay:.25s}@keyframes wd-pulse{0%,to{opacity:.5}50%{opacity:1}}.wd-bottom-grid{grid-template-columns:1fr 280px;align-items:start;gap:16px;display:grid}.wd-notes-card{border:1px solid color-mix(in srgb, var(--brand-primary) 20%, var(--border-color));background:color-mix(in srgb, var(--brand-primary) 4%, var(--surface-primary));border-radius:14px;padding:18px 20px}.wd-notes-card__header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.wd-notes-card__icon{color:var(--brand-primary);flex:none}.wd-notes-card__title{color:var(--brand-primary);font-size:14px;font-weight:700}.wd-notes-card__list{color:var(--text-secondary);font-size:13px;font-family:var(--font-family-subtle);flex-direction:column;gap:7px;margin:0;padding-left:18px;line-height:1.55;display:flex}.wd-help-card{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:14px;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.wd-help-card__title{color:var(--text-primary);font-size:14px;font-weight:700}.wd-help-card__text{color:var(--text-secondary);font-size:13px;font-family:var(--font-family-subtle);margin:0;line-height:1.55}.wd-section-label{color:var(--text-primary);margin-bottom:6px;font-size:16px;font-weight:700}.wd-section-hint{color:var(--text-secondary);font-size:13px;font-family:var(--font-family-subtle);margin:0 0 20px;line-height:1.6}.wd-timings-form{grid-template-columns:repeat(3,minmax(180px,280px));gap:20px;display:grid}.wd-timing-field{flex-direction:column;gap:7px;display:flex}.wd-timing-field__label{color:var(--text-primary);cursor:default;font-size:13px;font-weight:700}.wd-cfg-col-day{gap:10px}.wd-cfg-col-active{justify-content:center}.wd-cfg-col-type,.wd-cfg-col-label,.wd-cfg-col-preview{min-width:0}.wd-cell-muted{color:var(--text-muted);font-size:14px;font-weight:400}.wd-timings-group-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700;font-family:var(--font-family-subtle);margin-bottom:12px}.wd-lunch-duration{min-height:var(--field-height);border:1px solid var(--border-color);border-radius:var(--field-radius);background:color-mix(in srgb, var(--text-muted) 5%, var(--surface-primary));align-items:center;padding:0 16px;display:flex}.wd-lunch-duration__value{color:var(--brand-primary);font-size:15px;font-weight:700}.wd-lunch-duration__warn{color:var(--danger);font-size:13px;font-weight:500}.wd-timing-cell__lunch{color:var(--text-muted);font-size:11px;font-family:var(--font-family-subtle);margin-top:2px;display:block}.wd-action-bar{z-index:20;background:color-mix(in srgb, var(--surface-primary) 94%, transparent);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-medium);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;bottom:0}.wd-action-bar__hint{color:var(--text-secondary);font-size:13px;font-family:var(--font-family-subtle);flex:280px;line-height:1.5}.wd-action-bar__btns{flex:none;align-items:center;gap:10px;display:flex}@media (width<=900px){.wd-table__head,.wd-table__row{grid-template-columns:160px 140px 110px 1fr 50px}.wd-col-desc{display:none}}@media (width<=768px){.wd-kpi-strip{flex-wrap:wrap}.wd-kpi-strip__divider{display:none}.wd-kpi-card{border:1px solid var(--border-color);border-radius:12px;flex:45%;padding:16px}.wd-bottom-grid{grid-template-columns:1fr}.wd-timings-form{grid-template-columns:1fr 1fr}.wd-table__head,.wd-table__row{grid-template-columns:140px 130px 100px 1fr 48px}.wd-col-timing{display:none}.wd-config-table__head,.wd-config-table__row{grid-template-columns:130px 70px 140px 1fr}.wd-cfg-col-preview{display:none}}@media (width<=540px){.wd-page-header{flex-direction:column;align-items:flex-start}.wd-kpi-card{flex:100%}.wd-timings-form{grid-template-columns:1fr}.wd-table__head,.wd-table__row{grid-template-columns:120px 110px 1fr 48px}.wd-col-type{display:none}.wd-action-bar{flex-direction:column;align-items:flex-start}.wd-action-bar__btns{justify-content:flex-end;width:100%}}.attendance-rules-wizard{gap:18px;min-width:0;max-width:100%;overflow:hidden}.attendance-rules-wizard .student-onboarding-stepper{border-radius:12px;max-width:100%;padding:10px;overflow:auto hidden}.attendance-rules-wizard .student-onboarding-stepper__inner{gap:8px}.attendance-rules-wizard .student-onboarding-step-card.app-card{padding:18px}.attendance-rules-wizard .student-onboarding-step-card__header{margin-bottom:16px;padding-bottom:14px}.attendance-rules-wizard .student-onboarding-step-card__title{font-size:18px}.attendance-rules-wizard .student-onboarding-step-card__subtitle{font-size:12px}.attendance-rules-wizard .student-onboarding-step-card__content{flex-direction:column;gap:16px;display:flex}.ar-single-panel,.ar-step-panel{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:12px;padding:18px}.ar-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.ar-grid--thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.ar-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ar-field{flex-direction:column;gap:6px;min-width:0;display:flex}.ar-field>span,.ar-field>label>span:first-child{color:var(--text-primary);align-items:center;min-height:20px;font-size:13px;font-weight:700;line-height:1.4;display:flex}.ar-field .app-input,.ar-field .ant-input,.ar-field .ant-input-number,.ar-field .ant-input-number-input,.ar-field .app-select .ant-select-selector,.ar-field .ant-select-selector,.ar-field .app-date-picker.ant-picker,.ar-field .ant-picker{font-size:var(--field-font-size);align-items:center;display:flex;height:var(--field-height)!important;min-height:var(--field-height)!important;max-height:var(--field-height)!important;border-radius:var(--field-radius)!important}.ar-field .ant-select-selection-item,.ar-field .ant-select-selection-placeholder,.ar-field .ant-select-selection-search-input{line-height:var(--field-height)!important}.ar-field .app-select.ant-select-multiple .ant-select-selector,.ar-field .ant-select-multiple .ant-select-selector{height:auto!important;max-height:none!important;min-height:var(--field-height)!important;padding-top:4px!important;padding-bottom:4px!important}.ar-field .app-select.ant-select-multiple .ant-select-selection-item,.ar-field .ant-select-multiple .ant-select-selection-placeholder{line-height:1.4!important}.ar-field .app-textarea,.ar-field .ant-input-textarea textarea,.ar-field textarea{font-size:var(--field-font-size);min-height:calc(var(--field-height) * 2);resize:vertical;border-radius:var(--field-radius)!important;height:auto!important;max-height:none!important}.ar-field .app-input[disabled],.ar-field .ant-input[disabled],.ar-field .ant-select-disabled .ant-select-selector{opacity:.7;height:var(--field-height)!important;min-height:var(--field-height)!important}.ar-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.ar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ar-session-list{flex-direction:column;gap:10px;display:flex}.ar-session-row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 40px;align-items:center;gap:12px;padding:12px;display:grid}.ar-remove-btn{color:var(--danger)}.ar-empty{border:1px dashed var(--border-color);color:var(--text-secondary);text-align:center;background:color-mix(in srgb, var(--text-muted) 4%, var(--surface-primary));border-radius:12px;padding:18px;font-size:13px}.ar-preview-line{border:1px solid color-mix(in srgb, var(--brand-primary) 18%, var(--border-color));background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary));color:var(--brand-primary);border-radius:12px;margin-top:14px;padding:12px 14px;font-size:13px;font-weight:700}.ar-toggle-row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:14px;display:flex}.ar-toggle-row>div{flex-direction:column;gap:4px;display:flex}.ar-toggle-row strong{color:var(--text-primary);font-size:14px}.ar-toggle-row span,.ar-audit-meta{color:var(--text-secondary);font-size:12px;line-height:1.5;font-family:var(--font-family-subtle)}.ar-audit-meta{margin-top:10px}.ar-review-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.ar-review-list{flex-direction:column;gap:10px;display:flex}.ar-review-list>div{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.ar-review-list>div:last-child{border-bottom:none}.ar-review-list span{color:var(--text-secondary);font-size:13px}.ar-review-list strong{color:var(--text-primary);text-align:right;font-size:13px}.ar-overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px;display:grid}.ar-overview-card__header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.ar-dependency-list,.ar-preview-strip{gap:10px;display:grid}.ar-dependency-list>div,.ar-preview-strip>div{border-bottom:1px solid var(--border-color);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.ar-preview-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.ar-preview-strip--detailed{grid-template-columns:repeat(5,minmax(0,1fr))}.ar-preview-strip>div{border:1px solid var(--border-color);background:color-mix(in srgb, var(--brand-primary) 4%, var(--surface-primary));border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;min-height:72px;padding:14px;display:flex}.ar-dependency-list>div:last-child{border-bottom:none}.ar-dependency-list svg{color:var(--brand-primary)}.ar-dependency-list span,.ar-preview-strip span{color:var(--text-secondary);font-size:12px}.ar-dependency-list strong,.ar-preview-strip strong{color:var(--text-primary);text-align:right;font-size:13px;font-weight:800}.ar-preview-strip strong{text-align:left;font-size:16px}@media (width<=900px){.ar-grid,.ar-grid--thirds,.ar-form-grid,.ar-review-grid,.ar-overview-grid,.ar-preview-strip{grid-template-columns:1fr}.ar-section-header{flex-direction:column}.ar-actions{justify-content:flex-start}}@media (width<=540px){.ar-session-row{grid-template-columns:1fr 40px}.ar-session-row .app-select{grid-area:2/1/auto/-1}}.gs-overview-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.gs-overview-header__copy{flex:1;min-width:0}.gs-stat-strip{border-top:1px solid var(--color-border,#f0f0f0);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-top:16px;display:grid}.gs-stat-strip__item{border-right:1px solid var(--color-border,#f0f0f0);flex-direction:column;gap:4px;padding:0 16px;display:flex}.gs-stat-strip__item:first-child{padding-left:0}.gs-stat-strip__item:last-child{border-right:none}.gs-stat-strip__item span{color:var(--text-secondary,#888);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px}.gs-stat-strip__item strong{color:var(--text-primary,#1a1a1a);white-space:nowrap;font-size:15px;font-weight:600}.gs-band-grid{flex-direction:column;gap:4px;margin-top:8px;display:flex}.gs-band-row{border:1px solid #0000;border-radius:6px;grid-template-columns:40px 80px 1fr auto;align-items:center;gap:8px;padding:6px 10px;display:grid}.gs-band-row--pass{background:#f6ffed;border-color:#d9f7be}.gs-band-row--fail{background:#fff1f0;border-color:#ffccc7}.gs-band-row__grade{font-size:14px;font-weight:700}.gs-band-row__range{color:var(--text-secondary,#555);font-size:13px}.gs-band-row__gp{color:var(--text-secondary,#888);font-size:12px}.gs-detail-list{flex-direction:column;gap:0;margin-top:8px;margin-bottom:16px;display:flex}.gs-detail-list__row{border-bottom:1px solid var(--color-border,#f0f0f0);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.gs-detail-list__row:last-child{border-bottom:none}.gs-detail-list__row span{color:var(--text-secondary,#666);font-size:13px}.gs-detail-list__row strong{color:var(--text-primary,#1a1a1a);font-size:13px;font-weight:600}.gs-display-flags{border-top:1px solid var(--color-border,#f0f0f0);flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:12px;display:flex}.gs-display-flag{border:1px solid #0000;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.gs-display-flag--on{color:#0958d9;background:#e6f4ff;border-color:#91caff}.gs-display-flag--off{color:#8c8c8c;background:#fafafa;border-color:#d9d9d9}.grading-scale-table{flex-direction:column;gap:6px;margin-top:12px;display:flex}.grading-scale-table__head,.grading-scale-table__row{grid-template-columns:80px 1fr 1fr 100px 1fr 36px;align-items:center;gap:8px;display:grid}.grading-scale-table__row--three{grid-template-columns:80px 1fr 1fr}.grading-scale-table__head{color:var(--color-text-secondary,#888);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:11px;font-weight:600}.grading-status-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.grading-status-row{border:1px solid var(--color-border,#e8e8e8);background:var(--color-surface,#fafafa);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.grading-status-row__key{flex:1;font-size:14px;font-weight:500}@media (width<=768px){.gs-stat-strip{grid-template-columns:repeat(2,1fr)}.gs-stat-strip__item{border-right:none;border-bottom:1px solid var(--color-border,#f0f0f0);padding:12px 8px}.gs-stat-strip__item:last-child{border-bottom:none}.grading-scale-table__head,.grading-scale-table__row,.grading-scale-table__row--three{grid-template-columns:1fr 1fr}}.fee-structure-page .student-onboarding-stepper{align-items:stretch;gap:4px;padding:14px;overflow:auto hidden;display:flex!important}.fee-structure-page .student-onboarding-stepper__item{flex:0 0 clamp(190px,19vw,250px)!important;min-width:190px!important;height:auto!important;padding:0!important}.fee-structure-page .student-onboarding-stepper__inner{justify-content:flex-start;gap:10px;width:100%;min-width:0;overflow:hidden;height:auto!important;min-height:66px!important;padding:14px 16px 14px 28px!important}.fee-structure-page .student-onboarding-stepper__item:first-child .student-onboarding-stepper__inner{padding-left:18px!important}.fee-structure-page .student-onboarding-stepper__step-number{z-index:2;position:relative;flex:none!important;width:30px!important;height:30px!important}.fee-structure-page .student-onboarding-stepper__icon{z-index:1;position:relative;flex:0 0 16px!important}.fee-structure-page .student-onboarding-stepper__label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fee-structure-page .ar-form-grid{align-items:start;gap:18px}.fee-structure-page .ar-field{width:100%}.fee-structure-page .ar-field .app-input,.fee-structure-page .ar-field .app-select,.fee-structure-page .ar-field .ant-select,.fee-structure-page .ar-field .ant-input,.fee-structure-page .ar-field .ant-input-number,.fee-structure-control,.fee-structure-control.app-input,.fee-structure-control.app-select{width:100%;min-width:0}.fee-structure-page .ar-field .app-input,.fee-structure-page .ar-field .ant-input,.fee-structure-page .ar-field .app-select .ant-select-selector,.fee-structure-page .ar-field .ant-select-selector,.fee-structure-control.app-input,.fee-structure-control.app-select .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.fee-structure-page .ar-field .ant-select-selection-item,.fee-structure-page .ar-field .ant-select-selection-placeholder,.fee-structure-control .ant-select-selection-item,.fee-structure-control .ant-select-selection-placeholder{line-height:calc(var(--field-height) - 2px)}.fee-structure-page .ant-input-disabled,.fee-structure-page .ant-input[disabled]{color:var(--text-secondary);background:color-mix(in srgb, var(--text-muted) 7%, var(--surface-primary))}.fee-structure-general-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-structure-general-grid__classes,.fee-structure-general-grid__description{grid-column:1/-1}.fee-category-picker-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.fee-category-option{min-height:var(--field-height);border:1px solid var(--border-color);background:var(--surface-primary);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:28px minmax(0,1fr) 26px;align-items:center;gap:8px;padding:7px 8px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.fee-category-option:hover,.fee-category-option--selected{border-color:color-mix(in srgb, var(--brand-primary) 52%, var(--border-color));background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary));box-shadow:0 8px 18px color-mix(in srgb, var(--brand-primary) 10%, transparent)}.fee-category-option span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden}.fee-category-option__check{background:color-mix(in srgb, var(--brand-primary) 9%, var(--surface-secondary));width:28px;height:28px;color:var(--brand-primary);border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex;font-size:11px!important}.fee-category-option__delete{width:26px;height:26px;color:var(--danger);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:static}.fee-components-list{gap:12px;margin-top:12px;display:grid}.fee-component-card{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;gap:12px;padding:14px;display:grid}.fee-component-card__header{justify-content:space-between;align-items:center;gap:12px;min-height:34px;display:flex}.fee-component-card__header strong{color:var(--text-primary);font-size:14px;line-height:1.25}.fee-component-grid{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:start;gap:14px;display:grid}.fee-component-grid .ar-field{grid-template-rows:20px var(--field-height);min-height:calc(20px + 6px + var(--field-height));gap:6px;display:grid}.fee-component-grid .ar-field>span,.fee-component-toggle-row>span{min-height:20px;color:var(--text-secondary);font-size:12px;font-weight:700;line-height:20px}.fee-component-grid .app-input,.fee-component-grid .app-select,.fee-component-grid .ant-select,.fee-component-grid .ant-input{width:100%;min-width:0}.fee-component-grid .app-input,.fee-component-grid .ant-input,.fee-component-grid .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.fee-component-toggle-row{min-height:var(--field-height);border:1px solid var(--border-color);background:color-mix(in srgb, var(--surface-secondary) 55%, var(--surface-primary));border-radius:8px;justify-content:space-between;align-self:end;align-items:center;gap:10px;padding:0 12px;display:flex}.fee-component-toggle-row .ant-switch{transform-origin:100%;flex:none;transform:scale(.86)}.fee-component-grid__description{grid-column:span 2;grid-template-rows:18px auto!important}.fee-component-grid__description .ant-input{resize:vertical;min-height:78px!important}.fee-component-grid__classes{grid-column:span 2}.fee-category-chip-list{border:1px solid var(--border-color);background:color-mix(in srgb, var(--brand-primary) 3%, var(--surface-primary));border-radius:12px;flex-wrap:wrap;gap:8px;padding:14px;display:flex}.fee-category-chip{border:1px solid color-mix(in srgb, var(--brand-primary) 22%, var(--border-color));background:var(--surface-primary);min-height:32px;color:var(--brand-primary);border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 12px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.fee-category-chip .wd-row-menu-btn{width:24px;height:24px;color:var(--danger)}.fee-items-table{flex-direction:column;gap:10px;min-width:0;margin-top:12px;display:flex}.fee-items-table__head,.fee-items-table__row{grid-template-columns:minmax(240px,1.6fr) minmax(140px,.8fr) minmax(180px,1fr) 112px 44px;align-items:center;gap:14px;display:grid}.fee-items-table__head{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:0 14px;font-size:11px;font-weight:800}.fee-items-table__row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:12px;min-height:68px;padding:12px 14px}.fee-items-table__control,.fee-items-table__control.app-input,.fee-items-table__control.app-select{width:100%;min-width:0}.fee-items-table__row .app-input,.fee-items-table__row .app-select .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.fee-items-table__switch,.fee-items-table__action{min-height:var(--field-height);justify-content:center;align-items:center;display:inline-flex}.fee-category-modal .fee-category-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:100%;display:grid}.fee-category-modal .fee-category-modal-form .ar-field{grid-template-rows:20px var(--field-height);min-height:calc(20px + 6px + var(--field-height));gap:6px;width:100%;display:grid}.fee-category-modal .fee-category-modal-form .ar-field>span{min-height:20px;margin:0;line-height:20px;display:block}.fee-category-modal .fee-category-modal-form .app-input,.fee-category-modal .fee-category-modal-form .app-select,.fee-category-modal .fee-category-modal-form .ant-select,.fee-category-modal .fee-category-modal-form .ant-input{width:100%!important;min-width:0!important}.fee-category-modal .fee-category-modal-form .app-input,.fee-category-modal .fee-category-modal-form .ant-input,.fee-category-modal .fee-category-modal-form .app-select .ant-select-selector,.fee-category-modal .fee-category-modal-form .ant-select-selector{align-items:center;display:flex;height:var(--field-height)!important;min-height:var(--field-height)!important;max-height:var(--field-height)!important}.fee-category-modal .fee-category-modal-form .ant-select-selection-search-input{height:calc(var(--field-height) - 2px)!important}.fee-category-modal .fee-category-modal-form .ant-select-selection-item,.fee-category-modal .fee-category-modal-form .ant-select-selection-placeholder{line-height:calc(var(--field-height) - 2px)!important}.fee-category-modal-form__wide{grid-column:1/-1}.fee-category-modal .fee-category-modal-form .fee-category-modal-form__wide{grid-template-rows:18px auto;min-height:118px}.fee-category-modal .fee-structure-textarea.ant-input,.fee-category-modal .fee-category-modal-form .fee-structure-textarea.ant-input{resize:vertical;display:block;height:92px!important;min-height:92px!important;max-height:none!important}.fee-schedule-panel{border:1px solid var(--border-color);background:color-mix(in srgb, var(--brand-primary) 3%, var(--surface-primary));border-radius:12px;grid-template-columns:minmax(240px,360px) minmax(180px,240px);align-items:end;gap:18px;padding:16px;display:grid}.fee-schedule-panel .app-input,.fee-schedule-panel .app-select,.fee-schedule-panel .ant-select,.fee-schedule-panel .ant-input{width:100%}.fee-schedule-panel .app-input,.fee-schedule-panel .ant-input,.fee-schedule-panel .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.fee-single-payment-note{border:1px solid color-mix(in srgb, var(--success) 22%, var(--border-color));background:color-mix(in srgb, var(--success) 8%, var(--surface-primary));border-radius:12px;flex-direction:column;gap:6px;margin-top:18px;padding:18px;display:flex}.fee-single-payment-note strong{color:var(--text-primary);font-size:14px}.fee-single-payment-note span{color:var(--text-secondary);font-size:13px;line-height:1.5}.fee-installments-table{flex-direction:column;gap:12px;margin-top:20px;display:flex}.fee-installments-table__head,.fee-installments-table__row{grid-template-columns:minmax(220px,.9fr) minmax(180px,.7fr) minmax(320px,1.35fr) 44px;align-items:start;gap:18px;display:grid}.fee-installments-table__head{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:0 16px;font-size:11px;font-weight:800}.fee-installments-table__row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:12px;min-height:92px;padding:16px}.fee-installments-table__row .app-input,.fee-installments-table__row .app-select,.fee-installments-table__row .ant-select,.fee-installments-table__row .ant-input{width:100%}.fee-installments-table__row .app-input,.fee-installments-table__row .ant-input,.fee-installments-table__row .ant-select-selector{height:var(--field-height)!important;min-height:var(--field-height)!important}.fee-installments-table__action{min-height:var(--field-height);align-self:end}.fee-assignment-conflict{border:1px solid color-mix(in srgb, var(--warning) 34%, var(--border-color));background:color-mix(in srgb, var(--warning) 8%, var(--surface-primary));border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;display:flex}.fee-assignment-conflict>div{flex-direction:column;gap:4px;display:flex}.fee-assignment-conflict strong{color:var(--text-primary);font-size:14px}.fee-assignment-conflict span{color:var(--text-secondary);font-size:13px;line-height:1.4}.fee-review-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.fee-review-layout{gap:16px;display:grid}.fee-review-table{gap:8px;margin-top:12px;display:grid;overflow-x:auto}.fee-review-table__head,.fee-review-table__row{grid-template-columns:minmax(150px,1.1fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(160px,1fr) minmax(180px,1.2fr) minmax(110px,.7fr) minmax(100px,.7fr);align-items:center;gap:12px;min-width:1080px;display:grid}.fee-review-table__head{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:0 12px;font-size:11px;font-weight:800}.fee-review-table__row{border:1px solid var(--border-color);background:var(--surface-primary);min-height:48px;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.35}.fee-review-table__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fee-review-installments{gap:8px;margin-top:12px;display:grid}.fee-review-installments__row{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;grid-template-columns:minmax(160px,.8fr) minmax(130px,.6fr) minmax(220px,1.6fr);align-items:center;gap:12px;min-height:48px;padding:10px 12px;display:grid}.fee-review-installments__row strong,.fee-review-installments__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fee-structure-view{gap:16px;display:grid}@media (width<=900px){.fee-structure-page .student-onboarding-stepper{display:flex!important}.fee-structure-general-grid,.fee-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-items-table__head{display:none}.fee-items-table__row{grid-template-columns:minmax(0,1fr) minmax(130px,.6fr) 44px;gap:12px}.fee-items-table__row .app-select:nth-of-type(2){grid-column:1/2}.fee-items-table__switch{justify-content:flex-start}.fee-schedule-panel,.fee-installments-table__head,.fee-installments-table__row{grid-template-columns:1fr}.fee-installments-table__head{display:none}}@media (width<=640px){.fee-structure-page .student-onboarding-stepper{display:flex!important}.fee-items-table__row,.fee-category-modal-form,.fee-structure-general-grid,.fee-component-grid{grid-template-columns:1fr}.fee-component-grid__description,.fee-component-grid__classes{grid-column:1}.fee-assignment-conflict{flex-direction:column;align-items:stretch}.fee-review-installments__row{grid-template-columns:1fr}.fee-items-table__action{justify-self:flex-end}}.roles-role-cell{align-items:flex-start;gap:10px;display:flex}.roles-role-cell__icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.roles-role-cell__name{color:var(--color-text);font-size:14px;font-weight:600}.roles-role-cell__desc{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:320px;margin-top:2px;font-size:12px;overflow:hidden}.roles-action-cell{flex-wrap:wrap;gap:8px;display:flex}.roles-module-permissions,.roles-module-table{width:100%}.roles-module-table__head,.roles-module-table__row{grid-template-columns:minmax(140px,20%) repeat(8,1fr);align-items:center;min-height:44px;display:grid}.roles-module-table__head{border-bottom:2px solid var(--border-color);margin-bottom:2px;padding-bottom:8px}.roles-module-table__head>span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:11px;font-weight:700;overflow:hidden}.roles-module-table__head>span:first-child{text-align:left;padding-left:0}.roles-module-table__row{border-bottom:1px solid var(--border-color)}.roles-module-table__row:last-child{border-bottom:none}.roles-module-table__row:hover{background:color-mix(in srgb, var(--brand-primary) 3%, var(--surface-primary))}.roles-module-table__row>strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;padding-right:8px;font-size:13px;font-weight:600;overflow:hidden}.roles-module-table__cell{justify-content:center;align-items:center;width:100%;height:44px;display:flex}.roles-field-permissions{width:100%}.roles-field-permissions__head,.roles-field-permissions__row{grid-template-columns:1fr 80px 80px;align-items:center;gap:12px;padding:8px 0;display:grid}.roles-field-permissions__head{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.roles-field-permissions__row{border-bottom:1px solid var(--color-border-light,#0000000f)}.roles-field-permissions__row:last-child{border-bottom:none}.roles-scope-options{flex-direction:column;gap:10px;margin-top:12px;display:flex}.roles-scope-option{border:2px solid var(--color-border);cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:500;transition:border-color .18s,background .18s;display:flex}.roles-scope-option:hover{border-color:var(--color-primary);background:var(--color-primary-light,#1e3a8a0a)}.roles-scope-option--selected{border-color:var(--color-primary);background:var(--color-primary-light,#1e3a8a12)}.roles-scope-option__indicator{border:2px solid var(--color-primary);border-radius:50%;flex-shrink:0;width:14px;height:14px}.roles-scope-option--selected .roles-scope-option__indicator{background:var(--color-primary)}.roles-approval-list{width:100%}.roles-approval-list__head,.roles-approval-list__row{grid-template-columns:1fr 220px;align-items:center;gap:16px;padding:8px 0;display:grid}.roles-approval-list__head{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.roles-approval-list__row{border-bottom:1px solid var(--color-border-light,#0000000f)}.roles-approval-list__row:last-child{border-bottom:none}.roles-review-modules{flex-direction:column;gap:8px;margin-top:8px;display:flex}.roles-review-module-row{border-bottom:1px solid var(--color-border-light,#0000000d);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.roles-review-module-row:last-child{border-bottom:none}.roles-review-module-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.sd-kpi-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;display:grid}.sd-kpi-card.app-stat-card.app-card{min-height:unset;gap:4px;padding:14px 12px}.sd-kpi-card .app-stat-card__label{white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.sd-kpi-card .app-stat-card__value{font-size:22px;line-height:1}.sd-kpi-card .app-stat-card__meta{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sd-table-card .app-table-toolbar__select{width:150px!important;min-width:unset!important;flex:0 0 150px!important}.sd-student-cell{align-items:center;gap:10px;display:flex}.sd-avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.sd-student-cell__info{flex-direction:column;min-width:0;display:flex}.sd-student-cell__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.sd-student-cell__meta{color:var(--text-muted);font-size:11px;font-family:var(--font-family-subtle,sans-serif)}.sd-cell-muted{color:var(--text-muted)}.sd-table-card .ant-table-thead>tr>th,.sd-table-card .ant-table-tbody>tr>td{white-space:nowrap}.spd-drawer .ant-drawer-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.spd-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 10%, var(--surface-secondary)), color-mix(in srgb, var(--brand-accent) 8%, var(--surface-secondary)));border-bottom:1px solid var(--border-color);flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:16px;padding:24px;display:grid}.spd-hero__avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;width:64px;height:64px;box-shadow:var(--shadow-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex;overflow:hidden}.spd-hero__avatar--photo{background:var(--surface-secondary)}.spd-hero__avatar-img{object-fit:cover;width:100%;height:100%}.spd-hero__info{flex-direction:column;gap:4px;min-width:0;display:flex}.spd-hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.spd-hero__name{color:var(--text-primary);margin:0;font-size:20px;font-weight:800;line-height:1.2}.spd-hero__meta{color:var(--text-secondary);font-size:13px;font-family:var(--font-family-subtle,sans-serif);margin:0}.spd-hero__tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.spd-hero__actions{flex-direction:row;flex:none;align-items:flex-end;gap:8px;display:flex}.spd-tabs{flex-direction:column;flex:auto;display:flex;overflow:hidden}.spd-tabs .ant-tabs-nav{background:var(--surface-primary);border-bottom:1px solid var(--border-color);flex:none;margin-bottom:0;padding:0 24px}.spd-tabs .ant-tabs-content-holder{flex:auto;overflow-y:auto}.spd-tabs .ant-tabs-tabpane{padding:0}.spd-tab-content{flex-direction:column;gap:24px;padding:24px;display:flex}.spd-section{flex-direction:column;gap:12px;display:flex}.spd-section__title{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:8px;font-size:14px;font-weight:700}.spd-section__note{color:var(--text-muted);font-size:12px;font-family:var(--font-family-subtle,sans-serif);margin:0;font-style:italic}.spd-attendance-list{flex-direction:column;gap:6px;display:flex}.spd-attendance-row{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-primary);align-items:center;gap:10px;padding:8px 12px;display:flex}.spd-attendance-row__date{color:var(--text-secondary);min-width:90px;font-size:13px;font-weight:600}.spd-attendance-row__note{color:var(--text-muted);font-size:12px;font-family:var(--font-family-subtle,sans-serif)}.spd-doc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.spd-doc-card{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface-primary);transition:border-color var(--transition);flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.spd-doc-card--uploaded{border-color:color-mix(in srgb, var(--success) 28%, var(--border-color));background:color-mix(in srgb, var(--success) 5%, var(--surface-primary))}.spd-doc-card--pending{opacity:.7}.spd-doc-card__label{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3}.spd-doc-card__action{color:var(--brand-primary);font-size:12px;font-weight:600;text-decoration:none}.spd-doc-card__action:hover{text-decoration:underline}.spd-doc-card__status{color:var(--text-muted);font-size:11px;font-family:var(--font-family-subtle,sans-serif)}@media (width<=1600px){.sd-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=1100px){.sd-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.sd-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spd-hero{grid-template-columns:auto minmax(0,1fr)}.spd-hero__actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end}.spd-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.timetable-page{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.timetable-page>.app-card,.timetable-page .ant-card,.timetable-page .ant-card-body{min-width:0;max-width:100%}.timetable-grid-scroll{overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;overflow:auto hidden}.timetable-grid{width:max-content;min-width:900px;display:grid}.timetable-filters{grid-template-columns:minmax(180px,1.15fr) minmax(150px,.9fr) repeat(2,minmax(150px,1fr));align-items:end;gap:16px;margin-bottom:20px;padding:4px 0;display:grid}.timetable-filter-field,.timetable-form-field{gap:7px;min-width:0;display:grid}.timetable-filter-field label,.timetable-form-field label{color:var(--text-secondary);font-size:12px;font-weight:600}.timetable-filter-field .app-select,.timetable-filter-field .ant-select,.timetable-form-field .app-select,.timetable-form-field .ant-select,.timetable-form-field .app-input,.timetable-form-field .ant-input{width:100%!important;min-width:0!important}.timetable-filter-field--teacher{grid-column:span 2}.timetable-assignment-form{gap:20px;padding:4px 0 8px;display:grid}.timetable-assignment-context{border:1px solid var(--border-color);background:var(--surface-muted);border-radius:8px;gap:4px;padding:14px 16px;display:grid}.timetable-assignment-context span,.timetable-assignment-context small,.timetable-form-field label span{color:var(--text-muted);font-size:12px}.timetable-assignment-form>p{margin:0;line-height:1.5}.timetable-form-actions{border-top:1px solid var(--border-color);justify-content:space-between;gap:12px;padding-top:4px;display:flex}.timetable-form-actions>div{gap:8px;margin-left:auto;display:flex}@media (width<=900px){.timetable-page .teacher-directory-kpis{max-width:100%}.timetable-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-filter-field--teacher{grid-column:auto}}@media (width<=540px){.timetable-filters{grid-template-columns:minmax(0,1fr);gap:12px}.timetable-form-actions{flex-direction:column-reverse;align-items:stretch}.timetable-form-actions>div{margin-left:0}.timetable-form-actions .ant-btn,.timetable-form-actions button{flex:1}}.subjects-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.subjects-form-grid{flex-direction:column;gap:16px;display:flex}.subjects-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subjects-form-field{flex-direction:column;gap:6px;display:flex}.subjects-form-field--full{grid-column:1/-1}.subjects-form-label{color:var(--color-text-primary);font-size:13px;font-weight:600}.subjects-form-required{color:var(--danger,#ef4444);margin-left:2px}.subjects-form-optional{color:var(--color-text-secondary);margin-left:4px;font-size:12px;font-weight:400}.subjects-form-toggles{flex-direction:column;gap:10px;display:flex}.subjects-toggle-field{border:1px solid var(--color-border);background:var(--surface-primary);cursor:pointer;color:var(--color-text-primary);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.subject-detail-content{flex-direction:column;gap:20px;display:flex}.subject-detail-header{background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 16%, var(--border-color));border-radius:14px;align-items:flex-start;gap:16px;padding:18px;display:flex}.subject-detail-code-badge{background:var(--brand-primary);color:#fff;letter-spacing:.03em;min-width:56px;height:56px;font-size:15px;font-weight:800;font-family:var(--font-family-subtle);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.subject-detail-title-group{flex-direction:column;gap:8px;min-width:0;display:flex}.subject-detail-name{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:800;line-height:1.2}.subject-detail-meta-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.subject-detail-section{flex-direction:column;gap:10px;display:flex}.subject-detail-section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:700}.subject-detail-sessions{flex-direction:column;gap:8px;display:flex}.subject-detail-session-block{border:1px solid var(--color-border);background:var(--surface-primary);border-radius:10px;padding:12px 14px}.subject-detail-session-name{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700}.subject-detail-classes{flex-wrap:wrap;gap:6px;display:flex}.subject-detail-class-chip{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--brand-primary) 20%, var(--border-color));color:var(--brand-primary);border-radius:6px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.subjects-assignment-form{flex-direction:column;gap:16px;padding-top:4px;display:flex}.subjects-assignment-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subjects-existing-list{background:color-mix(in srgb, var(--success) 6%, var(--surface-primary));border:1px solid color-mix(in srgb, var(--success) 18%, var(--border-color));border-radius:10px;padding:10px 14px}.subjects-existing-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:700}.subjects-existing-chips{flex-wrap:wrap;gap:6px;display:flex}.subjects-assignments-tab{flex-direction:column;gap:0;display:flex}@media (width<=640px){.subjects-form-row,.subjects-assignment-row{grid-template-columns:minmax(0,1fr)}.subjects-filter-bar{flex-direction:column;align-items:stretch}.subjects-filter-bar .app-button{width:100%}}.campaigns-page .app-table-toolbar__actions{align-items:center}.campaigns-page>.app-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-drawer{flex-direction:column;gap:22px;display:flex}.campaign-step,.campaign-review,.campaign-delivery{flex-direction:column;gap:18px;padding-top:4px;display:flex}.campaign-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.campaign-field-grid .ant-form-item{margin-bottom:0}.campaign-channel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.campaign-channel-grid .ant-radio-button-wrapper{text-align:center;border-inline-start-width:1px;height:42px;font-weight:600;border-radius:8px!important}.campaign-channel-grid .ant-radio-button-wrapper:before{display:none}.campaign-recipient-summary{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.campaign-recipient-summary strong{color:var(--text-primary)}.campaign-recipient-summary span{color:var(--text-secondary);font-size:13px}.campaign-recipient-summary .app-button{margin-left:auto}.campaign-recipient-summary--drawer{margin-bottom:16px}.campaign-merge-fields{flex-wrap:wrap;gap:6px;display:flex}.campaign-message-preview{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:8px;flex-direction:column;gap:10px;padding:18px;display:flex}.campaign-message-preview img{object-fit:contain;width:48px;height:48px}.campaign-message-preview h4,.campaign-message-preview p{margin:0}.campaign-message-preview p,.campaign-tab-text{color:var(--text-secondary);line-height:1.6}.campaign-full-field{width:100%}.campaign-drawer__actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding-top:16px;display:flex}@media (width<=760px){.campaign-field-grid,.campaign-channel-grid{grid-template-columns:minmax(0,1fr)}.campaign-recipient-summary .app-button,.campaign-drawer__actions .app-button{width:100%;margin-left:0}.campaign-drawer__actions{flex-direction:column}}.teacher-onboarding-page .student-onboarding-stepper{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:4px;flex-wrap:nowrap!important;display:flex!important;overflow:auto hidden!important}.teacher-onboarding-page .student-onboarding-stepper__item{scroll-snap-align:start;flex:0 0 clamp(150px,15vw,200px)!important;min-width:150px!important}@media (width<=900px){.teacher-onboarding-page .student-onboarding-stepper__item{flex:0 0 170px!important;min-width:150px!important}}@media (width<=640px){.teacher-onboarding-page .student-onboarding-stepper{gap:3px!important;padding:10px 10px 4px!important}.teacher-onboarding-page .student-onboarding-stepper__item{flex:0 0 150px!important;min-width:130px!important}.teacher-onboarding-page .student-onboarding-stepper__label>div{font-size:12px!important}.teacher-onboarding-page .student-onboarding-stepper__step-number{width:24px!important;height:24px!important;font-size:11px!important}}.app-calendar-wrap{flex-direction:column;display:flex;overflow:hidden}.app-cal-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.app-cal-header__left{align-items:center;gap:8px;display:flex}.app-cal-header__right{align-items:center;gap:6px;display:flex}.app-cal-dow{border-bottom:1px solid #f0f0f0;grid-template-columns:repeat(7,1fr);display:grid}.app-cal-dow__cell{text-align:center;padding:7px 0 5px;font-size:11px;font-weight:600}.app-cal-grid{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(7,1fr);display:grid}.app-cal-cell{cursor:pointer;box-sizing:border-box;border:1px solid #e2e8f0;flex-direction:column;align-items:flex-start;min-height:62px;margin-top:-1px;margin-left:-1px;padding:5px 6px 4px;transition:background .1s;display:flex}.app-cal-cell:hover{z-index:1;background:#f8f7ff;position:relative}.app-cal-cell__num{font-size:12px;font-weight:500;line-height:1.4}.app-cal-cell--out{background:#fafafa}.app-cal-cell--out .app-cal-cell__num{color:#cbd5e1!important}.app-cal-cell--selected{z-index:1;background:#ede9fe;position:relative}.app-cal-cell--holiday{background:#fafaff}.app-cal-cell__events{flex-direction:column;gap:1px;width:100%;margin-top:3px;display:flex;overflow:hidden}.app-cal-cell__pill{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:3px;max-width:100%;padding:1px 4px;font-size:9px;font-weight:500;line-height:14px;overflow:hidden}.app-cal-cell__more{color:#94a3b8;font-size:9px;line-height:12px}.app-cal-legend{border-top:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:8px 14px;display:flex}.app-cal-legend__item{color:#64748b;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.app-cal-legend__dot{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.page-stack{flex-direction:column;gap:24px;display:flex}.text-secondary{color:var(--color-text-secondary)}.surface-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1400px){.metrics-grid,.students-kpi-grid,.attendance-kpi-grid{grid-template-columns:repeat(2,1fr)}.app-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaigns-page>.app-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-row,.attendance-analytics-grid,.attendance-bottom-grid,.teachers-ops-grid,.reports-analytics-grid,.notifications-side-grid,.devices-side-grid,.integration-grid{grid-template-columns:1fr}.app-shell-header__search{width:280px}.app-analytics-grid{grid-template-columns:1fr}.app-three-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=992px){.metrics-grid,.students-kpi-grid,.attendance-kpi-grid,.integration-grid{grid-template-columns:1fr}.app-shell-header{flex-direction:column;align-items:stretch;height:auto;padding:16px 20px}.app-shell-header__controls,.app-shell-header__actions,.app-page-header__top{flex-direction:column;align-items:stretch;width:100%}.app-shell-header__search,.app-page-header__actions{width:100%}.app-content,.super-admin-content{padding:20px!important}.app-kpi-grid,.app-analytics-grid,.app-three-panel-grid,.app-preview-row,.student-profile-modal__hero,.student-profile-modal__field-grid,.app-form-grid,.whitelabel-toggle-grid,.app-quick-actions,.attendance-modal__filters,.student-drafts-panel__grid,.student-onboarding-stepper,.student-onboarding-section-grid,.academic-setup-flow-grid,.student-profile-inline__grid{grid-template-columns:1fr}.campaigns-page>.app-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-panel-grid{gap:18px}.super-admin-shell{flex-direction:row;align-items:flex-start}.super-admin-sidebar,.super-admin-sidebar.ant-layout-sider,.super-admin-sidebar.ant-layout-sider-below{border-right:1px solid var(--border-color);border-bottom:0;height:100vh;position:sticky;top:0;width:236px!important;min-width:236px!important;max-width:236px!important}.super-admin-sidebar.super-admin-sidebar--collapsed,.super-admin-sidebar.super-admin-sidebar--collapsed.ant-layout-sider,.super-admin-sidebar.super-admin-sidebar--collapsed.ant-layout-sider-below{width:76px!important;min-width:76px!important;max-width:76px!important}.super-admin-sidebar-top{min-height:88px;padding:10px 8px}.super-admin-logo img{width:132px;max-width:100%}.super-admin-sidebar--collapsed .super-admin-logo img{width:38px;max-height:38px}.super-admin-header{flex-direction:column;align-items:stretch;gap:12px;height:auto;padding:16px 20px}.super-admin-actions{flex-wrap:wrap;gap:12px}.branding-layout,.branding-upload-grid,.theme-colors-grid,.feature-grid,.school-card-grid,.school-details-grid{grid-template-columns:1fr}}@media (width<=768px){.sidebar-logo,.super-admin-logo{min-width:0}.app-content,.super-admin-content{padding:16px!important}.app-page-header__title{font-size:24px}.app-page-header__subtitle{font-size:13px}.student-onboarding-wizard__header,.student-onboarding-roadmap__header,.student-onboarding-wizard__footer,.student-onboarding-step-card__header,.student-onboarding-section-block__header{flex-direction:column}.student-onboarding-wizard__footer{grid-template-columns:1fr;margin-inline:-16px}.student-onboarding-wizard__footer-progress,.student-onboarding-wizard__footer-actions{width:100%}.student-onboarding-wizard__footer-actions>*{flex:1 1 0}.student-onboarding-stepper{padding:12px}.student-onboarding-stepper__item{flex-basis:220px;min-width:220px}.student-onboarding-wizard__progress-track{min-width:0}.student-profile-grid,.report-preview-summary,.app-kpi-grid,.app-analytics-grid,.app-three-panel-grid,.app-preview-row,.app-form-grid,.whitelabel-toggle-grid,.campaigns-page>.app-kpi-grid{grid-template-columns:1fr}.support-widget{bottom:16px;right:16px}.support-widget__trigger-wrap,.support-widget__trigger{width:58px!important;height:58px!important}.support-panel__shell{width:100vw}.support-panel__header,.support-panel__body{padding-left:16px;padding-right:16px}.support-panel__header{gap:12px}.support-quick-actions,.support-form__grid{grid-template-columns:1fr}.support-form__selection-note,.support-success-state__ticket,.support-panel__meta{flex-direction:column;align-items:flex-start}.super-admin-header .app-shell-header__search,.super-admin-search{width:100%}.branding-card,.branding-preview-panel{border-radius:20px;padding:20px}}.auth-page{background:#eef0f8;grid-template-columns:54% 46%;height:100vh;display:grid;overflow:hidden}.auth-left{background:linear-gradient(155deg,#f0f2f8 0%,#e8ecf8 100%);flex-direction:column;justify-content:space-between;height:100vh;padding:3.5vh 4vw 3vh;display:flex;overflow:hidden}.auth-logo-wrap{flex-direction:column;gap:3px;display:flex}.auth-logo{width:clamp(130px,11vw,170px);height:auto}.auth-logo-tagline{color:var(--brand-primary,#4f46e5);font-size:clamp(10px,.9vw,12px)}.auth-heading{color:var(--text-primary);margin:0;font-size:clamp(22px,2.4vw,34px);font-weight:800;line-height:1.2}.auth-highlight{color:#6366f1}.auth-subtitle{color:var(--text-secondary);margin:0;font-size:clamp(11px,1vw,14px);line-height:1.65}.auth-feature-grid{grid-template-columns:1fr 1fr;gap:clamp(8px,1vh,14px);display:grid}.auth-feature-card{background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:clamp(12px,1.4vh,18px) clamp(12px,1.2vw,16px);display:flex;box-shadow:0 1px 8px #00000012}.auth-feature-icon-wrap{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(28px,2.4vw,36px);height:clamp(28px,2.4vw,36px);margin-top:1px;display:flex}.auth-feature-icon{font-size:clamp(13px,1.15vw,17px);display:flex}.auth-feature-title{color:var(--text-primary);font-size:clamp(11px,1vw,14px);font-weight:700;line-height:1.3}.auth-feature-desc{color:var(--text-secondary);margin-top:3px;font-size:clamp(10px,.88vw,12px);line-height:1.45}.auth-stats-label{color:var(--text-secondary);text-align:center;margin-bottom:clamp(6px,.9vh,10px);font-size:clamp(10px,.95vw,13px);font-weight:600}.auth-stats-row{justify-content:center;align-items:flex-start;gap:clamp(14px,2.5vw,32px);display:flex}.auth-stat-item{flex-direction:row;align-items:flex-start;gap:9px;display:flex}.auth-stat-icon{color:#6366f1;flex-shrink:0;margin-top:2px;font-size:clamp(22px,2.1vw,28px)}.auth-stat-text{flex-direction:column;display:flex}.auth-stat-value{color:var(--text-primary);font-size:clamp(20px,2vw,27px);font-weight:800;line-height:1}.auth-stat-label{color:var(--text-secondary);white-space:pre-line;margin-top:3px;font-size:clamp(10px,.88vw,12px);line-height:1.35}.auth-safety-banner{background:#fff;border-radius:12px;align-items:center;gap:12px;padding:clamp(12px,1.4vh,18px) clamp(14px,1.4vw,18px);display:flex;box-shadow:0 1px 8px #00000012}.auth-safety-icon-wrap{background:#ede9fe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(32px,2.8vw,40px);height:clamp(32px,2.8vw,40px);display:flex}.auth-safety-icon{color:#4f46e5;font-size:clamp(15px,1.3vw,20px)}.auth-safety-title{color:var(--text-primary);font-size:clamp(11px,1vw,14px);font-weight:700}.auth-safety-desc{color:var(--text-secondary);margin-top:3px;font-size:clamp(10px,.88vw,12px);line-height:1.5}.auth-right{background:#eef0f8;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,1.8vh,22px);height:100vh;padding:3vh clamp(20px,3vw,48px);display:flex;overflow:hidden}.auth-login-card{background:#fff;border-radius:20px;flex-direction:column;flex:1;justify-content:space-between;width:100%;max-width:460px;max-height:88vh;padding:clamp(28px,4vh,52px) clamp(26px,2.8vw,40px) clamp(24px,3.6vh,46px);display:flex;box-shadow:0 6px 36px #0000001a}.auth-login-card--compact{flex:0 auto;justify-content:flex-start}.auth-card-header{align-items:flex-start;gap:13px;margin-bottom:clamp(16px,2.2vh,26px);display:flex}.auth-card-icon-wrap{background:#ede9fe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(40px,3.5vw,52px);height:clamp(40px,3.5vw,52px);display:flex}.auth-card-icon{color:#6366f1;font-size:clamp(19px,1.8vw,25px)}.auth-card-titles{flex:1;min-width:0}.auth-login-title{color:var(--text-primary);margin:0 0 4px;font-size:clamp(20px,1.9vw,26px);font-weight:800;line-height:1.15}.auth-login-subtitle{color:var(--text-secondary);margin:0;font-size:clamp(11px,.95vw,13.5px)}.auth-lang-badge{color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#f0f0f6;border-radius:8px;flex-shrink:0;align-self:flex-start;padding:4px 10px;font-size:clamp(11px,.95vw,13px);font-weight:600}.auth-field-spacer{height:clamp(12px,1.8vh,22px)}.auth-login-options{justify-content:flex-end;align-items:center;margin-top:6px;margin-bottom:clamp(14px,2vh,26px);display:flex}.auth-forgot-link{color:#4f46e5;font-size:clamp(11px,.95vw,13.5px);font-weight:500;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-primary-button{color:#fff!important;background:#4f46e5!important;border-color:#4f46e5!important;border-radius:10px!important;font-weight:600!important}.auth-primary-button:not(:disabled):hover,.auth-primary-button:not(:disabled):focus-visible{color:#fff!important;background:#4338ca!important;border-color:#4338ca!important}.auth-login-error{color:#ef4444;text-align:center;margin-top:8px;font-size:12px}.auth-security-strip{color:var(--text-secondary);border-top:1px solid #f0f0f4;border-bottom:1px solid #f0f0f4;justify-content:center;align-items:center;gap:6px;margin-top:clamp(14px,2vh,26px);padding:clamp(11px,1.5vh,20px) 0;font-size:clamp(10px,.95vw,13px);display:flex}.auth-security-strip-icon{color:#6366f1;font-size:14px}.auth-security-badges{justify-content:space-around;padding:clamp(12px,1.7vh,24px) 0 clamp(6px,.8vh,10px);display:flex}.auth-security-badge{align-items:center;gap:8px;display:flex}.auth-badge-icon-wrap{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(28px,2.4vw,36px);height:clamp(28px,2.4vw,36px);display:flex}.auth-badge-title{color:var(--text-primary);font-size:clamp(11px,.95vw,13.5px);font-weight:700;line-height:1.2}.auth-badge-sub{color:var(--text-secondary);font-size:clamp(10px,.85vw,12px);line-height:1.3}.auth-need-help{color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;gap:4px;padding-top:clamp(10px,1.4vh,18px);font-size:clamp(11px,.95vw,13px);display:flex}.auth-help-link{color:#4f46e5;font-weight:600;text-decoration:none}.auth-help-link:hover{text-decoration:underline}.auth-footer{text-align:center;flex-shrink:0}.auth-footer-links{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.auth-footer-links a{color:var(--brand-primary,#4f46e5);font-size:clamp(11px,.95vw,13px);text-decoration:none}.auth-footer-links a:hover{color:var(--brand-primary,#4f46e5)}.auth-footer-dot,.auth-footer-copy{color:var(--text-secondary);font-size:clamp(11px,.95vw,13px)}.auth-footer-copy a{color:#2563eb;text-decoration:none}.auth-footer-copy a:hover{text-decoration:underline}@media (width<=1024px){.auth-page{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:auto;min-height:100vh;overflow:auto}.auth-left{justify-content:flex-start;gap:20px;height:auto;padding:32px 40px 28px;overflow:visible}.auth-feature-grid{grid-template-columns:1fr 1fr}.auth-right{justify-content:flex-start;height:auto;padding:32px 40px;overflow:visible}.auth-login-card{flex:none;max-height:none}}@media (width<=767px){.auth-page{grid-template-rows:1fr;grid-template-columns:1fr;height:100vh;overflow:auto}.auth-left{display:none}.auth-right{justify-content:center;gap:16px;height:auto;min-height:100vh;padding:24px 20px 32px;overflow:auto}.auth-login-card{border-radius:16px;flex:none;max-width:100%;max-height:none;padding:28px 22px 24px}.auth-card-header{gap:10px;margin-bottom:20px}.auth-card-icon-wrap{width:42px;height:42px}.auth-login-title{font-size:22px}.auth-login-subtitle{font-size:13px}.auth-field-spacer{height:12px}.auth-login-options{margin-bottom:16px}.auth-security-badges{gap:8px;padding:14px 0 8px}.auth-security-badge{gap:6px}.auth-badge-icon-wrap{width:28px;height:28px}.auth-footer-links{flex-wrap:wrap;gap:6px}.auth-footer{padding-top:4px}}@media (width<=400px){.auth-right{padding:16px 14px 24px}.auth-login-card{padding:22px 16px 20px}.auth-login-title{font-size:20px}.auth-security-badges{flex-direction:column;align-items:flex-start;gap:10px}}.auth-rate-limit-message{box-sizing:border-box;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:flex-start;gap:10px;width:100%;margin-top:14px;padding:13px 15px;display:flex}.auth-rate-limit-icon{color:#ea580c;flex-shrink:0;margin-top:2px;font-size:16px}.auth-rate-limit-title{color:#9a3412;margin-bottom:3px;font-size:13px;font-weight:700;line-height:1.4}.auth-rate-limit-text{color:#9a3412;font-size:12px;line-height:1.55}@media (width<=1024px){.auth-rate-limit-message{gap:9px;padding:12px 14px}.auth-rate-limit-title{font-size:12.5px}.auth-rate-limit-text{font-size:12px}}@media (width<=767px){.auth-rate-limit-message{border-radius:9px;gap:9px;margin-top:12px;padding:12px}.auth-rate-limit-icon{font-size:15px}.auth-rate-limit-title{font-size:12.5px}.auth-rate-limit-text{font-size:11.5px;line-height:1.5}}@media (width<=400px){.auth-rate-limit-message{border-radius:8px;gap:8px;padding:10px 11px}.auth-rate-limit-icon{font-size:14px}.auth-rate-limit-title{font-size:12px}.auth-rate-limit-text{font-size:11px;line-height:1.45}}.forgot-password-page{box-sizing:border-box;color:#10245a;background:linear-gradient(135deg,#f6f8ff 0%,#eef2ff 52%,#f8f9ff 100%);grid-template-columns:54% 46%;width:100%;min-height:100dvh;display:grid;position:relative;overflow:hidden auto}.forgot-decoration{pointer-events:none;z-index:0;position:absolute}.forgot-decoration-circle{background:#6366f10b;border-radius:50%;width:400px;height:400px;top:-190px;left:35%}.forgot-decoration-dots{opacity:.42;background-image:radial-gradient(#7b83ff 1.4px,#0000 1.4px);background-size:17px 17px;width:90px;height:90px}.forgot-dots-top{top:130px;left:35.5%}.forgot-dots-bottom{opacity:.22;bottom:55px;left:30.5%}.forgot-bottom-wave{pointer-events:none;z-index:0;width:52%;height:110px;position:absolute;bottom:-25px;left:-30px;overflow:hidden}.forgot-bottom-wave:before{content:"";background:#6366f10b;border-radius:50%;width:600px;height:180px;position:absolute;bottom:-105px;left:-100px;transform:rotate(-5deg)}.forgot-wave-line{border-top:1px solid #6366f126;border-radius:50%;width:570px;height:72px;position:absolute;bottom:25px;left:-30px;transform:rotate(4deg)}.forgot-wave-dot{background:#4f46e5;border-radius:50%;width:9px;height:9px;position:absolute;bottom:14px;left:535px;box-shadow:0 4px 10px #4f46e52e}.forgot-left{z-index:1;box-sizing:border-box;flex-direction:column;width:100%;min-height:100dvh;padding:34px clamp(38px,5vw,72px) 45px;display:flex;position:relative;overflow:visible}.forgot-brand{flex-direction:column;align-items:flex-start;display:flex}.forgot-brand-logo{width:clamp(155px,12vw,185px);height:auto;display:block}.forgot-brand-tagline{color:#506080;margin-top:7px;padding-left:1px;font-size:clamp(11px,.9vw,13px);line-height:1.4}.forgot-left-content{width:min(530px,100%);margin-top:clamp(70px,9vh,105px);position:relative}.forgot-heading h1{color:#10245a;letter-spacing:-2.2px;margin:0;font-size:clamp(48px,4.3vw,66px);font-weight:800;line-height:.98}.forgot-heading h1 span{color:#4f46e5}.forgot-heading-line{background:linear-gradient(90deg,#355fe8,#6658ee);border-radius:999px;width:58px;height:4px;margin-top:21px}.forgot-left-content h2{color:#233866;max-width:500px;margin:24px 0 0;font-size:clamp(19px,1.55vw,23px);font-weight:700;line-height:1.42}.forgot-description{color:#53617e;max-width:510px;margin:14px 0 0;font-size:14px;line-height:1.65}.forgot-security-card{box-sizing:border-box;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffad;border:1px solid #6366f126;border-radius:14px;align-items:center;gap:14px;width:min(510px,100%);margin-top:25px;padding:16px 18px;display:flex;box-shadow:0 5px 18px #3241780a}.forgot-security-icon{color:#4f46e5;background:#eef0ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:22px;display:flex}.forgot-security-content{min-width:0}.forgot-security-content h3{color:#10245a;margin:0;font-size:13px;font-weight:700;line-height:1.3}.forgot-security-content p{color:#566480;margin:5px 0 0;font-size:12px;line-height:1.5}.forgot-left-trust{width:min(510px,100%);margin-top:24px}.forgot-trust-label{color:#4f5d78;letter-spacing:.2px;align-items:center;gap:8px;margin-bottom:13px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.forgot-trust-dot{background:#4f46e5;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 4px #4f46e514}.forgot-trust-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.forgot-trust-item{box-sizing:border-box;background:#ffffff7a;border:1px solid #6366f11c;border-radius:12px;align-items:flex-start;gap:10px;min-width:0;min-height:62px;padding:12px;transition:transform .2s,background .2s,border-color .2s;display:flex}.forgot-trust-item:hover{background:#ffffffc7;border-color:#6366f12e;transform:translateY(-1px)}.forgot-trust-icon{color:#4f46e5;background:#eef0ff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.forgot-trust-item>div{flex-direction:column;gap:3px;min-width:0;display:flex}.forgot-trust-item strong{color:#172d63;font-size:11px;font-weight:700;line-height:1.3;display:block}.forgot-trust-item div span{color:#65718a;font-size:10px;line-height:1.4;display:block}.forgot-right{z-index:2;box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:30px clamp(30px,4vw,60px);display:flex;position:relative;overflow:visible}.forgot-card{box-sizing:border-box;background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:520px;padding:38px 40px 28px;display:flex;box-shadow:0 20px 55px #1e2d5a1a,0 4px 14px #1e2d5a09}.forgot-card-header{text-align:center;width:100%}.forgot-card-icon{color:#4057dc;background:#eef0ff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 17px;font-size:30px;display:flex;position:relative}.forgot-card-lock{color:#fff;background:#4f46e5;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:9px;display:flex;position:absolute;bottom:1px;right:0}.forgot-card-header h1{color:#10245a;letter-spacing:-.6px;margin:0;font-size:30px;font-weight:800;line-height:1.2}.forgot-card-header p{color:#566480;margin:8px auto 0;font-size:14px;line-height:1.5}.forgot-form{width:100%;margin-top:30px}.forgot-form label{color:#10245a;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.4;display:block}.forgot-email-input{box-sizing:border-box;width:100%!important}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{box-sizing:border-box;min-height:54px;box-shadow:none;background:#fff;border:1px solid #d5daea;border-radius:10px;align-items:center;padding-left:13px;padding-right:13px;display:flex;width:100%!important}.forgot-form .ant-input-affix-wrapper .ant-input{color:#1d2e5d;background:0 0;height:auto;padding:0 0 0 2px;font-size:15px;line-height:1.5}.forgot-form .ant-input-prefix{color:#64708b;align-items:center;margin-right:12px;font-size:18px;display:flex}.forgot-form input::placeholder{color:#9aa4b8;opacity:1}.forgot-form .ant-input-affix-wrapper:hover,.forgot-email-input.ant-input-affix-wrapper:hover{border-color:#7b82e9}.forgot-form .ant-input-affix-wrapper-focused,.forgot-email-input.ant-input-affix-wrapper-focused{border-color:#4f46e5!important;box-shadow:0 0 0 3px #4f46e514!important}.forgot-submit-button{justify-content:center;align-items:center;gap:11px;margin-top:15px;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 6px 15px #27449526;color:#fff!important;background:#274495!important;border:none!important;border-radius:10px!important;width:100%!important;height:54px!important;padding:0 18px!important;font-size:15px!important;font-weight:700!important;display:flex!important}.forgot-submit-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px #27449533;background:#203b84!important}.forgot-submit-button .anticon{font-size:16px}.forgot-rate-limit{box-sizing:border-box;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;align-items:flex-start;gap:9px;width:100%;margin-top:12px;padding:12px 13px;display:flex}.forgot-rate-limit>.anticon{flex-shrink:0;margin-top:2px;font-size:15px}.forgot-rate-limit strong{font-size:12px;line-height:1.4;display:block}.forgot-rate-limit p{margin:3px 0 0;font-size:11px;line-height:1.45}.forgot-divider{align-items:center;gap:13px;margin:25px 0 19px;display:flex}.forgot-divider span{background:#e8eaf1;flex:1;height:1px}.forgot-divider em{color:#8a93a8;font-size:12px;font-style:normal}.forgot-back-link{color:#4056df;justify-content:flex-start;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.forgot-back-link:hover{color:#303fca;transform:translate(1px)}.forgot-expiry{color:#586482;background:#f3f4ff;border-radius:10px;align-items:center;gap:9px;margin-top:27px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.forgot-expiry .anticon{color:#4f46e5;flex-shrink:0;font-size:16px}.forgot-expiry strong{color:#4f46e5}.forgot-card-copyright{text-align:center;color:#929aab;margin-top:15px;padding:0;font-size:10px;line-height:1.5}.forgot-success{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.forgot-success-icon{color:#10b981;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:17px;font-size:34px;display:flex}.forgot-success h1{color:#10245a;margin:0;font-size:29px;font-weight:800;line-height:1.2}.forgot-success-title{color:#263966;max-width:390px;margin:10px auto 0;font-size:14px;font-weight:600;line-height:1.5}.forgot-success-description{color:#64708a;overflow-wrap:anywhere;max-width:400px;margin:10px auto 0;font-size:13px;line-height:1.65}.forgot-success-security{box-sizing:border-box;text-align:left;color:#586482;background:#f3f4ff;border-radius:10px;align-items:center;gap:9px;width:100%;max-width:400px;margin-top:21px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.forgot-success-security .anticon{color:#4f46e5;flex-shrink:0;font-size:16px}.forgot-success .forgot-back-link{margin-top:21px}@media (width>=1101px) and (height>=900px){.forgot-left{overflow:visible}.forgot-left-content{margin-top:clamp(70px,9vh,105px)}.forgot-heading h1{font-size:clamp(52px,4.2vw,66px)}.forgot-left-content h2{margin-top:23px}.forgot-description{margin-top:14px}.forgot-security-card,.forgot-left-trust{margin-top:23px}}@media (width>=1101px) and (height>=800px) and (height<=899px){.forgot-password-page{height:auto;min-height:100dvh;overflow:hidden auto}.forgot-left{height:auto;min-height:100dvh;padding-top:27px;padding-bottom:35px;overflow:visible}.forgot-right{height:auto;min-height:100dvh;padding-top:25px;padding-bottom:25px;overflow:visible}.forgot-brand-logo{width:170px}.forgot-brand-tagline{margin-top:5px;font-size:12px}.forgot-left-content{margin-top:54px}.forgot-heading h1{letter-spacing:-1.8px;font-size:clamp(48px,4vw,58px);line-height:.98}.forgot-heading-line{width:54px;height:4px;margin-top:17px}.forgot-left-content h2{max-width:500px;margin-top:18px;font-size:20px;line-height:1.35}.forgot-description{max-width:500px;margin-top:10px;font-size:13px;line-height:1.55}.forgot-security-card{gap:12px;margin-top:17px;padding:13px 15px}.forgot-security-icon{width:44px;height:44px;font-size:20px}.forgot-security-content h3{font-size:12px}.forgot-security-content p{margin-top:4px;font-size:11px;line-height:1.45}.forgot-left-trust{margin-top:17px}.forgot-trust-label{margin-bottom:10px;font-size:11px}.forgot-trust-items{gap:9px}.forgot-trust-item{gap:8px;min-height:55px;padding:10px}.forgot-trust-icon{width:29px;height:29px;font-size:13px}.forgot-trust-item strong{font-size:10px}.forgot-card-copyright a{color:#2563eb;text-decoration:none}.forgot-card-copyright a:hover{text-decoration:underline}.forgot-trust-item div span{font-size:9px}.forgot-card{max-width:500px;padding:30px 36px 23px}.forgot-card-icon{width:62px;height:62px;margin-bottom:13px;font-size:28px}.forgot-card-header h1{font-size:28px}.forgot-card-header p{margin-top:6px;font-size:13px}.forgot-form{margin-top:25px}.forgot-form label{margin-bottom:7px;font-size:12px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:51px}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:14px}.forgot-submit-button{margin-top:13px;height:51px!important;font-size:14px!important}.forgot-divider{margin:21px 0 16px}.forgot-back-link{font-size:13px}.forgot-expiry{margin-top:21px;padding:10px 12px;font-size:11px}.forgot-card-copyright{margin-top:11px;font-size:9px}}@media (width>=1101px) and (height>=700px) and (height<=799px){.forgot-password-page{height:auto;min-height:100dvh;overflow:hidden auto}.forgot-left{height:auto;min-height:100dvh;padding:22px clamp(38px,5vw,65px) 28px;overflow:visible}.forgot-right{height:auto;min-height:100dvh;padding:20px 30px;overflow:visible}.forgot-brand-logo{width:155px}.forgot-brand-tagline{margin-top:4px;font-size:11px}.forgot-left-content{margin-top:40px}.forgot-heading h1{letter-spacing:-1.6px;font-size:47px}.forgot-heading-line{width:50px;height:3px;margin-top:14px}.forgot-left-content h2{margin-top:15px;font-size:18px;line-height:1.35}.forgot-description{margin-top:8px;font-size:12px;line-height:1.5}.forgot-security-card{gap:10px;margin-top:14px;padding:11px 13px}.forgot-security-icon{width:39px;height:39px;font-size:17px}.forgot-security-content h3{font-size:11px}.forgot-security-content p{margin-top:3px;font-size:9.5px}.forgot-left-trust{margin-top:13px}.forgot-trust-label{margin-bottom:8px;font-size:10px}.forgot-trust-items{gap:7px}.forgot-trust-item{gap:7px;min-height:48px;padding:8px}.forgot-trust-icon{width:26px;height:26px;font-size:11px}.forgot-trust-item strong{font-size:9px}.forgot-trust-item div span{font-size:8px}.forgot-card{max-width:485px;padding:25px 31px 19px}.forgot-card-icon{width:57px;height:57px;margin-bottom:10px;font-size:25px}.forgot-card-header h1{font-size:25px}.forgot-card-header p{margin-top:5px;font-size:11px}.forgot-form{margin-top:20px}.forgot-form label{margin-bottom:6px;font-size:11px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:46px}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:13px}.forgot-submit-button{margin-top:11px;height:46px!important;font-size:13px!important}.forgot-divider{margin:17px 0 13px}.forgot-back-link{font-size:12px}.forgot-expiry{margin-top:17px;padding:8px 10px;font-size:10px}.forgot-card-copyright{margin-top:9px;font-size:8.5px}}@media (width>=1101px) and (height<=699px){.forgot-password-page{height:auto;min-height:100dvh;overflow:hidden auto}.forgot-left{height:auto;min-height:100dvh;padding:18px 42px 24px;overflow:visible}.forgot-right{height:auto;min-height:100dvh;padding:18px 25px;overflow:visible}.forgot-left-content{margin-top:28px}.forgot-heading h1{font-size:42px}.forgot-heading-line{margin-top:11px}.forgot-left-content h2{margin-top:12px;font-size:16px}.forgot-description{margin-top:7px;font-size:11px}.forgot-security-card{margin-top:10px;padding:9px 11px}.forgot-security-icon{width:34px;height:34px;font-size:15px}.forgot-security-content h3{font-size:10px}.forgot-security-content p{font-size:8.5px}.forgot-left-trust{margin-top:9px}.forgot-trust-label{margin-bottom:6px;font-size:9px}.forgot-trust-item{min-height:42px;padding:6px}.forgot-trust-icon{width:23px;height:23px;font-size:10px}.forgot-trust-item strong{font-size:8px}.forgot-trust-item div span{font-size:7px}.forgot-card{max-width:460px;padding:20px 27px 15px}.forgot-card-icon{width:50px;height:50px;margin-bottom:7px;font-size:22px}.forgot-card-header h1{font-size:22px}.forgot-card-header p{font-size:10px}.forgot-form{margin-top:15px}.forgot-form label{font-size:10px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:41px}.forgot-submit-button{margin-top:8px;height:41px!important;font-size:12px!important}.forgot-divider{margin:10px 0 8px}.forgot-back-link{font-size:11px}.forgot-expiry{margin-top:11px;padding:6px 8px;font-size:8.5px}.forgot-card-copyright{margin-top:6px;font-size:8px}}@media (width<=1100px) and (width>=768px){.forgot-password-page{grid-template-columns:47% 53%;height:auto;min-height:100dvh;overflow:hidden auto}.forgot-left{height:auto;min-height:100dvh;padding:26px 28px 32px;overflow:visible}.forgot-right{height:auto;min-height:100dvh;padding:24px;overflow:visible}.forgot-brand-logo{width:150px}.forgot-brand-tagline{font-size:11px}.forgot-left-content{margin-top:55px}.forgot-heading h1{letter-spacing:-1.5px;font-size:42px}.forgot-heading-line{width:50px;margin-top:16px}.forgot-left-content h2{margin-top:18px;font-size:17px}.forgot-description{margin-top:10px;font-size:12px}.forgot-security-card{margin-top:17px;padding:11px 12px}.forgot-security-icon{width:40px;height:40px;font-size:18px}.forgot-security-content h3{font-size:11px}.forgot-security-content p{font-size:9.5px}.forgot-left-trust{margin-top:16px}.forgot-trust-label{margin-bottom:8px;font-size:10px}.forgot-trust-items{grid-template-columns:1fr;gap:7px}.forgot-trust-item{min-height:0;padding:8px}.forgot-trust-icon{width:27px;height:27px;font-size:12px}.forgot-trust-item strong{font-size:10px}.forgot-trust-item div span{font-size:8.5px}.forgot-card{max-width:470px;padding:28px 30px 21px}.forgot-card-icon{width:58px;height:58px;margin-bottom:11px;font-size:26px}.forgot-card-header h1{font-size:25px}.forgot-card-header p{font-size:11.5px}.forgot-form{margin-top:22px}.forgot-form label{font-size:11.5px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:48px}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:13px}.forgot-submit-button{height:48px!important;font-size:13px!important}.forgot-divider{margin:19px 0 14px}.forgot-back-link{font-size:12px}.forgot-expiry{margin-top:19px;padding:9px 10px;font-size:10px}.forgot-card-copyright{margin-top:10px;font-size:9px}}@media (width<=767px){.forgot-password-page{background:linear-gradient(145deg,#f4f6ff 0%,#eef1ff 100%);width:100%;height:auto;min-height:100dvh;display:block;overflow:hidden auto}.forgot-decoration,.forgot-bottom-wave,.forgot-left{display:none}.forgot-right{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:auto;min-height:100dvh;padding:22px 16px 28px;display:flex;overflow:visible}.forgot-card{border-radius:17px;width:100%;max-width:430px;height:auto;padding:30px 22px 21px}.forgot-card-icon{width:60px;height:60px;margin-bottom:13px;font-size:27px}.forgot-card-lock{width:20px;height:20px;font-size:8px}.forgot-card-header h1{font-size:24px}.forgot-card-header p{font-size:12px}.forgot-form{margin-top:23px}.forgot-form label{margin-bottom:7px;font-size:12px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:50px}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:14px}.forgot-form .ant-input-prefix{margin-right:9px;font-size:16px}.forgot-submit-button{margin-top:13px;height:50px!important;font-size:13px!important}.forgot-divider{margin:21px 0 16px}.forgot-back-link{font-size:13px}.forgot-expiry{margin-top:22px;padding:10px 11px;font-size:10.5px}.forgot-card-copyright{margin-top:14px;font-size:9.5px}.forgot-success-icon{width:66px;height:66px;font-size:32px}.forgot-success h1{font-size:25px}.forgot-success-title{font-size:13px}.forgot-success-description{font-size:12px}.forgot-success-security{font-size:10.5px}}@media (width<=400px){.forgot-right{padding:16px 12px 22px}.forgot-card{border-radius:15px;padding:25px 17px 18px}.forgot-card-icon{width:55px;height:55px;margin-bottom:10px;font-size:24px}.forgot-card-header h1{font-size:21px}.forgot-card-header p{font-size:11px}.forgot-form{margin-top:20px}.forgot-form label{font-size:11px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:47px}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:13px}.forgot-submit-button{height:47px!important;font-size:12.5px!important}.forgot-divider{margin:17px 0 13px}.forgot-back-link{font-size:12px}.forgot-expiry{margin-top:18px;padding:9px;font-size:10px}.forgot-card-copyright{margin-top:10px;font-size:9px}}@media (width<=767px) and (height<=650px){.forgot-right{align-items:flex-start;padding-top:14px}.forgot-card{margin-top:4px}}@media (width>=1101px){.forgot-password-page{box-sizing:border-box;grid-template-columns:54% 46%;width:100%;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.forgot-left{box-sizing:border-box;flex-direction:column;width:100%;height:100dvh;min-height:0;padding:30px clamp(40px,4.7vw,72px);display:flex;overflow:visible}.forgot-brand{flex-shrink:0}.forgot-brand-logo{width:clamp(160px,11vw,185px);height:auto}.forgot-brand-tagline{margin-top:7px;font-size:clamp(11px,.85vw,13px)}.forgot-left-content{flex-shrink:0;width:min(540px,100%);margin-top:clamp(48px,10vh,105px)}.forgot-heading h1{letter-spacing:-2px;margin:0;font-size:clamp(50px,4.2vw,66px);line-height:.98}.forgot-heading-line{width:58px;height:4px;margin-top:20px}.forgot-left-content h2{max-width:520px;margin-top:22px;font-size:clamp(18px,1.45vw,23px);line-height:1.4}.forgot-description{max-width:525px;margin-top:13px;font-size:clamp(12px,.9vw,14px);line-height:1.6}.forgot-security-card{box-sizing:border-box;gap:13px;width:min(530px,100%);margin-top:22px;padding:15px 17px}.forgot-security-icon{width:47px;height:47px;font-size:20px}.forgot-security-content h3{font-size:13px}.forgot-security-content p{margin-top:4px;font-size:11px;line-height:1.5}.forgot-left-trust{width:min(530px,100%);margin-top:20px}.forgot-trust-label{margin-bottom:11px;font-size:11px}.forgot-trust-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.forgot-trust-item{gap:8px;min-height:58px;padding:10px}.forgot-trust-icon{width:29px;height:29px;font-size:12px}.forgot-trust-item strong{font-size:10px}.forgot-trust-item div span{font-size:9px}.forgot-right{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100dvh;min-height:0;padding:30px clamp(30px,4vw,65px);display:flex;overflow:visible}.forgot-card{box-sizing:border-box;border-radius:20px;width:100%;max-width:520px;min-height:0;padding:36px 38px 26px}.forgot-card-icon{width:66px;height:66px;margin-bottom:15px;font-size:29px}.forgot-card-header h1{font-size:clamp(27px,1.7vw,31px);line-height:1.2}.forgot-card-header p{margin-top:7px;font-size:13px}.forgot-form{margin-top:27px}.forgot-form label{margin-bottom:8px;font-size:12px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{box-sizing:border-box;border-radius:11px;min-height:53px;width:100%!important}.forgot-form .ant-input-affix-wrapper .ant-input{font-size:14px}.forgot-submit-button{margin-top:14px;border-radius:11px!important;width:100%!important;height:53px!important;font-size:14px!important}.forgot-divider{margin:22px 0 17px}.forgot-back-link{font-size:13px}.forgot-expiry{border-radius:10px;margin-top:24px;padding:11px 13px;font-size:11px}.forgot-card-copyright{margin-top:13px;font-size:9px}.forgot-decoration-circle{width:470px;height:470px;top:-230px;left:35%}.forgot-dots-top{top:130px;left:35.5%}.forgot-dots-bottom{bottom:55px;left:30.5%}}@media (width>=1101px) and (height<=850px){.forgot-left-content{margin-top:clamp(35px,6vh,65px)}.forgot-heading h1{font-size:clamp(48px,4vw,60px)}.forgot-heading-line{margin-top:16px}.forgot-left-content h2{margin-top:17px;font-size:clamp(17px,1.35vw,21px)}.forgot-description{margin-top:10px}.forgot-security-card{margin-top:17px}.forgot-left-trust{margin-top:16px}.forgot-card{max-width:515px;padding:31px 36px 24px}.forgot-card-icon{width:62px;height:62px;margin-bottom:12px}.forgot-form{margin-top:23px}.forgot-expiry{margin-top:20px}}@media (width>=1101px) and (height<=720px){.forgot-left{padding-top:20px;padding-bottom:20px}.forgot-left-content{margin-top:25px}.forgot-heading h1{font-size:44px}.forgot-heading-line{margin-top:12px}.forgot-left-content h2{margin-top:13px;font-size:17px}.forgot-description{margin-top:7px;font-size:11px}.forgot-security-card{margin-top:12px;padding:11px 13px}.forgot-left-trust{margin-top:11px}.forgot-trust-item{min-height:50px}.forgot-right{padding-top:18px;padding-bottom:18px}.forgot-card{max-width:500px;padding:24px 31px 19px}.forgot-card-icon{width:55px;height:55px;margin-bottom:9px}.forgot-card-header h1{font-size:24px}.forgot-card-header p{font-size:11px}.forgot-form{margin-top:18px}.forgot-form .ant-input-affix-wrapper,.forgot-email-input.ant-input-affix-wrapper{min-height:46px}.forgot-submit-button{height:46px!important}.forgot-divider{margin:15px 0 12px}.forgot-expiry{margin-top:15px;padding:8px 10px}}@media (width<=1100px) and (width>=768px){.forgot-password-page{height:auto;min-height:100dvh;overflow:hidden auto}.forgot-left,.forgot-right{height:auto;min-height:100dvh}}@media (width<=767px){.forgot-password-page{height:auto;min-height:100dvh;display:block;overflow:hidden auto}.forgot-left{display:none}.forgot-right{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:auto;min-height:100dvh;padding:20px 15px 25px;display:flex;overflow:visible}.forgot-card{width:100%;max-width:430px;height:auto}}.lp-page{isolation:isolate;color:#0b1b4d;background:radial-gradient(900px 600px at 15% 0,#fff 0%,#fff0 70%),linear-gradient(135deg,#f4f7fd 0%,#eef2fc 55%,#e6ebfb 100%);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.lp-header{z-index:2;position:absolute;top:clamp(8px,1vh,16px);left:clamp(6px,1vw,20px)}.lp-page:before,.lp-page:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.lp-page:before{background:#6378f024;width:46vw;height:46vw;top:-20vw;right:-14vw}.lp-page:after{background:#6378f01f;width:38vw;height:38vw;bottom:-18vw;right:8vw}.lp-campus{z-index:-1;opacity:.95;pointer-events:none;-webkit-mask-composite:source-in;width:min(64vw,1000px);height:auto;position:absolute;bottom:56px;left:0;-webkit-mask-image:linear-gradient(90deg,#000 55%,#0000 100%),linear-gradient(#0000 0%,#000 30%);mask-image:linear-gradient(90deg,#000 55%,#0000 100%),linear-gradient(#0000 0%,#000 30%);-webkit-mask-composite:source-in;mask-composite:intersect}.lp-main{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);min-height:0;padding:clamp(24px,5vh,56px) clamp(20px,6vw,110px);display:grid}.lp-brand{flex-direction:column;align-self:center;align-items:flex-start;display:flex;transform:translate(24%,-130%)}.lp-elyvorn{aspect-ratio:1800/460;width:clamp(152px,13vw,220px);overflow:hidden}.lp-elyvorn img{filter:invert()hue-rotate(180deg);mix-blend-mode:multiply;width:120.4%;max-width:none;height:auto;margin:-6% 0 0 -10.6%;display:block}.lp-endorse{letter-spacing:.3em;color:#6b7390;justify-content:center;align-self:stretch;align-items:center;gap:14px;margin:clamp(14px,2.4vh,24px) 0 clamp(36px,7vh,80px);font-size:11px;display:flex}.lp-endorse:before,.lp-endorse:after{content:"";background:#c3c9dc;width:36px;height:1px}.lp-product{align-items:center;gap:clamp(12px,1.4vw,20px);display:flex}.lp-product-mark{object-fit:contain;flex:none;width:auto;max-width:160px;height:clamp(48px,4.4vw,64px);display:block}.lp-product-text{border-left:2px solid #c9cfe2;padding-left:clamp(12px,1.4vw,20px)}.lp-product-name{color:#0b2272;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.2vw,46px);font-weight:700;line-height:1.1}.lp-product-desc{color:#4a5578;margin-top:4px;font-size:clamp(14px,1.4vw,21px)}.lp-card{background:#fff;border:1px solid #bec8eb8c;border-radius:24px;justify-self:end;width:100%;max-width:580px;padding:clamp(20px,4vh,48px) clamp(24px,3.2vw,46px);box-shadow:0 24px 60px -24px #3c50b447,0 2px 8px #3c50b40f}.lp-card h1{text-align:center;color:#0b1230;font-size:clamp(26px,2.5vw,36px);font-weight:700}.lp-card-sub{text-align:center;color:#4a5578;margin:8px 0 clamp(22px,4vh,40px);font-size:clamp(14px,1.2vw,17px)}.lp-label{color:#0b1230;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.lp-field+.lp-field{margin-top:clamp(14px,2.4vh,22px)}.lp-card .ant-input-affix-wrapper{background:#fff;border-color:#d5dbea;border-radius:12px;height:54px;padding-inline:16px}.lp-card .ant-input-affix-wrapper:hover{border-color:#8d9ce8}.lp-card .ant-input-affix-wrapper-focused{border-color:#3f56e8;box-shadow:0 0 0 3px #3f56e829}.lp-card .ant-input-prefix{color:#1c2547;margin-inline-end:12px;font-size:18px}.lp-card .ant-input::placeholder{color:#9aa2bd}.lp-forgot{justify-content:flex-end;margin:12px 0 clamp(18px,3vh,30px);display:flex}.lp-forgot a{color:#2c3fd8;font-size:14px;font-weight:600;text-decoration:none}.lp-forgot a:hover{text-decoration:underline}.lp-card .lp-submit{background:#3f56e8;border-color:#3f56e8;border-radius:12px;height:56px;font-size:17px;font-weight:600;box-shadow:0 8px 18px -8px #3f56e8b3}.lp-card .lp-submit:not(:disabled):hover{background:#3447d0;border-color:#3447d0}.lp-error{text-align:center;color:#c62828;margin-top:14px;font-size:14px}.lp-card-support{text-align:center;color:#6b7390;margin-top:18px;font-size:14px}.lp-card-support a{color:#2c3fd8;font-weight:600;text-decoration:none}.lp-card-support a:hover{text-decoration:underline}.lp-footer{color:#4a5578;border-top:1px solid #bec8e1cc;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;margin:0 clamp(20px,3vw,48px);padding:clamp(12px,2.2vh,22px) clamp(0px,4vw,70px);font-size:13px;display:flex}.lp-footer a{color:#2c3fd8;font-weight:600;text-decoration:none}.lp-footer a:hover{text-decoration:underline}.lp-footer-sep{color:#6b7390;margin:0 12px}.lp-footer-copy{text-align:center;flex:auto}.lp-footer-help{flex:none}@media (width<=1024px){.lp-main{gap:24px;padding-inline:24px}.lp-campus{opacity:.6;width:80vw}}@media (width<=767px),(height<=640px){.lp-page{height:auto;min-height:100dvh;overflow:hidden auto}.lp-main{min-height:auto}}@media (width<=767px){.lp-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;padding:28px 16px}.lp-header{top:16px;left:16px}.lp-brand{align-items:center;padding-top:58px;transform:none}.lp-endorse{margin:12px 0 24px}.lp-product{text-align:center;flex-direction:column}.lp-product-text{border-left:0;padding-left:0}.lp-card{border-radius:18px;justify-self:stretch;max-width:none;padding:26px 18px}.lp-campus{opacity:.35;width:130vw;bottom:90px}.lp-footer{text-align:center;justify-content:center;margin:0 16px;padding:18px 0}.lp-footer-copy{flex-basis:100%}}.lp-support-page{overflow:hidden auto}.lp-support-main{flex:1;place-items:center;min-height:0;padding:24px 16px;display:grid}.lp-support-page .lp-card{justify-self:center;max-width:520px;padding:clamp(20px,3.5vh,40px) clamp(20px,3vw,40px)}.lp-support-logo{width:auto;max-width:100%;height:48px;margin:0 auto 14px;display:block}.lp-support-options{gap:8px;margin-bottom:18px;display:flex}.lp-support-option{color:#1c2547;cursor:pointer;background:#fff;border:1px solid #d5dbea;border-radius:12px;flex:1;height:44px;font-size:14px;font-weight:600}.lp-support-option.is-active{color:#2c3fd8;background:#eef1ff;border-color:#3f56e8}.lp-support-option:focus-visible{outline:3px solid #3f56e84d}.lp-textarea{width:100%;font:inherit;resize:vertical;color:#0b1230;border:1px solid #d5dbea;border-radius:12px;max-height:140px;padding:12px 16px}.lp-textarea:focus{border-color:#3f56e8;outline:none;box-shadow:0 0 0 3px #3f56e829}.lp-support-submit{margin-top:20px}.lp-support-cancel{justify-content:center;margin:14px 0 0}.lp-support-done{text-align:center}.lp-support-done-icon{color:#2e9e5b;margin-bottom:8px;font-size:44px}.lp-support-back{color:#2c3fd8;margin-top:8px;font-weight:600;display:inline-block}.lp-card-icon{color:#3f56e8;background:#e9ecff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:28px;display:grid}.lp-card-icon--success{color:#2e9e5b;background:#e4f5ea}.lp-card-icon--warning{color:#b7791f;background:#fff3d6}.lp-input-error .ant-input-affix-wrapper{border-color:#c62828}.lp-field-error{color:#c62828;margin-top:6px;font-size:13px}.lp-divider{background:#e4e8f3;height:1px;margin:clamp(16px,2.6vh,26px) 0 14px}.lp-back{color:#2c3fd8;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:8px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.lp-back:hover{text-decoration:underline}.lp-back:focus-visible{outline:3px solid #3f56e84d}.lp-card--center{text-align:center}@media (prefers-reduced-motion:reduce){.lp-page *{transition:none!important;animation:none!important}}.app-shell{background:var(--surface-secondary);align-items:flex-start;min-height:100vh}.app-sidebar{border-right:1px solid var(--border-color);height:100vh;transition:width .18s,min-width .18s,max-width .18s;position:sticky;top:0;overflow-y:auto;box-shadow:8px 0 24px #0f172a08;background:linear-gradient(180deg, var(--surface-primary) 0%, color-mix(in srgb, var(--brand-primary) 4%, var(--surface-secondary)) 100%)!important}.app-sidebar .ant-layout-sider-children{flex-direction:column;min-height:100%;display:flex}.app-sidebar-menu{flex:1;padding:34px 10px 18px}.app-shell>.ant-layout{min-width:0;min-height:100vh}.sidebar-top{border-bottom:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);flex-direction:column;justify-content:center;align-items:center;min-height:96px;padding:12px 14px;display:flex;position:relative}.sidebar-logo{justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.sidebar-logo img{object-fit:contain;width:160px;max-height:44px}.sidebar-collapse-button{width:24px;height:24px;color:var(--text-primary);cursor:pointer;z-index:2;transition:var(--transition);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:-30px;right:6px}.sidebar-collapse-button:hover{color:var(--brand-primary);background:0 0}.app-sidebar--collapsed .sidebar-top{justify-content:center;min-height:96px;padding:12px 8px}.app-sidebar--collapsed .sidebar-logo{display:flex}.app-sidebar--collapsed .sidebar-logo img{width:42px;max-height:42px}.app-sidebar--collapsed .app-sidebar-menu{padding:34px 8px 18px}.app-sidebar--collapsed .ant-menu-item{justify-content:center;width:52px;margin:6px auto!important;padding-inline:0!important}.app-sidebar--collapsed .ant-menu-item .ant-menu-item-icon{margin-inline-end:0!important}.app-sidebar--collapsed .ant-menu-title-content{display:none}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:78px;display:flex;background:color-mix(in srgb, var(--surface-primary) 92%, transparent)!important;padding:0 28px!important}.app-content{background:radial-gradient(circle at top right, color-mix(in srgb, var(--brand-secondary) 16%, transparent), transparent 28%), var(--surface-secondary);min-width:0;padding:28px}.page-title{margin-bottom:8px;font-size:32px;font-weight:800}.page-subtitle{color:var(--text-secondary);margin-bottom:28px}.ant-menu-item{transition:var(--transition);font-weight:500;height:48px!important;color:var(--text-primary)!important;border-radius:12px!important;align-items:center!important;margin:6px 12px!important;display:flex!important}.ant-menu-item .ant-menu-item-icon,.ant-menu-item svg{color:currentColor}.ant-menu-item:hover{background:color-mix(in srgb, var(--brand-primary) 7%, transparent)!important;color:var(--brand-primary)!important}.ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--brand-primary);background:linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 14%, transparent), color-mix(in srgb, var(--brand-secondary) 10%, transparent))!important;color:var(--brand-primary)!important}.ant-menu-submenu>.ant-menu-submenu-title{transition:var(--transition);font-weight:500;height:48px!important;color:var(--text-primary)!important;border-radius:12px!important;align-items:center!important;margin:6px 12px!important;display:flex!important}.ant-menu-submenu>.ant-menu-submenu-title:hover{background:color-mix(in srgb, var(--brand-primary) 7%, transparent)!important;color:var(--brand-primary)!important}.ant-menu-submenu-open>.ant-menu-submenu-title,.ant-menu-submenu-selected>.ant-menu-submenu-title{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 10%, transparent), color-mix(in srgb, var(--brand-secondary) 7%, transparent))!important;color:var(--brand-primary)!important}.ant-menu-submenu .ant-menu-submenu-arrow{background:0 0!important;justify-content:center!important;align-items:center!important;width:16px!important;height:16px!important;transition:transform .22s!important;display:inline-flex!important;transform:rotate(0)!important}.ant-menu-submenu .ant-menu-submenu-arrow:before,.ant-menu-submenu .ant-menu-submenu-arrow:after{background:currentColor!important;border-radius:2px!important;width:6px!important;height:1.5px!important;transition:transform .22s!important;position:absolute!important}.ant-menu-submenu .ant-menu-submenu-arrow:before{top:50%!important;transform:translateY(-3px)rotate(45deg)!important}.ant-menu-submenu .ant-menu-submenu-arrow:after{top:50%!important;transform:translateY(1.5px)rotate(-45deg)!important}.ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{transform:rotate(90deg)!important}.ant-menu-sub .ant-menu-item{color:var(--text-secondary)!important}.ant-menu-sub .ant-menu-item:hover{color:var(--brand-primary)!important;background:color-mix(in srgb, var(--brand-primary) 7%, transparent)!important}.ant-menu-sub .ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--brand-primary);font-weight:600;background:linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 14%, transparent), color-mix(in srgb, var(--brand-secondary) 10%, transparent))!important;color:var(--brand-primary)!important}.header-search{width:360px}.header-actions{align-items:center;gap:24px;display:flex}.notification-icon{background:var(--surface-primary);border:1px solid var(--border-color);cursor:pointer;width:42px;height:42px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.notification-icon:hover{transform:translateY(-2px)}.header-profile{align-items:center;gap:14px;display:flex}.header-avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))!important}.profile-name{font-size:16px;font-weight:700}.profile-role{color:var(--text-secondary);font-size:13px}@media (width<=1200px){.header-search{width:220px}}@media (width<=768px){.app-shell{flex-direction:row;align-items:flex-start}.app-sidebar,.app-sidebar.ant-layout-sider,.app-sidebar.ant-layout-sider-below{z-index:1001;border-right:1px solid var(--border-color);height:100vh;box-shadow:var(--shadow-soft);border-bottom:0;position:sticky;top:0;width:236px!important;min-width:236px!important;max-width:236px!important}.app-sidebar.app-sidebar--collapsed,.app-sidebar.app-sidebar--collapsed.ant-layout-sider,.app-sidebar.app-sidebar--collapsed.ant-layout-sider-below{width:76px!important;min-width:76px!important;max-width:76px!important}.app-sidebar .ant-layout-sider-children{min-height:100%}.sidebar-top{min-height:88px;padding:10px 8px}.sidebar-logo img{width:132px;max-height:42px}.app-sidebar--collapsed .sidebar-logo img{width:38px;max-height:38px}.app-header{padding:0 16px!important}.header-search{display:none}.app-content{padding:16px}.page-title{font-size:26px}}.app-card{background:var(--surface-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-soft);transition:var(--transition);border-radius:20px;padding:24px}.app-card:hover{box-shadow:var(--shadow-medium)}.app-button{height:var(--field-height);min-height:var(--field-height);font-weight:600;border-radius:var(--field-radius)!important}.app-button.ant-btn-primary{background:var(--brand-primary);border-color:var(--brand-primary)}.app-button.ant-btn-default{border-color:var(--border-color)}.app-button.ant-btn-text,.app-button.ant-btn-link{color:var(--brand-primary)}.app-button.ant-btn-text:not(:disabled):hover,.app-button.ant-btn-text:not(:disabled):focus-visible,.app-button.ant-btn-link:not(:disabled):hover,.app-button.ant-btn-link:not(:disabled):focus-visible{color:var(--brand-primary)!important;background:color-mix(in srgb, var(--brand-primary) 8%, transparent)!important}.app-button.ant-btn-text:not(:disabled):active,.app-button.ant-btn-link:not(:disabled):active{color:var(--brand-primary)!important;background:color-mix(in srgb, var(--brand-primary) 12%, transparent)!important}.app-input{height:var(--field-height);min-height:var(--field-height);font-size:var(--field-font-size);border-radius:var(--field-radius)!important}.app-date-picker.ant-picker{width:100%;height:var(--field-height);min-height:var(--field-height);align-items:center;display:flex;border-radius:var(--field-radius)!important}.app-date-picker.ant-picker .ant-picker-input>input{height:calc(var(--field-height) - 2px);font-size:var(--field-font-size)}.page-skeleton{flex-direction:column;gap:24px;display:flex}.skeleton-title{width:320px!important;height:42px!important}.skeleton-metrics{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.skeleton-card{border-radius:20px!important;width:100%!important;height:160px!important}.skeleton-chart-row{grid-template-columns:2fr 1fr;gap:24px;display:grid}.skeleton-chart-large,.skeleton-chart-small{border-radius:20px!important;width:100%!important;height:360px!important}.dashboard-grid{flex-direction:column;gap:24px;display:flex}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.dashboard-row{grid-template-columns:2fr 1.2fr;gap:24px;display:grid}.dashboard-card{box-shadow:var(--shadow-soft);background:#fffffff0;border:1px solid #94a3b824;border-radius:22px;padding:24px}.metric-card{transition:var(--transition);cursor:pointer}.metric-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-4px)}.metric-header{justify-content:space-between;align-items:center;display:flex}.metric-title{color:var(--text-secondary);font-size:14px}.metric-value{margin-top:12px;font-size:34px;font-weight:800}.metric-change{color:var(--success-color);margin-top:8px;font-size:13px}.chart-title{font-size:18px;font-weight:700;font-family:var(--font-family-display);margin-bottom:18px}.attendance-breakdown-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:center;gap:20px;display:grid}.attendance-breakdown-values{flex-direction:column;gap:14px;display:flex}.attendance-breakdown-value-item{align-items:flex-start;gap:12px;display:flex}.attendance-breakdown-value-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:6px}.attendance-breakdown-value-dot-0,.attendance-breakdown-footer-dot-0{background:var(--brand-primary)}.attendance-breakdown-value-dot-1,.attendance-breakdown-footer-dot-1{background:var(--brand-secondary)}.attendance-breakdown-value-dot-2,.attendance-breakdown-footer-dot-2{background:var(--brand-accent)}.attendance-breakdown-value-dot-3,.attendance-breakdown-footer-dot-3{background:color-mix(in srgb, var(--brand-secondary) 62%, var(--surface-primary))}.attendance-breakdown-value-item strong{font-size:14px;display:block}.attendance-breakdown-value-item p{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle);margin-top:4px}.attendance-breakdown-chart{min-width:0}.attendance-breakdown-chart .recharts-wrapper{width:100%!important}.attendance-breakdown-chart .recharts-surface{overflow:visible}.attendance-breakdown-chart .recharts-label-list text,.attendance-breakdown-chart .recharts-pie-label-text{fill:var(--color-text-secondary);font-size:11px}.attendance-breakdown-footer{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.attendance-breakdown-footer span{color:var(--color-text-secondary);background:#f8fafc;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.attendance-breakdown-footer-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.activity-item,.device-item{border-bottom:1px solid #94a3b814;justify-content:space-between;padding:14px 0;display:flex}.status-online{color:var(--success-color);font-weight:600}.status-warning{color:var(--warning-color);font-weight:600}.status-offline{color:var(--danger-color);font-weight:600}.recharts-responsive-container{min-height:300px}.admin-dashboard-quick-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-dashboard-quick-actions--1{grid-template-columns:minmax(180px,360px)}.admin-dashboard-quick-actions--2{grid-template-columns:repeat(2,minmax(180px,1fr))}.admin-dashboard-quick-actions--3{grid-template-columns:repeat(3,minmax(180px,1fr))}.admin-dashboard-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-dashboard-kpi-grid--1{grid-template-columns:minmax(220px,420px)}.admin-dashboard-kpi-grid--2{grid-template-columns:repeat(2,minmax(220px,1fr))}.admin-dashboard-kpi-grid--3{grid-template-columns:repeat(3,minmax(220px,1fr))}.admin-dashboard-analytics-grid,.admin-dashboard-panel-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.admin-dashboard-panel-grid--single{grid-template-columns:minmax(0,1fr)}.admin-dashboard-panel-grid--single .app-panel{width:100%}.metric-icon{background:linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 10%, transparent), color-mix(in srgb, var(--brand-secondary) 14%, transparent));width:42px;height:42px;color:var(--brand-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}@media (width<=1400px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-row,.attendance-breakdown-layout{grid-template-columns:1fr}}@media (width<=992px){.metrics-grid,.attendance-breakdown-layout{grid-template-columns:1fr}}.students-page{flex-direction:column;gap:24px;display:flex}.students-kpi-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.students-kpi-card{background:#fff;border:1px solid #94a3b814;border-radius:20px;padding:22px;box-shadow:0 12px 24px #0f172a0d}.students-kpi-card h2{color:#0f172a;margin-top:14px;font-size:30px;font-weight:800}.students-kpi-card p{color:#64748b;margin-top:8px}.students-filter-row{align-items:center;gap:16px;display:flex}.students-select{width:180px}.students-table-wrapper{background:#fff;border:1px solid #94a3b814;border-radius:22px;padding:20px;box-shadow:0 12px 24px #0f172a0d}.student-drawer .ant-drawer-title{font-size:22px;font-weight:700}.student-profile-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.student-profile-card{background:#f8fafc;border-radius:18px;padding:20px}.student-profile-card p{color:#475569;margin-top:8px}.student-toggle-row{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.attendance-page{flex-direction:column;gap:24px;display:flex}.attendance-kpi-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.attendance-kpi-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 12px 24px #0f172a0d}.attendance-kpi-card h2{margin-top:14px;font-size:30px}.attendance-kpi-card p{color:#64748b;margin-top:8px}.attendance-analytics-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.attendance-panel{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 24px #0f172a0d}.attendance-table-wrapper{background:#fff;border-radius:22px;padding:20px;box-shadow:0 12px 24px #0f172a0d}.device-sync-item{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.dashboard-header-row{justify-content:space-between;align-items:center;display:flex}.attendance-bottom-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.attendance-list-item{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.absent-class-header{justify-content:space-between;align-items:center;width:100%;display:flex}.absent-student-list{flex-direction:column;gap:10px;display:flex}.absent-student-item{background:#f8fafc;border-radius:12px;padding:10px 14px}.teachers-page{flex-direction:column;gap:24px;display:flex}.teachers-ops-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel-spacing{margin-top:24px}.upload-flow-card{background:#f8fafc;border-radius:20px;padding:24px}.upload-flow-card h3{margin-bottom:18px}.upload-flow-card ul{margin-bottom:24px;padding-left:20px}.upload-flow-card li{margin-bottom:12px}.teacher-schedule-list{flex-direction:column;gap:14px;display:flex}.reports-page{flex-direction:column;gap:24px;display:flex}.reports-analytics-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.report-preview-summary{grid-template-columns:1fr 1fr;gap:18px;display:grid}.report-summary-card{background:#f8fafc;border-radius:18px;padding:20px}.report-summary-card h4{color:#0f172a;margin-bottom:10px}.report-summary-card p{color:#64748b}.report-export-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.report-export-card{background:#f8fafc;border:1px solid #94a3b814;border-radius:18px;padding:20px}.communication-flow{flex-direction:column;gap:24px;display:flex}.message-preview-card{background:#f8fafc;border-radius:18px;padding:22px}.risk-actions{align-items:center;gap:12px;display:flex}.risk-action-icon{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:transform .18s,box-shadow .18s;display:inline-flex}.risk-action-icon:hover{transform:translateY(-1px)}.risk-action-icon svg{display:block}.risk-action-icon.sms{box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-secondary) 22%, transparent)}.whatsapp{box-shadow:0 0 0 1px #25d3662e}.notifications-page{flex-direction:column;gap:24px;display:flex}.notifications-side-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.notification-stack{flex-direction:column;gap:16px;display:flex}.analytics-stat-card{background:#f8fafc;border-radius:18px;margin-bottom:14px;padding:18px}.analytics-stat-card h2{margin-top:10px;font-size:28px}.template-variable-chip{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));color:var(--brand-primary);border-radius:999px;margin-bottom:8px;margin-right:8px;padding:8px 12px;font-size:13px;display:inline-flex}.settings-page{flex-direction:column;gap:24px;display:flex}.integration-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px;display:grid}.integration-card{background:#f8fafc;border:1px solid #94a3b814;border-radius:18px;justify-content:space-between;align-items:center;padding:20px;display:flex}.settings-switch-list{flex-direction:column;gap:18px;margin-top:12px;display:flex}.settings-switch-item{background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.settings-tab-label{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.settings-save-row{justify-content:flex-end;margin-top:28px;display:flex}.settings-tabs .ant-tabs-nav:before{border-bottom:1px solid #94a3b838}.settings-tabs .ant-tabs-tab{color:#525866;margin:0 22px 0 0;padding:14px 0;font-weight:600}.settings-tabs .ant-tabs-tab-btn{align-items:center;gap:8px;font-size:14px;display:inline-flex}.settings-tabs .ant-tabs-nav{margin-bottom:24px}.settings-tabs .ant-tabs-tab:hover{color:var(--brand-primary)}.settings-tabs .ant-tabs-tab-btn{transition:color .15s}.settings-tabs .ant-tabs-tab-active .settings-tab-label{color:var(--brand-primary)}.settings-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));border-radius:999px;height:3px}.settings-template-page{flex-direction:column;gap:20px;display:flex}.settings-template-card,.settings-template-library{box-sizing:border-box;background:#fff;border:1px solid #94a3b838;border-radius:22px;max-width:100%;overflow:hidden;box-shadow:0 10px 30px #0f172a0d}.settings-template-card{padding:26px 28px 30px}.settings-template-card__header h3,.settings-template-library__header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:700}.settings-template-card__header p,.settings-template-library__header p{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-family-subtle);margin:8px 0 0}.settings-template-form-grid{grid-template-columns:minmax(220px,280px) minmax(260px,1fr) minmax(160px,220px);grid-template-areas:"channel channel channel""name message action";align-items:end;gap:18px 22px;margin-top:16px;display:grid}.settings-template-field--channel{width:fit-content;min-width:320px;max-width:100%}.settings-template-field--channel .app-select,.settings-template-field--channel .ant-select{width:100%}.settings-channel-select .ant-select-selector{align-items:center;display:flex;height:var(--field-height)!important;min-height:var(--field-height)!important;padding:0 14px!important}.settings-channel-select .ant-select-selection-item,.settings-channel-select .ant-select-selection-placeholder{align-items:center;gap:10px;display:inline-flex}.settings-channel-select .ant-select-selection-item{line-height:1.2}.settings-channel-icon{border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.settings-channel-icon.sms{color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary))}.settings-channel-icon.whatsapp{color:#128c7e;background:#128c7e1f}@media (width<=1200px){.settings-template-form-grid{grid-template-columns:1fr 1fr;grid-template-areas:"channel channel""name name""message message""action action"}.settings-template-form-grid__action{justify-content:flex-end}.settings-template-field--channel{width:100%;min-width:0}}@media (width<=800px){.settings-template-form-grid{grid-template-columns:1fr;grid-template-areas:"channel""name""message""action"}.settings-template-card,.settings-template-library{padding-left:18px;padding-right:18px}.settings-template-search{min-width:0;width:100%!important}}.settings-template-field--channel{grid-area:channel}.settings-template-field--name{grid-area:name}.settings-template-field--message{grid-area:message}.settings-template-field--name,.settings-template-field--message{min-height:130px}.settings-template-field--name .app-input{height:108px}.settings-template-field--message .settings-template-textarea,.settings-template-field--message .settings-template-textarea.ant-input{min-height:108px;height:108px!important}.settings-template-helper--row{margin-top:12px}.settings-template-form-grid__action{grid-area:action;justify-content:flex-end;align-items:end;display:flex}.settings-template-field{flex-direction:column;gap:8px;display:flex}.settings-template-field label{color:#394150;font-size:13px;font-weight:600}.settings-channel-option{align-items:center;gap:8px;display:inline-flex}.settings-template-textarea{min-height:108px}.settings-template-helper{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.settings-template-form-grid__action{justify-content:flex-end;display:flex}.settings-template-library{padding:24px 28px 28px}.settings-template-library__header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.settings-template-search{width:320px;min-width:280px;max-width:100%}.settings-template-list{flex-direction:column;gap:14px;display:flex}.settings-template-item{word-break:break-word}.settings-template-item__meta p{white-space:normal}.settings-template-item__side{white-space:nowrap}.settings-template-item{background:linear-gradient(#f8fafcd9,#fff);border:1px solid #94a3b82e;border-radius:18px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.settings-template-item__icon{width:56px;height:56px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-primary) 8%, transparent);border-radius:999px;justify-content:center;align-items:center;display:flex}.settings-template-item__icon--whatsapp{color:#128c7e;background:#128c7e1f}.settings-template-item__meta{flex-direction:column;gap:8px;min-width:0;display:flex}.settings-template-item__meta strong{color:var(--color-text-primary);font-size:15px}.settings-template-item__title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-template-item__title-row small{color:var(--color-text-secondary);white-space:nowrap;font-size:12px}.settings-template-item__meta p{color:var(--color-text-secondary);margin:0;font-size:13px}.settings-template-item__side{align-items:center;gap:12px;display:flex}.settings-template-item__more{width:38px;height:38px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border:1px solid #94a3b82e;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.settings-template-item__more:hover{color:var(--brand-primary);border-color:color-mix(in srgb, var(--brand-primary) 30%, var(--border-color));box-shadow:var(--shadow-sm)}.settings-template-detail{flex-direction:column;gap:22px;display:flex}.settings-template-detail__hero{align-items:center;gap:18px;display:flex}.settings-template-detail__icon{width:60px;height:60px;color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-primary) 8%, transparent);border-radius:18px;flex:none;justify-content:center;align-items:center;display:flex}.settings-template-detail__icon--whatsapp{color:#128c7e;background:#128c7e1f}.settings-template-detail__meta{min-width:0}.settings-template-detail__meta h2{color:var(--color-text-primary);margin:10px 0 6px;font-size:26px}.settings-template-detail__meta p{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-family-subtle);margin:0}.settings-template-detail__message{flex-direction:column;gap:12px;display:flex}.settings-template-detail__message h3{color:var(--color-text-primary);margin:0;font-size:16px}.settings-template-detail__message pre{white-space:pre-wrap;word-break:break-word;color:var(--color-text-primary);font-family:var(--font-family-subtle);background:#f8fafc;border:1px solid #94a3b82e;border-radius:18px;margin:0;padding:18px 20px;line-height:1.7}.settings-template-detail__summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.settings-template-detail__summary-card{background:linear-gradient(#f8fafce6,#fff);border:1px solid #94a3b82e;border-radius:18px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.settings-template-detail__summary-card span{color:var(--color-text-secondary);font-size:12px;font-family:var(--font-family-subtle)}.settings-template-detail__summary-card strong{color:var(--color-text-primary);font-size:15px}.settings-template-detail__actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}@media (width<=900px){.settings-template-detail__summary-grid{grid-template-columns:1fr}}.devices-page{flex-direction:column;gap:24px;display:flex}.devices-side-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.device-health-status{align-items:center;gap:12px;display:flex}.device-battery-good{color:#16a34a}.device-battery-warning{color:#f59e0b}.device-battery-critical{color:#ef4444}.device-alert-critical{border-left:4px solid #ef4444;padding-left:14px}.device-alert-warning{border-left:4px solid #f59e0b;padding-left:14px}.device-alert-info{border-left:4px solid var(--brand-secondary);padding-left:14px}.admin-dashboard.app-page-section-grid{flex-direction:column;gap:10px;height:calc(100dvh - 134px);max-height:calc(100dvh - 134px);display:flex;overflow:hidden}.admin-dashboard .admin-dashboard-analytics-grid{flex:1 1 0;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);align-items:stretch;gap:10px;min-height:0;display:grid;overflow:hidden}.admin-dashboard .admin-dashboard-analytics-grid .app-card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.admin-dashboard .admin-dashboard-analytics-grid .app-panel>div:first-child{flex-shrink:0}.admin-dashboard .app-area-chart,.admin-dashboard .app-area-chart .recharts-responsive-container{flex:1 1 0;min-height:0;height:100%!important}.admin-dashboard .app-donut-chart{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.admin-dashboard .app-donut-chart__layout{flex:1 1 0;min-height:0}.admin-dashboard .app-donut-chart__chart{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.admin-dashboard .app-stat-card.app-card{min-height:0;padding:12px 16px}.admin-dashboard .app-stat-card__value{font-size:22px}.admin-dashboard .app-stat-card__label{font-size:12px}.admin-dashboard .app-stat-card__meta{font-size:11px}.admin-dashboard .metric-icon{width:34px;height:34px}.admin-dashboard .admin-dashboard-analytics-grid .app-card{padding:12px 16px}.admin-dashboard .app-panel__title{margin-bottom:0;font-size:14px}.admin-dashboard .app-panel__subtitle{margin-bottom:4px;font-size:11px}.admin-dashboard .app-button{font-size:13px;min-height:36px!important}.admin-dashboard .admin-dashboard-quick-actions{flex-shrink:0}.admin-dashboard .admin-dashboard-kpi-grid{flex-shrink:0;gap:10px}.admin-dashboard #dashboard-risk{flex-shrink:0;max-height:160px;padding:12px 16px;overflow-y:auto}.admin-dashboard #dashboard-risk .app-list-item{padding:4px 0}.admin-dashboard .app-donut-chart__footer{flex-shrink:0;gap:4px;margin-top:4px}.admin-dashboard .app-donut-chart__footer-item{padding:3px 7px;font-size:10px}@media (width<=1100px){.admin-dashboard.app-page-section-grid{gap:10px;height:auto;max-height:none;overflow:visible}.admin-dashboard .admin-dashboard-analytics-grid{flex:none;grid-template-columns:1fr}}@media (width<=768px){.admin-dashboard.app-page-section-grid{gap:8px;height:auto;max-height:none;overflow:visible}.admin-dashboard .app-stat-card.app-card{padding:10px 12px}.admin-dashboard .app-stat-card__value{font-size:18px}.admin-dashboard .admin-dashboard-kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.admin-dashboard .admin-dashboard-analytics-grid{grid-template-columns:1fr;gap:8px}.admin-dashboard .app-donut-chart__footer{display:none}.admin-dashboard .app-card{border-radius:14px;padding:10px 12px}}.sa-dash-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.sa-dash-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.sa-dash-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sa-dash-select{min-width:140px}.sa-dash-link{color:var(--brand-primary);cursor:pointer;align-self:flex-start;font-size:13px;font-weight:600}.sa-dash-biz-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.sa-dash-metric{border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.sa-dash-metric span{color:var(--text-secondary);font-size:12px}.sa-dash-metric strong{overflow-wrap:anywhere;font-size:20px;line-height:1.2}.sa-dash-metric small,.sa-dash-note{color:var(--text-secondary);font-size:12px}.sa-dash-metric--link,.sa-dash-clickable{cursor:pointer}.sa-dash-metric--link:hover{border-color:var(--brand-primary)}.sa-dash-models{flex-direction:column;gap:6px;margin-top:12px;display:flex}.sa-dash-model-row{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px;font-size:13px;display:grid}.sa-dash-cap{text-transform:capitalize}.app-composed-chart{width:100%;min-width:0}@media (width<=1200px){.sa-dash-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.sa-dash-grid-2,.sa-dash-grid-3{grid-template-columns:minmax(0,1fr)}}.reports-analytics-page{gap:16px}.reports-analytics-page .app-card,.reports-analytics-page .app-panel,.reports-analytics-page .app-stat-card{min-width:0;max-width:100%}.reports-analytics-page .app-panel{overflow:hidden}.reports-analytics-page .app-card:hover{transform:none}.reports-analytics-page .app-page-header__top{align-items:center}.reports-header-filters{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.reports-header-select.ant-select{min-width:148px;max-width:190px}.reports-header-select .ant-select-selector{border-radius:10px!important;min-height:36px!important;font-size:13px!important}.reports-header-range-picker.ant-picker{min-width:240px;border-radius:10px!important;min-height:36px!important;font-size:13px!important}.reports-area-tabs-card{padding:8px 12px!important}.reports-area-tabs{flex-wrap:nowrap;align-items:stretch;gap:4px;width:100%;display:flex}.reports-area-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:12px;flex:1 1 0;justify-content:center;align-items:center;gap:7px;min-width:0;padding:9px 12px;font-size:13px;font-weight:600;display:inline-flex}.reports-area-tab:hover{background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-secondary));color:var(--brand-primary);border-color:color-mix(in srgb, var(--brand-primary) 20%, transparent)}.reports-area-tab--active{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));color:var(--brand-primary);border-color:color-mix(in srgb, var(--brand-primary) 30%, transparent);box-shadow:0 2px 8px color-mix(in srgb, var(--brand-primary) 15%, transparent)}.reports-area-tab__icon{opacity:.85;flex:none;align-items:center;display:flex}.reports-area-tab__label{letter-spacing:.01em}.reports-filter-bar{padding:12px 18px!important}.reports-filter-bar__inner{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.reports-filter-bar__left{flex:none;align-items:center;gap:7px;display:flex}.reports-filter-bar__icon{color:var(--brand-primary)}.reports-filter-bar__label{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:700}.reports-filter-bar__fields{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:8px;min-width:0;display:flex}.reports-filter-select.ant-select{flex:160px;min-width:148px;max-width:190px}.reports-filter-select .ant-select-selector{border-radius:10px!important;min-height:36px!important}.reports-filter-datepicker.ant-picker{flex:none;min-width:240px;max-width:320px;min-height:36px;border-radius:10px!important}.reports-filter-checkbox{color:var(--text-secondary);align-items:center;font-size:13px;display:flex}.reports-filter-bar__actions{flex:none;align-items:center;gap:8px;display:flex}.reports-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.reports-kpi-grid .app-stat-card.app-card{border-radius:16px;flex-direction:column;gap:6px;height:100%;padding:18px 20px;display:flex;min-height:110px!important}.reports-kpi-grid .app-stat-card__label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.reports-kpi-grid .metric-icon{border-radius:10px;flex-shrink:0;width:32px;height:32px}.reports-kpi-grid .app-stat-card__value{overflow-wrap:anywhere;color:var(--text-primary);margin:0;font-size:26px;font-weight:800;line-height:1.1}.reports-kpi-grid .app-stat-card__meta{color:var(--text-secondary);align-items:center;gap:5px;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.reports-kpi-trend{border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex}.reports-kpi-trend--up{color:var(--success);background:color-mix(in srgb, var(--success) 10%, transparent)}.reports-kpi-trend--down{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.reports-kpi-trend--neutral{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 8%, transparent)}.reports-overview-body{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.reports-trends-card.app-card{flex-direction:column;gap:0;padding:20px 22px 18px;display:flex}.reports-trends-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.reports-trends-header__title{color:var(--text-primary);align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.reports-trends-header__period{color:var(--text-secondary);cursor:pointer;border:1px solid var(--border-color);transition:border-color var(--transition), color var(--transition);background:0 0;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.reports-trends-header__period:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.reports-trends-legend{flex-wrap:wrap;gap:14px;margin-bottom:12px;display:flex}.reports-trends-legend__item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.reports-trends-legend__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.reports-trends-legend__dot--attendance{background:var(--brand-primary)}.reports-trends-legend__dot--fees{background:var(--warning)}.reports-trends-legend__dot--academic{background:var(--brand-secondary)}.reports-trends-legend__dot--admissions{background:var(--brand-accent)}.reports-performers-card.app-card{flex-direction:column;gap:0;padding:20px 22px 18px;display:flex}.reports-performers-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.reports-performers-header__title{color:var(--text-primary);white-space:nowrap;font-size:15px;font-weight:700}.reports-performers-toggle{border:1px solid var(--border-color);border-radius:10px;flex-shrink:0;display:flex;overflow:hidden}.reports-performers-toggle__btn{color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:4px 12px;font-size:12px;font-weight:600;line-height:1.5}.reports-performers-toggle__btn--active{background:var(--brand-primary);color:var(--text-inverse)}.reports-performers-cols{border-bottom:1px solid var(--border-color);grid-template-columns:28px minmax(0,1fr) 72px 68px 76px;gap:0 8px;margin-bottom:2px;padding:0 0 8px;display:grid}.reports-performers-cols span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:right;font-size:11px;font-weight:700}.reports-performers-cols span:nth-child(2){text-align:left}.reports-performer-row{border-bottom:1px solid var(--border-color);grid-template-columns:28px minmax(0,1fr) 72px 68px 76px;align-items:center;gap:0 8px;padding:9px 0;display:grid}.reports-performer-row:last-child{border-bottom:none}.reports-performer-rank{text-align:center;font-size:15px;line-height:1}.reports-performer-rank--1{color:#f59e0b}.reports-performer-rank--2{color:#94a3b8}.reports-performer-rank--3{color:#c07a4f}.reports-performer-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.reports-performer-stat{text-align:right;color:var(--text-primary);flex-direction:column;align-items:flex-end;gap:1px;font-size:13px;font-weight:600;display:flex}.reports-performer-stat small{color:var(--text-muted);font-size:10px;font-weight:500;line-height:1}.reports-performers-footer{justify-content:flex-end;margin-top:14px;display:flex}.reports-performers-view-all{color:var(--brand-primary);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.reports-performers-view-all:hover{opacity:.75}.reports-analytics-page .app-donut-chart,.reports-analytics-page .app-donut-chart__layout,.reports-analytics-page .app-donut-chart__chart{flex:none!important;min-height:0!important}.reports-analytics-page .app-donut-chart__chart{height:220px}.reports-analytics-page .app-donut-chart__chart .recharts-responsive-container{height:220px!important;min-height:180px!important}.reports-analytics-page .app-donut-chart__footer{min-width:0;max-width:100%;margin-top:4px}.reports-analytics-page .app-donut-chart__footer-item{white-space:normal;overflow-wrap:anywhere;max-width:100%}.reports-insights-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.reports-insight-item{border:1px solid var(--border-color);background:var(--surface-primary);text-align:left;cursor:default;transition:box-shadow var(--transition), transform var(--transition);border-radius:16px;align-items:flex-start;gap:12px;width:100%;min-width:0;padding:14px 16px;display:flex}.reports-insight-item--clickable{cursor:pointer}.reports-insight-item--clickable:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.reports-insight-item--success{border-left:3px solid var(--success);background:color-mix(in srgb, var(--success) 5%, var(--surface-primary))}.reports-insight-item--warning{border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 6%, var(--surface-primary))}.reports-insight-item--danger{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 5%, var(--surface-primary))}.reports-insight-item--info{border-left:3px solid var(--brand-secondary);background:color-mix(in srgb, var(--brand-secondary) 5%, var(--surface-primary))}.reports-insight-item__icon{flex:none;padding-top:2px}.reports-insight-item--success .reports-insight-item__icon{color:var(--success)}.reports-insight-item--warning .reports-insight-item__icon{color:var(--warning)}.reports-insight-item--danger .reports-insight-item__icon{color:var(--danger)}.reports-insight-item--info .reports-insight-item__icon{color:var(--brand-secondary)}.reports-insight-item__text{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;flex:1 1 0;font-size:13px;line-height:1.5}.reports-class-rank{background:color-mix(in srgb, var(--success) 14%, var(--surface-primary));width:28px;height:28px;color:var(--success);border:1px solid color-mix(in srgb, var(--success) 22%, var(--border-color));border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.reports-class-rank--warning{background:color-mix(in srgb, var(--warning) 14%, var(--surface-primary));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-color))}.reports-activity-dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px}.reports-activity-dot--green{background:var(--success)}.reports-activity-dot--blue{background:var(--brand-secondary)}.reports-activity-dot--orange{background:var(--warning)}.reports-activity-dot--red{background:var(--danger)}.reports-activity-dot--default{background:var(--text-muted)}.reports-mode-toggle{justify-content:flex-start;display:flex}.reports-mode-toggle .ant-segmented{background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-secondary));border-radius:14px;padding:4px}.reports-mode-toggle .ant-segmented-item{border-radius:10px;min-width:120px;font-weight:600}.reports-mode-toggle .ant-segmented-item-selected{background:var(--brand-primary);color:var(--text-inverse)}.reports-summary-cards{flex-wrap:wrap;gap:16px;display:flex}.reports-summary-card{background:var(--surface-primary);border:1px solid var(--border-color);border-top:3px solid var(--border-color);min-width:120px;max-width:220px;box-shadow:var(--shadow-soft);border-radius:16px;flex-direction:column;flex:140px;gap:6px;padding:16px 18px;display:flex}.reports-summary-card__label{color:var(--text-secondary);font-size:12px;font-weight:600}.reports-summary-card__value{font-size:26px;font-weight:800;line-height:1}.reports-heatmap{flex-wrap:wrap;gap:5px;padding:4px 0;display:flex}.reports-heatmap__cell{cursor:default;width:20px;height:20px;transition:transform var(--transition);border-radius:4px}.reports-heatmap__cell--inline{vertical-align:middle;border-radius:3px;width:14px;height:14px;display:inline-block}.reports-heatmap__cell--high{background:color-mix(in srgb, var(--success) 80%, var(--surface-secondary))}.reports-heatmap__cell--mid{background:color-mix(in srgb, var(--warning) 70%, var(--surface-secondary))}.reports-heatmap__cell--low{background:color-mix(in srgb, var(--danger) 60%, var(--surface-secondary))}.reports-heatmap__cell:hover{transform:scale(1.25)}.reports-heatmap-legend{color:var(--text-secondary);gap:18px;margin-top:8px;font-size:12px;display:flex}.reports-heatmap-legend span{align-items:center;gap:6px;display:flex}.reports-attendance-drawer{flex-direction:column;gap:24px;display:flex}.reports-attendance-drawer__hero{border-bottom:1px solid var(--border-color);align-items:center;gap:16px;padding-bottom:20px;display:flex}.reports-attendance-drawer__avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));width:52px;height:52px;color:var(--text-inverse);border-radius:18px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.reports-attendance-drawer__identity{min-width:0}.reports-attendance-drawer__stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.reports-attendance-drawer__stat{border:1px solid var(--border-color);background:var(--surface-secondary);text-align:center;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.reports-attendance-drawer__stat span{font-size:20px;font-weight:800;line-height:1}.reports-attendance-drawer__stat label{color:var(--text-secondary);font-size:11px;font-weight:600}.reports-attendance-drawer__section{flex-direction:column;gap:12px;display:flex}.reports-attendance-drawer__record{border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:0;display:flex;overflow:hidden}.reports-attendance-drawer__record-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:13px;display:flex}.reports-attendance-drawer__record-row:last-child{border-bottom:none}.reports-attendance-drawer__record-row span{color:var(--text-secondary);flex:0 0 100px}.reports-attendance-drawer__record-row strong{color:var(--text-primary);text-align:right}.reports-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reports-template-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:4px;display:grid}.reports-template-grid--list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.reports-template-card{border:1px solid var(--border-color);background:var(--surface-primary);box-shadow:var(--shadow-soft);transition:box-shadow var(--transition), transform var(--transition);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.reports-template-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.reports-template-card__icon{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-secondary));width:40px;height:40px;color:var(--brand-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.reports-template-card__meta{flex-direction:column;flex:1 1 0;gap:3px;min-width:0;display:flex}.reports-template-card__meta strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.reports-template-card__meta span{color:var(--text-secondary);text-transform:capitalize;font-size:12px}.reports-template-card__actions{flex:none;align-items:center;gap:6px;display:flex}.reports-table-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reports-builder{flex-direction:column;gap:28px;display:flex}.reports-builder__steps{padding:0 8px}.reports-builder__body{min-height:280px}.reports-builder__step{flex-direction:column;gap:20px;display:flex}.reports-builder__step-title{color:var(--text-primary);font-size:17px;font-weight:700}.reports-builder__step-header{align-items:center;gap:12px;display:flex}.reports-builder__footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.reports-builder__filter-grid{grid-template-columns:repeat(2,1fr);gap:0 20px;display:grid}.reports-builder__filter-grid .ant-form-item{margin-bottom:14px}.reports-builder__filters .ant-select,.reports-builder__filters .ant-picker{border-radius:12px;width:100%}.reports-module-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.reports-module-card{border:2px solid var(--border-color);background:var(--surface-primary);cursor:pointer;transition:all var(--transition);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;display:flex}.reports-module-card:hover{border-color:color-mix(in srgb, var(--brand-primary) 40%, var(--border-color));background:color-mix(in srgb, var(--brand-primary) 6%, var(--surface-primary));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.reports-module-card--selected{border-color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-primary));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 16%, transparent)}.reports-module-card__icon{background:color-mix(in srgb, var(--brand-primary) 12%, var(--surface-secondary));width:42px;height:42px;color:var(--brand-primary);border-radius:14px;justify-content:center;align-items:center;display:flex}.reports-module-card--selected .reports-module-card__icon{background:var(--brand-primary);color:var(--text-inverse)}.reports-module-card__label{color:var(--text-secondary);font-size:12px;font-weight:700}.reports-module-card--selected .reports-module-card__label{color:var(--brand-primary)}.reports-type-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.reports-type-card{border:2px solid var(--border-color);background:var(--surface-primary);cursor:pointer;text-align:left;transition:all var(--transition);border-radius:16px;flex-direction:column;gap:6px;padding:16px 14px;display:flex}.reports-type-card strong{color:var(--text-primary);font-size:14px}.reports-type-card span{color:var(--text-secondary);font-size:12px;line-height:1.4}.reports-type-card:hover{border-color:color-mix(in srgb, var(--brand-primary) 40%, var(--border-color));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.reports-type-card--selected{border-color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary))}.reports-preview-note{background:color-mix(in srgb, var(--brand-secondary) 8%, var(--surface-secondary));border:1px solid color-mix(in srgb, var(--brand-secondary) 18%, var(--border-color));color:var(--text-secondary);border-radius:12px;padding:10px 14px;font-size:12px}.reports-preview-table{border:1px solid var(--border-color);border-radius:14px;max-height:340px;overflow:auto}.reports-export-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.reports-export-card{border:2px solid var(--border-color);background:var(--surface-primary);cursor:pointer;transition:all var(--transition);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;display:flex}.reports-export-card strong{color:var(--text-primary);font-size:13px;font-weight:700}.reports-export-card:hover{border-color:color-mix(in srgb, var(--brand-primary) 40%, var(--border-color));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.reports-export-card--selected{border-color:var(--brand-primary);background:color-mix(in srgb, var(--brand-primary) 8%, var(--surface-primary));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 16%, transparent)}.reports-export-card svg{color:var(--brand-primary)}.reports-drawer-footer{justify-content:flex-end;gap:10px;display:flex}.reports-last-updated{color:var(--text-muted);white-space:nowrap;padding-right:4px;font-size:12px;font-weight:500}.app-link-btn{cursor:pointer;text-align:left;color:var(--text-primary);font-size:inherit;line-height:inherit;transition:color var(--transition);background:0 0;border:none;padding:0}.app-link-btn:hover{color:var(--brand-primary)}.reports-error-state{flex-direction:column;align-items:center;gap:16px;padding:24px 0;display:flex}@media (width<=1200px){.reports-module-grid{grid-template-columns:repeat(4,1fr)}.reports-overview-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media (width<=1024px){.reports-overview-body{grid-template-columns:1fr}}@media (width<=900px){.reports-filter-bar__inner{flex-direction:column;align-items:flex-start;gap:10px}.reports-filter-bar__fields{width:100%}.reports-filter-select.ant-select{flex:140px;min-width:140px;max-width:none}.reports-filter-datepicker.ant-picker{flex:none;width:100%;min-width:0;max-width:none}.reports-summary-cards{flex-wrap:wrap}.reports-summary-card{min-width:100px}.reports-attendance-drawer__stats{grid-template-columns:repeat(2,1fr)}.reports-module-grid{grid-template-columns:repeat(3,1fr)}.reports-export-grid{grid-template-columns:repeat(2,1fr)}.reports-builder__filter-grid,.reports-insights-grid{grid-template-columns:1fr}.reports-area-tabs{flex-wrap:wrap}.reports-area-tab{flex:calc(33.33% - 4px);padding:8px 10px;font-size:12px}.reports-header-filters{flex-wrap:wrap;width:100%}.reports-header-range-picker.ant-picker{width:100%;min-width:0}}@media (width<=768px){.reports-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.reports-kpi-grid .app-stat-card.app-card{min-height:100px!important}.reports-kpi-grid .app-stat-card__value{font-size:22px}.reports-performers-cols,.reports-performer-row{grid-template-columns:24px minmax(0,1fr) 64px}.reports-performers-cols span:nth-child(4),.reports-performers-cols span:nth-child(5),.reports-performer-row>:nth-child(4),.reports-performer-row>:nth-child(5){display:none}.reports-header-select.ant-select{flex:130px}}@media (width<=640px){.reports-analytics-page{gap:12px}.reports-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reports-kpi-grid .app-stat-card.app-card{min-height:90px!important}.reports-overview-body{grid-template-columns:1fr;gap:12px}.reports-performers-cols,.reports-performer-row{grid-template-columns:20px minmax(0,1fr) 54px}.reports-performers-cols span:nth-child(4),.reports-performers-cols span:nth-child(5),.reports-performer-row>:nth-child(4),.reports-performer-row>:nth-child(5){display:none}.reports-filter-bar{padding:14px!important}.reports-filter-bar__left,.reports-filter-bar__actions,.reports-filter-bar__fields,.reports-filter-select.ant-select{width:100%}.reports-filter-bar__left{padding-top:0}.reports-filter-bar__fields{flex-direction:column;align-items:stretch}.reports-filter-select.ant-select{flex:none;min-width:0;max-width:none}.reports-filter-bar__actions{justify-content:flex-end;padding-top:0}.reports-analytics-page .app-donut-chart__chart,.reports-analytics-page .app-donut-chart__chart .recharts-responsive-container{height:200px!important;min-height:180px!important}.reports-module-grid{grid-template-columns:repeat(2,1fr)}.reports-template-grid,.reports-template-grid--list{grid-template-columns:1fr}.reports-type-grid,.reports-export-grid{grid-template-columns:repeat(2,1fr)}.reports-summary-cards{grid-template-columns:repeat(2,1fr);display:grid}.reports-area-tab__label{display:none}.reports-area-tab{flex:1 1 0;padding:10px}.reports-area-tab__icon{opacity:1}.reports-header-filters{flex-direction:column;align-items:stretch;gap:8px;width:100%}.reports-header-select.ant-select,.reports-header-range-picker.ant-picker{min-width:0;max-width:none;width:100%!important}}.super-admin-shell{align-items:flex-start;min-height:100vh}.communication-template-variable-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.student-onboarding-step-card .ant-segmented{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:4px}.student-onboarding-step-card .ant-segmented-item{color:#475569;font-weight:600}.student-onboarding-step-card .ant-segmented-item-selected{color:#fff;background:#4f46e5;box-shadow:0 3px 10px #4f46e540}.student-onboarding-step-card .ant-segmented-item:hover:not(.ant-segmented-item-selected){color:#3730a3}.super-admin-shell>.ant-layout{min-width:0;min-height:100vh}.super-admin-sidebar{border-right:1px solid #94a3b81f;height:100vh;transition:width .18s,min-width .18s,max-width .18s;position:sticky;top:0;overflow:hidden;background:linear-gradient(#fff 0%,#f8fafc 100%)!important}.super-admin-sidebar .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.super-admin-sidebar-top{flex-direction:column;justify-content:center;align-items:center;min-height:104px;padding:14px;display:flex;position:relative}.super-admin-logo{justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.super-admin-logo img{object-fit:contain;width:190px;max-height:44px}.super-admin-sidebar--collapsed .super-admin-sidebar-top{justify-content:center;min-height:104px;padding:14px 8px}.super-admin-sidebar--collapsed .super-admin-logo{display:flex}.super-admin-sidebar--collapsed .super-admin-logo img{width:42px;max-height:42px}.super-admin-sidebar--collapsed .super-admin-menu{padding:34px 8px 18px}.super-admin-sidebar--collapsed .ant-menu-item{justify-content:center;width:52px;margin:6px auto!important;padding-inline:0!important}.super-admin-sidebar--collapsed .ant-menu-item .ant-menu-item-icon{margin-inline-end:0!important}.super-admin-sidebar--collapsed .ant-menu-title-content{display:none}.super-admin-menu{flex:1;padding:34px 14px 18px;overflow:hidden auto;background:0 0!important;border:none!important}.super-admin-menu .ant-menu-item{font-weight:500;color:#334155!important;border-radius:14px!important;height:50px!important;margin-bottom:8px!important}.super-admin-menu .ant-menu-item-selected{background:linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 12%, transparent), color-mix(in srgb, var(--brand-secondary) 8%, transparent))!important;color:var(--brand-primary)!important}.super-admin-header{background:var(--surface-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:82px;padding:0 30px;display:flex}.super-admin-content{background:linear-gradient(135deg, var(--surface-secondary) 0%, color-mix(in srgb, var(--brand-primary) 10%, var(--surface-secondary)) 100%);min-width:0;padding:28px}.super-admin-search{width:420px}.super-admin-actions{align-items:center;gap:24px;display:flex}.super-admin-notification{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.super-admin-profile{align-items:center;gap:14px;display:flex}.super-admin-avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary))!important}.super-admin-name{font-weight:700}.super-admin-role{color:#64748b;font-size:13px}.branding-page{flex-direction:column;gap:24px;display:flex}.branding-topbar{justify-content:space-between;align-items:center;display:flex}.branding-breadcrumb{color:var(--color-text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.branding-top-actions{align-items:center;gap:14px;display:flex}.tenant-selector{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;padding:10px 16px;font-weight:500}.tenant-status{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.top-alert{background:var(--surface-primary);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.alert-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:12px}.top-profile img{border-radius:50%;width:42px;height:42px}.branding-layout{grid-template-columns:2fr 360px;gap:24px;display:grid}.branding-main-panel{flex-direction:column;gap:24px;display:flex}.branding-card{background:var(--surface-primary);box-shadow:var(--shadow-soft);border-radius:24px;padding:28px}.branding-card h3{margin-bottom:24px;font-size:20px}.branding-upload-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.upload-box{border:1px solid var(--border-color);border-radius:18px;justify-content:space-between;align-items:center;padding:24px;display:flex}.upload-preview img{width:72px}.upload-meta{flex-direction:column;gap:12px;display:flex}.upload-meta button{background:color-mix(in srgb, var(--brand-primary) 8%, transparent);color:var(--brand-primary);cursor:pointer;border:none;border-radius:12px;padding:10px 16px;font-weight:600}.theme-colors-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.theme-color-item{flex-direction:column;gap:12px;display:flex}.color-box{border-radius:14px;height:52px}.navy{background:var(--brand-primary)}.purple{background:var(--brand-secondary)}.cyan{background:var(--brand-accent)}.feature-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.feature-grid label{align-items:center;gap:10px;display:flex}.save-branding-btn{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:14px;height:52px;padding:0 28px;font-weight:700}.branding-preview-panel{background:var(--surface-primary);box-shadow:var(--shadow-soft);border-radius:24px;height:fit-content;padding:24px}.preview-shell{border:1px solid var(--border-color);border-radius:22px;margin-top:20px;overflow:hidden}.preview-header{background:color-mix(in srgb, var(--brand-primary) 10%, var(--surface-secondary));padding:22px}.preview-header img{width:120px}.preview-nav{flex-direction:column;display:flex}.preview-nav div{border-bottom:1px solid color-mix(in srgb, var(--border-color) 80%, transparent);align-items:center;gap:12px;padding:14px 18px;display:flex}.super-dashboard-page{flex-direction:column;gap:28px;display:flex}.super-dashboard-header h1{color:#0f172a;font-size:38px;font-weight:800}.super-dashboard-header p{color:#64748b;margin-top:8px;font-size:15px}.super-kpi-grid{grid-template-columns:repeat(5,1fr);gap:18px;display:grid}.super-kpi-card{color:#0f172a;background:#fff;border:1px solid #94a3b81f;border-radius:20px;padding:22px;box-shadow:0 14px 28px #0f172a0f}.super-kpi-top span{color:#64748b;font-size:14px}.super-kpi-icon{color:#4f46e5;background:linear-gradient(135deg,#4f46e51f,#2563eb14);border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.super-kpi-value{color:#0f172a;margin-top:20px;font-size:34px;font-weight:800}.super-kpi-subtitle{color:#10b981;margin-top:10px;font-size:13px;font-weight:500}.super-analytics-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.super-status-grid{grid-template-columns:2fr 1fr 1fr;gap:24px;display:grid}.super-panel{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 26px #0f172a0f}.panel-title{color:#0f172a;margin-bottom:20px;font-size:18px;font-weight:700}.status-list{flex-direction:column;gap:16px;display:flex}.status-item{border-bottom:1px solid #94a3b81a;justify-content:space-between;padding-bottom:14px;display:flex}.alert-box{border-radius:16px;align-items:center;gap:12px;margin-bottom:14px;padding:16px;font-weight:500;display:flex}.warning{color:#92400e;background:#fef3c7}.danger{color:#b91c1c;background:#fee2e2}.infra-item{border-bottom:1px solid #94a3b814;align-items:center;gap:12px;padding:16px 0;display:flex}.degraded{color:#d97706}.schools-page{flex-direction:column;gap:24px;display:flex}.schools-kpi-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.schools-kpi-card{background:#fff;border-radius:20px;padding:22px;box-shadow:0 12px 24px #0f172a0d}.schools-kpi-card h2{margin-top:14px;font-size:30px}.schools-kpi-card p{color:#64748b;margin-top:8px}.schools-filter-row{align-items:center;gap:16px;display:flex}.schools-select{width:180px}.schools-table-wrapper{background:#fff;border-radius:20px;padding:20px;overflow:hidden;box-shadow:0 12px 24px #0f172a0d}.schools-table-wrapper .ant-table-wrapper{overflow:hidden}.schools-table-wrapper .ant-table-cell{white-space:nowrap}.schools-table-wrapper .ant-table-cell:nth-child(2),.schools-table-wrapper .ant-table-cell:nth-child(4){text-overflow:ellipsis;max-width:240px;overflow:hidden}.schools-table-cell-text{text-overflow:ellipsis;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.tenant-tab-content{padding:18px 0}.tenant-summary-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tenant-summary-card{background:#f8fafc;border-radius:18px;align-items:center;gap:14px;padding:18px;display:flex}.tenant-summary-card p{color:#64748b;margin-top:4px}.tenant-detail-list{border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;overflow:hidden}.tenant-detail-row{border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(160px,.38fr) 1fr;align-items:start;gap:16px;padding:13px 16px;display:grid}.tenant-detail-row:last-child{border-bottom:0}.tenant-detail-row span{color:#64748b;font-size:13px}.tenant-detail-row strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px;font-weight:600}.tenant-branding-box{background:#eef2ff;border-radius:18px;align-items:center;gap:14px;padding:20px;display:flex}.tenant-module-grid{flex-wrap:wrap;gap:12px;display:flex}.editable-modules-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.editable-module-item{background:#f8fafc;border-radius:14px;justify-content:space-between;align-items:center;padding:16px;display:flex}.tenant-action-row{justify-content:flex-end;gap:14px;margin-top:28px;display:flex}.tenant-settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tenant-log-list{flex-direction:column;gap:16px;display:flex}.tenant-log-item{background:#f8fafc;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.tenant-details-drawer .ant-drawer-title{font-size:22px;font-weight:700}.school-form{flex-direction:column;gap:28px;display:flex}.form-section{background:#f8fafc;border-radius:18px;padding:22px}.form-section h3{margin-bottom:20px;font-size:18px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.full-width{grid-column:span 2}.modules-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.drawer-actions{justify-content:flex-end;gap:14px;margin-top:12px;display:flex}.school-drawer .ant-drawer-header{border-bottom:1px solid #94a3b81f}.school-drawer .ant-drawer-title{font-size:22px;font-weight:700}.subscription-toggle-grid{align-items:stretch}.subscription-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.subscription-kpi-grid .app-stat-card{min-height:132px}.subscription-table-shell{border-radius:16px;overflow:hidden}.subscription-table-toolbar{border-bottom:1px solid var(--border-color);background:var(--surface-primary);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:18px 22px;display:flex}.subscription-table-filters{gap:14px!important}.subscription-table-filters .ant-input-affix-wrapper,.subscription-table-filters .ant-select{min-height:40px}.subscription-selection-actions{background:#3b82f60f;border:1px solid #3b82f633;border-radius:10px;padding:6px 8px 6px 12px;gap:10px!important}.system-health-toolbar{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.system-health-toolbar>div:first-child{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.system-health-live-dot{color:#15803d;letter-spacing:.04em;font-size:12px;font-weight:700}.system-health-muted{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.system-health-overall{justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.system-health-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.system-health-service-card{min-height:126px}.system-health-service-card__heading{align-items:flex-start;gap:10px;display:flex}.system-health-service-card__heading>div:nth-child(2){flex:1;min-width:0}.system-health-service-card__heading strong{margin-bottom:5px;display:block}.system-health-service-card__icon{color:#4338ca;background:#eef2ff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.system-health-service-card__metric{color:var(--color-text-secondary);justify-content:space-between;margin-top:18px;font-size:12px;display:flex}.system-health-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.system-health-detail-grid div{gap:5px;display:grid}.system-health-detail-grid span{color:var(--color-text-secondary);font-size:12px}.system-health-detail-grid strong{font-size:18px}.system-health-table-title{border-bottom:1px solid var(--border-color);margin-top:22px;padding-bottom:9px;font-size:12px;font-weight:700}.system-health-table-row{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:16px;padding:9px 0;font-size:13px;display:flex}.system-health-activity-feed{gap:0;max-height:420px;margin-top:16px;display:grid;overflow:auto}.system-health-activity-item,.system-health-error-row{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:12px 0;display:flex}.system-health-activity-item>span{width:72px;color:var(--color-text-secondary);font-size:11px}.system-health-activity-item>div{min-width:150px;display:grid}.system-health-activity-item small,.system-health-error-row small{color:var(--color-text-secondary);font-size:11px}.system-health-activity-item code{color:var(--color-text-secondary);text-align:right;margin-left:auto;font-size:11px}.system-health-error-row>div{gap:4px;display:grid}.system-health-service-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.system-health-service-row__identity{align-items:center;gap:10px;min-width:0;display:flex}.system-health-service-row__identity>div:last-child{gap:3px;display:grid}.system-health-service-row__identity small{color:var(--color-text-secondary);font-size:11px}.system-health-service-row__value{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:12px;font-size:12px;display:flex}.system-health-service-row__value a,.app-panel__title a{color:var(--color-primary);margin-left:8px;font-size:12px;text-decoration:none}.system-health-service-table__header{color:var(--color-text-secondary);text-transform:uppercase;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:16px;padding:0 0 10px;font-size:11px;font-weight:700;display:grid}.system-health-service-table .system-health-service-row{grid-template-columns:1.3fr 1fr .8fr 1fr;gap:16px;display:grid}.system-health-service-table .system-health-service-row__identity{min-width:0}.system-health-service-table .system-health-service-row__value{display:contents}.system-health-service-table .system-health-service-row__value>a{grid-area:1/4;align-self:center}.system-health-service-table .system-health-service-row__value>.ant-tag{grid-area:1/3;place-self:center start}.system-health-service-table .system-health-service-row__value{color:var(--color-text-secondary)}.system-health-unavailable{border:1px dashed var(--border-color);border-radius:12px;place-items:center;min-height:150px;display:grid}.system-health-metric-box{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:14px;gap:7px;padding:18px;display:grid}.system-health-metric-box span,.system-health-metric-box small{color:var(--color-text-secondary);font-size:12px}.system-health-metric-box strong{font-size:22px}.system-health-service-note{color:var(--color-text-secondary);background:var(--surface-secondary);border-radius:10px;margin-top:18px;padding:12px;font-size:12px}.system-health-table-section-title{border-top:1px solid var(--border-color);margin-top:28px;padding-top:24px}.system-health-cloudinary-status{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.system-health-cloudinary-status div{gap:5px;display:grid}.system-health-cloudinary-status span{color:var(--color-text-secondary);font-size:12px}.system-health-cloudinary-status strong{font-size:18px}.system-health-infrastructure-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.system-health-infrastructure-grid .app-panel{min-width:0}@media (width<=1200px){.system-health-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1050px){.system-health-infrastructure-grid{grid-template-columns:1fr}}@media (width<=700px){.system-health-service-grid,.system-health-detail-grid,.system-health-cloudinary-status{grid-template-columns:1fr}.system-health-toolbar,.system-health-overall{flex-direction:column;align-items:stretch}.system-health-activity-item{flex-wrap:wrap;align-items:flex-start}.system-health-activity-item code{text-align:left;margin-left:84px}.system-health-service-row{flex-direction:column;align-items:flex-start}.system-health-service-row__value{white-space:normal;justify-content:space-between;width:100%}.system-health-service-table__header{display:none}.system-health-service-table .system-health-service-row,.system-health-service-table .system-health-service-row__value{display:flex}}.subscription-table-shell .ant-table{background:var(--surface-primary)}.subscription-table-shell .ant-table-thead>tr>th{white-space:nowrap;padding-top:16px;padding-bottom:16px}.subscription-table-shell .ant-table-tbody>tr>td{padding-top:16px;padding-bottom:16px}@media (width<=1050px){.subscription-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-table-toolbar{flex-direction:column;align-items:flex-start}}@media (width<=560px){.subscription-kpi-grid{grid-template-columns:1fr;gap:14px}.subscription-table-toolbar,.subscription-table-filters{width:100%}.subscription-table-filters .ant-input-affix-wrapper,.subscription-table-filters .ant-select{width:100%!important}}.subscription-review{gap:20px;display:grid}.subscription-review__hero,.subscription-review__section,.subscription-review__notice{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:16px;padding:18px 20px}.communication-templates-toolbar{grid-template-columns:minmax(240px,1fr) 180px 160px;gap:12px;display:grid}.super-admin-settings-tabs{margin-top:-4px}.super-admin-settings-tabs>.ant-tabs-nav{margin-bottom:18px}.communication-templates-table .ant-table-cell small,.communication-template-editor-card__header span{color:var(--color-text-secondary);font-size:11px;display:block}.communication-template-editor-card__header,.communication-template-editor-card__summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.communication-template-editor-card__summary{border-top:1px solid var(--border-color);color:var(--color-text-secondary);margin-top:14px;padding-top:14px;font-size:12px}.communication-template-form{gap:16px;display:grid}.communication-template-form>label,.communication-template-workspace label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.communication-template-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.communication-template-html,.communication-template-text{border:1px solid var(--border-color);width:100%;min-height:320px;color:var(--color-text-primary);background:var(--surface-secondary);resize:vertical;border-radius:10px;padding:12px;font:12px/1.6 Consolas,monospace}.communication-template-text{min-height:120px}.communication-template-preview-label{color:var(--color-text-secondary);margin-bottom:7px;font-size:12px;font-weight:600}.communication-template-preview{border:1px solid var(--border-color);background:#fff;border-radius:10px;width:100%;min-height:320px}.communication-template-preview--large{min-height:620px}.communication-template-variables{border-top:1px solid var(--border-color);gap:10px;padding-top:14px;display:grid}.communication-template-variables>div{flex-wrap:wrap;gap:8px;display:flex}.communication-template-stepper-content{min-height:420px;padding-top:28px}.communication-template-stepper-shell{gap:22px;display:grid}.communication-template-creation-content{min-height:500px;padding:4px 4px 0}.communication-template-creation-content .communication-template-step{max-width:980px;margin:0 auto}.communication-template-creation-content .communication-template-step h2{margin:0;font-size:22px}.communication-template-creation-content .communication-template-step>label{max-width:760px}.communication-template-step{gap:14px;display:grid}.communication-template-step h3{color:var(--color-text-primary);margin:0;font-size:18px}.communication-template-step p{color:var(--color-text-secondary);margin:0}.communication-template-step>label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.communication-template-review{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.communication-template-review>div{border:1px solid var(--border-color);border-radius:10px;gap:5px;padding:12px;display:grid}.communication-template-variable-picker{border:1px solid var(--border-color);border-radius:12px;gap:10px;padding:14px;display:grid}.communication-template-variable-picker p{margin:0;font-size:12px}.communication-template-variable-picker .ant-checkbox-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;display:grid}.communication-template-variable-options{flex-wrap:wrap;gap:8px;display:flex}.communication-template-review span{color:var(--color-text-secondary);font-size:11px}@media (width<=800px){.communication-template-review,.communication-template-variable-picker .ant-checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-templates-toolbar,.communication-template-workspace{grid-template-columns:1fr}.communication-template-editor-card__header,.communication-template-editor-card__summary{flex-direction:column;align-items:flex-start}}.subscription-review__hero{background:linear-gradient(135deg,#1e3a8a14,#06b6d414);justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subscription-review__hero h2{margin:6px 0 4px;font-size:24px}.subscription-review__hero p{color:var(--color-text-secondary);margin:0}.subscription-review__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.subscription-review__card{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:14px;gap:6px;min-height:108px;padding:16px;display:grid}.subscription-review__card span,.subscription-review__card small{color:var(--color-text-secondary)}.subscription-review__card strong{font-size:18px}.subscription-review__section h3{margin:0 0 12px;font-size:14px}.subscription-review__notice{background:#f59e0b14;align-items:center;gap:10px;display:flex}@media (width<=900px){.subscription-review__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.subscription-review__grid{grid-template-columns:1fr}.subscription-review__hero,.subscription-review__notice{flex-direction:column}}@media (width<=1200px){.subscription-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=700px){.subscription-toggle-grid{grid-template-columns:repeat(1,minmax(0,1fr))!important}}.help-support-page{min-width:0}.support-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.support-command-summary{align-items:center;gap:28px;padding:14px 18px;display:flex}.support-command-summary>div{color:var(--color-text-secondary);align-items:center;gap:9px;display:flex}.support-command-summary>div:first-child{color:var(--color-text-primary)}.support-command-summary svg{color:#4f46e5}.support-command-summary strong{color:var(--color-text-primary);font-size:17px}.support-command-filters{grid-template-columns:minmax(280px,1.8fr) repeat(5,minmax(130px,1fr));gap:10px;display:grid}.support-command-filters .ant-picker{width:100%}.support-command-table{min-width:0}.support-command-table__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.support-command-table__heading h4{margin:0 0 3px}.support-command-table__heading span{font-size:12px}.support-command-table small{color:var(--color-text-secondary);margin-top:3px;font-size:11px;display:block}.support-request-drawer .ant-drawer-body{background:#f8fafc}.support-request-detail{gap:20px;display:grid}.support-request-detail__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.support-request-detail__header h2{margin:10px 0 5px;font-size:20px}.support-request-detail__header p{color:var(--color-text-secondary);margin:0;font-size:12px}.support-request-detail section{gap:11px;display:grid}.support-request-detail section h3{margin:0;font-size:14px}.support-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.support-detail-grid>div{border:1px solid var(--border-color);background:var(--surface-primary);border-radius:10px;gap:4px;padding:11px;display:grid}.support-detail-grid span{color:var(--color-text-secondary);font-size:11px}.support-detail-grid strong{overflow-wrap:anywhere;font-size:13px}.support-request-description{white-space:pre-wrap;border:1px solid var(--border-color);background:var(--surface-primary);border-radius:10px;padding:14px;line-height:1.65}.support-request-detail .ant-timeline{margin-top:4px}.support-request-detail .ant-timeline p{color:var(--color-text-secondary);white-space:pre-wrap;margin:4px 0;font-size:12px}.support-request-detail .ant-timeline small{color:var(--color-text-secondary)}.support-compose-form{gap:14px;display:grid}.support-compose-form label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.support-compose-form textarea{border:1px solid var(--border-color);resize:vertical;width:100%;min-height:90px;font:inherit;border-radius:8px;padding:10px}.support-recipient-preview{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:9px;gap:5px;padding:12px;font-size:12px;display:grid}.support-template-preview-meta{gap:6px;display:grid}.support-template-preview-meta>span{color:var(--color-text-secondary);font-size:12px}.support-template-preview{border:1px solid var(--border-color);background:#fff;border-radius:8px;width:100%;height:260px}.support-drawer-loading{color:var(--color-text-secondary);padding:24px}@media (width<=1100px){.support-command-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.support-command-filters>:first-child{grid-column:1/-1}}@media (width<=650px){.support-command-summary{flex-wrap:wrap;align-items:flex-start;gap:12px 20px}.support-command-filters{grid-template-columns:1fr}.support-command-filters>:first-child{grid-column:auto}.support-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.support-kpi-grid{grid-template-columns:1fr}.support-command-table__heading{flex-direction:column;align-items:flex-start}.support-command-table__heading .ant-space{width:100%}.support-command-table__heading .ant-input-search{flex:1}}.sic-kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1024px){.sic-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.sic-kpi-grid{grid-template-columns:1fr}}.sic-kpi-card{min-width:0}.sic-table-toolbar-extra{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sic-table-card .app-table-toolbar{margin-bottom:18px;padding:18px 20px 0}.sic-bulk-toolbar{align-items:center;gap:10px;display:flex}.sic-bulk-toolbar__count{color:var(--brand-primary);font-size:13px;font-weight:600}.sic-bulk-progress{background:var(--surface-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:16px 20px}.sic-bulk-progress__label{color:var(--text-secondary);text-align:center;margin-top:8px;font-size:13px}.sic-cell-muted{color:var(--text-muted)}.sic-table-card{overflow:hidden;padding:0!important}.sic-table-student-cell{align-items:center;gap:10px;display:flex}.sic-table-student-cell__info{flex-direction:column;gap:2px;display:flex}.sic-table-student-cell__name{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3}.sic-table-student-cell__meta{color:var(--text-muted);font-size:12px}.sic-table-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px;position:relative;overflow:hidden}.sic-table-avatar__img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sic-table-avatar__initials{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.sic-card{--sic-brand:var(--brand-primary);-webkit-user-select:none;user-select:none;background:#fff;border-radius:14px;flex-direction:column;width:428px;height:270px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a24}.sic-card--preview{cursor:default}.sic-header{background:var(--sic-brand);align-items:center;gap:10px;min-height:52px;padding:10px 14px;display:flex}.sic-header__logo{object-fit:contain;background:#ffffff26;border-radius:6px;flex-shrink:0;width:36px;height:36px}.sic-header__logo-placeholder{color:#fff;background:#fff3;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:flex}.sic-header__school{flex-direction:column;gap:1px;display:flex;overflow:hidden}.sic-header__name{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;text-transform:uppercase;font-size:13px;font-weight:800;overflow:hidden}.sic-header__year{color:#ffffffbf;font-size:10px;font-weight:500}.sic-body{flex:1;gap:12px;padding:10px 14px;display:flex;overflow:hidden}.sic-photo-col{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.sic-photo{object-fit:cover;border:2px solid var(--border-color);border-radius:8px;width:70px;height:84px}.sic-photo-fallback{background:linear-gradient(135deg, var(--sic-brand), color-mix(in srgb, var(--sic-brand) 70%, #000));color:#fff;border:2px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:70px;height:84px;font-size:22px;font-weight:800}.sic-qr{border:1px solid var(--border-color);border-radius:4px;width:58px!important;height:58px!important}.sic-info-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;overflow:hidden}.sic-student-name{color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;margin-bottom:2px;font-size:14px;font-weight:800;overflow:hidden}.sic-fields{flex-direction:column;gap:3px;margin:0;display:flex}.sic-field{align-items:baseline;gap:6px;display:flex}.sic-field dt{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;min-width:52px;font-size:9px;font-weight:700}.sic-field dd{color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-weight:600;overflow:hidden}.sic-footer{background:linear-gradient(135deg, var(--sic-brand), color-mix(in srgb, var(--sic-brand) 80%, #000));justify-content:space-between;align-items:center;padding:5px 14px;display:flex}.sic-footer__label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:800}.sic-footer__tagline{color:#ffffff80;font-size:8px;font-style:italic}.sic-drawer .ant-drawer-header{border-bottom:1px solid var(--border-color);padding:16px 24px}.sic-drawer-title{color:var(--text-primary);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.sic-drawer-body{flex-direction:column;gap:20px;padding:4px 0;display:flex}.sic-drawer-warnings{flex-direction:column;gap:8px;display:flex}.sic-drawer-warning-alert .ant-alert{border-radius:var(--radius-sm);font-size:13px}.sic-drawer-card-wrapper{background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);justify-content:center;padding:16px;display:flex}.sic-drawer-details{border-top:1px solid var(--border-color);padding-top:16px}.sic-drawer-details__title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.sic-drawer-details__list{flex-direction:column;gap:10px;margin:0;display:flex}.sic-drawer-detail-row{align-items:center;gap:12px;display:flex}.sic-drawer-detail-row dt{min-width:120px;color:var(--text-muted);font-size:13px;font-weight:500}.sic-drawer-detail-row dd{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.sic-drawer-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sic-drawer-footer__status{align-items:center;gap:8px;display:flex}.sic-drawer-footer__meta{color:var(--text-muted);font-size:12px}.sic-drawer-footer__actions{align-items:center;gap:8px;display:flex}.sic-print-node{pointer-events:none;z-index:-1;position:fixed;top:-9999px;left:-9999px}@media print{body *{visibility:hidden!important}.sic-print-node,.sic-print-node *{visibility:visible!important}.sic-print-node{z-index:9999!important;position:fixed!important;top:0!important;left:0!important}.sic-card{box-shadow:none!important}}.teacher-shell{background:var(--bg-base,#f5f6fa);flex-direction:column;min-height:100vh;display:flex}.teacher-header{z-index:200;background:#fff;border-bottom:1px solid #e8e8f0;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0000000f}.teacher-header__left{align-items:center;gap:10px;min-width:0;display:flex}.teacher-header__menu-btn{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:none}.teacher-header__menu-btn:hover{background:#e5e7eb}.teacher-header__logo{object-fit:contain;flex-shrink:0;width:auto;height:28px}.teacher-header__school{color:#111827;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:14px;font-weight:700;overflow:hidden}.teacher-header__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.teacher-header__avatar{color:#fff;cursor:pointer;text-transform:uppercase;background:#4f46e5;border:2px solid #e0e0f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;transition:opacity .15s;display:flex}.teacher-header__avatar:hover{opacity:.85}.teacher-header__badge{color:#6366f1;white-space:nowrap;background:#eef2ff;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.teacher-body{flex:1;min-height:0;display:flex;position:relative}.teacher-sidebar{background:#fff;border-right:1px solid #e8e8f0;flex-direction:column;flex-shrink:0;width:240px;height:calc(100vh - 56px);display:flex;position:sticky;top:56px;overflow:hidden auto}.teacher-sidebar__school-info{border-bottom:1px solid #f0f0f8;padding:16px 16px 12px}.teacher-sidebar__school-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.teacher-sidebar__role-pill{letter-spacing:.5px;text-transform:uppercase;color:#4f46e5;background:#eef2ff;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.teacher-sidebar .ant-menu{flex:1;background:0 0!important;border-right:none!important}.teacher-sidebar .ant-menu-item,.teacher-sidebar .ant-menu-submenu-title{font-size:13.5px;border-radius:8px!important;width:calc(100% - 16px)!important;margin:2px 8px!important}.teacher-sidebar .ant-menu-item-selected{font-weight:600;color:#4f46e5!important;background:#eef2ff!important}.teacher-content{flex:1;min-width:0;padding:20px 20px 100px;overflow-y:auto}.teacher-bottom-nav{z-index:300;safe-area-inset-bottom:env(safe-area-inset-bottom);height:64px;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #e8e8f0;justify-content:space-around;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000014}.teacher-bottom-nav__item{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px 2px 4px;transition:color .15s;display:flex;position:relative}.teacher-bottom-nav__item:active{opacity:.7}.teacher-bottom-nav__item--active{color:#4f46e5}.teacher-bottom-nav__item--active:before{content:"";background:#4f46e5;border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:20%;right:20%}.teacher-bottom-nav__icon{font-size:20px;line-height:1;display:flex}.teacher-bottom-nav__label{white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:56px;font-size:10px;font-weight:600;line-height:1;overflow:hidden}.teacher-drawer-overlay{z-index:390;background:#0006;display:none;position:fixed;inset:0}.teacher-drawer-overlay--visible{display:block}.teacher-drawer{z-index:400;background:#fff;flex-direction:column;width:280px;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.teacher-drawer--open{transform:translate(0)}.teacher-drawer__header{border-bottom:1px solid #f0f0f8;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.teacher-drawer__close{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.teacher-drawer .teacher-sidebar__role-pill{margin-top:0}.teacher-dashboard{flex-direction:column;gap:20px;max-width:960px;margin:0 auto;display:flex}.teacher-greeting{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 60%,#818cf8 100%);border-radius:16px;justify-content:space-between;align-items:flex-end;gap:12px;padding:20px 20px 16px;display:flex;position:relative;overflow:hidden}.teacher-greeting:after{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:120px;height:120px;position:absolute;top:-20px;right:-20px}.teacher-greeting__text h2{color:#fff;margin:0 0 4px;font-size:20px;font-weight:800;line-height:1.2}.teacher-greeting__text p{color:#ffffffd1;margin:0;font-size:13px;line-height:1.45}.teacher-greeting__school{white-space:nowrap;background:#ffffff2e;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.teacher-kpi-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.teacher-kpi-card{background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:14px 14px 12px;transition:box-shadow .15s;display:flex;box-shadow:0 1px 6px #0000000f}.teacher-kpi-card:hover{box-shadow:0 4px 14px #0000001a}.teacher-kpi-card__icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.teacher-kpi-card__value{color:#111827;font-size:24px;font-weight:800;line-height:1}.teacher-kpi-card__label{color:#6b7280;font-size:12px;font-weight:500;line-height:1.3}.teacher-section-title{color:#374151;letter-spacing:.2px;margin:0 0 10px;font-size:14px;font-weight:700}.teacher-quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.teacher-quick-action{cursor:pointer;color:inherit;background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.teacher-quick-action:hover{border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 4px 14px #4f46e51f}.teacher-quick-action:active{transform:translateY(0)}.teacher-quick-action__icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.teacher-quick-action__label{color:#374151;text-align:center;font-size:12px;font-weight:600;line-height:1.3}.teacher-today-panels{grid-template-columns:1fr 1fr;gap:14px;display:grid}.teacher-panel{background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 6px #0000000f}.teacher-panel__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.teacher-panel__title{color:#111827;font-size:13px;font-weight:700}.teacher-panel__link{color:#4f46e5;cursor:pointer;font-size:12px;font-weight:600;text-decoration:none}.teacher-panel__link:hover{text-decoration:underline}.teacher-panel__empty{text-align:center;color:#9ca3af;padding:20px 0;font-size:13px}.teacher-today-class{border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:8px 0;display:flex}.teacher-today-class:last-child{border-bottom:none}.teacher-today-class__time{color:#4f46e5;flex-shrink:0;min-width:44px;font-size:11px;font-weight:700}.teacher-today-class__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.teacher-today-class__info{flex:1;min-width:0}.teacher-today-class__subject{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.teacher-today-class__meta{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.teacher-att-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.teacher-att-row:last-child{border-bottom:none}.teacher-att-row__class{color:#111827;flex:1;min-width:0;font-size:13px;font-weight:600}.teacher-att-row__bar-wrap{background:#f0f0f8;border-radius:3px;flex-shrink:0;width:80px;height:6px;overflow:hidden}.teacher-att-row__bar{background:#4f46e5;border-radius:3px;height:100%;transition:width .3s}.teacher-att-row__pct{color:#374151;text-align:right;flex-shrink:0;min-width:32px;font-size:12px;font-weight:700}@media (width<=1023px){.teacher-sidebar{display:none}.teacher-header__menu-btn,.teacher-bottom-nav{display:flex}.teacher-content{padding:16px 16px 80px}.teacher-kpi-row{grid-template-columns:repeat(2,1fr)}.teacher-quick-actions{grid-template-columns:repeat(4,1fr)}.teacher-today-panels{grid-template-columns:1fr}}@media (width<=767px){.teacher-header{height:52px;padding:0 12px}.teacher-header__school,.teacher-header__badge{display:none}.teacher-content{padding:12px 12px 80px}.teacher-kpi-row{grid-template-columns:repeat(2,1fr);gap:10px}.teacher-kpi-card{padding:12px 12px 10px}.teacher-kpi-card__value{font-size:20px}.teacher-quick-actions{grid-template-columns:repeat(4,1fr);gap:8px}.teacher-quick-action{border-radius:12px;padding:12px 6px 10px}.teacher-quick-action__icon{border-radius:10px;width:38px;height:38px;font-size:18px}.teacher-quick-action__label{font-size:11px}.teacher-greeting{border-radius:14px;padding:16px 14px 14px}.teacher-greeting__text h2{font-size:17px}.teacher-panel{padding:14px 12px}.teacher-today-panels{grid-template-columns:1fr;gap:10px}.teacher-dashboard{gap:14px}}@media (width<=400px){.teacher-quick-actions{grid-template-columns:repeat(4,1fr);gap:6px}.teacher-quick-action__icon{border-radius:8px;width:32px;height:32px;font-size:16px}.teacher-quick-action__label{font-size:10px}.teacher-kpi-row{gap:8px}.teacher-bottom-nav__label{font-size:9px}}@media (width>=1024px){.teacher-bottom-nav,.teacher-drawer,.teacher-drawer-overlay,.teacher-header__menu-btn{display:none!important}}.teacher-attendance,.teacher-students{color:#111827;max-width:760px;margin:0 auto}.teacher-students__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.teacher-students__header h1{margin:2px 0 4px;font-size:24px}.teacher-students__header span,.teacher-students__class-card span,.teacher-students__student-card span{color:#6b7280;font-size:13px}.teacher-students__eyebrow{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.teacher-students__classes,.teacher-students__list{gap:10px;display:grid}.teacher-students__class-card,.teacher-students__student-card{text-align:left;cursor:pointer;width:100%;color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.teacher-students__class-card:hover,.teacher-students__student-card:hover{border-color:#a5b4fc}.teacher-students__class-card>div:nth-child(2),.teacher-students__student-card>div:nth-child(2){flex:1;gap:4px;min-width:0;display:grid}.teacher-students__class-card strong,.teacher-students__student-card strong{font-size:15px}.teacher-students__class-card small{color:#4f46e5;font-size:12px;font-weight:700}.teacher-students__class-icon,.teacher-students__avatar{color:#4f46e5;background:#eef2ff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:flex}.teacher-students__back{color:#4f46e5;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0 14px;font-weight:700;display:inline-flex}.teacher-students__search{color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;display:flex}.teacher-students__search input{width:100%;font:inherit;background:0 0;border:0;outline:0;padding:13px 0}.teacher-students__state{text-align:center;color:#6b7280;background:#fff;border-radius:14px;place-items:center;gap:6px;padding:38px 18px;display:grid}.teacher-students__state strong{color:#111827}.teacher-students__state button{color:#fff;cursor:pointer;background:#4f46e5;border:0;border-radius:8px;padding:9px 16px}.teacher-student-detail{gap:14px;display:grid}.teacher-student-detail__hero{background:#eef2ff;border-radius:14px;align-items:center;gap:12px;padding:18px;display:flex}.teacher-student-detail__hero p{color:#4f46e5;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:700}.teacher-student-detail__hero h1{margin:0 0 4px;font-size:21px}.teacher-student-detail__hero span{color:#4b5563;font-size:13px}.teacher-student-detail__grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.teacher-student-detail__grid>div,.teacher-students__section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:15px}.teacher-student-detail__grid small{color:#6b7280;margin-bottom:5px;font-size:11px;display:block}.teacher-students__section h2{margin:0 0 8px;font-size:14px}.teacher-students__section p{color:#4b5563;margin:0;font-size:13px}.teacher-students__section-heading{justify-content:space-between;align-items:center;display:flex}.teacher-students__section-heading strong{color:#16a34a;font-size:18px}.teacher-students__attendance{flex-wrap:wrap;gap:10px;display:flex}.teacher-students__attendance span{color:#6b7280;font-size:12px}.teacher-students__attendance b{color:#111827;margin-left:4px}.teacher-students__contact,.teacher-students__attendance-action{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;margin-top:12px;font-weight:700;text-decoration:none;display:inline-flex}.teacher-students__contact{color:#4f46e5}.teacher-students__attendance-action{color:#fff;cursor:pointer;background:#4f46e5;border:0;width:100%}@media (width>=768px){.teacher-students__classes{grid-template-columns:1fr 1fr}}.teacher-attendance__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.teacher-attendance__header h1{margin:0 0 4px;font-size:22px;line-height:1.2}.teacher-attendance__header p{color:#6b7280;margin:0;font-size:13px}.teacher-attendance__eyebrow{font-weight:700;color:#4f46e5!important;margin-bottom:5px!important}.teacher-attendance__tabs{border-bottom:1px solid #e5e7eb;gap:8px;margin-bottom:14px;display:flex}.teacher-attendance__tabs button{color:#6b7280;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-weight:700}.teacher-attendance__tabs button.is-active{color:#4f46e5;border-bottom-color:#4f46e5}.teacher-attendance__class-list,.teacher-attendance__history{gap:9px;display:grid}.teacher-attendance__class-card,.teacher-attendance__history-row{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.teacher-attendance__class-card{cursor:pointer}.teacher-attendance__class-card.is-selected{border-color:#818cf8;box-shadow:0 0 0 2px #eef2ff}.teacher-attendance__class-card strong,.teacher-attendance__history-row strong{font-size:14px;display:block}.teacher-attendance__class-card span,.teacher-attendance__history-row span{color:#6b7280;margin-top:4px;font-size:12px;display:block}.teacher-attendance__class-meta{color:#4f46e5;white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.teacher-attendance__class-meta span{color:#6b7280;margin:0}.teacher-attendance__marking{border-top:1px solid #e5e7eb;margin-top:14px;padding-top:14px}.teacher-attendance__marking-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.teacher-attendance__back{color:#4f46e5;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:6px 0;font-weight:700;display:inline-flex}.teacher-attendance__counts{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.teacher-attendance__counts b{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px;font-size:18px}.teacher-attendance__counts span{color:#6b7280;margin-top:3px;font-size:11px;font-weight:600;display:block}.teacher-attendance__counts .is-warning{color:#b45309}.teacher-attendance__actions{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;display:flex}.teacher-attendance__actions>button,.teacher-attendance__actions label{border-radius:9px;align-items:center;gap:7px;min-height:42px;padding:0 12px;display:inline-flex}.teacher-attendance__actions label{color:#9ca3af;background:#fff;border:1px solid #e5e7eb;flex:1}.teacher-attendance__select-all{cursor:pointer;white-space:nowrap;font-weight:700;color:#4338ca!important}.teacher-attendance__actions .teacher-attendance__select-all{box-sizing:border-box;text-align:right;flex:none;justify-content:space-between;width:100%}.teacher-attendance__select-all input{accent-color:#4f46e5;flex:0 0 18px;width:18px;min-width:18px;height:18px}.teacher-attendance__student-check input{accent-color:#4f46e5;width:18px;height:18px}.teacher-attendance__search{flex:1}.teacher-attendance__actions input{width:100%;min-width:0;font:inherit;color:#111827;border:0;outline:0}.teacher-attendance__students{overscroll-behavior:contain;gap:7px;max-height:min(52vh,460px);padding:2px 3px 4px 0;display:grid;overflow-y:auto}.teacher-attendance__student{background:#fff;border:1px solid #eef0f4;border-radius:10px;align-items:center;gap:9px;padding:9px;display:flex}.teacher-attendance__student-check{cursor:pointer;flex:none;place-items:center;display:grid}.teacher-attendance__avatar{color:#4338ca;background:#e0e7ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.teacher-attendance__student-info{flex:1;min-width:0}.teacher-attendance__student-info strong,.teacher-attendance__student-info span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-attendance__student-info strong{font-size:13px}.teacher-attendance__student-info span{color:#6b7280;margin-top:2px;font-size:11px}.teacher-attendance__status-buttons{gap:4px;display:flex}.teacher-attendance__status-buttons button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;width:32px;height:32px;font-weight:800}.teacher-attendance__status-buttons button.is-present{color:#15803d;background:#dcfce7;border-color:#86efac}.teacher-attendance__status-buttons button.is-absent{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.teacher-attendance__status-buttons button.is-late{color:#b45309;background:#fef3c7;border-color:#fcd34d}.teacher-attendance__submit{color:#fff;cursor:pointer;background:#4f46e5;border:0;border-radius:10px;width:100%;min-height:46px;margin-top:12px;font-weight:800;position:relative}.teacher-attendance__submit:disabled,.teacher-attendance__actions button:disabled{opacity:.55;cursor:not-allowed}.teacher-attendance__message,.teacher-attendance__error{border-radius:9px;margin-top:10px;padding:11px 12px;font-size:13px}.teacher-attendance__message.is-success{color:#047857;background:#ecfdf5}.teacher-attendance__message.is-error,.teacher-attendance__error{color:#b91c1c;background:#fef2f2}.teacher-attendance__empty{color:#6b7280;text-align:center;padding:24px 8px;font-size:13px}.teacher-attendance__history-row{align-items:flex-start}.teacher-attendance__month{color:#374151;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.teacher-attendance__month input{color:#374151;font:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:9px 10px}.attendance-status{white-space:nowrap;font-size:11px}.attendance-status--present{color:#15803d}.attendance-status--absent{color:#b91c1c}.attendance-status--late{color:#b45309}@media (width<=480px){.teacher-attendance__actions label{box-sizing:border-box;width:100%}.teacher-attendance__class-card{padding:12px 10px}}.teacher-drawer .teacher-drawer__menu-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#94a3b880 transparent;flex:1;overflow:hidden auto}.teacher-drawer .teacher-drawer__menu-scroll::-webkit-scrollbar{width:4px}.teacher-drawer .teacher-drawer__menu-scroll::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:2px}.teacher-drawer__footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)) 12px;background:#fff;border-top:1px solid #f0f0f8;flex-shrink:0}.teacher-drawer__footer-btn{cursor:pointer;color:#374151;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 10px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.teacher-drawer__footer-btn:hover{background:#f3f4f6}.teacher-drawer__footer-btn--danger{color:#dc2626}.teacher-drawer__footer-btn--danger:hover{background:#fef2f2}.teacher-header__school-logo{object-fit:contain;border-radius:4px;width:auto;max-width:120px;height:28px}.teacher-no-record-banner{color:#92400e;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.teacher-no-record-banner strong{color:#78350f}.teacher-kpi-card--skeleton{pointer-events:none}.teacher-skeleton{background:linear-gradient(90deg,#f0f0f8 25%,#e8e8f4 50%,#f0f0f8 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s infinite teacher-shimmer}@keyframes teacher-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.teacher-skeleton--icon{border-radius:10px;width:36px;height:36px}.teacher-skeleton--value{width:50px;height:24px;margin-top:6px}.teacher-skeleton--label{width:80%;height:14px;margin-top:6px}.teacher-skeleton--time{border-radius:4px;width:44px;height:14px}.teacher-skeleton--dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.teacher-skeleton--line{border-radius:4px;flex:1;height:16px}.teacher-class-row{border-bottom:1px solid #f3f4f6;padding:8px 0}.teacher-class-row:last-child{border-bottom:none}.teacher-class-row__name{color:#111827;margin-bottom:4px;font-size:13px;font-weight:700}.teacher-class-row__subjects{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.teacher-class-row__tag{white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.teacher-class-row__more{color:#6b7280;font-size:11px;font-weight:600}.teacher-today-class__end{color:#9ca3af;flex-shrink:0;margin-left:auto;font-size:11px}@media (width>=1024px){.teacher-sidebar{flex-direction:column;display:flex;overflow:hidden}}.teacher-sidebar__menu-scroll{scrollbar-width:thin;scrollbar-color:#94a3b866 transparent;flex:1;overflow:hidden auto}.teacher-sidebar__menu-scroll::-webkit-scrollbar{width:4px}.teacher-sidebar__menu-scroll::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:2px}.teacher-sidebar__footer{background:#fff;border-top:1px solid #f0f0f8;flex-shrink:0;padding:10px 12px 14px}.teacher-teaching-page{flex-direction:column;gap:14px;max-width:900px;margin:0 auto;display:flex}.teacher-teaching-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-teaching-header h1{color:#111827;margin:0 0 4px;font-size:24px}.teacher-teaching-header p{color:#6b7280;margin:0;font-size:13px}.teacher-teaching-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#4f46e5!important;font-size:11px!important}.teacher-view-toggle,.teacher-day-tabs{gap:8px;display:flex;overflow-x:auto}.teacher-view-toggle button,.teacher-day-tabs button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:40px;padding:0 16px;font-weight:700}.teacher-view-toggle button.is-active,.teacher-day-tabs button.is-active{color:#fff;background:#4f46e5;border-color:#4f46e5}.teacher-timetable-list,.teacher-timetable-feature,.teacher-lesson-list{flex-direction:column;gap:10px;display:flex}.teacher-timetable-card,.teacher-lesson-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex;box-shadow:0 1px 5px #0f172a0d}.teacher-timetable-card--current{background:#f5f7ff;border:2px solid #4f46e5}.teacher-timetable-card--next{border-left:4px solid #d97706}.teacher-timetable-card__time{color:#6b7280;align-items:center;gap:5px;min-width:112px;font-size:12px;display:flex}.teacher-timetable-card__body,.teacher-lesson-card>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.teacher-timetable-card__body strong,.teacher-lesson-card strong{color:#111827;font-size:15px}.teacher-timetable-card__body span:not(.teacher-timetable-card__period),.teacher-lesson-card span{color:#374151;font-size:13px}.teacher-timetable-card__body small{color:#6b7280;align-items:center;gap:4px;display:flex}.teacher-timetable-card__period{text-transform:uppercase;font-weight:800;color:#4f46e5!important;font-size:11px!important}.teacher-timetable-card__side{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.teacher-timetable-card__side b{color:#4f46e5;font-size:10px}.teacher-timetable-card__side button{color:#4f46e5;cursor:pointer;background:#eef2ff;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.teacher-timetable-note,.teacher-timetable-period-hint{color:#6b7280;margin:0;font-size:12px}.teacher-teaching-empty{color:#64748b;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;display:flex}.teacher-teaching-empty strong{color:#334155}.teacher-date-picker{color:#475569;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.teacher-date-picker input{border:1px solid #d1d5db;border-radius:8px;min-height:40px;padding:0 10px}.teacher-lesson-card small{color:#64748b}.teacher-primary-button{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:700;display:inline-flex}.teacher-primary-button:disabled{opacity:.55;cursor:not-allowed}.teacher-plan-editor{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.teacher-plan-context{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:4px;padding-bottom:8px;display:flex}.teacher-plan-context span{color:#64748b;font-size:13px}.teacher-plan-editor label{color:#334155;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.teacher-plan-editor input,.teacher-plan-editor textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:10px;font-size:14px}.teacher-plan-editor textarea{min-height:72px}.teacher-plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.teacher-plan-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-weight:700;display:inline-flex}.teacher-homework-page{max-width:960px}.teacher-homework-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:16px;justify-content:space-between;align-items:stretch;gap:14px;padding:14px;display:flex;box-shadow:0 4px 14px #0f172a0d}.teacher-homework-date-filter{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.teacher-homework-date-filter__heading{color:#334155;letter-spacing:.02em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.teacher-homework-date-filter__heading svg{color:#4f46e5}.teacher-homework-date-filter__controls{align-items:center;gap:7px;min-width:0;display:flex}.teacher-homework-date-filter__controls .app-date-picker{background:#f8fafc;border-color:#cbd5e1;width:min(250px,100%)}.teacher-homework-date-filter__controls .app-date-picker:hover,.teacher-homework-date-filter__controls .app-date-picker:focus-within{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.teacher-homework-date-filter__selected{color:#64748b;font-size:12px;font-weight:600}.teacher-icon-button,.teacher-date-today{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe1ea;border-radius:10px;justify-content:center;align-items:center;min-width:40px;height:40px;font-weight:800;display:inline-flex}.teacher-icon-button:hover,.teacher-date-today:not(:disabled):hover{color:#4f46e5;background:#f5f7ff;border-color:#6366f1}.teacher-date-today{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe;padding:0 12px}.teacher-date-today:disabled{opacity:.55;cursor:default}.teacher-homework-new-button{align-self:center;min-height:44px;padding-inline:16px}.teacher-homework-attachment-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.teacher-homework-attachment-section>div:first-child{flex-direction:column;gap:3px;display:flex}.teacher-homework-attachment-section strong,.teacher-homework-attachments>strong{color:#1e293b;font-size:13px}.teacher-homework-attachment-section span,.teacher-homework-attachment-section small{color:#64748b;font-size:12px}.teacher-homework-attachment-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.teacher-attachment-action{color:#334155;cursor:pointer;text-align:center;background:#fff;border:1px solid #dbe1ea;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:82px;padding:10px 8px;transition:border-color .15s,background .15s,transform .15s;display:flex}.teacher-attachment-action svg{color:#4f46e5}.teacher-attachment-action span{color:#1e293b;font-size:12px;font-weight:800}.teacher-attachment-action small{color:#64748b;font-size:10px;font-weight:600}.teacher-attachment-action:hover,.teacher-attachment-action:focus-within{background:#f5f7ff;border-color:#6366f1;transform:translateY(-1px)}.teacher-attachment-action--camera{background:#eef2ff;border-color:#a5b4fc}.teacher-homework-attachments{flex-direction:column;gap:7px;display:flex}.teacher-homework-attachment{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:7px 10px;font-size:13px;display:flex}.teacher-homework-attachment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-homework-attachment button{color:#dc2626;cursor:pointer;background:#fef2f2;border:0;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.teacher-homework-upload-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0;padding:9px 10px;font-size:12px;font-weight:700}.teacher-leave{color:#1a2340;flex-direction:column;gap:14px;max-width:520px;margin:0 auto;padding:0 0 100px;display:flex}.teacher-leave-hero{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 4px 6px;display:flex}.teacher-leave-hero p{color:#64748b;margin:0 0 2px;font-size:13px;font-weight:500}.teacher-leave-hero h1{color:#1a2340;margin:0 0 4px;font-size:26px;font-weight:800;line-height:1.15}.teacher-leave-hero span{color:#64748b;font-size:13px;line-height:1.4;display:block}.teacher-leave-hero svg{color:#1a2340;flex:none;margin-top:4px}.teacher-leave-balance-card,.teacher-leave-history-card,.teacher-leave-form-card,.teacher-leave-detail{background:#fff;border:0;border-radius:18px;box-shadow:0 2px 16px #16223c12}.teacher-leave-balance-card{padding:20px 20px 8px}.teacher-leave-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.teacher-leave-section-header h2{color:#1a2340;margin:0;font-size:16px;font-weight:800;line-height:1.2}.teacher-leave-section-header span{color:#64748b;text-align:right;white-space:nowrap;font-size:12px;font-weight:500}.teacher-leave-balance-list{flex-direction:column;display:flex}.teacher-leave-balance-row{border-bottom:1px solid #f0f2f7;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.teacher-leave-balance-row:last-child{border-bottom:0;padding-bottom:8px}.teacher-leave-balance-row__icon,.teacher-leave-history-row__icon{border-radius:14px;flex:none;place-items:center;display:grid}.teacher-leave-balance-row__icon{width:52px;height:52px}.teacher-leave-balance-row__body{flex:1;min-width:0;padding-top:2px}.teacher-leave-balance-row__top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.teacher-leave-balance-row__top strong{color:#1a2340;font-size:15px;font-weight:700}.teacher-leave-balance-row__top span{color:#64748b;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500}.teacher-leave-progress{background:#eef0f6;border-radius:999px;width:100%;height:7px;margin-bottom:6px;overflow:hidden}.teacher-leave-progress__bar{border-radius:inherit;min-width:0;height:100%;transition:width .4s;display:block}.teacher-leave-progress__bar--blue{background:#2d7df0}.teacher-leave-progress__bar--green{background:#22c55e}.teacher-leave-progress__bar--orange{background:#f97316}.teacher-leave-progress__bar--purple{background:#a855f7}.teacher-leave-balance-row small{color:#64748b;font-size:12px;font-weight:400;display:block}.teacher-leave-tone--blue{color:#2d7df0;background:#eff6ff}.teacher-leave-tone--green{color:#16a34a;background:#f0fdf4}.teacher-leave-tone--orange{color:#ea6c10;background:#fff7ed}.teacher-leave-tone--purple{color:#9333ea;background:#faf5ff}.teacher-leave-apply{letter-spacing:.2px;width:100%;min-height:54px;background:#2d3a8c!important;border:0!important;border-radius:999px!important;font-size:16px!important;font-weight:700!important;box-shadow:0 6px 20px #2d3a8c47!important}.teacher-leave-apply:hover{background:#3648a8!important}.teacher-leave-apply .ant-btn-icon{display:inline-flex}.teacher-leave-form-card{padding:20px}.teacher-leave-form-card__dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-leave-form-card__balance{color:#52637f;margin:0 0 12px;font-size:13px}.teacher-leave-history-card{padding:0;overflow:hidden}.teacher-leave-history-card .teacher-leave-section-header{border-bottom:1px solid #f0f2f7;margin:0;padding:18px 20px 14px}.teacher-leave-history-card__view{color:#2d7df0;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.teacher-leave-history-card__view:hover{color:#1a60c8}.teacher-leave-history-list{flex-direction:column;display:flex}.teacher-leave-history-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f2f7;align-items:center;gap:14px;width:100%;padding:14px 20px;transition:background .12s;display:flex}.teacher-leave-history-row:hover{background:#f8f9fc}.teacher-leave-history-row:last-child{border-bottom:0}.teacher-leave-history-row__icon{color:#4f63d2;background:#eef2ff;border-radius:12px;width:48px;height:48px}.teacher-leave-history-row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.teacher-leave-history-row__main strong{color:#1a2340;font-size:14px;font-weight:700}.teacher-leave-history-row__main span{color:#64748b;font-size:12px}.teacher-leave-history-row__main small{color:#94a3b8;font-size:12px}.teacher-leave-history-row__chevron{color:#94a3b8;flex:none}.teacher-leave-detail{padding:20px}.teacher-leave-detail__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.teacher-leave-detail__header strong,.teacher-leave-detail__header span{display:block}.teacher-leave-detail__header strong{color:#1a2340;font-size:15px;font-weight:700}.teacher-leave-detail__header span,.teacher-leave-detail p{color:#64748b;font-size:13px}.teacher-leave-empty{color:#94a3b8;text-align:center;padding:24px 12px;font-size:13px}@media (width<=600px){.teacher-content{padding-left:12px;padding-right:12px}.teacher-timetable-card,.teacher-lesson-card{flex-wrap:wrap}.teacher-timetable-card__time{width:100%}.teacher-timetable-card__side{margin-left:auto}.teacher-lesson-card .teacher-primary-button{width:100%}.teacher-plan-actions button{flex:30%}.teacher-homework-toolbar{flex-direction:column;padding:12px}.teacher-homework-date-filter__controls{flex-wrap:wrap}.teacher-homework-date-filter__controls .app-date-picker{flex:1;min-width:170px}.teacher-homework-new-button{width:100%}.teacher-homework-attachment-actions{gap:7px}.teacher-attachment-action{min-height:76px}.teacher-leave{padding:0 0 88px}.teacher-leave-hero{padding:16px 4px 4px}.teacher-leave-form-card__dates{grid-template-columns:1fr}}.teacher-notif{color:#1a2340;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;padding:0 0 100px;display:flex}.teacher-notif__hero{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 4px 2px;display:flex}.teacher-notif__hero-text p{color:#64748b;margin:0 0 2px;font-size:13px;font-weight:500}.teacher-notif__hero-text h1{color:#1a2340;margin:0;font-size:26px;font-weight:800;line-height:1.15}.teacher-notif__mark-all{color:#2d7df0;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-shrink:0;margin-top:6px;padding:0;font-size:13px;font-weight:700}.teacher-notif__mark-all:hover{text-decoration:underline}.teacher-notif__mark-all:disabled{color:#94a3b8;cursor:default;text-decoration:none}.teacher-notif__filters{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:0 0 2px;display:flex;overflow-x:auto}.teacher-notif__filters::-webkit-scrollbar{display:none}.teacher-notif__filter-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;flex-shrink:0;padding:5px 13px;font-size:12px;font-weight:600;transition:border-color .13s,background .13s,color .13s}.teacher-notif__filter-btn:hover{color:#4f46e5;border-color:#a5b4fc}.teacher-notif__filter-btn--active{color:#fff;background:#2d3a8c;border-color:#2d3a8c}.teacher-notif__list{background:#fff;border-radius:18px;flex-direction:column;gap:0;display:flex;overflow:hidden;box-shadow:0 2px 16px #16223c12}.teacher-notif__card{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f2f7;align-items:flex-start;gap:13px;width:100%;padding:14px 16px;transition:background .1s;display:flex;position:relative}.teacher-notif__card:last-child{border-bottom:0}.teacher-notif__card:hover{background:#f8f9fc}.teacher-notif__card--unread{background:#f5f8ff}.teacher-notif__card--unread:hover{background:#eef2ff}.teacher-notif__card--unread:before{content:"";background:#2d7df0;border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.teacher-notif__icon{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.teacher-notif__icon--SCHOOL{color:#2563eb;background:#eff6ff}.teacher-notif__icon--TEACHING{color:#9333ea;background:#fdf4ff}.teacher-notif__icon--ATTENDANCE{color:#16a34a;background:#f0fdf4}.teacher-notif__icon--EXAMS{color:#e11d48;background:#fff1f2}.teacher-notif__icon--LEAVE{color:#b45309;background:#fef9ee}.teacher-notif__icon--DIRECT{color:#0284c7;background:#f0f9ff}.teacher-notif__body{flex:1;min-width:0}.teacher-notif__title{color:#1a2340;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:3px;font-size:14px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.teacher-notif__card--unread .teacher-notif__title{color:#0f172a}.teacher-notif__message{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.teacher-notif__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-notif__category{letter-spacing:.3px;text-transform:uppercase;color:#64748b;background:#f1f5f9;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.teacher-notif__category--SCHOOL{color:#1d4ed8;background:#dbeafe}.teacher-notif__category--TEACHING{color:#7e22ce;background:#f3e8ff}.teacher-notif__category--ATTENDANCE{color:#15803d;background:#dcfce7}.teacher-notif__category--EXAMS{color:#be123c;background:#ffe4e6}.teacher-notif__category--LEAVE{color:#92400e;background:#fef3c7}.teacher-notif__category--DIRECT{color:#0369a1;background:#e0f2fe}.teacher-notif__time{color:#94a3b8;white-space:nowrap;font-size:11px}.teacher-notif__chevron{color:#cbd5e1;flex-shrink:0;margin-top:10px}.teacher-notif__card:hover .teacher-notif__chevron{color:#94a3b8}.teacher-notif__priority{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:4px}.teacher-notif__priority--URGENT{background:#ef4444}.teacher-notif__priority--HIGH{background:#f97316}.teacher-notif__priority--NORMAL,.teacher-notif__priority--LOW{display:none}.teacher-notif__state{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:56px 20px;display:flex;box-shadow:0 2px 16px #16223c12}.teacher-notif__state-icon{color:#94a3b8;background:#f1f5f9;border-radius:16px;place-items:center;width:56px;height:56px;display:grid}.teacher-notif__state h3{color:#1e293b;margin:0;font-size:15px;font-weight:700}.teacher-notif__state p{color:#64748b;max-width:260px;margin:0;font-size:13px;line-height:1.5}.teacher-header__bell{color:#374151;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex;position:relative}.teacher-header__bell:hover{background:#f3f4f6}.teacher-header__bell-badge{color:#fff;pointer-events:none;background:#ef4444;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute;top:3px;right:3px}.teacher-quick-action__badge{color:#fff;background:#ef4444;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute;top:6px;right:6px}.teacher-quick-action{position:relative}.teacher-notif__skeleton-row{border-bottom:1px solid #f0f2f7;align-items:flex-start;gap:13px;padding:14px 16px;display:flex}.teacher-notif__skeleton-row:last-child{border-bottom:0}@media (width>=768px){.teacher-notif{max-width:640px}.teacher-notif__card{padding:16px 20px}.teacher-notif__title{font-size:14.5px}.teacher-notif__message{font-size:13px}}.teacher-classes{color:#111827;flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.teacher-classes__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-classes__header h1{margin:2px 0 4px;font-size:24px;font-weight:800;line-height:1.2}.teacher-classes__header-session{color:#6b7280;margin-top:2px;font-size:12px;font-weight:600;display:block}.teacher-classes__kpi-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;padding:14px 0;display:flex}.teacher-classes__kpi{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.teacher-classes__kpi strong{color:#111827;font-size:22px;font-weight:800;line-height:1}.teacher-classes__kpi span{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.teacher-classes__kpi-divider{background:#e5e7eb;flex-shrink:0;width:1px;height:32px}.teacher-classes__list{flex-direction:column;gap:10px;display:flex}.teacher-classes__card{text-align:left;cursor:pointer;width:100%;color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.teacher-classes__card:hover{border-color:#a5b4fc;box-shadow:0 3px 12px #4f46e51a}.teacher-classes__card:active{transform:scale(.99)}.teacher-classes__card--skeleton{pointer-events:none;opacity:.7;gap:10px}.teacher-classes__card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-classes__card-label{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.teacher-classes__card-icon{background:#eef2ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.teacher-classes__card-title{color:#111827;font-size:16px;font-weight:800;line-height:1.2;display:block}.teacher-classes__card-role{color:#4f46e5;margin-top:2px;font-size:11px;font-weight:700;display:block}.teacher-classes__card-subjects{flex-wrap:wrap;gap:6px;display:flex}.teacher-classes__subject-pill{white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.3}.teacher-classes__subject-pill--more{font-style:italic;color:#6b7280!important;background:#f3f4f6!important}.teacher-classes__detail-hero{background:#eef2ff;border-radius:16px;align-items:center;gap:12px;padding:18px;display:flex;position:relative}.teacher-classes__detail-icon{background:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 1px 4px #4f46e526}.teacher-classes__detail-eyebrow{color:#4f46e5;text-transform:uppercase;letter-spacing:.06em;margin:0 0 3px;font-size:11px;font-weight:700}.teacher-classes__detail-title{color:#111827;margin:0 0 4px;font-size:22px;font-weight:800;line-height:1.15}.teacher-classes__detail-session{color:#4b5563;font-size:12px;font-weight:500}.teacher-classes__ct-badge{color:#b45309;background:#fef9c3;border:1px solid #fde68a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:12px;right:14px}.teacher-classes__detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}.teacher-classes__detail-section-title{color:#374151;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:700;display:flex}.teacher-classes__detail-empty{color:#9ca3af;text-align:center;margin:0;padding:12px 0;font-size:13px}.teacher-classes__subjects-grid{flex-direction:column;gap:8px;display:flex}.teacher-classes__subject-card{background:#f9fafb;border-left-style:solid;border-left-width:4px;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.teacher-classes__subject-dot{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.teacher-classes__subject-card strong{color:#111827;font-size:14px;display:block}.teacher-classes__subject-code{color:#6b7280;margin-top:2px;font-size:11px;display:block}.teacher-classes__actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.teacher-classes__action-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-height:72px;padding:12px 8px;transition:border-color .15s,box-shadow .12s;display:flex}.teacher-classes__action-btn:hover{border-color:#c7d2fe;box-shadow:0 2px 8px #4f46e514}.teacher-classes__action-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.teacher-classes__action-label{text-align:center;font-size:11px;font-weight:700;line-height:1.3}@media (width>=480px){.teacher-classes__actions{grid-template-columns:repeat(3,1fr)}}@media (width<=380px){.teacher-classes__card-title{font-size:14px}.teacher-classes__detail-title{font-size:19px}.teacher-classes__kpi strong{font-size:18px}.teacher-classes__actions{grid-template-columns:repeat(3,1fr);gap:6px}.teacher-classes__action-btn{min-height:64px;padding:10px 4px}.teacher-classes__action-icon{border-radius:8px;width:32px;height:32px}}.teacher-class-row--link{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f3f4f6;border-radius:0;width:100%;padding:8px 0;transition:background .12s}.teacher-class-row--link:last-child{border-bottom:none}.teacher-class-row--link:hover{background:#f9fafb;border-radius:8px;padding-left:6px;padding-right:6px}.teacher-class-row--link:hover .teacher-class-row__name{color:#4f46e5}.parent-app{color:#182033;background:#f6f8fc;min-height:100dvh;padding-bottom:86px}.parent-header{z-index:4;background:#fff;border-bottom:1px solid #e7ebf3;justify-content:space-between;align-items:center;height:72px;padding:0 max(20px,50vw - 580px);display:flex;position:sticky;top:0}.parent-brand,.parent-header-actions,.parent-child-summary,.parent-section-heading,.parent-list-row,.parent-notice,.parent-report-card,.parent-result-highlight{align-items:center;display:flex}.parent-brand{gap:11px;min-width:0}.parent-brand img{object-fit:contain;border-radius:9px;width:35px;height:35px}.parent-brand strong,.parent-brand span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.parent-brand strong{max-width:220px;font-size:14px}.parent-brand span{color:#8b94a7;margin-top:2px;font-size:11px}.parent-header-actions{gap:12px}.parent-icon-button,.parent-avatar,.parent-language button,.parent-bottom-nav button{cursor:pointer;color:#738097;background:0 0;border:0}.parent-icon-button{border:1px solid #e5e9f1;border-radius:11px;place-items:center;width:36px;height:36px;display:grid;position:relative}.parent-icon-button i{background:#ef6a57;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.parent-avatar{color:#fff;background:#315bea;border-radius:50%;width:34px;height:34px;font-weight:700}.parent-logout{color:#9aa3b4}.parent-main{width:min(100% - 32px,1040px);margin:0 auto}.parent-page{padding:34px 0 24px}.parent-page-topline{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.parent-eyebrow{color:#7b879d;margin:0 0 5px;font-size:13px}.parent-eyebrow span{color:#e7a744}.parent-page h1{letter-spacing:-.6px;margin:0;font-size:27px}.parent-language{background:#e9edf5;border-radius:9px;padding:3px;display:flex}.parent-language button{border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700}.parent-language button.selected{color:#315bea;background:#fff;box-shadow:0 2px 7px #dce2ee}.parent-child-picker{background:#fff;border:1px solid #e7ebf3;border-radius:15px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:10px 13px;display:flex;position:relative}.parent-child-summary{gap:10px}.parent-child-avatar{color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}.parent-child-summary small,.parent-child-summary span{color:#8993a7;font-size:10px;display:block}.parent-child-summary strong{margin:2px 0;font-size:14px;display:block}.parent-child-picker select{appearance:none;color:#0000;cursor:pointer;background:0 0;border:0;width:28px;height:100%;padding-right:20px;position:absolute;right:8px}.parent-child-picker>svg{color:#7b879d;pointer-events:none}.parent-welcome-card{color:#fff;background:linear-gradient(110deg,#254dc7,#5677ef);border-radius:18px;justify-content:space-between;align-items:center;min-height:145px;padding:24px 27px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 25px #315bea28}.parent-welcome-card:after{content:"";border:25px solid #ffffff15;border-radius:50%;width:230px;height:230px;position:absolute;top:-90px;right:55px}.parent-card-kicker{opacity:.72;letter-spacing:1.2px;text-transform:uppercase;font-size:10px}.parent-welcome-card h2{max-width:430px;margin:10px 0 7px;font-size:22px;line-height:1.2}.parent-welcome-card p{opacity:.8;font-size:12px}.parent-welcome-art{z-index:1;background:#ffffff1c;border-radius:22px;place-items:center;width:68px;height:68px;margin-right:25px;display:grid;position:relative}.parent-section-heading{justify-content:space-between;margin:26px 0 12px}.parent-section-heading h2{margin:0;font-size:16px}.parent-section-heading button{color:#315bea;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;display:flex}.parent-stat-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.parent-stat-card,.parent-panel,.parent-notice,.parent-report-card{background:#fff;border:1px solid #e7ebf3;border-radius:15px}.parent-stat-card{padding:17px;position:relative;overflow:hidden}.parent-stat-card:after{content:"";opacity:.16;background:currentColor;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-32px;right:-26px}.parent-stat-card.attendance{color:#168c69}.parent-stat-card.result{color:#8d5aeb}.parent-stat-card span,.parent-stat-card small{color:#818da2;font-size:11px;display:block}.parent-stat-card strong{color:#182033;margin:9px 0 4px;font-size:27px;display:block}.parent-stat-icon{color:#fff;background:currentColor;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.parent-stat-card small{color:currentColor}.parent-panel{padding:0 17px 5px}.parent-panel .parent-section-heading{margin:17px 0 7px}.parent-list-row{border-top:1px solid #edf0f5;gap:11px;padding:13px 0}.parent-list-icon{border-radius:11px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.parent-list-icon.orange{color:#d88324;background:#fff2df}.parent-list-icon.purple{color:#8253d8;background:#f0eafe}.parent-list-icon.blue{color:#315bea;background:#eaf0ff}.parent-list-icon.red{color:#e35b60;background:#ffebec}.parent-list-content{flex:1;min-width:0}.parent-list-content strong,.parent-list-content span{display:block}.parent-list-content strong{font-size:12px}.parent-list-content span{color:#8993a7;margin-top:3px;font-size:10px}.parent-pill{color:#7a879d;background:#eef2fa;border-radius:6px;padding:4px 7px;font-size:10px}.parent-pill.due{color:#d88324;background:#fff2df}.parent-timetable{grid-template-columns:repeat(3,1fr);gap:9px;padding-bottom:12px;display:grid}.parent-timetable div{background:#f7f9fc;border-radius:10px;padding:11px}.parent-timetable span,.parent-timetable small{color:#8b96a9;font-size:10px;display:block}.parent-timetable strong{margin:8px 0 5px;font-size:12px;display:block}.parent-timetable .parent-timetable-row--current{background:#effaf4;box-shadow:inset 4px 0 #25a36f}.parent-notice{gap:10px;margin-top:14px;padding:13px 15px}.parent-notice div:nth-child(2){flex:1}.parent-notice strong{font-size:12px}.parent-notice p{color:#8993a7;margin-top:3px;font-size:10px}.parent-support-modal .ant-modal-content{border-radius:18px;padding:22px}.parent-support-modal .ant-modal-header{margin-bottom:18px}.parent-support-modal__title{align-items:center;gap:10px;font-size:17px;display:flex}.parent-support-modal__back{color:#59667d;cursor:pointer;background:#f1f4fa;border:0;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.parent-support-options{gap:11px;display:grid}.parent-support-options>p,.parent-support-section>p{color:#748097;margin:0 0 13px;font-size:13px}.parent-support-options>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e7ebf3;border-radius:13px;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.parent-support-options>button:hover{background:#f8faff;border-color:#b9c9ff}.parent-support-options__icon{color:#315bea;background:#edf2ff;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.parent-support-options>button>span:nth-child(2){flex:1}.parent-support-options strong,.parent-support-options small{display:block}.parent-support-options strong{color:#182033;font-size:13px}.parent-support-options small{color:#8993a7;margin-top:4px;font-size:11px}.parent-support-options__arrow{color:#8c97aa;transform:rotate(180deg)}.parent-support-section{gap:12px;display:grid}.parent-support-contact{color:inherit;border:1px solid #e7ebf3;border-radius:11px;align-items:center;gap:11px;padding:12px;text-decoration:none;display:flex}.parent-support-contact>span:first-child{color:#315bea;background:#edf2ff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.parent-support-contact small,.parent-support-contact strong{display:block}.parent-support-contact small{color:#8993a7;font-size:10px}.parent-support-contact strong{margin-top:3px;font-size:12px}.parent-support-category-help{border-top:1px solid #edf0f5;gap:5px;padding:10px 12px;display:grid}.parent-support-category-help .ant-typography{font-size:11px}.parent-support-success{text-align:center;justify-items:center;padding:10px 0}.parent-support-success__mark{color:#168c69;background:#e8f8ef;border-radius:50%;place-items:center;width:52px;height:52px;font-size:28px;display:grid}.parent-support-success h4.ant-typography{margin:0}.parent-support-success>p{color:#748097;max-width:390px;margin:0;font-size:12px}.parent-support-success__reference{border:1px solid #e7ebf3;border-radius:11px;gap:4px;width:100%;padding:12px;display:grid}.parent-support-success__reference small{color:#8993a7}.parent-support-success__reference strong{font-size:13px}.parent-quick-actions{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 0 14px;display:grid}.parent-quick-actions button{color:#315bea;cursor:pointer;background:#f8faff;border:1px solid #e7ebf3;border-radius:11px;place-items:center;gap:4px;min-height:66px;display:grid}.parent-quick-actions span{color:#59667d;font-size:10px}.parent-empty-copy{color:#8993a7;padding:8px 0 14px;font-size:11px}.parent-notice+.parent-panel{margin-top:16px}.parent-child-context{color:#8993a7;margin:-10px 0 16px;font-size:12px}.parent-view-toggle{background:#e9edf5;border-radius:10px;gap:4px;width:max-content;margin-bottom:14px;padding:3px;display:flex}.parent-view-toggle button{color:#738097;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 18px;font-size:12px;font-weight:700}.parent-view-toggle button.selected{color:#315bea;background:#fff;box-shadow:0 2px 7px #dce2ee}.parent-timetable-days{gap:7px;padding:0 1px 12px;display:flex;overflow-x:auto}.parent-timetable-days button{color:#738097;cursor:pointer;background:#fff;border:1px solid #e7ebf3;border-radius:11px;min-width:54px;padding:8px 7px}.parent-timetable-days button.selected{color:#fff;background:#315bea;border-color:#315bea}.parent-timetable-days strong,.parent-timetable-days span{font-size:11px;display:block}.parent-timetable-days span{margin-top:4px;font-size:13px}.parent-timetable-list{padding-bottom:14px}.parent-timetable-list .parent-section-heading{margin-bottom:12px}.parent-timetable-list .parent-section-heading span{color:#8993a7;font-size:11px}.parent-timetable-card{border-top:1px solid #edf0f5;align-items:flex-start;gap:12px;padding:14px 0;display:flex}.parent-timetable-time{color:#315bea;flex:0 0 82px;font-size:11px;font-weight:700;line-height:1.5}.parent-timetable-card-body{flex:1;min-width:0}.parent-timetable-card-body strong,.parent-timetable-card-body small{align-items:center;gap:4px;display:flex}.parent-timetable-card-body strong{color:#182033;font-size:13px}.parent-timetable-card-body small{color:#8993a7;margin-top:5px;font-size:11px}.parent-timetable-card.break{background:#fffaf0;border-top:0;border-radius:10px;margin:5px 0;padding:12px}.parent-timetable-card.break .parent-timetable-time{color:#c07b1a}.parent-timetable-state{text-align:center;color:#8993a7;padding:35px 10px 24px}.parent-timetable-state svg{color:#315bea}.parent-timetable-state p{margin:9px 0 4px;font-size:13px}.parent-timetable-state small{font-size:11px}.parent-homework-card{cursor:pointer;margin-bottom:12px;transition:transform .15s,box-shadow .15s}.parent-homework-card:hover,.parent-homework-card:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 8px 20px #315bea14}.parent-homework-open{color:#315bea;font-size:10px;font-weight:700}.parent-homework-attachment-count{color:#7b879d;align-items:center;gap:5px;padding:0 0 11px 47px;font-size:10px;display:flex}.parent-homework-detail{background:#fff;border-radius:22px;width:min(100% - 28px,560px);max-height:min(86dvh,720px);padding:28px 22px 24px;position:relative;overflow:auto;box-shadow:0 18px 45px #18203335}.parent-homework-detail h2{margin:5px 0 8px;padding-right:35px;font-size:22px}.parent-homework-meta,.parent-homework-topic{color:#7b879d;font-size:12px}.parent-homework-topic{background:#f3f6fb;border-radius:9px;padding:10px}.parent-homework-content{white-space:pre-wrap;color:#3d4960;margin:18px 0;font-size:13px;line-height:1.6}.parent-homework-files{border-top:1px solid #edf0f5;padding-top:16px}.parent-homework-files h3{margin:0 0 9px;font-size:13px}.parent-homework-file{color:#315bea;border-top:1px solid #edf0f5;align-items:center;gap:10px;padding:11px 0;display:flex}.parent-homework-file>div{flex:1;min-width:0}.parent-homework-file strong,.parent-homework-file small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.parent-homework-file strong{color:#24304a;font-size:12px}.parent-homework-file small{color:#8993a7;margin-top:3px;font-size:10px}.parent-homework-file a{color:#315bea;background:#eaf0ff;border-radius:8px;place-items:center;padding:7px;display:grid}.parent-homework-page{max-width:720px;margin:0 auto}.parent-homework-tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0 18px;display:grid}.parent-homework-tabs button{color:#71809a;cursor:pointer;background:#fff;border:1px solid #dfe6f2;border-radius:24px;padding:12px 8px;font-size:12px;font-weight:700}.parent-homework-tabs button.active{color:#fff;background:#315bea;border-color:#315bea;box-shadow:0 8px 16px #315bea2b}.parent-homework-list{gap:12px;display:grid}.parent-homework-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e8f3;border-radius:17px;width:100%;padding:17px 18px 14px;box-shadow:0 4px 14px #243b6b08}.parent-homework-card-top{align-items:center;gap:12px;display:flex}.parent-homework-book-icon{color:#ec8a16;background:#fff0dc;border-radius:14px;flex-shrink:0;place-items:center;width:45px;height:45px;display:grid}.parent-homework-card-title{flex:1;min-width:0}.parent-homework-card-title strong,.parent-homework-card-title span{display:block}.parent-homework-card-title strong{color:#152342;font-size:15px}.parent-homework-card-title span{color:#8491a9;margin-top:3px;font-size:11px}.parent-homework-open{color:#1f61f7;align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.parent-homework-card h2{color:#182644;margin:17px 0 14px;font-size:17px}.parent-homework-card-meta{color:#7888a3;flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.parent-homework-card-meta span{align-items:center;gap:6px;display:flex}.parent-homework-card-files{color:#315bea;align-items:center;gap:5px;margin-top:12px;font-size:10px;display:flex}.parent-detail-header{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-bottom:16px;display:grid}.parent-detail-header h1{text-align:center;font-size:20px}.parent-back-button{color:#62728f;cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;display:grid}.parent-detail-header .parent-icon-button{justify-self:end}.parent-detail-page{max-width:720px;margin:0 auto}.parent-homework-hero{margin-bottom:14px;padding:20px}.parent-homework-hero h2{color:#13213e;border-bottom:1px solid #e7edf5;margin:20px 0 18px;padding-bottom:18px;font-size:23px}.parent-detail-teacher{color:#687895;align-items:center;gap:12px;display:flex}.parent-detail-teacher span,.parent-detail-teacher strong{display:block}.parent-detail-teacher span{font-size:11px}.parent-detail-teacher strong{color:#182644;margin-top:4px;font-size:14px}.parent-detail-section{margin-bottom:14px;padding:19px 20px}.parent-detail-section-title{color:#2464f5;align-items:center;gap:11px;display:flex}.parent-detail-section-title h2{color:#172542;margin:0;font-size:16px}.parent-detail-section>p{color:#53617a;white-space:pre-wrap;margin:17px 0 0;font-size:14px;line-height:1.65}.parent-detail-topic{color:#315bea;background:#eef3ff;border-radius:8px;margin-top:14px;padding:7px 9px;font-size:11px;display:inline-block}.parent-detail-due{border-top:1px solid #edf0f5;gap:28px;margin-top:17px;padding-top:14px;display:flex}.parent-detail-due span{color:#74829c;font-size:11px}.parent-detail-due strong{color:#263654;margin-bottom:4px;font-size:11px;display:block}.parent-detail-files{margin-top:16px}.parent-detail-file{color:#315bea;border-top:1px solid #edf0f5;align-items:center;gap:11px;padding:13px 0;display:flex}.parent-detail-file>div{flex:1;min-width:0}.parent-detail-file strong,.parent-detail-file span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.parent-detail-file strong{color:#1c2b48;font-size:12px}.parent-detail-file span{color:#8996ac;margin-top:4px;font-size:10px}.parent-detail-file a{color:#fff;background:#315bea;border-radius:9px;place-items:center;padding:9px;display:grid}.parent-no-files{color:#a0acbe;align-content:center;place-items:center;gap:8px;min-height:125px;display:grid}.parent-no-files p{margin:0;font-size:12px}@media (width<=600px){.parent-homework-page,.parent-detail-page{max-width:none}.parent-detail-header h1{font-size:18px}.parent-homework-card{padding:15px}.parent-homework-card h2{font-size:16px}.parent-detail-section,.parent-homework-hero{padding:17px}}.parent-sheet-backdrop{z-index:10;background:#18203355;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.parent-account-sheet,.parent-confirm-dialog{background:#fff;border-radius:22px 22px 0 0;width:min(100%,460px);padding:26px 22px 30px;position:relative;box-shadow:0 -10px 30px #18203322}.parent-sheet-close{cursor:pointer;color:#738097;background:#f2f4f8;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:18px;right:18px}.parent-account-avatar{color:#fff;background:#315bea;border-radius:50%;place-items:center;width:54px;height:54px;font-size:21px;font-weight:700;display:grid}.parent-account-sheet h2{margin:15px 0 4px;font-size:19px}.parent-account-sheet p,.parent-account-sheet small{color:#8993a7;margin:0 0 5px;font-size:12px;display:block}.parent-account-logout{color:#d64e55;cursor:pointer;background:#fff;border:0;border-top:1px solid #edf0f5;align-items:center;gap:9px;width:100%;margin-top:22px;padding:17px 0 0;font-weight:700;display:flex}.parent-confirm-dialog{border-radius:22px;align-self:center;width:min(100% - 32px,420px);margin:16px;padding:24px}.parent-confirm-dialog h2{margin:0 0 8px;font-size:18px}.parent-confirm-dialog p{color:#738097;font-size:13px;line-height:1.5}.parent-confirm-dialog>div{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.parent-confirm-dialog button{color:#59667d;cursor:pointer;background:#fff;border:1px solid #e1e6f0;border-radius:9px;padding:10px 14px}.parent-confirm-dialog button.danger{color:#fff;background:#d64e55;border-color:#d64e55}.parent-results-list{gap:14px;display:grid}.parent-report-card{padding:17px;display:block}.parent-result-highlight{justify-content:space-between;gap:12px}.parent-result-highlight h2{margin:0 0 4px;font-size:15px}.parent-result-highlight span,.parent-result-meta{color:#8993a7;font-size:11px}.parent-result-highlight>strong{color:#315bea;font-size:25px}.parent-result-meta{margin:10px 0 13px}.parent-result-summary{border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;gap:18px;padding:11px 0;display:flex}.parent-result-summary span{color:#8993a7;font-size:10px}.parent-result-summary strong{color:#182033;margin-top:4px;font-size:12px;display:block}.parent-subject-list{margin-top:7px}.parent-subject-row{border-bottom:1px solid #f0f2f6;grid-template-columns:1fr auto 30px;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:grid}.parent-subject-row strong{font-size:12px}.parent-subject-row small{color:#8993a7;text-align:right}.parent-report-card-action{margin-top:15px;padding:17px}.parent-report-card-action h2{margin:0 0 12px;font-size:15px}.parent-report-card-action p{color:#8993a7;font-size:12px}.parent-report-card-action button{color:#fff;cursor:pointer;background:#315bea;border:0;border-radius:10px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;display:flex}.parent-language-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 72px);padding:32px 20px;display:flex}.parent-language-page>img{object-fit:contain;width:58px;height:58px}.parent-language-school{color:#7b879d;margin:10px 0 38px;font-size:12px}.parent-language-page h1{margin:0 0 8px;font-size:25px}.parent-language-page>p{color:#7b879d;margin:0 0 24px;font-size:13px}.parent-language-options{gap:10px;width:min(100%,390px);display:grid}.parent-language-options button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e6f0;border-radius:14px;padding:15px 17px}.parent-language-options button.selected{border-color:#315bea;box-shadow:0 0 0 2px #315bea1c}.parent-language-options strong,.parent-language-options span{display:block}.parent-language-options strong{color:#182033;font-size:15px}.parent-language-options span{color:#8993a7;margin-top:4px;font-size:11px}.parent-language-continue{color:#fff;cursor:pointer;background:#315bea;border:0;border-radius:12px;width:min(100%,390px);margin:24px 0 12px;padding:13px;font-weight:700}.parent-language-page small{color:#9aa3b4;font-size:10px}.parent-bottom-nav{display:none}.parent-back{color:#718098;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-bottom:22px;font-size:12px;display:flex}.parent-page-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.parent-page-title h1{margin-bottom:6px}.parent-page-title>div>span{color:#8b96a9;font-size:11px}.parent-score-ring{border:7px solid #dce5ff;border-right-color:#315bea;border-radius:50%;align-content:center;place-items:center;width:80px;height:80px;display:grid}.parent-score-ring strong{color:#315bea;font-size:15px}.parent-score-ring span{color:#8b96a9;font-size:9px}.parent-result-highlight{color:#168c69;background:#edf8f4;border-radius:13px;gap:10px;margin-bottom:16px;padding:13px 15px}.parent-result-highlight div{flex:1}.parent-result-highlight strong,.parent-result-highlight span{display:block}.parent-result-highlight strong{font-size:12px}.parent-result-highlight span{margin-top:3px;font-size:10px}.parent-result-highlight b{font-size:22px}.parent-result-row{border-top:1px solid #edf0f5;grid-template-columns:150px 1fr 30px;align-items:center;gap:12px;padding:15px 0;display:grid}.parent-result-row div:first-child strong,.parent-result-row div:first-child span{display:block}.parent-result-row strong{font-size:12px}.parent-result-row span{color:#8993a7;margin-top:3px;font-size:10px}.parent-progress{background:#edf0f5;border-radius:7px;height:7px;overflow:hidden}.parent-progress i{background:#315bea;border-radius:7px;height:100%;display:block}.parent-result-row b{color:#315bea;text-align:right;font-size:13px}.parent-report-card{gap:11px;margin-top:15px;padding:14px 15px}.parent-report-card>div:nth-child(2){flex:1}.parent-report-card strong,.parent-report-card span{display:block}.parent-report-card strong{font-size:12px}.parent-report-card span{color:#8993a7;margin-top:3px;font-size:10px}.parent-report-card button{color:#315bea;cursor:pointer;background:#eef2ff;border:0;border-radius:8px;align-items:center;gap:5px;padding:8px 9px;font-size:10px;font-weight:600;display:flex}.parent-empty-state{text-align:center;background:#fff;border:1px solid #e7ebf3;border-radius:16px;padding:80px 20px}.parent-empty-state h1{font-size:22px}.parent-empty-state p{color:#8993a7;margin-top:8px;font-size:13px}@media (width<=700px){.parent-app{padding-bottom:74px}.parent-header{height:64px;padding:0 16px}.parent-brand strong{max-width:160px}.parent-main{width:calc(100% - 28px)}.parent-page{padding-top:24px}.parent-page h1{font-size:22px}.parent-logout{display:none}.parent-welcome-card{min-height:138px;padding:20px}.parent-welcome-card h2{max-width:250px;font-size:19px}.parent-welcome-art{width:54px;height:54px;margin-right:0}.parent-timetable{grid-template-columns:1fr}.parent-timetable div{grid-template-columns:50px 1fr;gap:2px 8px;padding:10px;display:grid}.parent-timetable strong{grid-area:1/2;margin:0}.parent-timetable small{grid-column:2}.parent-timetable span{grid-area:1/1/span 2;align-self:center}.parent-bottom-nav{z-index:5;background:#fff;border-top:1px solid #e7ebf3;justify-content:space-around;height:66px;padding-top:7px;display:flex;position:fixed;bottom:0;left:0;right:0}.parent-bottom-nav button{flex-direction:column;align-items:center;gap:3px;min-width:62px;font-size:9px;display:flex}.parent-bottom-nav button.active{color:#315bea}.parent-bottom-nav button.active svg{stroke-width:2.8px}.parent-result-row{grid-template-columns:125px 1fr 24px;gap:8px}.parent-support-modal{max-width:calc(100vw - 24px);margin:0 auto}.parent-support-modal .ant-modal-content{padding:18px}}.parent-stat-grid{margin-bottom:18px}.parent-stat-grid .parent-stat-card{min-height:0;padding:16px;display:block}.parent-stat-card-content{align-content:start;justify-items:start;gap:8px;display:grid}.parent-stat-card .parent-stat-label{line-height:1.35}.parent-stat-card strong{margin:0;line-height:1.2}.parent-stat-card small{line-height:1.4}.parent-panel{margin-bottom:16px}.parent-notification-button{position:relative}.parent-notification-badge{color:#fff;text-align:center;background:#dc2626;border:2px solid #fff;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-4px;right:-4px}.legal-page{background:var(--bg-page,#f4f7fb);min-height:100vh;color:var(--text-primary)}.legal-topbar{border-bottom:1px solid var(--border-color,#e5e7eb);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.legal-logo{height:36px;display:block}.legal-topnav{flex-wrap:wrap;gap:20px;display:flex}.legal-topnav a{color:var(--text-secondary);font-size:14px;text-decoration:none}.legal-topnav a[aria-current=page],.legal-topnav a:hover{color:#4f46e5;font-weight:600}.legal-state{text-align:center;color:var(--text-secondary);padding:48px 24px}.legal-layout{grid-template-columns:280px minmax(0,1fr);gap:32px;max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:grid}.legal-toc{background:#fff;border-radius:12px;align-self:start;max-height:calc(100vh - 48px);padding:16px 18px;position:sticky;top:24px;overflow:auto;box-shadow:0 1px 8px #00000012}.legal-toc h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:10px;font-size:13px}.legal-toc ol{gap:6px;padding-left:20px;font-size:13px;display:grid}.legal-toc a{color:var(--text-primary);text-decoration:none}.legal-toc a:hover{color:#4f46e5}.legal-document{background:#fff;border-radius:12px;padding:32px 36px;font-size:15px;line-height:1.75;box-shadow:0 1px 8px #00000012}.legal-document h1{margin-bottom:12px;font-size:28px}.legal-meta{color:var(--text-secondary);flex-wrap:wrap;gap:8px 32px;margin-bottom:16px;font-size:13px;display:flex}.legal-meta dt{margin-right:6px;font-weight:600;display:inline}.legal-meta dd{display:inline}.legal-print-button{margin-bottom:16px}.legal-section{padding-top:20px;scroll-margin-top:16px}.legal-section h2{margin-bottom:8px;font-size:19px}.legal-subsection h3{margin:14px 0 4px;font-size:16px}.legal-document p{white-space:pre-line;margin:0 0 12px}.legal-document ul{margin:0 0 12px;padding-left:22px}.legal-footer{border-top:1px solid var(--border-color,#e5e7eb);margin-top:32px;padding-top:16px}.legal-footer a{color:#4f46e5}.legal-links{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:inline-flex}.legal-links a{color:#4f46e5}.legal-acceptance{gap:6px;margin-bottom:12px;font-size:13px;display:grid}.legal-gate-text,.legal-gate-links{margin-bottom:12px}.profile-legal-card h3{margin-bottom:8px;font-size:15px}.legal-admin{gap:16px;display:grid}.legal-admin-grid{gap:12px;display:grid}.legal-admin-field{gap:4px;font-size:13px;display:grid}.legal-admin-field>span{color:var(--text-secondary)}.legal-admin-date{border:1px solid var(--border-color,#d9d9d9);border-radius:8px;max-width:220px;height:40px;padding:0 12px}.legal-admin-switch{align-items:center;gap:10px;font-size:13px;display:flex}.legal-admin-actions{justify-content:flex-end;gap:12px;display:flex}.legal-admin-versions{gap:8px;list-style:none;display:grid}.legal-admin-versions li{flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}@media (width<=900px){.legal-layout{grid-template-columns:1fr;padding:16px 12px 48px}.legal-toc{max-height:none;position:static}.legal-document{padding:20px 16px}.legal-topbar{padding:12px 16px}}@media print{.legal-topbar,.legal-toc,.legal-print-button,.legal-footer{display:none}.legal-page{background:#fff}.legal-layout{padding:0;display:block}.legal-document{box-shadow:none;padding:0}.legal-section{break-inside:avoid-page}}.legal-draft-banner{color:#92400e;background:#fef3c7;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{font-family:var(--font-family-body);background:var(--bg-primary);color:var(--text-primary)}.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button),.app-button.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button){box-shadow:none;background:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button):hover,.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button):focus-visible,.app-button.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button):hover,.app-button.ant-btn-primary:not(.ant-btn-dangerous):not(.auth-primary-button):focus-visible{background:color-mix(in srgb, var(--brand-primary) 88%, #000)!important;border-color:color-mix(in srgb, var(--brand-primary) 88%, #000)!important}.ant-btn-default:not(.ant-btn-dangerous):hover,.ant-btn-default:not(.ant-btn-dangerous):focus-visible,.app-button.ant-btn-default:not(.ant-btn-dangerous):hover,.app-button.ant-btn-default:not(.ant-btn-dangerous):focus-visible{color:var(--brand-primary)!important;border-color:var(--brand-primary)!important}.ant-btn-text:not(.ant-btn-dangerous):hover,.ant-btn-text:not(.ant-btn-dangerous):focus-visible,.ant-btn-link:not(.ant-btn-dangerous):hover,.ant-btn-link:not(.ant-btn-dangerous):focus-visible,.app-button.ant-btn-text:not(.ant-btn-dangerous):hover,.app-button.ant-btn-text:not(.ant-btn-dangerous):focus-visible,.app-button.ant-btn-link:not(.ant-btn-dangerous):hover,.app-button.ant-btn-link:not(.ant-btn-dangerous):focus-visible{color:var(--brand-primary)!important;background:color-mix(in srgb, var(--brand-primary) 8%, transparent)!important}h1,h2,h3,h4,h5,h6,.page-title,.app-page-header__title,.app-shell-header__brand-name{font-family:var(--font-family-display)}.page-subtitle,.app-page-header__subtitle,.app-shell-header__subtitle{font-family:var(--font-family-subtle)}
