@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);.login-page{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,#1d3f68 50%,var(--color-primary) 100%);background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary-dark,#1d3f68) 50%,var(--color-primary) 100%);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #0b132440;max-width:420px;padding:40px 36px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-logo{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-text-inverse);display:inline-flex;height:56px;justify-content:center;margin-bottom:16px;overflow:hidden;width:56px}.login-logo--has-image{background:var(--color-surface);border:1px solid var(--color-border)}.login-logo img{border-radius:50%;height:100%;object-fit:cover;width:100%}.login-header h1{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 6px}.login-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-options{align-items:center;display:flex;justify-content:space-between}.login-page .app-message{margin-bottom:0}@media (max-width:480px){.login-card{padding:28px 20px}}input[type=password]::-ms-clear,input[type=password]::-ms-reveal{display:none}input[type=password]{appearance:none;-webkit-appearance:none}.unauthorized-page{align-items:center;background:var(--color-background);display:flex;justify-content:center;min-height:100vh;padding:24px}.unauthorized-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:440px;padding:48px 36px;text-align:center}.unauthorized-icon{align-items:center;background:var(--color-danger-light);border-radius:50%;color:var(--color-danger);display:inline-flex;height:80px;justify-content:center;margin-bottom:24px;width:80px}.unauthorized-card h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 10px}.unauthorized-card p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 28px}.employee-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.employee-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.employee-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.employee-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employee-form-page__heading{min-width:0}.employee-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.employee-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.employee-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.employee-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.employee-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.employee-form-page__alert-content{flex:1 1;min-width:0}.employee-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.employee-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.employee-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.employee-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.employee-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.employee-form-page__form{overflow:visible}.employee-form-page__form,.employee-form-page__layout{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.employee-form-page__layout{grid-template-columns:1fr 320px}.employee-form-page__main{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.employee-form-page__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:visible;position:relative}.employee-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;padding:var(--space-5) var(--space-6)}.employee-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.employee-form-page__section-header h2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.employee-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:4px 0 0}.employee-form-page__hint{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);font-size:var(--font-size-sm);margin:0 var(--space-6) 0;padding:10px 14px}.employee-form-page__grid{grid-gap:18px var(--space-5);display:grid;gap:18px var(--space-5);grid-template-columns:repeat(2,1fr);padding:var(--space-5) var(--space-6)}.employee-form-page__field{grid-gap:6px;display:grid;gap:6px}.employee-form-page__field--full{grid-column:1/-1}.employee-form-page__field label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.employee-form-page__field label span{color:var(--color-danger)}.employee-form-page__control,.employee-form-page__field input,.employee-form-page__field select,.employee-form-page__field textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;min-width:0;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.employee-form-page__field textarea{height:auto;min-height:110px;padding:10px 12px;resize:vertical}.employee-form-page__field select{-webkit-appearance:none;appearance:none;cursor:pointer}.employee-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.employee-form-page__select--open{z-index:240}.employee-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.employee-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.employee-form-page__select--open .employee-form-page__select-trigger,.employee-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.employee-form-page__select-placeholder{color:var(--color-text-muted)}.employee-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.employee-form-page__select--open .employee-form-page__select-chevron{transform:rotate(180deg)}.employee-form-page__select-menu{grid-gap:3px;animation:employee-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;left:0;max-height:260px;max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:260}.employee-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.employee-form-page__select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-form-page__select-option:focus-visible,.employee-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.employee-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.employee-form-page__select-option svg{flex:0 0 auto}@keyframes employee-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.employee-form-page__position-combobox{position:relative}.employee-form-page__position-combobox__control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:10px;height:44px;min-height:44px;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.employee-form-page__position-combobox__control--open,.employee-form-page__position-combobox__control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f}.employee-form-page__position-combobox__control--error{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.employee-form-page__position-combobox__input{background:none!important;border:none!important;box-shadow:none!important;color:var(--color-text);flex:1 1;font-family:inherit;font-size:var(--font-size-sm);line-height:1.5;margin:0;min-width:0;outline:none!important;padding:0}.employee-form-page__position-combobox__input::placeholder{color:var(--color-text-muted)}.employee-form-page__position-combobox__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.employee-form-page__position-combobox__chevron--open{transform:rotate(180deg)}.employee-form-page__position-combobox__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);left:0;max-height:min(260px,40vh);max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:50}.employee-form-page__position-combobox__option{align-items:center;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;padding:9px 10px;width:100%}.employee-form-page__position-combobox__option--active,.employee-form-page__position-combobox__option:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.employee-form-page__position-combobox__option--selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.employee-form-page__position-combobox__state{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);justify-content:center;min-height:42px;padding:10px}.employee-form-page__position-combobox__option-label{flex:1 1;min-width:0}.employee-form-page__position-combobox__option-check{color:var(--color-primary)}.employee-form-page__control:focus,.employee-form-page__field input:focus,.employee-form-page__field select:focus,.employee-form-page__field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f;outline:none}.employee-form-page__position-combobox__input:focus{border:none!important;box-shadow:none!important;outline:none!important}.employee-form-page__control--error,.employee-form-page__field input[aria-invalid=true],.employee-form-page__field select[aria-invalid=true],.employee-form-page__field textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc26261a}.employee-form-page__field small{color:var(--color-danger);font-size:var(--font-size-xs)}.employee-form-page__input-with-icon{min-width:0;position:relative;width:100%}.employee-form-page__input-with-icon svg{color:var(--color-text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.employee-form-page__input-with-icon input{box-sizing:border-box;min-width:0;padding-left:38px;width:100%}.employee-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --employee-calendar-page-bottom-space,0
  )}.employee-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.employee-form-page__date-picker--open{z-index:120}.employee-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.employee-form-page__date-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.employee-form-page__date-picker--open .employee-form-page__date-trigger,.employee-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.employee-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.employee-form-page__date-copy{display:flex;flex-direction:column;gap:2px;height:34px;justify-content:center;min-width:0;overflow:hidden}.employee-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.employee-form-page .employee-form-page__date-copy input{appearance:none;-webkit-appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);display:block;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:18px!important;line-height:18px;margin:0!important;min-height:18px!important;min-width:0;outline:0!important;padding:0!important;text-decoration:none!important;width:100%}.employee-form-page .employee-form-page__date-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-decoration:none}.employee-form-page .employee-form-page__date-copy input:focus,.employee-form-page .employee-form-page__date-copy input:focus-visible,.employee-form-page .employee-form-page__date-copy input:hover{background:#0000!important;border:0!important;box-shadow:none!important;outline:0!important;text-decoration:none!important}.employee-form-page__date-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.employee-form-page__date-toggle:focus-visible,.employee-form-page__date-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.employee-form-page__date-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.employee-form-page__date-picker--open .employee-form-page__date-chevron{transform:rotate(180deg)}.employee-form-page__calendar{--employee-calendar-min-width:390px;animation:employee-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--employee-calendar-min-width),calc(100vw - 32px)));z-index:200}.employee-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.employee-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.employee-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.employee-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.employee-form-page__calendar-close:focus-visible,.employee-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.employee-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.employee-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.employee-form-page__calendar-select{min-width:0;position:relative}.employee-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;width:100%}.employee-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.employee-form-page__calendar-select--open .employee-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.employee-form-page__calendar-select--open .employee-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.employee-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.employee-form-page .employee-form-page__calendar-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.employee-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.employee-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.employee-form-page .employee-form-page__calendar-select-option:focus-visible:not(:disabled),.employee-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.employee-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.employee-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.employee-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.employee-form-page__calendar-nav:focus-visible:not(:disabled),.employee-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.employee-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.employee-form-page__calendar-grid,.employee-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.employee-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.employee-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.employee-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.employee-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.employee-form-page__calendar-day:focus-visible:not(:disabled),.employee-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.employee-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.employee-form-page__calendar-day--today:not(.employee-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.employee-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.employee-form-page__calendar-day--selected:focus-visible,.employee-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.employee-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.employee-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.employee-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.employee-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.employee-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes employee-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.employee-form-page__calendar{--employee-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.employee-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.employee-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.employee-form-page__calendar-nav{height:36px;width:34px}.employee-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.employee-form-page__calendar-weekdays{padding:0 8px}.employee-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.employee-form-page__calendar-footer{gap:8px;padding:9px 10px}}.employee-form-page__account-toggle{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:border-color var(--transition-fast)}.employee-form-page__account-toggle:hover{border-color:var(--color-primary)}.employee-form-page__account-toggle--active,.employee-form-page__account-toggle--active:hover{border-color:var(--color-success)}.employee-form-page__account-toggle-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.employee-form-page__account-toggle--active .employee-form-page__account-toggle-icon{background:var(--color-success-soft);color:var(--color-success)}.employee-form-page__account-toggle-text{flex:1 1;min-width:0}.employee-form-page__account-toggle--active .employee-form-page__account-toggle-text strong{color:var(--color-success)}.employee-form-page__account-toggle-text strong{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.employee-form-page__account-toggle-text small{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin-top:2px}.employee-form-page__account-toggle input[type=checkbox]{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.employee-form-page__switch{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-full);display:inline-flex;flex-shrink:0;height:24px;position:relative;transition:background-color var(--transition-fast);width:44px}.employee-form-page__switch>span{background:var(--color-surface);border-radius:50%;box-shadow:0 1px 3px #00000026;height:18px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:18px}.employee-form-page__account-toggle input:checked+.employee-form-page__switch{background:var(--color-primary);border-color:var(--color-primary)}.employee-form-page__account-toggle input:checked+.employee-form-page__switch>span{transform:translateX(20px)}.employee-form-page__sidebar{grid-gap:var(--space-5);align-content:start;display:grid;gap:var(--space-5);position:-webkit-sticky;position:sticky;top:var(--space-5)}.employee-form-page__photo-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.employee-form-page__photo-heading{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.employee-form-page__photo-heading>svg{color:var(--color-primary)}.employee-form-page__photo-heading span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.employee-form-page__photo-heading h2{color:var(--color-text);font-size:var(--font-size-md);margin:4px 0 0}.employee-form-page__photo-preview{align-items:center;background:var(--color-background-alt);border:5px solid var(--color-primary-soft);border-radius:50%;box-shadow:0 0 0 1px var(--color-border);display:flex;height:164px;justify-content:center;margin:22px auto 18px;overflow:hidden;width:164px}.employee-form-page__photo-preview img{height:100%;object-fit:cover;width:100%}.employee-form-page__photo-fallback{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:8px;text-align:center}.employee-form-page__photo-fallback span{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.employee-form-page__photo-cancel,.employee-form-page__photo-select{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;width:100%}.employee-form-page__photo-select{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.employee-form-page__photo-select:hover{background:var(--color-primary-hover)}.employee-form-page__photo-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);margin-top:9px}.employee-form-page__photo-cancel:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.employee-form-page__current-photo,.employee-form-page__photo-help{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:12px 0 0;text-align:center}.employee-form-page__selected-file{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-md);color:var(--color-success);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;margin-top:12px;min-width:0;padding:9px 10px}.employee-form-page__selected-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-form-page__photo-error{color:var(--color-danger);display:block;font-size:var(--font-size-xs);margin-top:10px;text-align:center}.employee-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;padding:var(--space-5)}.employee-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.employee-form-page__summary h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:6px 0 14px}.employee-form-page__summary dl{grid-gap:10px;display:grid;gap:10px}.employee-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.employee-form-page__summary dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.employee-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.employee-form-page__actions>div:first-child{grid-gap:3px;display:grid;gap:3px;min-width:0}.employee-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.employee-form-page__actions>div:first-child>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.employee-form-page__action-buttons{display:flex;gap:10px}.employee-form-page__cancel,.employee-form-page__submit{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 18px;transition:all var(--transition-fast)}.employee-form-page__cancel{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.employee-form-page__cancel:hover{background:var(--color-surface-hover)}.employee-form-page__submit{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.employee-form-page__submit:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.employee-form-page__cancel:disabled,.employee-form-page__submit:disabled{cursor:not-allowed;opacity:.6}.employee-form-page__spinner{animation:employee-form-spin .85s linear infinite}@keyframes employee-form-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.employee-form-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:44px 20px;text-align:center}.employee-form-page__state h1{margin:14px 0 6px}.employee-form-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}@media (max-width:1024px){.employee-form-page__layout{grid-template-columns:1fr}.employee-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr;position:static}}@media (max-width:768px){.employee-form-page__grid,.employee-form-page__sidebar{grid-template-columns:1fr}.employee-form-page__actions{align-items:stretch;flex-direction:column;position:static}.employee-form-page__action-buttons{flex-direction:column}}.employee-form-page__position-combobox__control .employee-form-page__position-combobox__input{height:auto!important;min-height:0!important;padding:0!important}.employee-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.employee-form-page input[type=number]::-webkit-inner-spin-button,.employee-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.employee-form-page input[type=password]::-ms-clear,.employee-form-page input[type=password]::-ms-reveal{display:none}.employee-form-page__field:has(.employee-form-page__select--open){position:relative;z-index:220}.employee-form-page__section:has(.employee-form-page__select--open){z-index:210}.employee-form-page__select-menu--portal{box-sizing:border-box;margin:0;max-width:none!important;min-width:0!important;z-index:9999}.employee-form-page__select-action-wrap{border-top:1px solid var(--color-border-light);margin-top:3px;padding-top:6px}.employee-form-page__select-action{align-items:center;background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));border-radius:9px;color:var(--color-text);cursor:pointer;display:flex;font:inherit;gap:10px;min-height:50px;padding:7px 9px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast);width:100%}.employee-form-page__select-action:focus-visible,.employee-form-page__select-action:hover{background:var(--color-primary-soft);border-color:var(--color-primary);outline:0}.employee-form-page__select-action-icon{align-items:center;background:var(--color-primary);border-radius:9px;color:#fff;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;overflow:visible;position:relative;width:34px}.employee-form-page__select-action-plus{fill:none!important;color:#fff!important;display:block!important;flex:0 0 18px!important;height:18px!important;inset:auto!important;min-height:18px!important;min-width:18px!important;pointer-events:none;position:static!important;transform:none!important;width:18px!important}.employee-form-page__select-action-plus,.employee-form-page__select-action-plus>*{stroke:#fff!important;opacity:1!important;visibility:visible!important}.employee-form-page__select-action-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.employee-form-page__select-action-copy strong{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.employee-form-page__select-action-copy small{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-position-popup__backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a7a;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:11000}.employee-position-popup{animation:employee-position-popup-in .18s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;box-shadow:0 28px 70px #0f172a3d,0 4px 18px #0f172a1a;max-height:min(760px,calc(100vh - 48px));overflow:hidden;width:min(620px,100%)}@keyframes employee-position-popup-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.employee-position-popup__header{grid-gap:12px;align-items:start;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-bottom:1px solid var(--color-border-light);display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr) 38px;padding:18px 20px}.employee-position-popup__header-icon{align-items:center;background:var(--color-primary);border-radius:13px;box-shadow:var(--shadow-sm);color:var(--color-surface);display:inline-flex;height:44px;justify-content:center;width:44px}.employee-position-popup__heading{min-width:0}.employee-position-popup__heading>span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.075em;text-transform:uppercase}.employee-position-popup__heading h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:3px 0 0}.employee-position-popup__heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.employee-position-popup__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:36px}.employee-position-popup__close:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.employee-position-popup__body{grid-gap:18px;display:grid;gap:18px;max-height:calc(100vh - 235px);overflow-y:auto;padding:18px 20px}.employee-position-popup__create,.employee-position-popup__existing{background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;min-width:0;padding:14px}.employee-position-popup__create{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.employee-position-popup__section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:11px}.employee-position-popup__section-title>div{display:flex;flex-direction:column;gap:2px}.employee-position-popup__section-title span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.employee-position-popup__section-title strong{color:var(--color-text);font-size:var(--font-size-sm)}.employee-position-popup__list{grid-gap:7px;display:grid;gap:7px;max-height:250px;overflow-y:auto;padding-right:2px}.employee-position-popup__item{grid-gap:9px;align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:11px;display:grid;gap:9px;grid-template-columns:34px minmax(0,1fr) 32px;min-height:50px;padding:5px 6px 5px 7px}.employee-position-popup__item-icon{align-items:center;background:var(--color-primary-soft);border-radius:9px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.employee-position-popup__item-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.employee-position-popup__item-copy strong{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-position-popup__item-copy small{color:var(--color-text-muted);font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-position-popup__delete{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:30px}.employee-position-popup__delete:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.employee-position-popup__delete:disabled{cursor:not-allowed;opacity:.35}.employee-position-popup__field{grid-gap:7px;display:grid;gap:7px}.employee-position-popup__field label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.employee-position-popup__field label span,.employee-position-popup__field>small{color:var(--color-danger)}.employee-position-popup__input-wrap{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;height:44px;overflow:hidden;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.employee-position-popup__input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.employee-position-popup__input-wrap--error,.employee-position-popup__input-wrap--error:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,#0000)}.employee-position-popup__input-wrap>svg{color:var(--color-primary);flex:0 0 auto;margin-left:13px;pointer-events:none}.employee-form-page .employee-position-popup__input-wrap input,.employee-form-page .employee-position-popup__input-wrap input:focus,.employee-form-page .employee-position-popup__input-wrap input:focus-visible,.employee-form-page .employee-position-popup__input-wrap input:hover{-webkit-appearance:none;appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:42px;min-width:0;outline:0!important;padding:0 13px 0 10px;width:100%}.employee-position-popup__input-wrap input::placeholder{color:var(--color-text-muted)}.employee-position-popup__field>small{font-size:var(--font-size-xs)}.employee-position-popup__actions{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:9px;justify-content:flex-end;padding:14px 20px 16px}.employee-position-popup__cancel,.employee-position-popup__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:40px;padding:0 15px}.employee-position-popup__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.employee-position-popup__submit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.employee-position-popup__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.employee-position-popup__cancel:disabled,.employee-position-popup__close:disabled,.employee-position-popup__submit:disabled{cursor:not-allowed;opacity:.65}.employee-position-delete-confirm__backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a8a;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:12000}.employee-position-delete-confirm{grid-gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;box-shadow:0 26px 70px #0f172a47;display:grid;gap:14px;grid-template-columns:48px minmax(0,1fr);padding:20px;width:min(470px,100%)}.employee-position-delete-confirm__icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:14px;color:var(--color-danger);display:inline-flex;height:48px;justify-content:center;width:48px}.employee-position-delete-confirm__content>span{color:var(--color-danger);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.employee-position-delete-confirm__content h3{color:var(--color-text);font-size:var(--font-size-lg);margin:4px 0 6px}.employee-position-delete-confirm__content p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55;margin:0}.employee-position-delete-confirm__error{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 25%,var(--color-border));border-radius:9px;color:var(--color-danger);display:flex;font-size:var(--font-size-xs);gap:7px;margin-top:12px;padding:9px 10px}.employee-position-delete-confirm__actions{display:flex;gap:9px;grid-column:1/-1;justify-content:flex-end;padding-top:4px}.employee-position-delete-confirm__cancel,.employee-position-delete-confirm__delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:40px;padding:0 14px}.employee-position-delete-confirm__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.employee-position-delete-confirm__delete{background:var(--color-danger);border:1px solid var(--color-danger);color:#fff}.employee-position-delete-confirm__cancel:disabled,.employee-position-delete-confirm__delete:disabled{cursor:not-allowed;opacity:.65}@media (max-width:560px){.employee-position-popup__backdrop{align-items:flex-end;padding:12px}.employee-position-popup{border-radius:18px;max-height:calc(100vh - 24px)}.employee-position-popup__header{grid-template-columns:40px minmax(0,1fr) 36px;padding:15px}.employee-position-popup__body{max-height:calc(100vh - 220px);padding:14px 15px}.employee-position-popup__actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 15px 14px}.employee-position-delete-confirm__backdrop{align-items:flex-end;padding:12px}.employee-position-delete-confirm{border-radius:16px;grid-template-columns:42px minmax(0,1fr);padding:16px}.employee-position-delete-confirm__icon{height:42px;width:42px}.employee-position-delete-confirm__actions{display:grid;grid-template-columns:1fr 1fr}}.account-settings-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;width:100%}.account-settings-page__header{align-items:flex-end;display:flex;gap:var(--space-4);justify-content:space-between}.account-settings-page__eyebrow{color:var(--color-primary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.account-settings-page__header h1{color:var(--color-text);font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.03em;margin:0}.account-settings-page__header p{color:var(--color-text-muted);line-height:1.55;margin:7px 0 0}.account-settings-page__identity-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:var(--space-4);min-width:0;padding:var(--space-5)}.account-settings-page__identity-avatar{background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:grid;flex:0 0 70px;font-size:1.15rem;font-weight:var(--font-weight-bold);height:70px;overflow:hidden;place-items:center;width:70px}.account-settings-page__identity-avatar img{height:100%;object-fit:cover;width:100%}.account-settings-page__identity-main{flex:1 1;min-width:0}.account-settings-page__identity-main h2{color:var(--color-text);font-size:var(--font-size-xl);margin:0 0 5px}.account-settings-page__identity-main span{color:var(--color-text-muted);display:block;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-settings-page__identity-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.account-settings-page__badge{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:29px;padding:0 11px}.account-settings-page__badge--active{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 24%,var(--color-border));color:var(--color-success)}.account-settings-page__badge--inactive{background:var(--color-danger-light);border-color:color-mix(in srgb,var(--color-danger) 24%,var(--color-border));color:var(--color-danger)}.account-settings-page__layout{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-width:0}.account-settings-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.account-settings-page__panel-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding:var(--space-5)}.account-settings-page__panel-icon{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:grid;flex:0 0 42px;height:42px;place-items:center;width:42px}.account-settings-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.account-settings-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45;margin:4px 0 0}.account-settings-page__photo-field{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);margin:var(--space-5) var(--space-5) 0;padding:var(--space-4)}.account-settings-page__photo-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);display:grid;flex:0 0 76px;height:76px;overflow:hidden;place-items:center;width:76px}.account-settings-page__photo-preview img{height:100%;object-fit:cover;width:100%}.account-settings-page__photo-field strong{color:var(--color-text);font-size:var(--font-size-sm)}.account-settings-page__photo-field p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:4px 0 10px}.account-settings-page__school-section{min-width:0}.employee-form-page__photo-preview--logo{border-radius:50%}.employee-form-page__photo-preview--logo img{object-fit:contain}.account-settings-page__form-grid,.account-settings-page__password-fields{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-5)}.account-settings-page__password-fields{grid-template-columns:1fr}.account-settings-page__field{min-width:0}.account-settings-page__field--full{grid-column:1/-1}.account-settings-page__field label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:7px}.account-settings-page__input-wrap,.account-settings-page__password-wrap,.account-settings-page__textarea-wrap{align-items:center;display:flex;min-width:0;position:relative;width:100%}.account-settings-page__input-wrap>svg,.account-settings-page__password-wrap>svg,.account-settings-page__textarea-wrap>svg{color:var(--color-text-muted);left:13px;pointer-events:none;position:absolute;z-index:1}.account-settings-page__textarea-wrap>svg{top:13px}.account-settings-page__input-wrap input,.account-settings-page__password-wrap input,.account-settings-page__textarea-wrap textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.account-settings-page__input-wrap input,.account-settings-page__password-wrap input{min-height:44px;padding:0 43px 0 40px}.account-settings-page__textarea-wrap textarea{line-height:1.55;min-height:98px;padding:12px 13px 12px 40px;resize:vertical}.account-settings-page__input-wrap input:focus,.account-settings-page__password-wrap input:focus,.account-settings-page__textarea-wrap textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.account-settings-page__input-wrap input[aria-invalid=true],.account-settings-page__password-wrap input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 9%,#0000)}.account-settings-page__password-wrap>button{background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:grid;height:32px;place-items:center;position:absolute;right:8px;width:32px}.account-settings-page__password-wrap>button:hover{background:var(--color-surface-hover);color:var(--color-primary)}.account-settings-page__field-error,.account-settings-page__field>small{color:var(--color-danger);display:block;font-size:var(--font-size-xs);line-height:1.4;margin-top:6px}.account-settings-page__readonly-grid{grid-gap:10px;border-top:1px solid var(--color-border-light);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 var(--space-5) var(--space-5);padding-top:var(--space-4)}.account-settings-page__readonly-grid>div{grid-gap:4px 8px;align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:grid;gap:4px 8px;grid-template-columns:auto 1fr;padding:11px 12px}.account-settings-page__readonly-grid svg{color:var(--color-primary);grid-row:1/3}.account-settings-page__readonly-grid span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.account-settings-page__readonly-grid strong{color:var(--color-text);font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-settings-page__security-note{align-items:flex-start;background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:var(--radius-md);color:var(--color-primary);display:flex;gap:10px;margin:0 var(--space-5) var(--space-5);padding:12px 14px}.account-settings-page__security-note p{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.55;margin:0}.account-settings-page__panel-actions{background:var(--color-surface-secondary);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;padding:var(--space-4) var(--space-5)}.account-settings-page__primary-button,.account-settings-page__secondary-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.account-settings-page__primary-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.account-settings-page__primary-button:hover:not(:disabled){background:var(--color-sidebar);background:var(--color-primary-dark,var(--color-sidebar));border-color:var(--color-primary-dark,var(--color-sidebar))}.account-settings-page__primary-button:disabled{cursor:not-allowed;opacity:.6}.account-settings-page__secondary-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);min-height:34px;padding:0 11px}.account-settings-page__secondary-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.account-settings-page__photo-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.account-settings-page__danger-button{align-items:center;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-danger) 40%,var(--color-border));border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:34px;padding:0 11px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.account-settings-page__danger-button:hover:not(:disabled){background:var(--color-danger-light);border-color:var(--color-danger)}.account-settings-page__danger-button:disabled{cursor:not-allowed;opacity:.6}.account-settings-page__state{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-muted);display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:360px;padding:var(--space-6);text-align:center}.account-settings-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:4px 0 0}.account-settings-page__state p{line-height:1.55;margin:0;max-width:520px}.account-settings-page__state--error>svg{color:var(--color-danger)}.account-settings-page__spinner{animation:account-settings-spin .8s linear infinite}@keyframes account-settings-spin{to{transform:rotate(1turn)}}@media (max-width:1050px){.account-settings-page__layout{grid-template-columns:1fr}}@media (max-width:680px){.account-settings-page__identity-card{align-items:flex-start;flex-wrap:wrap}.account-settings-page__identity-badges{justify-content:flex-start;width:100%}.account-settings-page__form-grid,.account-settings-page__readonly-grid{grid-template-columns:1fr}.account-settings-page__photo-field{align-items:flex-start}}@media (max-width:460px){.account-settings-page__form-grid,.account-settings-page__identity-card,.account-settings-page__panel-actions,.account-settings-page__panel-header,.account-settings-page__password-fields{padding-left:var(--space-4);padding-right:var(--space-4)}.account-settings-page__photo-field,.account-settings-page__readonly-grid,.account-settings-page__security-note{margin-left:var(--space-4);margin-right:var(--space-4)}}.account-settings-page__theme-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.account-settings-page__theme-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding:var(--space-5)}.account-settings-page__theme-header-icon{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:grid;flex:0 0 42px;height:42px;place-items:center;width:42px}.account-settings-page__theme-header h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.account-settings-page__theme-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45;margin:4px 0 0}.account-settings-page__theme-body{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(280px,380px);padding:var(--space-5)}.account-settings-page__theme-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.account-settings-page__theme-field{min-width:0}.account-settings-page__theme-field-head{align-items:center;display:flex;gap:8px;margin-bottom:7px}.account-settings-page__theme-field-head label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.account-settings-page__theme-swatch{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:block;flex:0 0 22px;height:22px;overflow:hidden;position:relative;width:22px}.account-settings-page__theme-swatch input[type=color]{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.account-settings-page__theme-field>input[type=text]{background:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:40px;outline:0;padding:8px 11px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.account-settings-page__theme-field>input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.account-settings-page__theme-field>input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 9%,#0000)}.account-settings-page__theme-field>small{color:var(--color-danger);display:block;font-size:var(--font-size-xs);line-height:1.4;margin-top:6px}.account-settings-page__theme-preview{background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);min-width:0;padding:var(--space-4)}.account-settings-page__theme-preview h3{color:var(--color-text);font-size:var(--font-size-md);margin:0}.account-settings-page__theme-preview-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:4px 0 14px}.account-settings-page__theme-preview-frame{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;min-height:230px;overflow:hidden}.account-settings-page__theme-preview-sidebar{display:flex;flex:0 0 86px;flex-direction:column;gap:10px;padding:12px 10px}.account-settings-page__theme-preview-sidebar strong{font-size:var(--font-size-xs)}.account-settings-page__theme-preview-sidebar>span{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.account-settings-page__theme-preview-nav{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:6px 8px}.account-settings-page__theme-preview-content{border-style:solid;border-width:1px;flex:1 1;min-width:0;padding:12px}.account-settings-page__theme-preview-bar{align-items:center;border-bottom-style:solid;border-bottom-width:1px;display:flex;justify-content:space-between;padding-bottom:10px}.account-settings-page__theme-preview-bar strong{font-size:var(--font-size-sm)}.account-settings-page__theme-preview-avatar{border-radius:50%;display:grid;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:26px;place-items:center;width:26px}.account-settings-page__theme-preview-card{border-radius:var(--radius-sm);border-style:solid;border-width:1px;margin-top:10px;padding:10px}.account-settings-page__theme-preview-card>strong{font-size:var(--font-size-xs)}.account-settings-page__theme-preview-card>p{font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 10px}.account-settings-page__theme-preview-actions{display:flex;flex-wrap:wrap;gap:6px}.account-settings-page__theme-preview-actions>span{border-radius:var(--radius-full);font-size:.6875rem;font-weight:var(--font-weight-semibold);padding:4px 9px}.account-settings-page__theme-preview-outline{background:#0000;border:1px solid #0000}@media (max-width:1050px){.account-settings-page__theme-body{grid-template-columns:1fr}}@media (max-width:460px){.account-settings-page__theme-header{padding-left:var(--space-4);padding-right:var(--space-4)}.account-settings-page__theme-body{padding:var(--space-4)}.account-settings-page__theme-grid{grid-template-columns:1fr}}.empty-state{display:flex;flex-direction:column;min-height:390px;padding:36px 20px;text-align:center}.empty-state,.empty-state__icon{align-items:center;justify-content:center}.empty-state__icon{background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;width:68px}.empty-state__title{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.empty-state__description{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.empty-state__action{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:var(--space-5);min-height:40px;padding:0 15px}.empty-state__action:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.ss{min-width:0;position:relative;width:100%}.ss__trigger{align-items:center;background:var(--color-surface);background:var(--color-input-background,var(--color-surface));border:1px solid var(--color-border-strong,var(--color-border));border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:6px;min-height:40px;outline:none;padding:9px 36px 9px 12px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.ss__trigger:hover:not(:disabled){border-color:var(--color-primary)}.ss__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,#0000)}.ss__trigger:disabled{cursor:not-allowed;opacity:.55}.ss--error .ss__trigger,.ss--open .ss__trigger{border-color:#dc2626;border-color:var(--color-danger,#dc2626)}.ss--error .ss__trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 10%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger,#dc2626) 10%,#0000)}.ss__value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss__placeholder{color:#9aa5b4;color:var(--color-input-placeholder,var(--color-text-light,#9aa5b4))}.ss__clear{align-items:center;border-radius:50%;color:#667085;color:var(--color-text-muted,#667085);cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;transition:background var(--transition-fast);width:20px}.ss__clear:hover{background:#e5e7eb;background:var(--color-border-light,#e5e7eb);color:var(--color-text)}.ss__chevron{color:#667085;color:var(--color-text-muted,#667085);flex-shrink:0;pointer-events:none;transition:transform var(--transition-fast)}.ss--open .ss__chevron{transform:rotate(180deg)}.ss__dropdown{animation:ss-slide-down .15s ease-out;background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border-light,#e5e7eb);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014,0 1px 3px #0000000f;display:flex;flex-direction:column;left:0;max-height:260px;overflow:hidden;position:absolute;top:calc(100% + 4px);width:100%;z-index:1000}@keyframes ss-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss__search-wrapper{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-light,#e5e7eb);display:flex;flex-shrink:0;position:relative}.ss__search-icon{color:#667085;color:var(--color-text-muted,#667085);left:10px;pointer-events:none;position:absolute}.ss__search{background:#0000;border:none;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:none;padding:8px 10px 8px 32px;width:100%}.ss__search::placeholder{color:#9aa5b4;color:var(--color-input-placeholder,var(--color-text-light,#9aa5b4))}.ss__search::-webkit-search-cancel-button{-webkit-appearance:none}.ss__list{list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}.ss__option{color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:8px 12px;transition:background var(--transition-fast)}.ss__option--active,.ss__option:hover{background:#f3f4f6;background:var(--color-background-alt,#f3f4f6)}.ss__option--selected{background:color-mix(in srgb,var(--color-primary) 8%,#0000);color:var(--color-primary);font-weight:500}.ss__option--selected.ss__option--active,.ss__option--selected:hover{background:color-mix(in srgb,var(--color-primary) 14%,#0000)}.ss__empty{color:#667085;color:var(--color-text-muted,#667085);font-size:12px;font-size:var(--font-size-xs,12px);padding:12px;text-align:center}.ss--disabled{opacity:.55;pointer-events:none}.audit-trail-page{grid-gap:var(--space-5);color:var(--color-text);display:grid;gap:var(--space-5);min-width:0;width:100%}.audit-trail-page__header{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.audit-trail-page__header:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:205px;pointer-events:none;position:absolute;right:-44px;top:-72px;width:205px}.audit-trail-page__header>div{min-width:0;position:relative;z-index:1}.audit-trail-modal__eyebrow,.audit-trail-page__eyebrow{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;padding:5px 11px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.audit-trail-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);color:var(--color-surface)}.audit-trail-modal__eyebrow{background:var(--color-primary-lighter);color:var(--color-primary);margin-bottom:7px}.audit-trail-page__header h1{color:var(--color-surface);font-size:clamp(1.55rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1.15;margin:10px 0 0}.audit-trail-page__header p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:720px}.audit-trail-page__refresh{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 17px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.audit-trail-page__refresh:hover:not(:disabled){background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.audit-trail-page__refresh:disabled{cursor:not-allowed;opacity:.7}.audit-trail-page__alert{align-items:center;background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.audit-trail-page__alert>span{flex:1 1}.audit-trail-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.audit-trail-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.audit-trail-page__filters{grid-gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:14px;min-width:0;padding:14px}.audit-trail-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:10px;min-height:46px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.audit-trail-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.audit-trail-page__search svg{flex:0 0 auto}.audit-trail-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.audit-trail-page__search input::placeholder{color:var(--color-input-placeholder)}.audit-trail-page__filter-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(170px,1fr) minmax(180px,1fr) minmax(155px,.8fr) minmax(155px,.8fr) auto}.audit-trail-page__filter-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.audit-trail-page__filter-grid label>span{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px}.audit-trail-page__filter-grid label>span svg{color:var(--color-primary)}.audit-trail-page__filter-grid input,.audit-trail-page__filter-grid select{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:42px;outline:0;padding:0 12px;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.audit-trail-page__filter-grid input:hover,.audit-trail-page__filter-grid select:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.audit-trail-page__filter-grid input:focus,.audit-trail-page__filter-grid select:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,#0000)}.audit-trail-page__reset{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:42px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.audit-trail-page__reset:hover{background:var(--color-primary-lighter);border-color:var(--color-primary);color:var(--color-primary)}.audit-trail-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.audit-trail-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:320px;padding:32px;text-align:center}.audit-trail-page__state>svg{color:var(--color-primary)}.audit-trail-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:14px 0 5px}.audit-trail-page__state p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.audit-trail-page__table-scroll{overflow-x:auto;width:100%}.audit-trail-page__table{border-collapse:initial;border-spacing:0;min-width:1030px;width:100%}.audit-trail-page__table thead{position:-webkit-sticky;position:sticky;top:0;z-index:2}.audit-trail-page__table th{background:var(--color-table-header);border-bottom:1px solid color-mix(in srgb,var(--color-table-header-text) 10%,#0000);color:var(--color-table-header-text);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;padding:13px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.audit-trail-page__table td{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:15px 16px;transition:background-color var(--transition-fast);vertical-align:middle}.audit-trail-page__table tbody tr:last-child td{border-bottom:0}.audit-trail-page__table tbody tr:hover td{background:var(--color-table-row-hover)}.audit-trail-page__date{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.audit-trail-page__date svg{background:var(--color-primary-lighter);border-radius:var(--radius-md);color:var(--color-primary);height:30px;padding:7px;width:30px}.audit-trail-page__date span{font-feature-settings:"tnum";color:var(--color-text);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}.audit-trail-page__actor{align-items:center;display:flex;gap:10px;min-width:170px}.audit-trail-page__actor-avatar{align-items:center;background:var(--color-primary-lighter);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}.audit-trail-page__actor>span:last-child,.audit-trail-page__subject{display:flex;flex-direction:column;gap:3px;min-width:0}.audit-trail-page__actor strong,.audit-trail-page__subject strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.35}.audit-trail-page__actor small,.audit-trail-page__subject small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.35}.audit-trail-page__subject{min-width:130px}.audit-trail-page__action-badge{align-items:center;background:var(--color-info-soft);border:1px solid color-mix(in srgb,var(--color-info) 18%,#0000);border-radius:var(--radius-full);color:var(--color-info);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);justify-content:center;line-height:1;min-height:27px;padding:4px 10px;white-space:nowrap}.audit-trail-page__action-badge--created,.audit-trail-page__action-badge--login{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 20%,#0000);color:var(--color-success)}.audit-trail-page__action-badge--password_changed,.audit-trail-page__action-badge--updated{background:var(--color-warning-soft);border-color:color-mix(in srgb,var(--color-warning) 20%,#0000);color:var(--color-warning)}.audit-trail-page__action-badge--deleted,.audit-trail-page__action-badge--logout{background:var(--color-danger-light);border-color:color-mix(in srgb,var(--color-danger) 20%,#0000);color:var(--color-danger)}.audit-trail-page__description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);line-height:1.5;margin:0;max-width:410px;overflow:hidden}.audit-trail-page__actions-heading{text-align:center!important;width:82px}.audit-trail-page__table td:last-child{text-align:center}.audit-trail-page__view{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:var(--color-primary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:36px}.audit-trail-page__view:hover{background:var(--color-primary-lighter);border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.audit-trail-page__view:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 22%,#0000);outline-offset:2px}.audit-trail-page__pagination{align-items:center;background:var(--color-surface-secondary);border-top:1px solid var(--color-border-light);display:flex;gap:16px;justify-content:space-between;min-height:60px;padding:12px 16px}.audit-trail-page__pagination p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.audit-trail-page__pagination p strong{color:var(--color-text);font-weight:var(--font-weight-semibold)}.audit-trail-page__pagination>div{align-items:center;display:flex;gap:10px}.audit-trail-page__pagination button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;height:36px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:36px}.audit-trail-page__pagination button:hover:not(:disabled){background:var(--color-primary-lighter);border-color:var(--color-primary);color:var(--color-primary)}.audit-trail-page__pagination button:disabled{cursor:not-allowed;opacity:.4}.audit-trail-page__pagination span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap}.audit-trail-page__security-note{align-items:center;background:var(--color-primary-bg-subtle);border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;gap:10px;padding:12px 14px}.audit-trail-page__security-note svg{color:var(--color-primary);flex:0 0 auto}.audit-trail-page__security-note p{font-size:var(--font-size-xs);line-height:1.55;margin:0}.audit-trail-modal__backdrop{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:color-mix(in srgb,var(--color-sidebar) 72%,#0000);display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:var(--z-modal)}.audit-trail-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:min(88vh,840px);overflow:hidden;width:min(880px,100%)}.audit-trail-modal__header{align-items:center;background:linear-gradient(180deg,var(--color-surface) 0,var(--color-surface-secondary) 100%);border-bottom:1px solid var(--color-border-light);display:flex;gap:18px;justify-content:space-between;padding:19px 22px}.audit-trail-modal__header h2{color:var(--color-text);font-size:var(--font-size-xl);letter-spacing:-.02em;margin:0}.audit-trail-modal__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:38px}.audit-trail-modal__close:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.audit-trail-modal__content{max-height:calc(88vh - 84px);overflow-y:auto;padding:20px 22px 22px}.audit-trail-modal__summary{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.audit-trail-modal__summary p{color:var(--color-text);font-size:var(--font-size-md);line-height:1.6;margin:11px 0 0}.audit-trail-modal__meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.audit-trail-modal__meta-grid>div{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:6px;min-width:0;overflow:hidden;padding:14px 15px;position:relative}.audit-trail-modal__meta-grid>div:before{background:var(--color-primary);content:"";height:100%;left:0;position:absolute;top:0;width:3px}.audit-trail-modal__meta-grid span{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px}.audit-trail-modal__meta-grid span svg{color:var(--color-primary)}.audit-trail-modal__meta-grid strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.audit-trail-modal__meta-grid small{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow-wrap:anywhere}.audit-trail-modal__section{margin-top:20px}.audit-trail-modal__section-heading{align-items:flex-start;display:flex;gap:10px;margin-bottom:11px}.audit-trail-modal__section-heading>svg{background:var(--color-primary-lighter);border-radius:var(--radius-md);color:var(--color-primary);flex:0 0 auto;height:34px;padding:8px;width:34px}.audit-trail-modal__section-heading h3{color:var(--color-text);font-size:var(--font-size-md);margin:1px 0 0}.audit-trail-modal__section-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:3px 0 0;overflow-wrap:anywhere}.audit-trail-modal__changes-scroll{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.audit-trail-modal__changes-table{border-collapse:collapse;min-width:620px;width:100%}.audit-trail-modal__changes-table td,.audit-trail-modal__changes-table th{border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);overflow-wrap:anywhere;padding:11px 13px;text-align:left;vertical-align:top}.audit-trail-modal__changes-table th{background:var(--color-table-header);color:var(--color-table-header-text);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.audit-trail-modal__changes-table td:first-child{background:var(--color-surface-secondary);color:var(--color-text);font-weight:var(--font-weight-semibold);width:23%}.audit-trail-modal__changes-table td:nth-child(2){background:color-mix(in srgb,var(--color-danger-light) 48%,var(--color-surface))}.audit-trail-modal__changes-table td:nth-child(3){background:color-mix(in srgb,var(--color-success-soft) 48%,var(--color-surface))}.audit-trail-modal__changes-table tr:last-child td{border-bottom:0}.audit-trail-modal__no-changes{background:var(--color-surface-secondary);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--font-size-sm);padding:15px;text-align:center}.is-spinning{animation:audit-trail-spin .9s linear infinite}@keyframes audit-trail-spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.audit-trail-page__filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-trail-page__reset{justify-self:start}}@media (max-width:760px){.audit-trail-page__header{align-items:stretch;flex-direction:column;padding:var(--space-5)}.audit-trail-page__header:after{right:-95px}.audit-trail-page__refresh{width:100%}.audit-trail-modal__meta-grid,.audit-trail-page__filter-grid{grid-template-columns:1fr}.audit-trail-page__reset{width:100%}.audit-trail-page__pagination{align-items:flex-start;flex-direction:column}.audit-trail-page__security-note{align-items:flex-start}.audit-trail-modal__backdrop{padding:10px}.audit-trail-modal{max-height:94vh}.audit-trail-modal__content{max-height:calc(94vh - 84px);padding:16px}}@media (max-width:520px){.audit-trail-page__filters{padding:12px}.audit-trail-page__header h1{font-size:1.5rem}.audit-trail-page__pagination>div{justify-content:space-between;width:100%}.audit-trail-modal__header{padding:16px}}:root{--sidebar-dark-background:var(--color-sidebar);--sidebar-dark-background-deep:var(--color-sidebar-deep,#070d19);--sidebar-dark-hover:var(--color-sidebar-hover);--sidebar-dark-active:var(--color-sidebar-active);--sidebar-dark-active-hover:var(--color-sidebar-active-hover);--sidebar-dark-text:var(--color-sidebar-text);--sidebar-dark-text-muted:var(--color-sidebar-text-light);--sidebar-dark-icon:var(--color-sidebar-icon,#91a7c4);--sidebar-dark-border:#ffffff17}.school-layout{background:var(--color-background);display:flex;font-family:var(--font-family);min-height:100vh;overflow-x:hidden}.school-layout--collapsed .school-layout__body{margin-left:var(--sidebar-collapsed-width)}.school-layout__body{margin-left:var(--sidebar-width);min-height:100vh;min-width:0;transition:margin-left var(--transition-slow)}.school-layout__body,.school-layout__main{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden}.school-layout__content{flex:1 1;margin-inline:auto;max-width:var(--content-max-width);min-width:0;padding:28px 32px;width:100%}.school-sidebar{background:radial-gradient(circle at 20% 0,#375b9129,#0000 34%),linear-gradient(180deg,#111d33 0,var(--color-sidebar) 46%,#070d19 100%);background:radial-gradient(circle at 20% 0,#375b9129,#0000 34%),linear-gradient(180deg,var(--color-sidebar-deep,#111d33) 0,var(--sidebar-dark-background) 46%,var(--sidebar-dark-background-deep) 100%);border-right:1px solid #ffffff17;border-right:1px solid var(--sidebar-dark-border);bottom:0;display:flex;flex-direction:column;height:100vh;left:0;min-height:0;overflow:visible;position:fixed;top:0;transition:width var(--transition-normal),transform var(--transition-normal);width:var(--sidebar-width);z-index:var(--z-sidebar)}.school-sidebar__header{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;min-height:68px;padding:16px 20px}.school-sidebar__brand{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0;text-decoration:none}.school-sidebar__brand-icon{align-items:center;background:#375b913d;border:1px solid #91a7c43d;border-radius:50%;color:var(--color-sidebar-text);color:var(--sidebar-dark-text);display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;transition:border-color var(--transition-fast),color var(--transition-fast);width:36px}.school-sidebar__brand-icon img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.school-sidebar__brand:hover .school-sidebar__brand-icon{border-color:#91a7c4;border-color:var(--sidebar-dark-icon);color:var(--color-sidebar-text);color:var(--sidebar-dark-text)}.school-sidebar__brand-content{display:flex;flex-direction:column;min-width:0}.school-sidebar__brand-content strong{color:var(--color-sidebar-text);color:var(--sidebar-dark-text);font-size:.95rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}.school-sidebar__brand-content small{color:var(--color-sidebar-text-light);color:var(--sidebar-dark-text-muted);font-size:.72rem;font-weight:500;margin-top:1px}.school-sidebar__mobile-close{align-items:center;background:#ffffff0f;border:none;border-radius:6px;color:var(--color-sidebar-text);color:var(--sidebar-dark-text);cursor:pointer;display:none;height:30px;justify-content:center;transition:all var(--transition-fast);width:30px}.school-sidebar__mobile-close:hover{background:#ffffff1f;color:#fff}.school-sidebar__navigation{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:visible}.school-sidebar__group{display:flex;flex-direction:column;gap:6px}.school-sidebar__group-title{color:#475569;color:var(--sidebar-dark-text-light,#475569);font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin:0;padding:0 10px;text-transform:uppercase}.school-sidebar__list{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;padding:0}.school-sidebar__link{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;box-sizing:border-box;color:var(--color-sidebar-text);color:var(--sidebar-dark-text);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:12px;padding:9px 12px;text-decoration:none;transition:all var(--transition-fast);width:100%}.school-sidebar__link:hover:not(.school-sidebar__link--disabled){background:var(--color-sidebar-hover);background:var(--sidebar-dark-hover);color:var(--color-sidebar-text);color:var(--sidebar-dark-text)}

/* !important: the active state must beat the generic hover rule above
   regardless of CSS order when both classes apply. */.school-sidebar__link--active{background:var(--color-sidebar-active)!important;border-color:#ffffff0f!important;color:var(--color-sidebar-active-text)!important;font-weight:600}.school-sidebar__link--active .school-sidebar__link-icon{color:var(--color-primary-soft)!important}.school-sidebar__item--has-flyout{position:relative}.school-sidebar__chevron-right{color:var(--color-sidebar-text-light);color:var(--sidebar-dark-text-muted);margin-left:auto;transition:transform var(--transition-fast),color var(--transition-fast)}.school-sidebar__item--has-flyout:focus-within .school-sidebar__chevron-right,.school-sidebar__item--has-flyout:hover .school-sidebar__chevron-right{color:var(--color-sidebar-text);color:var(--sidebar-dark-text);transform:translateX(2px)}.school-sidebar-portal-flyout{background:var(--color-sidebar);background:var(--sidebar-dark-background);border:1px solid #91a7c433;border-radius:10px;box-shadow:0 12px 32px #00000080,0 0 0 1px #ffffff0d;box-sizing:border-box;opacity:0;padding:8px;pointer-events:none;position:fixed;transform:translateX(-6px);visibility:hidden;width:175px;z-index:10000}.school-sidebar-portal-flyout--positioned{animation:school-sidebar-flyout-enter .16s ease-out;opacity:1;pointer-events:auto;transform:translateX(0);visibility:visible}@keyframes school-sidebar-flyout-enter{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.school-sidebar__flyout-header{border-bottom:1px solid #ffffff0f;color:var(--color-sidebar-text-light);color:var(--sidebar-dark-text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:4px;padding:4px 8px 6px;text-transform:uppercase}.school-sidebar__flyout-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.school-sidebar__flyout-link{align-items:center;border-radius:6px;color:var(--color-sidebar-text);color:var(--sidebar-dark-text);display:flex;font-size:.8125rem;font-weight:500;gap:10px;padding:7px 10px;text-decoration:none;transition:all var(--transition-fast)}.school-sidebar__flyout-link:focus-visible,.school-sidebar__flyout-link:hover{background:var(--color-sidebar-hover);background:var(--sidebar-dark-hover);color:var(--color-sidebar-text);color:var(--sidebar-dark-text);outline:none}.school-sidebar__flyout-link--active{
  /* !important: mirrors the main nav active state, beating hover styles. */background:var(--color-sidebar-active)!important;background:var(--sidebar-dark-active)!important;color:var(--color-primary-soft)!important;font-weight:600}.school-sidebar__link--disabled{cursor:not-allowed;opacity:.4}.school-sidebar__link-icon{align-items:center;color:#91a7c4;color:var(--sidebar-dark-icon);display:inline-flex;flex-shrink:0;height:18px;justify-content:center;transition:color var(--transition-fast);width:18px}.school-sidebar__link:hover:not(.school-sidebar__link--disabled) .school-sidebar__link-icon{color:var(--color-sidebar-text);color:var(--sidebar-dark-text)}.school-sidebar__link-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-sidebar__footer{align-items:center;background:#070d19;background:var(--sidebar-dark-background-deep);border-top:1px solid #ffffff17;border-top:1px solid var(--sidebar-dark-border);display:flex;flex-shrink:0;gap:10px;padding:14px}.school-sidebar__user-card{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0;padding:4px}.school-sidebar__user-avatar{align-items:center;background:linear-gradient(145deg,var(--color-primary),var(--color-sidebar-active));background:linear-gradient(145deg,var(--color-primary),var(--sidebar-dark-active));border-radius:50%;color:var(--color-text-inverse);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:32px;justify-content:center;overflow:hidden;width:32px}.school-sidebar__user-avatar-image{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.school-sidebar__user-info{display:flex;flex-direction:column;min-width:0}.school-sidebar__user-name{color:var(--color-sidebar-text);color:var(--sidebar-dark-text);font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-sidebar__user-role{font-size:.7rem;white-space:nowrap}.school-sidebar__collapse-button,.school-sidebar__user-role{color:var(--color-sidebar-text-light);color:var(--sidebar-dark-text-muted)}.school-sidebar__collapse-button{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.school-sidebar__collapse-button:hover{background:var(--color-sidebar-hover);background:var(--sidebar-dark-hover);border-color:#ffffff1f;color:var(--color-sidebar-text);color:var(--sidebar-dark-text)}.school-layout--collapsed .school-sidebar{width:var(--sidebar-collapsed-width)}

/* !important: these display:none rules must win over the base layout
   styles regardless of source order in this file. */.school-layout--collapsed .school-sidebar__brand-content,.school-layout--collapsed .school-sidebar__chevron-right,.school-layout--collapsed .school-sidebar__group-title,.school-layout--collapsed .school-sidebar__link-label,.school-layout--collapsed .school-sidebar__user-info{display:none!important}.school-layout--collapsed .school-sidebar__header{justify-content:center;padding:16px 8px}.school-layout--collapsed .school-sidebar__navigation-scroll{padding:16px 8px}.school-layout--collapsed .school-sidebar__link{justify-content:center;padding:10px}.school-layout--collapsed .school-sidebar__footer{flex-direction:column;gap:12px;padding:10px 8px}.school-layout--collapsed .school-sidebar__user-card{flex:initial;justify-content:center}.school-layout--collapsed [data-tooltip]{position:relative}.school-layout--collapsed [data-tooltip]:hover:after{background:var(--color-sidebar);background:var(--sidebar-dark-background);border:1px solid #ffffff1f;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:var(--color-sidebar-text);color:var(--sidebar-dark-text);content:attr(data-tooltip);font-size:.75rem;font-weight:500;left:calc(100% + 12px);padding:5px 10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:999}.school-sidebar-overlay{display:none}.topbar{grid-gap:24px;align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-sizing:border-box;display:grid;gap:24px;grid-template-columns:minmax(220px,1fr) minmax(280px,440px);min-height:68px;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-topbar)}.topbar__left{align-items:center;display:flex;gap:20px;min-width:0}.topbar__menu-button{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-primary);cursor:pointer;display:none;flex-shrink:0;height:38px;justify-content:center;transition:background var(--transition-fast);width:38px}.topbar__menu-button:hover{background:var(--color-primary-bg-subtle)}.topbar__welcome{color:var(--color-primary);font-family:Segoe Script,Brush Script MT,cursive;font-size:1.05rem;font-weight:600;line-height:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__center{display:none}.topbar__search{max-width:320px;position:relative;width:100%}.topbar__search-icon{color:var(--color-sidebar-text);left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color var(--transition-fast)}.topbar__search-input{background:var(--color-background-alt);border:1.5px solid #0000;border-radius:999px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:40px;outline:none;padding:0 16px 0 42px;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.topbar__search-input::placeholder{color:var(--color-sidebar-text)}.topbar__search-input:hover{background:var(--color-primary-lighter)}.topbar__search-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.topbar__search-input:focus~.topbar__search-icon{color:var(--color-primary)}.topbar__right{align-items:center;display:flex;gap:18px;justify-content:flex-end}.topbar__icon-button{align-items:center;background:#0000;border:0;border-radius:50%;color:var(--color-primary);cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;position:relative;transition:background var(--transition-fast);width:38px}.topbar__icon-button:hover{background:var(--color-primary-bg-subtle)}.topbar__notification-dot{background:var(--color-danger);border:2px solid var(--color-surface);border-radius:50%;height:8px;pointer-events:none;position:absolute;right:10px;top:8px;width:8px}.topbar__avatar{color:var(--color-text-inverse)}.topbar__avatar--open,.topbar__avatar:hover{opacity:.9}.topbar__profile-wrapper{position:relative}.topbar__profile-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);position:absolute;right:0;top:calc(100% + 8px);width:230px;z-index:var(--z-modal)}.topbar__profile-summary{align-items:center;display:flex;gap:10px;padding:var(--space-3)}.topbar__profile-menu-avatar{border-radius:var(--radius-full);flex-shrink:0}.topbar__profile-summary strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.topbar__profile-summary span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin-top:1px}.topbar__profile-menu-divider{background:var(--color-border);height:1px;margin:var(--space-1) 0}.topbar__profile-menu button{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;padding:9px 12px;text-align:left;transition:background var(--transition-fast),color var(--transition-fast);width:100%}.topbar__profile-menu button:hover{background:var(--color-background-alt);color:var(--color-text)}.topbar__logout-button{
  /* !important: keeps the danger color when the generic profile-menu
     button hover/background rules would otherwise override it. */color:var(--color-danger)!important}.topbar__logout-button:hover{background:var(--color-danger-light)!important;color:var(--color-danger)!important}.school-footer{align-items:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);justify-content:space-between;margin-top:auto;padding:var(--space-4) var(--space-8)}.school-footer__brand{align-items:center;display:flex;gap:8px}.school-footer__brand span{align-items:center;color:var(--color-primary);display:inline-flex;justify-content:center}.school-footer__brand p{margin:0}.school-footer__status{align-items:center;color:var(--color-success);display:flex;font-weight:var(--font-weight-medium);gap:6px}.school-footer__status svg{flex-shrink:0}.school-footer__links{align-items:center;display:flex;gap:var(--space-4)}.school-footer__links a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.school-footer__links a:hover{color:var(--color-primary)}@media (max-width:1024px){.school-sidebar{transform:translateX(-100%);width:var(--sidebar-width)}.school-sidebar--mobile-open{transform:translateX(0)}.school-sidebar-portal-flyout{display:none!important}.school-sidebar-overlay{background:#030710bd;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--transition-normal);z-index:calc(var(--z-sidebar) - 1)}.school-sidebar-overlay--visible{opacity:1;pointer-events:auto}.school-layout--collapsed .school-layout__body,.school-layout__body{margin-left:0}.topbar__menu-button{display:inline-flex}.school-sidebar__mobile-close{display:flex}.school-layout__content{padding:var(--space-5)}.topbar{padding:0 var(--space-5)}.school-sidebar__collapse-button{display:none}}@media (max-width:768px){.topbar{height:54px;padding:0 var(--space-4)}.topbar__search{max-width:200px}.school-topbar__page-heading h1{font-size:var(--font-size-base)}.school-topbar__page-heading p{display:none}.school-layout__content{padding:var(--space-4)}}@media (max-width:640px){.topbar{grid-template-columns:auto 1fr auto;height:54px;padding:0 var(--space-3)}.topbar__search{display:none}.school-layout__content{padding:var(--space-3)}.school-footer{flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.school-footer__status{justify-content:center;order:-1;width:100%}}.school-sidebar__navigation-scroll{-ms-overflow-style:none;display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 14px;scrollbar-width:none}.school-sidebar__navigation-scroll::-webkit-scrollbar{display:none;height:0;width:0}.topbar__avatar{align-items:center;background:var(--color-primary);border:0;border-radius:50%;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 42px;font-size:.82rem;font-weight:700;height:42px;justify-content:center;overflow:hidden;padding:0;transition:opacity var(--transition-fast);width:42px}.topbar__avatar-image{border-radius:50%;display:block;height:100%;min-height:100%;min-width:100%;object-fit:cover;object-position:center;width:100%}.topbar__avatar--open,.topbar__avatar:hover{opacity:.9}.topbar__profile-menu-avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-text-inverse);display:inline-flex;flex:0 0 38px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:38px;justify-content:center;letter-spacing:.02em;overflow:hidden;padding:0;width:38px}.topbar__profile-menu-avatar .topbar__avatar-image{border-radius:50%;height:100%;object-fit:cover;object-position:center;width:100%}.sd__panel{animation:sd-slide-down .15s ease-out;background:#fff;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 4px 12px #00000014,0 1px 3px #0000000f;display:flex;flex-direction:column;left:0;max-height:260px;overflow:hidden;position:absolute;top:calc(100% + 4px);width:100%;z-index:9999}.sd__panel--portal{position:fixed}@keyframes sd-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sd__search-wrapper{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-light,#e5e7eb);display:flex;flex-shrink:0;position:relative}.sd__search-row{background:#fff;background:var(--color-surface,#fff);margin:0;padding:2px 4px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.sd__search-icon{color:#667085;color:var(--color-text-muted,#667085);left:10px;pointer-events:none;position:absolute}.sd__search{background:#0000;border:none;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:none;padding:8px 10px 8px 32px;width:100%}.sd__search::placeholder{color:#9aa5b4;color:var(--color-input-placeholder,var(--color-text-light,#9aa5b4))}.sd__search::-webkit-search-cancel-button{-webkit-appearance:none}.sd__options{list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}.sd__options li{margin:0;padding:0}.sd__options li button{align-items:center;border:none;display:flex;gap:8px;justify-content:space-between;padding:0;width:100%}.sd__option--highlighted{background:#eef2ff;background:var(--color-primary-soft,#eef2ff);color:var(--color-primary)}.sd__empty{color:#667085;color:var(--color-text-muted,#667085);font-size:12px;font-size:var(--font-size-xs,12px);padding:12px;text-align:center}.admin-dashboard{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.admin-dashboard__year-filter{grid-gap:6px;display:grid;gap:6px;min-width:230px}.admin-dashboard__year-filter>span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.admin-dashboard__year-select-control{position:relative;width:100%}.admin-dashboard__year-select-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;justify-content:space-between;min-height:42px;outline:0;padding:0 11px 0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.admin-dashboard__year-select-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.admin-dashboard__year-select-button:focus-visible,.admin-dashboard__year-select-control--open .admin-dashboard__year-select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.admin-dashboard__year-select-button:disabled{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.admin-dashboard__year-select-value{align-items:center;color:var(--color-text);display:flex;flex:1 1;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__year-select-value--placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.admin-dashboard__year-active-label{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-full);color:var(--color-success);display:inline-flex;flex:0 0 auto;font-size:.68rem;font-weight:var(--font-weight-bold);line-height:1;padding:3px 7px}.admin-dashboard__year-select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:color var(--transition-fast),transform var(--transition-fast)}.admin-dashboard__year-select-control--open .admin-dashboard__year-select-chevron{color:var(--color-primary);transform:rotate(180deg)}.admin-dashboard__year-select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);box-sizing:border-box;display:grid;gap:4px;left:0;margin:0;max-height:260px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:1000}.admin-dashboard__year-select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;justify-content:space-between;min-height:39px;outline:0;padding:8px 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.admin-dashboard__year-select-option:focus-visible,.admin-dashboard__year-select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.admin-dashboard__year-select-option--active,.admin-dashboard__year-select-option--active:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.admin-dashboard__year-select-option--active>svg{color:var(--color-primary);flex:0 0 auto}.admin-dashboard__year-select-option-text{align-items:center;display:flex;flex:1 1;gap:10px;justify-content:space-between;min-width:0}.admin-dashboard__year-select-option-text>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__year-select-option-active{background:var(--color-success-soft);border-radius:var(--radius-full);color:var(--color-success);flex:0 0 auto;font-size:.68rem;font-weight:var(--font-weight-bold);line-height:1;padding:3px 7px}.admin-dashboard__alert{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:12px 14px}.admin-dashboard__section-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:8px;overflow-x:auto;padding:6px;width:100%}.admin-dashboard__section-tabs button{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 16px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.admin-dashboard__section-tabs button:hover{background:var(--color-surface-secondary);color:var(--color-text)}.admin-dashboard__section-tabs button.is-active{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));color:var(--color-primary)}.admin-dashboard__section-tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 18%,#0000);outline-offset:2px}.admin-dashboard__section-content{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.admin-dashboard__table--wide{min-width:720px}.admin-dashboard__table-subtext{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin-top:3px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;min-width:76px;padding:5px 9px}.admin-dashboard__status-badge--active{background:var(--color-success-soft);color:var(--color-success)}.admin-dashboard__status-badge--inactive{background:var(--color-danger-light);color:var(--color-danger)}.admin-dashboard__stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard__stat-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:13px;min-width:0;padding:17px}.admin-dashboard__stat-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.admin-dashboard__stat-card--success .admin-dashboard__stat-icon{background:var(--color-success-soft);color:var(--color-success)}.admin-dashboard__stat-card--info .admin-dashboard__stat-icon{background:var(--color-info-soft);color:var(--color-info)}.admin-dashboard__stat-card--warning .admin-dashboard__stat-icon{background:var(--color-warning-soft);color:var(--color-warning)}.admin-dashboard__stat-card--danger .admin-dashboard__stat-icon{background:var(--color-danger-light);color:var(--color-danger)}.admin-dashboard__stat-content{min-width:0}.admin-dashboard__stat-content p,.admin-dashboard__stat-content span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin:0}.admin-dashboard__stat-content strong{color:var(--color-text);display:block;font-size:1.35rem;letter-spacing:-.025em;margin:3px 0 4px}.admin-dashboard__report-links{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard__report-links>a{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--color-text-secondary);display:flex;gap:12px;justify-content:space-between;min-height:72px;min-width:0;padding:14px;text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.admin-dashboard__report-links>a:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-dashboard__report-links>a>span{align-items:center;display:flex;gap:11px;min-width:0}.admin-dashboard__report-links>a>span>svg{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);flex:0 0 38px;height:38px;padding:9px;width:38px}.admin-dashboard__report-links>a>span>span{grid-gap:3px;display:grid;gap:3px;min-width:0}.admin-dashboard__report-links small,.admin-dashboard__report-links strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__report-links strong{color:var(--color-text);font-size:var(--font-size-sm)}.admin-dashboard__report-links small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-dashboard__bottom-grid,.admin-dashboard__main-grid,.admin-dashboard__tables-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.admin-dashboard__panel-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:11px;padding:16px 18px}.admin-dashboard__panel-header--with-action{justify-content:space-between}.admin-dashboard__panel-title-wrap{align-items:center;display:flex;gap:11px;min-width:0}.admin-dashboard__panel-header>div:not(.admin-dashboard__panel-title-wrap),.admin-dashboard__panel-title-wrap>div{min-width:0}.admin-dashboard__panel-header h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.admin-dashboard__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:3px 0 0}.admin-dashboard__panel-header>a{color:var(--color-primary);flex:0 0 auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-decoration:none}.admin-dashboard__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;width:36px}.admin-dashboard__panel-icon--success{background:var(--color-success-soft);color:var(--color-success)}.admin-dashboard__panel-icon--info{background:var(--color-info-soft);color:var(--color-info)}.admin-dashboard__panel-icon--warning{background:var(--color-warning-soft);color:var(--color-warning)}.admin-dashboard__panel-body{padding:18px}.admin-dashboard__performance-body{grid-gap:22px;align-items:center;display:grid;gap:22px;grid-template-columns:150px minmax(0,1fr)}.admin-dashboard__donut{border-radius:50%;display:grid;height:140px;place-items:center;width:140px}.admin-dashboard__donut:before{content:"";position:absolute}.admin-dashboard__donut>span{align-items:center;background:var(--color-surface);border-radius:50%;box-shadow:inset 0 0 0 1px var(--color-border-light);display:flex;flex-direction:column;height:102px;justify-content:center;width:102px}.admin-dashboard__donut strong{color:var(--color-text);font-size:var(--font-size-2xl)}.admin-dashboard__donut small{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.admin-dashboard__performance-metrics{grid-gap:13px;display:grid;gap:13px}.admin-dashboard__metric-row{grid-gap:6px;display:grid;gap:6px}.admin-dashboard__metric-head{align-items:flex-end;display:flex;gap:14px;justify-content:space-between}.admin-dashboard__metric-head>div{grid-gap:2px;display:grid;gap:2px}.admin-dashboard__metric-head strong{color:var(--color-text);font-size:var(--font-size-sm)}.admin-dashboard__metric-head span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-dashboard__metric-head b{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-dashboard__attendance-track,.admin-dashboard__metric-track{background:var(--color-background-alt);border-radius:var(--radius-full);display:block;height:7px;overflow:hidden}.admin-dashboard__attendance-fill,.admin-dashboard__metric-fill{background:var(--color-primary);border-radius:inherit;display:block;height:100%}.admin-dashboard__attendance-fill--success,.admin-dashboard__metric-fill--success{background:var(--color-success)}.admin-dashboard__attendance-fill--danger,.admin-dashboard__metric-fill--danger{background:var(--color-danger)}.admin-dashboard__attendance-fill--warning{background:var(--color-warning)}.admin-dashboard__attendance-fill--info{background:var(--color-info)}.admin-dashboard__average-box{align-items:center;background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.admin-dashboard__average-box span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-dashboard__average-box strong{color:var(--color-primary);font-size:var(--font-size-sm)}.admin-dashboard__attendance-headline{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.admin-dashboard__attendance-headline>div{background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:12px}.admin-dashboard__attendance-headline span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs)}.admin-dashboard__attendance-headline strong{color:var(--color-text);display:block;font-size:var(--font-size-xl);margin-top:4px}.admin-dashboard__attendance-list{grid-gap:12px;display:grid;gap:12px}.admin-dashboard__attendance-item{grid-gap:6px 12px;display:grid;gap:6px 12px;grid-template-columns:minmax(0,1fr) auto}.admin-dashboard__attendance-item>div:first-child{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:7px}.admin-dashboard__attendance-item>strong{color:var(--color-text);font-size:var(--font-size-sm)}.admin-dashboard__attendance-track{grid-column:1/-1}.admin-dashboard__status-dot{background:var(--color-primary);border-radius:50%;height:8px;width:8px}.admin-dashboard__status-dot--success{background:var(--color-success)}.admin-dashboard__status-dot--danger{background:var(--color-danger)}.admin-dashboard__status-dot--warning{background:var(--color-warning)}.admin-dashboard__status-dot--info{background:var(--color-info)}.admin-dashboard__table-wrap{overflow-x:auto;width:100%}.admin-dashboard__table{border-collapse:collapse;min-width:520px;width:100%}.admin-dashboard__table td,.admin-dashboard__table th{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:12px 16px;text-align:left;white-space:nowrap}.admin-dashboard__table th{background:var(--color-surface-secondary);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.03em;text-transform:uppercase}.admin-dashboard__table tbody tr:hover{background:var(--color-table-row-hover)}.admin-dashboard__table tbody tr:last-child td{border-bottom:0}.admin-dashboard__table td strong{color:var(--color-text)}

/* !important overrides the table cell's left alignment / text color so
   "no data" placeholders render centered and muted inside any column. */.admin-dashboard__empty-cell,.admin-dashboard__empty-text{color:var(--color-text-muted)!important;text-align:center!important}.admin-dashboard__rate-pill{background:var(--color-info-soft);border-radius:var(--radius-full);color:var(--color-info);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;min-width:70px;padding:5px 8px}.admin-dashboard__rate-pill--success{background:var(--color-success-soft);color:var(--color-success)}.admin-dashboard__finance-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px}.admin-dashboard__finance-grid>div{background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);min-width:0;padding:13px}.admin-dashboard__finance-grid span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs)}.admin-dashboard__finance-grid strong{color:var(--color-text);display:block;font-size:var(--font-size-md);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__finance-grid .is-positive strong{color:var(--color-success)}.admin-dashboard__finance-grid .is-negative strong{color:var(--color-danger)}.admin-dashboard__activity-list{display:grid;padding:2px 18px 8px}.admin-dashboard__activity-item{grid-gap:10px;align-items:center;border-bottom:1px solid var(--color-border-light);display:grid;gap:10px;grid-template-columns:36px minmax(0,1fr) auto;min-height:64px}.admin-dashboard__activity-item:last-child{border-bottom:0}.admin-dashboard__activity-icon{align-items:center;background:var(--color-warning-soft);border-radius:var(--radius-md);color:var(--color-warning);display:inline-flex;height:36px;justify-content:center;width:36px}.admin-dashboard__activity-icon--payment{background:var(--color-success-soft);color:var(--color-success)}.admin-dashboard__activity-amount,.admin-dashboard__activity-item>div:nth-child(2){grid-gap:3px;display:grid;gap:3px;min-width:0}.admin-dashboard__activity-item>div:nth-child(2) span,.admin-dashboard__activity-item>div:nth-child(2) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dashboard__activity-item>div:nth-child(2) strong{color:var(--color-text);font-size:var(--font-size-sm)}.admin-dashboard__activity-amount span,.admin-dashboard__activity-item>div:nth-child(2) span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-dashboard__activity-amount{text-align:right}.admin-dashboard__activity-amount strong{color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.admin-dashboard__empty-text{font-size:var(--font-size-sm);margin:20px 0}.admin-dashboard__refreshing{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);bottom:20px;box-shadow:var(--shadow-md);color:var(--color-text-muted);font-size:var(--font-size-xs);padding:8px 12px;position:fixed;right:20px;z-index:20}@media (max-width:1100px){.admin-dashboard__report-links,.admin-dashboard__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard__bottom-grid,.admin-dashboard__main-grid,.admin-dashboard__tables-grid{grid-template-columns:1fr}}@media (max-width:760px){.admin-dashboard__report-links,.admin-dashboard__stats-grid{grid-template-columns:1fr}.admin-dashboard__year-filter{min-width:0;width:100%}.admin-dashboard__performance-body{grid-template-columns:1fr}.admin-dashboard__donut{margin:0 auto}.admin-dashboard__finance-grid{grid-template-columns:1fr}}@media (max-width:520px){.admin-dashboard__attendance-headline{grid-template-columns:1fr}.admin-dashboard__activity-item{grid-template-columns:36px minmax(0,1fr)}.admin-dashboard__activity-amount{grid-column:2;text-align:left}}.teacher-layout .school-layout__content>*{max-width:var(--content-max-width);min-width:0;width:100%}.teacher-layout .attendance-page,.teacher-layout .attendance-session-page,.teacher-layout .evaluation-config,.teacher-layout .grade-entry,.teacher-layout .teacher-assignment-detail,.teacher-layout .teacher-dashboard,.teacher-layout .teacher-profile,.teacher-layout .teacher-subjects{grid-gap:var(--space-5);display:grid;gap:var(--space-5);max-width:var(--content-max-width);min-width:0;padding-bottom:var(--space-6);width:100%}.teacher-layout .app-page-header{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;margin:0;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.teacher-layout .app-page-header:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.teacher-layout .app-page-header__actions,.teacher-layout .app-page-header__info{position:relative;z-index:1}.teacher-layout .app-page-header .app-eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0;padding:5px 11px;text-transform:uppercase}.teacher-layout .app-page-header__info h1{color:var(--color-surface);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:10px 0 0}.teacher-layout .app-page-header__info p:not(.app-eyebrow){color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.teacher-layout .page-header{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin:0;min-width:0;padding:18px 20px;width:100%}.teacher-layout .page-header__main{align-items:flex-start;display:flex;flex:1 1;flex-wrap:wrap;gap:18px;min-width:0}.teacher-layout .page-header__back-button{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);min-height:40px;padding:0 14px}.teacher-layout .page-header__back-button:focus-visible,.teacher-layout .page-header__back-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.teacher-layout .page-header__eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0 0 7px;text-transform:uppercase}.teacher-layout .page-header h1{color:var(--color-text);font-size:clamp(1.45rem,2.5vw,1.9rem);letter-spacing:-.025em;margin:0}.teacher-layout .page-header__subtitle{color:var(--color-text-muted);margin:7px 0 0}.teacher-layout .app-btn{border-radius:var(--radius-md);box-shadow:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-height:42px;padding:0 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.teacher-layout .app-btn--sm{font-size:var(--font-size-xs);min-height:34px;padding:0 12px}.teacher-layout .app-btn--ghost:hover:not(:disabled),.teacher-layout .app-btn--primary:hover:not(:disabled),.teacher-layout .app-btn--secondary:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.teacher-layout .app-btn--ghost,.teacher-layout .app-btn--secondary{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-secondary)}.teacher-layout .app-btn--ghost:hover:not(:disabled),.teacher-layout .app-btn--secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.teacher-layout .app-toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:12px;justify-content:space-between;
   /* !important: cancels the shared toolbar's default bottom margin so page
      rhythm is fully controlled by the grid gap above. */margin:0!important;min-width:0;overflow:visible;padding:14px;position:relative;width:100%;z-index:20}.teacher-layout .app-search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 270px;gap:10px;margin:0;max-width:320px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.teacher-layout .app-search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);color:var(--color-primary)}.teacher-layout .app-search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:42px;min-width:0;outline:0;padding:0;width:100%}.teacher-layout .app-search input::placeholder{color:var(--color-text-light)}.teacher-layout .app-filters{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.teacher-layout .app-filter-select-control{flex:0 0 150px;min-width:150px;position:relative}.teacher-layout .app-filter-select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.teacher-layout .app-filter-select-button:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.teacher-layout .app-filter-select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.teacher-layout .app-filter-select-button svg{color:var(--color-text-muted);flex:0 0 auto}.teacher-layout .app-filter-select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-layout .app-filter-select-chevron{
  /* !important: beats the chevron's inline/base color in the shared
     dropdown component without editing that component. */color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.teacher-layout .app-filter-select-control--open .app-filter-select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.teacher-layout .app-filter-select-control--open .app-filter-select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.teacher-layout .app-filter-select-control .sd__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:280px;min-width:100%;padding:6px;top:calc(100% + 8px)}.teacher-layout .app-filter-select-control .sd__search-wrapper{background:#0000;border:0;border-bottom:1px solid var(--color-border);margin-bottom:4px}.teacher-layout .app-filter-select-control .sd__search-icon{color:var(--color-text-muted);left:6px}.teacher-layout .app-filter-select-control .sd__search{color:var(--color-text);min-height:36px;padding:6px 6px 6px 28px}.teacher-layout .app-filter-select-control .sd__options{padding:0}.teacher-layout .app-filter-select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;
   /* !important: neutralizes the sd__options li button reset padding. */padding:0 10px!important;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.teacher-layout .app-filter-select-option.sd__option--highlighted:not(.app-filter-select-option--active),.teacher-layout .app-filter-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.teacher-layout .app-filter-select-option--active,.teacher-layout .app-filter-select-option--active.sd__option--highlighted,.teacher-layout .app-filter-select-option--active:hover:not(:disabled){background:var(--color-primary);color:var(--color-surface)}.teacher-layout .ss{min-width:150px}.teacher-layout .ss__trigger{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:var(--font-weight-medium);min-height:42px;padding:0 36px 0 12px}.teacher-layout .ss__trigger:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.teacher-layout .ss--open .ss__trigger,.teacher-layout .ss__trigger:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.teacher-layout .ss--error .ss__trigger{border-color:var(--color-danger)}.teacher-layout .ss--error .ss__trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,#0000)}.teacher-layout .ss__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:6px;top:calc(100% + 6px)}.teacher-layout .ss__search-wrapper{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:4px}.teacher-layout .ss__search-icon{color:var(--color-text-muted);left:11px}.teacher-layout .ss__search{min-height:38px;padding:8px 10px 8px 34px}.teacher-layout .ss__list{padding:0}.teacher-layout .ss__option{border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:2px 0;min-height:39px;padding:9px 10px}.teacher-layout .ss__option--active,.teacher-layout .ss__option--selected,.teacher-layout .ss__option--selected.ss__option--active,.teacher-layout .ss__option--selected:hover,.teacher-layout .ss__option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.teacher-layout .app-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);
  /* !important: pages place cards inside grid gaps, so the shared card's
     default top margin would create uneven spacing. */margin:0!important;padding:var(--space-5)}.teacher-layout .app-card__header{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);padding-bottom:var(--space-4)}.teacher-layout .app-card__header-icon{background:var(--color-primary-soft);border-radius:var(--radius-md);box-shadow:none;color:var(--color-primary);flex:0 0 40px;height:40px;width:40px}.teacher-layout .app-field__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.teacher-layout .app-input,.teacher-layout .evaluation-config-form .app-input,.teacher-layout .grade-input{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:42px;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.teacher-layout .app-input:hover:not(:disabled),.teacher-layout .evaluation-config-form .app-input:hover:not(:disabled),.teacher-layout .grade-input:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.teacher-layout .app-input:focus,.teacher-layout .evaluation-config-form .app-input:focus,.teacher-layout .grade-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.teacher-layout .app-input:disabled,.teacher-layout .grade-input:disabled{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.teacher-layout .evaluation-config-form .app-checkbox{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);min-height:42px;padding:10px 13px}.teacher-layout .evaluation-config-form .app-checkbox:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.teacher-layout .app-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;width:100%}.teacher-layout .app-table-wrapper{min-width:0;overflow-x:auto;width:100%}.teacher-layout .app-table{border-collapse:collapse;width:100%}.teacher-layout .app-table th,.teacher-layout .app-table thead{background:var(--color-sidebar)}.teacher-layout .app-table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:15px 18px;text-transform:uppercase}.teacher-layout .app-table td{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:14px 18px}.teacher-layout .app-table tbody tr:hover td{background:var(--color-surface-hover)}.teacher-layout .app-table tbody tr:last-child td{border-bottom:0}.teacher-layout .grade-table thead .grade-table__avg-col,.teacher-layout .grade-table thead .grade-table__sticky-col{background:var(--color-sidebar);color:var(--color-surface)}.teacher-layout .grade-table tbody .grade-table__sticky-col{background:var(--color-surface)}.teacher-layout .grade-table tbody tr:hover .grade-table__sticky-col{background:var(--color-surface-hover)}.teacher-layout .grade-table tbody .grade-table__avg-col{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));color:var(--color-primary)}.teacher-layout .teacher-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.teacher-layout .teacher-stat-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:13px;min-width:0;padding:17px}.teacher-layout .teacher-stat-card__icon{border-radius:var(--radius-lg);flex:0 0 42px;height:42px;width:42px}.teacher-layout .teacher-stat-card__value{color:var(--color-text);display:block;font-size:1.35rem;font-weight:var(--font-weight-bold);letter-spacing:-.025em;margin:1px 0 4px}.teacher-layout .teacher-stat-card__label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.teacher-layout .teacher-section{grid-gap:12px;display:grid;gap:12px;margin:0}.teacher-layout .teacher-section__header{margin:0}.teacher-layout .teacher-section__header h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.teacher-layout .teacher-assignments-grid{gap:12px}.teacher-layout .teacher-assignment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-height:86px;padding:14px}.teacher-layout .teacher-assignment-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.teacher-layout .teacher-assignment-card__icon{border-radius:var(--radius-md);flex:0 0 38px;height:38px;width:38px}.teacher-layout .teacher-action-grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.teacher-layout .teacher-action-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);gap:8px;justify-content:flex-start;min-height:118px;padding:16px;text-align:left}.teacher-layout .teacher-action-card:before{display:none}.teacher-layout .teacher-action-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.teacher-layout .teacher-action-card__icon{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);height:40px;width:40px}.teacher-layout .teacher-action-card:hover .teacher-action-card__icon{background:var(--color-primary-soft);color:var(--color-primary);transform:none}.teacher-layout .teacher-action-card h3{margin:3px 0 0}.teacher-layout .teacher-action-card p{margin:0}.teacher-layout .attendance-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.teacher-layout .attendance-summary__item{align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);gap:4px;min-width:0;padding:16px}.teacher-layout .attendance-summary__value{font-size:1.35rem}.teacher-layout .attendance-summary__item--present{border-color:color-mix(in srgb,var(--color-success) 24%,var(--color-border))}.teacher-layout .attendance-summary__item--absent{border-color:color-mix(in srgb,var(--color-danger) 24%,var(--color-border))}.teacher-layout .attendance-summary__item--late{border-color:color-mix(in srgb,var(--color-warning) 24%,var(--color-border))}.teacher-layout .attendance-summary__item--justified{border-color:color-mix(in srgb,var(--color-info) 24%,var(--color-border))}.teacher-layout .grade-config-summary{gap:8px}.teacher-layout .grade-config-summary span{background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:6px 10px}.teacher-layout .evaluation-config{max-width:var(--content-max-width)}.teacher-layout .evaluation-config-form{gap:var(--space-5)}.teacher-layout .evaluation-config__actions{margin-top:0;padding-top:var(--space-5)}.teacher-layout .teacher-profile{max-width:var(--content-max-width)}.teacher-layout .profile-banner{gap:16px}.teacher-layout .profile-avatar{background:var(--color-primary-soft);border:2px solid var(--color-border);color:var(--color-primary);flex:0 0 64px;font-size:1.2rem;height:64px;width:64px}.teacher-layout .profile-info h2{color:var(--color-text);font-size:var(--font-size-lg)}.teacher-layout .app-info-list__row{padding:13px 0}.teacher-layout .app-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-height:280px;padding:32px 20px}.teacher-layout .app-state__icon{background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);height:60px;width:60px}@media (max-width:1100px){.teacher-layout .attendance-summary,.teacher-layout .teacher-action-grid,.teacher-layout .teacher-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:840px){.teacher-layout .app-page-header{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.teacher-layout .app-toolbar{align-items:stretch;flex-direction:column}.teacher-layout .app-search{flex-basis:auto;max-width:none;width:100%}.teacher-layout .app-filters{justify-content:flex-start;width:100%}.teacher-layout .app-filter-select-control,.teacher-layout .app-filters .ss{flex:1 1 180px;min-width:0;width:100%}.teacher-layout .page-header__actions{width:100%}}@media (max-width:640px){.teacher-layout .attendance-summary,.teacher-layout .teacher-action-grid,.teacher-layout .teacher-stats-grid{grid-template-columns:1fr}.teacher-layout .app-card,.teacher-layout .app-page-header,.teacher-layout .app-toolbar,.teacher-layout .page-header{border-radius:var(--radius-lg)}.teacher-layout .page-header__main{flex-direction:column}.teacher-layout .page-header__actions,.teacher-layout .page-header__actions .app-btn{width:100%}.teacher-layout .teacher-action-card{min-height:0}.teacher-layout .app-table td,.teacher-layout .app-table th{padding-left:14px;padding-right:14px}}.teacher-dashboard{max-width:var(--content-max-width)}.teacher-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-6)}.teacher-stat-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:16px;padding:20px}.teacher-stat-card__icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.teacher-stat-card__icon--primary{background:var(--color-primary-soft);color:var(--color-primary)}.teacher-stat-card__icon--success{background:var(--color-success-soft);color:var(--color-success)}.teacher-stat-card__icon--warning{background:var(--color-warning-soft);color:var(--color-warning)}.teacher-stat-card__icon--info{background:var(--color-info-soft);color:var(--color-info)}.teacher-stat-card__content{display:flex;flex-direction:column}.teacher-stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.2}.teacher-stat-card__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.teacher-section{margin-bottom:var(--space-6)}.teacher-section__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.teacher-section__header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.teacher-assignments-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.teacher-assignment-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;display:flex;gap:14px;padding:18px;text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.teacher-assignment-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.teacher-assignment-card__icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.teacher-assignment-card__content{display:flex;flex:1 1;flex-direction:column;gap:4px}.teacher-assignment-card__content strong{font-size:var(--font-size-base)}.teacher-assignment-card__content span{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (max-width:960px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.teacher-assignments-grid,.teacher-stats-grid{grid-template-columns:1fr}}.subject-details-page,.teacher-subjects{max-width:var(--content-max-width)}.subject-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);margin:0 auto;min-width:0;width:100%}.subject-details-page__topbar{align-items:center;display:flex;justify-content:space-between}.subject-details-page__topbar-actions{display:flex;flex-wrap:wrap;gap:10px}.subject-details-page__back-button,.subject-details-page__cancel-button,.subject-details-page__confirm-delete-button,.subject-details-page__delete-button,.subject-details-page__edit-button,.subject-details-page__primary-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:6px;justify-content:center;line-height:1;min-height:38px;padding:8px 16px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.subject-details-page__back-button:focus-visible,.subject-details-page__cancel-button:focus-visible,.subject-details-page__confirm-delete-button:focus-visible,.subject-details-page__delete-button:focus-visible,.subject-details-page__edit-button:focus-visible,.subject-details-page__primary-button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}.subject-details-page__back-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.subject-details-page__back-button:hover{background-color:var(--color-background-alt);color:var(--color-text)}.subject-details-page__edit-button{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.subject-details-page__edit-button:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.subject-details-page__delete-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-danger)}.subject-details-page__delete-button:hover{background-color:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger)}.subject-details-page__primary-button{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.subject-details-page__primary-button:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.subject-details-page__cancel-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.subject-details-page__cancel-button:hover{background-color:var(--color-background-alt);color:var(--color-text)}.subject-details-page__confirm-delete-button{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.subject-details-page__confirm-delete-button:hover{background-color:color-mix(in srgb,var(--color-danger) 86%,var(--color-text));border-color:var(--color-danger-hover)}.subject-details-page__profile{background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--space-6);position:relative}.subject-details-page__profile:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.subject-details-page__profile-main{align-items:center;display:flex;gap:24px;position:relative;z-index:1}.subject-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 18%,#0000);border:2px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:50%;color:var(--color-surface);display:flex;flex-shrink:0;height:72px;justify-content:center;width:72px}.subject-details-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);color:color-mix(in srgb,var(--color-surface) 85%,#0000);display:inline-flex;font-size:.6875rem;font-weight:600;letter-spacing:.08em;padding:3px 10px;text-transform:uppercase}.subject-details-page__profile h1{color:var(--color-surface);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.25;margin:8px 0 0}.subject-details-page__profile p{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:var(--font-size-sm);margin:4px 0 0}.subject-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;position:relative;z-index:1}.subject-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;line-height:1.3;padding:4px 12px}.subject-details-page__badge--level{background:color-mix(in srgb,var(--color-surface) 18%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);color:color-mix(in srgb,var(--color-surface) 90%,#0000)}.subject-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 14%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 20%,#0000);color:color-mix(in srgb,var(--color-surface) 80%,#0000)}.subject-details-page__grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}.subject-details-page__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.subject-details-page__card--full{grid-column:1/-1}.subject-details-page__card-heading{border-bottom:1px solid var(--color-border-light);gap:10px;padding:16px 20px}.subject-details-page__card-heading svg{color:var(--color-primary);flex-shrink:0}.subject-details-page__card-heading h2{color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;margin:0}.subject-details-page__card-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:2px 0 0}.subject-details-page__information{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.subject-details-page__information>div{display:contents}.subject-details-page__information dt{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:500;gap:6px;padding:12px 20px}.subject-details-page__information dt svg{color:var(--color-text-muted);flex-shrink:0}.subject-details-page__information dd{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:500;margin:0;padding:12px 20px}.subject-details-page__information dd:last-of-type,.subject-details-page__information dt:last-of-type{border-bottom:none}.subject-details-page__description{padding:16px 20px}.subject-details-page__description p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.7;margin:0}.subject-details-page__description-empty{color:var(--color-text-muted)!important;font-style:italic}.subject-details-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.subject-details-page__state h1{font-size:var(--font-size-lg);margin:16px 0 8px}.subject-details-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:4px}.subject-details-page__state-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-xl);color:var(--color-danger);display:inline-flex;height:56px;justify-content:center;width:56px}.subject-details-page__spinner{animation:subject-details-spin .7s linear infinite;color:var(--color-primary)}@keyframes subject-details-spin{to{transform:rotate(1turn)}}.subject-details-page__modal-backdrop{align-items:center;animation:subject-details-fade-in .15s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}@keyframes subject-details-fade-in{0%{opacity:0}to{opacity:1}}.subject-details-page__modal{animation:subject-details-modal-in .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-width:440px;padding:26px;width:100%}@keyframes subject-details-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.subject-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.subject-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:14px 0 0}.subject-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.subject-details-page__modal p strong{color:var(--color-text)}.subject-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}@media (max-width:850px){.subject-details-page__grid{grid-template-columns:1fr}}@media (max-width:650px){.subject-details-page__topbar{align-items:flex-start;flex-direction:column;gap:12px}.subject-details-page__topbar-actions{width:100%}.subject-details-page__profile-main{flex-direction:column;gap:16px;text-align:center}.subject-details-page__badges{justify-content:center}.subject-details-page__profile h1{font-size:1.375rem}.subject-details-page__information{grid-template-columns:1fr}.subject-details-page__information dt{border-bottom:none;padding:8px 16px 0}.subject-details-page__information dd{border-bottom:1px solid var(--color-border-light);padding:0 16px 12px}}@media (max-width:480px){.subject-details-page__topbar-actions{flex-direction:column}.subject-details-page__topbar-actions button{width:100%}.subject-details-page__profile-icon{font-size:1.375rem;height:56px;width:56px}.subject-details-page__card-heading{font-size:var(--font-size-sm);padding:12px 16px}.subject-details-page__information dd,.subject-details-page__information dt{padding-left:16px;padding-right:16px}.subject-details-page__state{padding:48px 16px}.subject-details-page__modal-actions{flex-direction:column-reverse}.subject-details-page__modal-actions button{width:100%}}.evaluation-config-form .app-field{display:flex;flex-direction:column;gap:6px}.evaluation-config-form .app-field__label{color:var(--color-text);font-size:.875rem;font-weight:600}.evaluation-config-form .app-field__label--required:after{color:var(--color-danger);content:" *"}.evaluation-config-form .app-input:hover{border-color:var(--color-primary)}.evaluation-config-form .app-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.evaluation-config-form .app-input:disabled{background:var(--color-gray-100);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.evaluation-config-form .app-input::placeholder{color:var(--color-text-muted)}.eval-exam-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:16px;margin-bottom:16px;padding:20px;transition:border-color .15s ease,box-shadow .15s ease}.eval-exam-row:last-child{margin-bottom:0}.eval-exam-row:hover{border-color:var(--color-primary-soft);box-shadow:0 2px 8px #0000000a}.eval-exam-row__title{border-bottom:2px solid var(--color-primary-soft);color:var(--color-primary);font-size:.95rem;font-weight:700;letter-spacing:.2px;margin:0 0 8px;padding-bottom:12px}.eval-exam-row__fields{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.eval-summary{background:linear-gradient(135deg,var(--color-primary-lighter) 0,var(--color-primary-soft) 100%);border:1px solid var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-text);display:flex;flex-wrap:wrap;font-size:.875rem;gap:24px;margin-top:20px;padding:16px 20px}.eval-summary__item{align-items:center;display:inline-flex;gap:8px}.eval-summary__item span{color:var(--color-text-muted);font-weight:500}.eval-summary__item strong{color:var(--color-primary);font-weight:700}.evaluation-config-form .app-checkbox{align-items:center;background:var(--color-primary-lighter);border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:10px;min-height:44px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;width:-webkit-fit-content;width:fit-content}.evaluation-config-form .app-checkbox:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.evaluation-config-form .app-checkbox input{accent-color:var(--color-primary);cursor:pointer;height:18px;margin:0;width:18px}.evaluation-config-form .app-checkbox span{color:var(--color-primary)}.evaluation-config__hint{color:var(--color-text-muted)}.evaluation-config__field-error,.evaluation-config__hint{display:block;font-size:.825rem;line-height:1.4;margin-top:4px}.evaluation-config__field-error{color:var(--color-danger);font-weight:600}.app-input--error{background:var(--color-danger-light)!important}.app-input--error:focus{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px #dc26261f!important}.subject-details-page .app-message--warning{border-radius:var(--radius-md)}.evaluation-config__actions{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.evaluation-config__actions a,.evaluation-config__actions button{min-height:42px;padding-inline:20px}@media (max-width:768px){.eval-exam-row__fields{gap:16px;grid-template-columns:1fr}.eval-summary{flex-direction:column;gap:12px}.eval-exam-row{margin-bottom:12px;padding:16px}}@media (max-width:600px){.evaluation-config-form{gap:18px}.eval-exam-row{margin-bottom:12px;padding:14px}.evaluation-config-form .app-checkbox{justify-content:flex-start;width:100%}.evaluation-config__actions{align-items:stretch;flex-direction:column-reverse;gap:10px}.evaluation-config__actions a,.evaluation-config__actions button{justify-content:center;width:100%}}.evaluation-config-form{padding:0 24px 24px}.evaluation-config-form .app-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:.9rem;min-height:42px;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.subject-details-page__card-heading{align-items:center;display:flex;gap:16px;padding:24px 24px 20px!important}.evaluation-config-form{display:flex;flex-direction:column;gap:20px;padding:24px}.subject-details-page .app-message{margin-bottom:18px}.subject-details-page .app-toolbar{align-items:center;border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:space-between;margin-bottom:22px!important;padding:16px 18px}.grade-config-summary{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:10px}.grade-config-summary span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-weight:var(--font-weight-medium);gap:4px;justify-content:center;min-height:34px;padding:7px 13px;white-space:nowrap}.subject-details-page .app-search{flex-shrink:0;max-width:360px;min-width:280px}.subject-details-page .app-search input{height:42px}.subject-details-page .app-table-container{border-radius:var(--radius-lg);max-width:100%;overflow:hidden;width:100%}.subject-details-page .app-table-wrapper{overflow-x:auto;padding-bottom:4px;width:100%}.grade-table{border-collapse:initial;border-spacing:0;min-width:820px;table-layout:fixed;width:100%}.grade-table td,.grade-table th{vertical-align:middle}.grade-table thead th{font-size:var(--font-size-sm);height:48px;padding:12px 10px;text-align:center;white-space:nowrap}.grade-table tbody td{height:62px;padding:12px 10px;text-align:center}.grade-table tbody tr{transition:background-color .15s ease}.grade-table__sticky-col{background:var(--color-surface);box-shadow:8px 0 14px #0000000d;left:0;max-width:210px;min-width:210px;padding-left:16px!important;padding-right:16px!important;position:-webkit-sticky;position:sticky;text-align:left!important;width:210px;z-index:2}.grade-table thead .grade-table__sticky-col{z-index:3}.grade-table__sticky-col strong{display:inline-block;line-height:1.25;max-width:175px;white-space:normal;word-break:break-word}.grade-table__sticky-col small{display:inline-block;line-height:1.2;margin-top:5px}.grade-table__narrow{max-width:92px;min-width:92px;text-align:center;white-space:nowrap;width:92px}.grade-table__avg-col{background:var(--color-primary-lighter);font-weight:var(--font-weight-semibold)}.grade-table__avg-col strong{align-items:center;border-radius:var(--radius-full);display:inline-flex;justify-content:center;min-height:30px;min-width:52px;padding:0 8px}.grade-input{border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:5px 8px;text-align:center;width:66px}.grade-input:focus{outline:none}.grade-input--absent{background:var(--color-danger-light);border-color:var(--color-danger)}.grade-input::-webkit-inner-spin-button,.grade-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.grade-input[type=number]{-webkit-appearance:textfield;appearance:textfield}.grade-table .app-badge{justify-content:center;min-width:82px;white-space:nowrap}.grade-table .app-empty-state{padding:34px 16px;text-align:center}.subject-details-page .app-table-wrapper::-webkit-scrollbar{height:9px}.subject-details-page .app-table-wrapper::-webkit-scrollbar-track{background:var(--color-primary-lighter);border-radius:var(--radius-full)}.subject-details-page .app-table-wrapper::-webkit-scrollbar-thumb{background:var(--color-primary-soft);border-radius:var(--radius-full)}@media (max-width:1000px){.subject-details-page .app-toolbar{align-items:stretch;flex-direction:column;padding:16px}.subject-details-page .app-search{max-width:100%;min-width:100%;width:100%}.grade-config-summary{width:100%}.grade-config-summary span{flex:1 1 auto}}@media (max-width:768px){.subject-details-page .app-toolbar{margin-bottom:18px!important}.grade-table{min-width:740px}.grade-table thead th{height:44px;padding:10px 8px}.grade-table tbody td{height:58px;padding:10px 8px}.grade-table__sticky-col{max-width:170px;min-width:170px;padding-left:12px!important;padding-right:12px!important;width:170px}.grade-table__sticky-col strong{max-width:145px}.grade-table__narrow{max-width:82px;min-width:82px;width:82px}.grade-input{min-height:34px;width:58px}.grade-table .app-badge{min-width:74px}}@media (max-width:520px){.grade-config-summary{gap:8px}.grade-config-summary span{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1;font-size:.82rem;min-height:32px;padding:6px 8px}.grade-table{min-width:680px}.grade-table__sticky-col{max-width:150px;min-width:150px;width:150px}.grade-table__sticky-col strong{max-width:125px}.grade-table__narrow{max-width:76px;min-width:76px;width:76px}.grade-input{width:54px}.grade-table .app-badge{font-size:.78rem;min-width:68px}}.student-form-page__date-content input:focus,.student-form-page__date-content input:focus-visible{box-shadow:none;outline:0}.student-form-page__calendar-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.student-form-page__calendar-select-option:focus-visible:not(:disabled),.student-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}@media (max-width:480px){.student-form-page__date-trigger{height:44px;min-height:44px}.student-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.student-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.student-form-page__calendar-nav{height:36px;width:34px}.student-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.student-form-page__calendar-weekdays{padding:0 8px}.student-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.student-form-page__calendar-footer{gap:8px;padding:9px 10px}}.floating-time-picker{min-width:0;position:relative;width:100%;z-index:4}.floating-time-picker--open{z-index:100}.floating-time-picker__trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.floating-time-picker__trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.floating-time-picker--open .floating-time-picker__trigger,.floating-time-picker__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.floating-time-picker__icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.floating-time-picker__copy{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.floating-time-picker__caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.floating-time-picker__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-time-picker__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.floating-time-picker--open .floating-time-picker__chevron{transform:rotate(180deg)}.floating-time-picker__panel{animation:floating-time-picker-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:16px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;overflow:hidden}.floating-time-picker__top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.floating-time-picker__top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.floating-time-picker__top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.floating-time-picker__top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.floating-time-picker__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.floating-time-picker__close:focus-visible,.floating-time-picker__close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.floating-time-picker__editor{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;padding:18px 16px}.floating-time-picker__unit{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:34px minmax(44px,1fr) 34px}.floating-time-picker__unit>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);grid-column:1/-1;text-align:center;text-transform:uppercase}.floating-time-picker__unit button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-primary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.floating-time-picker__unit button:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.floating-time-picker__unit input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:9px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:40px;min-width:0;outline:0;padding:0 4px;text-align:center;width:100%}.floating-time-picker__unit input::-webkit-inner-spin-button,.floating-time-picker__unit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.floating-time-picker__unit input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.floating-time-picker__separator{color:var(--color-text);font-size:1.4rem;margin-top:18px}.floating-time-picker__warning{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-radius:9px;color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45;margin:-4px 14px 12px;padding:9px 10px}.floating-time-picker__footer{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.floating-time-picker__footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-time-picker__footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.floating-time-picker__footer button:hover{background:var(--color-primary-hover)}@keyframes floating-time-picker-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.floating-time-picker__editor{gap:7px;padding:16px 10px}.floating-time-picker__unit{gap:4px;grid-template-columns:30px minmax(38px,1fr) 30px}.floating-time-picker__unit button{height:32px;width:30px}}.attendance-page,.attendance-session-page{max-width:var(--content-max-width)}.attendance-summary{display:flex;gap:16px;margin-bottom:var(--space-5)}.attendance-summary__item{align-items:center;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:4px;min-width:100px;padding:16px 24px}.attendance-summary__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.attendance-summary__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.attendance-summary__item--present{background:var(--color-success-soft);color:var(--color-success)}.attendance-summary__item--absent{background:var(--color-danger-light);color:var(--color-danger)}.attendance-summary__item--late{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-summary__item--justified{background:var(--color-info-soft);color:var(--color-info)}@media (max-width:600px){.attendance-summary{flex-wrap:wrap}.attendance-summary__item{min-width:calc(50% - 8px)}}.attendance-session-page .app-table-container,.attendance-session-page .app-table-wrapper,.attendance-session-page .subject-details-page__card,.teacher-layout .attendance-session-page .app-table-container,.teacher-layout .attendance-session-page .app-table-wrapper{overflow:visible}@media (max-width:899px){.attendance-session-page .app-table-wrapper,.teacher-layout .attendance-session-page .app-table-wrapper{overflow-x:auto}}.attendance-session-page .ss__dropdown{z-index:1100}.attendance-session-page .app-input,.attendance-session-page .ss__trigger,.teacher-layout .attendance-session-page .app-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:42px;padding:9px 12px;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.attendance-session-page .app-input::placeholder{color:var(--color-input-placeholder)}.attendance-session-page .app-input:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.attendance-session-page .app-input:focus,.teacher-layout .attendance-session-page .app-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.attendance-session-page .app-input:disabled,.teacher-layout .attendance-session-page .app-input:disabled{background:var(--color-background-alt);border-color:var(--color-border-light);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.attendance-session-page .ss__trigger{padding-right:34px;text-align:left}.attendance-session-page .ss__trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.attendance-session-page .ss__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-session-page .ss--open .ss__trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-session-page .ss--open .ss__chevron{color:var(--color-primary)}.attendance-session-page .ss--disabled,.attendance-session-page .ss__trigger:disabled{background:var(--color-background-alt);border-color:var(--color-border-light);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.attendance-session-page .ss__dropdown{border-color:var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);top:calc(100% + 6px)}.attendance-session-page .ss__option{border-radius:var(--radius-md);margin:2px 4px;padding:9px 12px}.attendance-session-page .ss__option--active,.attendance-session-page .ss__option:hover{background:var(--color-primary-lighter)}.attendance-session-page .ss__option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.attendance-session-page .ss__option--selected.ss__option--active,.attendance-session-page .ss__option--selected:hover{background:var(--color-primary-soft)}.attendance-session-page .app-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:360px;min-height:42px;min-width:260px;padding:0 12px}.attendance-session-page .app-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-session-page .app-search input{font-size:var(--font-size-sm);min-height:40px;padding:8px 0}.attendance-session-page .app-search input::placeholder{color:var(--color-input-placeholder)}@media (max-width:650px){.attendance-session-page .app-search{max-width:100%;min-width:100%;width:100%}}.admin-assignment-detail,.admin-assignments{max-width:var(--content-max-width)}.admin-assignments{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.admin-assignments .app-page-header{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.admin-assignments .app-page-header:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.admin-assignments .app-page-header__info{min-width:0;position:relative;z-index:1}.admin-assignments .app-eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0;padding:5px 11px;text-transform:uppercase}.admin-assignments .app-page-header h1{color:var(--color-surface);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:10px 0 0}.admin-assignments .app-page-header p:not(.app-eyebrow){color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.admin-assignments .app-page-header__actions{display:flex;flex:0 0 auto;position:relative;z-index:1}.admin-assignments .app-action,.admin-assignments .app-btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.admin-assignments .app-btn{border:1px solid var(--color-border);min-height:42px;padding:0 16px}.admin-assignments .app-btn--primary{background:var(--color-surface);border-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary)}.admin-assignments .app-btn--primary:hover{background:var(--color-primary-soft)}.admin-assignments .app-btn--reset,.admin-assignments .app-btn--secondary{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-secondary)}.admin-assignments .app-btn--reset:hover,.admin-assignments .app-btn--secondary:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.admin-assignments .app-btn--sm{font-size:var(--font-size-xs);min-height:34px;padding:0 12px}.admin-assignments .app-btn:disabled{cursor:not-allowed;opacity:.45}.admin-assignments .app-toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:12px;justify-content:space-between;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.admin-assignments .app-search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 270px;gap:10px;max-width:320px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.admin-assignments .app-search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.admin-assignments .app-search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.admin-assignments .app-search input::placeholder{color:var(--color-text-light)}.admin-assignments .app-filters{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.admin-assignments .app-filter-select{flex:0 0 150px;min-width:150px;position:relative}.admin-assignments .app-filter-select__button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.admin-assignments .app-filter-select__button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.admin-assignments .app-filter-select__button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.admin-assignments .app-filter-select__button svg{color:var(--color-text-muted);flex:0 0 auto}.admin-assignments .app-filter-select__value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-assignments .app-filter-select__chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.admin-assignments .app-filter-select--open .app-filter-select__button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.admin-assignments .app-filter-select--open .app-filter-select__chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.admin-assignments .app-filter-select__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;left:0;list-style:none;margin:0;max-height:280px;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.admin-assignments .app-filter-select__search{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:6px;margin-bottom:4px;padding:0 6px 6px}.admin-assignments .app-filter-select__search svg{color:var(--color-text-muted);flex:0 0 auto}.admin-assignments .app-filter-select__search input{background:#0000;border:none;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:none;padding:6px 0;width:100%}.admin-assignments .app-filter-select__search input::placeholder{color:var(--color-text-light)}.admin-assignments .app-filter-select__options{list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:0}.admin-assignments .app-filter-select__empty{color:var(--color-text-muted);font-size:var(--font-size-xs);padding:12px;text-align:center}.admin-assignments .app-filter-select__option--highlighted:not(.app-filter-select__option--active){background:var(--color-primary);color:#fff}.admin-assignments .app-filter-select__option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.admin-assignments .app-filter-select__option:focus-visible,.admin-assignments .app-filter-select__option:hover{background:var(--color-primary);color:#fff;outline:0}.admin-assignments .app-filter-select__option--active,.admin-assignments .app-filter-select__option--active:focus-visible,.admin-assignments .app-filter-select__option--active:hover{background:var(--color-primary);color:#fff}.admin-assignments .app-message{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.admin-assignments .app-message span{flex:1 1}.admin-assignments .app-message button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.admin-assignments .app-message--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.admin-assignments .app-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.admin-assignments .app-table-wrapper{min-width:0;overflow-x:auto}.admin-assignments .app-table{border-collapse:collapse;min-width:820px;width:100%}.admin-assignments .app-table thead{background:var(--color-sidebar)}.admin-assignments .app-table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-assignments .app-table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:15px 20px;text-align:left;vertical-align:middle}.admin-assignments .app-table tbody tr{transition:background-color var(--transition-fast)}.admin-assignments .app-table tbody tr:hover{background:var(--color-surface-hover)}.admin-assignments .app-table tbody tr:last-child td{border-bottom:0}.admin-assignments .app-table__actions-heading{text-align:right!important}.admin-assignments .app-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.admin-assignments .app-badge--active{background:var(--color-success-soft);color:var(--color-success)}.admin-assignments .app-badge--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.admin-assignments .app-actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.admin-assignments .app-action{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);height:34px;padding:0;width:34px}.admin-assignments .app-action:hover{transform:translateY(-1px)}.admin-assignments .app-action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.admin-assignments .app-action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.admin-assignments .app-action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.admin-assignments .app-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;padding:44px 20px;text-align:center}.admin-assignments .app-state__icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.admin-assignments .app-state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:14px 0 6px}.admin-assignments .app-state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.admin-assignments .app-spinner{animation:admin-assignments-spin .8s linear infinite}@keyframes admin-assignments-spin{to{transform:rotate(1turn)}}.admin-assignments .app-pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.admin-assignments .app-pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.admin-assignments .app-pagination p strong{color:var(--color-text-secondary)}.admin-assignments .app-pagination__controls{align-items:center;display:flex;gap:9px}.admin-assignments .app-pagination__controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.admin-assignments .app-pagination__controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all var(--transition-fast);width:34px}.admin-assignments .app-pagination__controls button:not(:disabled):hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.admin-assignments .app-pagination__controls button:disabled{cursor:not-allowed;opacity:.4}.admin-assignments a:focus-visible,.admin-assignments button:focus-visible,.admin-assignments input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1300px){.admin-assignments .app-toolbar{overflow-x:auto;overflow-y:visible;padding-bottom:18px}.admin-assignments .app-search{flex:0 0 240px;min-width:240px}.admin-assignments .app-filters{flex-wrap:nowrap;justify-content:flex-start}.admin-assignments .app-filter-select{flex:0 0 150px;min-width:150px;width:auto!important}.admin-assignments .app-btn--reset{flex:0 0 auto;white-space:nowrap;width:auto!important}}@media (max-width:720px){.admin-assignments .app-page-header{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.admin-assignments .app-btn--primary,.admin-assignments .app-page-header__actions{width:100%}.admin-assignments .app-pagination{align-items:flex-start;flex-direction:column}.admin-assignments .app-pagination__controls{justify-content:space-between;width:100%}}@media (max-width:500px){.admin-assignments .app-page-header,.admin-assignments .app-table-container,.admin-assignments .app-toolbar{border-radius:var(--radius-lg)}.admin-assignments .app-search{min-width:220px}.admin-assignments .app-table td,.admin-assignments .app-table th{padding-left:14px;padding-right:14px}}.admin-assignments .app-toolbar{align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:12px!important;overflow:visible!important}.admin-assignments .app-search{flex:none!important;height:44px!important;margin:0!important;max-width:none!important;min-height:44px!important;min-width:0!important;width:100%!important}.admin-assignments .app-search input{height:100%!important;line-height:44px;padding:0!important}.admin-assignments .app-filters{grid-gap:8px!important;align-items:center!important;display:grid!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;overflow:visible!important;width:100%!important}.admin-assignments .app-filter-select{flex:none!important;height:42px!important;margin:0!important;min-width:0!important;position:relative!important;transform:none!important;width:100%!important}.admin-assignments .app-filter-select__button{height:42px!important;margin:0!important;min-height:42px!important;width:100%!important}.admin-assignments .app-btn--reset{flex:none!important;height:42px!important;min-height:42px!important;width:100%!important}.admin-assignments .app-filter-select__menu{left:0!important;margin:0!important;max-height:none!important;max-width:100%!important;min-width:100%!important;overflow:hidden!important;position:absolute!important;right:0!important;top:calc(100% + 6px)!important;transform:none!important;width:100%!important;z-index:9999!important}.admin-assignments .app-filter-select__option{line-height:1.35;white-space:normal!important}.admin-assignments .app-btn--primary:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md);color:var(--color-primary)!important;transform:translateY(-1px)}.admin-assignments .app-btn--primary:hover span,.admin-assignments .app-btn--primary:hover svg{color:var(--color-primary)!important}
/* !important forces the shared dark sidebar color onto the table header
   even where the generic .app-table styles would win by cascade order. */.admin-assignments .app-table thead,.admin-assignments .app-table thead tr{background:var(--color-sidebar)!important}.admin-assignments .app-table th{background:#0000!important;border-bottom:1px solid var(--color-primary-hover)!important;color:var(--color-surface)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-bold)!important;letter-spacing:.06em!important;padding:16px 20px!important;text-transform:uppercase!important}.admin-assignments .app-table thead th:first-child{border-top-left-radius:var(--radius-lg)}.admin-assignments .app-table thead th:last-child{border-top-right-radius:var(--radius-lg)}.admin-assignment-detail{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.assignment-detail__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.assignment-detail__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.assignment-detail__hero-content{min-width:0;position:relative;z-index:1}.assignment-detail__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.assignment-detail__eyebrow,.assignment-detail__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.assignment-detail__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.assignment-detail__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:680px}.assignment-detail__hero-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end;position:relative;z-index:1}.assignment-detail__back-link,.assignment-detail__button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 var(--space-4);text-decoration:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.assignment-detail__button--light{background:color-mix(in srgb,var(--color-surface) 92%,#0000);border-color:color-mix(in srgb,var(--color-surface) 75%,#0000);color:var(--color-primary)}.assignment-detail__button--light:hover{background:var(--color-surface);border-color:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-1px)}.assignment-detail__button--danger{background:color-mix(in srgb,var(--color-danger) 92%,#fff);border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-surface));color:var(--color-surface)}.assignment-detail__button--danger:hover{background:var(--color-danger);border-color:var(--color-danger);box-shadow:var(--shadow-md);color:var(--color-surface);transform:translateY(-1px)}.assignment-detail__message{align-items:center;border-radius:var(--radius-md);box-sizing:border-box;display:flex;font-size:var(--font-size-sm);gap:12px;padding:14px 16px;width:100%}.assignment-detail__message span{flex:1 1}.assignment-detail__message button{align-items:center;background:#0000;border:0;border-radius:50%;color:currentColor;cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;padding:0;width:30px}.assignment-detail__message--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 35%,#0000);color:var(--color-danger)}.assignment-detail__back-link{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary);width:-webkit-max-content;width:max-content}.assignment-detail__back-link:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.assignment-detail__content{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.assignment-detail__card,.assignment-detail__mini-card,.assignment-detail__summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.assignment-detail__card{padding:var(--space-6)}.assignment-detail__card--main{min-height:100%}.assignment-detail__card-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.assignment-detail__card-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;flex:0 0 48px;height:48px;justify-content:center;width:48px}.assignment-detail__card-header h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.assignment-detail__card-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:5px 0 0}.assignment-detail__info-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.assignment-detail__info-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-detail__info-item{background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);min-width:0;padding:14px}.assignment-detail__info-item dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.assignment-detail__info-item dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.45;margin:0;overflow-wrap:anywhere}.assignment-detail__side{grid-gap:var(--space-4);display:grid;gap:var(--space-4);min-width:0}.assignment-detail__summary-card{padding:var(--space-5)}.assignment-detail__summary-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;height:46px;justify-content:center;margin-bottom:14px;width:46px}.assignment-detail__summary-card>span{color:var(--color-primary);display:block;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.assignment-detail__summary-card strong{color:var(--color-text);display:block;font-size:var(--font-size-lg);margin-top:7px}.assignment-detail__summary-card p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:10px 0 0}.assignment-detail__mini-card{align-items:center;display:flex;gap:12px;padding:14px}.assignment-detail__mini-card>svg{color:var(--color-primary);flex:0 0 auto}.assignment-detail__mini-card span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.assignment-detail__mini-card strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);margin-top:3px}.assignment-detail__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:420px;padding:44px 20px;text-align:center}.assignment-detail__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:14px 0 6px}.assignment-detail__state p{font-size:var(--font-size-sm);margin:0}.assignment-detail__spinner{animation:assignment-detail-spin .85s linear infinite}.assignment-detail__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a2b4273;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.assignment-detail__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #1a2b4233;padding:var(--space-7);width:min(100%,440px)}.assignment-detail__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:50%;color:var(--color-danger);display:inline-flex;height:46px;justify-content:center;margin-bottom:var(--space-4);width:46px}.assignment-detail__modal h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0 0 8px}.assignment-detail__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0}.assignment-detail__modal p strong{color:var(--color-text)}.assignment-detail__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-6)}.assignment-detail__modal-cancel,.assignment-detail__modal-delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 var(--space-4);transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.assignment-detail__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.assignment-detail__modal-cancel:hover{background:var(--color-background-alt);border-color:var(--color-border-strong,var(--color-border));color:var(--color-text)}.assignment-detail__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.assignment-detail__modal-delete:hover{background:var(--color-danger);background:var(--color-danger-hover,var(--color-danger));border-color:var(--color-danger-hover,var(--color-danger))}.assignment-detail__modal-cancel:disabled,.assignment-detail__modal-delete:disabled{cursor:not-allowed;opacity:.65}.admin-assignment-detail a:focus-visible,.admin-assignment-detail button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@keyframes assignment-detail-spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.assignment-detail__hero{align-items:flex-start;flex-direction:column}.assignment-detail__hero-actions{justify-content:flex-start;width:100%}.assignment-detail__content{grid-template-columns:1fr}.assignment-detail__side{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-detail__summary-card{grid-column:1/-1}.assignment-detail__info-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.assignment-detail__hero-actions{display:grid;grid-template-columns:1fr}.assignment-detail__button{width:100%}.assignment-detail__info-grid,.assignment-detail__info-grid--compact,.assignment-detail__side{grid-template-columns:1fr}.assignment-detail__card{padding:var(--space-5)}.assignment-detail__modal-actions{flex-direction:column-reverse}.assignment-detail__modal-actions button{width:100%}}.assignment-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.assignment-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.assignment-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.assignment-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.assignment-form-page__heading{min-width:0}.assignment-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.assignment-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.assignment-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.assignment-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.assignment-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.assignment-form-page__alert-content{flex:1 1;min-width:0}.assignment-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.assignment-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.assignment-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.assignment-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.assignment-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.assignment-form-page__form,.assignment-form-page__layout{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.assignment-form-page__layout{min-width:0}.assignment-form-page__layout--single{grid-template-columns:minmax(0,1fr)}.assignment-form-page__main{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.assignment-form-page__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;padding:var(--space-5);position:relative}.assignment-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.assignment-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.assignment-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.assignment-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.assignment-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.assignment-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.assignment-form-page__field--full{grid-column:1/-1}.assignment-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.assignment-form-page__field>label span{color:var(--color-danger)}.assignment-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.assignment-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.assignment-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.assignment-form-page__select--open{z-index:240}.assignment-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.assignment-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.assignment-form-page__select--open .assignment-form-page__select-trigger,.assignment-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.assignment-form-page__select-placeholder{color:var(--color-text-muted)}.assignment-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.assignment-form-page__select--open .assignment-form-page__select-chevron{transform:rotate(180deg)}.assignment-form-page__select-menu{grid-gap:3px;animation:assignment-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:6px;z-index:9999}.assignment-form-page__select-menu--portal{margin:0}.assignment-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.assignment-form-page__select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-form-page__select-option:focus-visible,.assignment-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.assignment-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.assignment-form-page__select-option svg{flex:0 0 auto}.assignment-form-page__select--disabled .assignment-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes assignment-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.assignment-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.assignment-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.assignment-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.assignment-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.assignment-form-page__action-buttons{align-items:center;display:flex;gap:10px}.assignment-form-page__cancel,.assignment-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.assignment-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.assignment-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.assignment-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.assignment-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.assignment-form-page__cancel:disabled,.assignment-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.assignment-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.assignment-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.assignment-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.assignment-form-page__spinner{animation:assignment-form-spin .8s linear infinite}@keyframes assignment-form-spin{to{transform:rotate(1turn)}}.assignment-form-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:720px){.assignment-form-page__header{flex-direction:column}.assignment-form-page__grid{grid-template-columns:1fr}.assignment-form-page__field--full{grid-column:auto}.assignment-form-page__actions{align-items:stretch;flex-direction:column;position:static}.assignment-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.assignment-form-page__actions,.assignment-form-page__section{border-radius:var(--radius-lg)}.assignment-form-page__section{padding:var(--space-4)}.assignment-form-page__action-buttons{grid-template-columns:1fr}.assignment-form-page__cancel,.assignment-form-page__submit{width:100%}}.academic-year-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.academic-year-details-page__topbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;min-height:58px;padding:0 var(--space-5)}.academic-year-details-page__topbar-actions{align-items:center;display:flex;gap:8px}.academic-year-details-page__back,.academic-year-details-page__delete,.academic-year-details-page__edit,.academic-year-details-page__state-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.academic-year-details-page__back:hover,.academic-year-details-page__edit:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.academic-year-details-page__delete{border-color:var(--color-danger);color:var(--color-danger)}.academic-year-details-page__delete:hover{background:var(--color-danger-soft)}.academic-year-details-page__alert{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.academic-year-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.academic-year-details-page__alert span{flex:1 1}.academic-year-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.academic-year-details-page__profile{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--color-surface);display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:var(--space-5)}.academic-year-details-page__profile-main{align-items:flex-end;display:flex;gap:var(--space-4)}.academic-year-details-page__profile-icon{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb,var(--color-surface) 10%,#0000);border:3px solid color-mix(in srgb,var(--color-surface) 18%,#0000);border-radius:var(--radius-xl);display:flex;flex:0 0 90px;height:90px;justify-content:center;width:90px}.academic-year-details-page__identity{min-width:0;padding-bottom:2px}.academic-year-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 80%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.academic-year-details-page__identity h1{color:inherit;font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0;overflow-wrap:anywhere}.academic-year-details-page__date-range{align-items:center;color:color-mix(in srgb,var(--color-surface) 80%,#0000);display:flex;font-size:var(--font-size-sm);gap:7px;margin-top:10px}.academic-year-details-page__date-range--hours{color:color-mix(in srgb,var(--color-surface) 62%,#0000);font-size:var(--font-size-xs)}.academic-year-details-page__badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-5)}.academic-year-details-page__badge{align-items:center;background:color-mix(in srgb,var(--color-surface) 10%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 18%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);justify-content:center;letter-spacing:.03em;min-height:28px;padding:0 14px;text-transform:uppercase}.academic-year-details-page__badge--current{background:color-mix(in srgb,var(--color-surface) 15%,#0000);border-color:color-mix(in srgb,var(--color-surface) 30%,#0000);color:var(--color-surface)}.academic-year-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.academic-year-details-page__panel{grid-gap:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:var(--space-5);min-width:0;padding:var(--space-5)}.academic-year-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.academic-year-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.academic-year-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.academic-year-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.academic-year-details-page__information-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.academic-year-details-page__information-item{grid-gap:4px;display:grid;gap:4px;min-width:0}.academic-year-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px}.academic-year-details-page__information-item strong{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;overflow-wrap:anywhere}.academic-year-details-page__information-item .app-badge{align-self:start;justify-self:start;overflow-wrap:normal}.academic-year-details-page__metadata{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:0 var(--space-5)}.academic-year-details-page__metadata>div{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:6px;padding:7px 12px}.academic-year-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.academic-year-details-page__state-icon{align-items:center;background:var(--color-danger-soft);border-radius:var(--radius-xl);color:var(--color-danger);display:flex;height:62px;justify-content:center;width:62px}.academic-year-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.academic-year-details-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.academic-year-details-page__state-button{margin-top:16px}.academic-year-details-page__spinner{animation:academic-year-details-spin .8s linear infinite}@keyframes academic-year-details-spin{to{transform:rotate(1turn)}}.academic-year-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000006b;display:flex;justify-content:center;left:0;min-height:100vh;min-width:100%;padding:var(--space-5);position:fixed;top:0;z-index:1111}.academic-year-details-page__modal{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-muted);display:flex;flex-direction:column;font-size:var(--font-size-sm);gap:10px;max-width:370px;padding:var(--space-5);text-align:center;width:100%}.academic-year-details-page__modal-icon{align-items:center;background:var(--color-danger-soft);border-radius:100%;color:var(--color-danger);display:flex;height:60px;justify-content:center;width:60px}.academic-year-details-page__modal span{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.academic-year-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.academic-year-details-page__modal p{margin:0}.academic-year-details-page__modal-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);width:100%}.academic-year-details-page__modal-cancel,.academic-year-details-page__modal-delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:46px}.academic-year-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.academic-year-details-page__modal-cancel:hover{background:var(--color-background-alt)}.academic-year-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.academic-year-details-page__modal-delete:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 88%,var(--color-text))}.academic-year-details-page__modal-cancel:disabled,.academic-year-details-page__modal-delete:disabled{cursor:not-allowed;opacity:.65}@media (max-width:720px){.academic-year-details-page__topbar{align-items:stretch;flex-direction:column}.academic-year-details-page__topbar-actions{display:grid;grid-template-columns:repeat(2,1fr)}.academic-year-details-page__content-grid{grid-template-columns:1fr}.academic-year-details-page__profile-main{align-items:flex-start;flex-direction:column}.academic-year-details-page__metadata{padding:0}}@media (max-width:480px){.academic-year-details-page__topbar-actions{grid-template-columns:1fr}.academic-year-details-page__panel{padding:var(--space-4)}.academic-year-details-page__information-grid{grid-template-columns:1fr}.academic-year-details-page__modal{border-radius:var(--radius-lg);padding:var(--space-4)}.academic-year-details-page__modal-actions{grid-template-columns:1fr}}.academic-year-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.academic-year-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.academic-year-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.academic-year-form-page__alert-content{flex:1 1;min-width:0}.academic-year-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.academic-year-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.academic-year-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.academic-year-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.academic-year-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.academic-year-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.academic-year-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.academic-year-form-page__layout,.academic-year-form-page__main,.academic-year-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.academic-year-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.academic-year-form-page__section,.academic-year-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.academic-year-form-page__section{padding:var(--space-5)}.academic-year-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.academic-year-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.academic-year-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.academic-year-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.academic-year-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.academic-year-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.academic-year-form-page__field--full{grid-column:1/-1}.academic-year-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.academic-year-form-page__field>label span{color:var(--color-danger)}.academic-year-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.academic-year-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.academic-year-form-page__control::placeholder{color:var(--color-text-light)}.academic-year-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.academic-year-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.academic-year-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.academic-year-form-page__date-picker,.academic-year-form-page__time-picker{min-width:0;position:relative;width:100%;z-index:4}.academic-year-form-page__date-picker--open,.academic-year-form-page__time-picker--open{z-index:100}.academic-year-form-page__date-trigger,.academic-year-form-page__time-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:text;display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.academic-year-form-page__date-trigger:hover,.academic-year-form-page__time-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.academic-year-form-page__date-picker--open .academic-year-form-page__date-trigger,.academic-year-form-page__date-trigger:focus-within,.academic-year-form-page__time-picker--open .academic-year-form-page__time-trigger,.academic-year-form-page__time-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.academic-year-form-page__picker-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.academic-year-form-page__picker-copy{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.academic-year-form-page__picker-copy input{background:#0000;border:0;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:20px;line-height:1.2;min-width:0;outline:0;padding:0;width:100%}.academic-year-form-page__picker-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.academic-year-form-page .academic-year-form-page__picker-copy input:focus,.academic-year-form-page .academic-year-form-page__picker-copy input:focus-visible{box-shadow:none;outline:0}.academic-year-form-page__picker-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.academic-year-form-page__picker-toggle:focus-visible,.academic-year-form-page__picker-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.academic-year-form-page__picker-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.academic-year-form-page__picker-placeholder,.academic-year-form-page__picker-value{font-size:var(--font-size-sm);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-year-form-page__picker-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.academic-year-form-page__picker-placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.academic-year-form-page__picker-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.academic-year-form-page__date-picker--open .academic-year-form-page__picker-chevron,.academic-year-form-page__time-picker--open .academic-year-form-page__picker-chevron{transform:rotate(180deg)}.academic-year-form-page__calendar,.academic-year-form-page__time-panel{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:16px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;position:absolute;top:calc(100% + 9px);z-index:200}.academic-year-form-page__calendar{--academic-calendar-min-width:390px;animation:academic-calendar-open .16s ease-out;border-radius:20px;left:0;max-width:none;min-width:100%;overflow:visible;right:auto;transform:none;width:max(100%,min(var(--academic-calendar-min-width),calc(100vw - 32px)))}.academic-year-form-page__grid>.academic-year-form-page__field:nth-child(2n) .academic-year-form-page__calendar{left:auto;right:0}.academic-year-form-page__calendar>.academic-year-form-page__picker-top{border-radius:19px 19px 0 0}.academic-year-form-page__calendar>.academic-year-form-page__picker-footer{border-radius:0 0 19px 19px}.academic-year-form-page__time-panel{animation:academic-picker-open .16s ease-out;left:0;max-width:100%;min-width:100%;overflow:hidden;right:0;width:100%}.academic-year-form-page__picker-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.academic-year-form-page__picker-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.academic-year-form-page__picker-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.academic-year-form-page__picker-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-year-form-page__picker-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.academic-year-form-page__picker-close:focus-visible,.academic-year-form-page__picker-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.academic-year-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px 1fr 38px;padding:12px 14px 10px}.academic-year-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.academic-year-form-page__calendar-select{min-width:0;position:relative}.academic-year-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.academic-year-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-year-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.academic-year-form-page__calendar-select--open .academic-year-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.academic-year-form-page__calendar-select--open .academic-year-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.academic-year-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.academic-year-form-page .academic-year-form-page__calendar-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.academic-year-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.academic-year-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.academic-year-form-page .academic-year-form-page__calendar-select-option:focus-visible:not(:disabled),.academic-year-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.academic-year-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.academic-year-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.academic-year-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.academic-year-form-page__calendar-nav:focus-visible:not(:disabled),.academic-year-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.academic-year-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.academic-year-form-page__calendar-grid,.academic-year-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.academic-year-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.academic-year-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.academic-year-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.academic-year-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.academic-year-form-page__calendar-day:focus-visible:not(:disabled),.academic-year-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.academic-year-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.academic-year-form-page__calendar-day--today:not(.academic-year-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.academic-year-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.academic-year-form-page__calendar-day--selected:focus-visible,.academic-year-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.academic-year-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.academic-year-form-page__picker-footer{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.academic-year-form-page__picker-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-year-form-page__picker-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.academic-year-form-page__picker-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.academic-year-form-page__picker-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}.academic-year-form-page__time-editor{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;padding:18px 16px}.academic-year-form-page__time-unit{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:34px minmax(44px,1fr) 34px}.academic-year-form-page__time-unit>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);grid-column:1/-1;text-align:center;text-transform:uppercase}.academic-year-form-page__time-unit button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-primary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.academic-year-form-page__time-unit button:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.academic-year-form-page__time-unit input{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:9px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:40px;min-width:0;outline:0;padding:0 4px;text-align:center;width:100%}.academic-year-form-page__time-unit input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.academic-year-form-page__time-separator{color:var(--color-text);font-size:1.4rem;margin-top:18px}.academic-year-form-page__time-warning{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-radius:9px;color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45;margin:-4px 14px 12px;padding:9px 10px}@keyframes academic-picker-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes academic-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.academic-year-form-page__toggle{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:12px;min-height:72px;padding:13px}.academic-year-form-page__toggle-icon{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-md);color:var(--color-success);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.academic-year-form-page__toggle-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.academic-year-form-page__toggle-text strong{color:var(--color-text);font-size:var(--font-size-sm)}.academic-year-form-page__toggle-text small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin-top:3px}.academic-year-form-page__toggle input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.academic-year-form-page__switch{background:var(--color-border);border-radius:var(--radius-full);display:inline-flex;flex:0 0 44px;height:24px;padding:3px;position:relative;transition:background-color var(--transition-fast);width:44px}.academic-year-form-page__switch span{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:18px;transition:transform var(--transition-fast);width:18px}.academic-year-form-page__toggle input:checked+.academic-year-form-page__switch{background:var(--color-success)}.academic-year-form-page__toggle input:checked+.academic-year-form-page__switch span{transform:translateX(20px)}.academic-year-form-page__summary{padding:var(--space-5)}.academic-year-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.academic-year-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.academic-year-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.academic-year-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.academic-year-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.academic-year-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.academic-year-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.academic-year-form-page__status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px}.academic-year-form-page__status-badge--active{background:var(--color-success-soft);color:var(--color-success)}.academic-year-form-page__status-badge--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.academic-year-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.academic-year-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.academic-year-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.academic-year-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.academic-year-form-page__action-buttons{align-items:center;display:flex;gap:10px}.academic-year-form-page__cancel,.academic-year-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.academic-year-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.academic-year-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.academic-year-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.academic-year-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.academic-year-form-page__cancel:disabled,.academic-year-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.academic-year-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.academic-year-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.academic-year-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.academic-year-form-page__spinner{animation:academic-year-form-spin .8s linear infinite}@keyframes academic-year-form-spin{to{transform:rotate(1turn)}}.academic-year-form-page button:focus-visible,.academic-year-form-page input:focus-visible,.academic-year-form-page label:focus-within,.academic-year-form-page select:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.academic-year-form-page__layout{grid-template-columns:1fr}.academic-year-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.academic-year-form-page__grid{grid-template-columns:1fr}.academic-year-form-page__field--full{grid-column:auto}.academic-year-form-page__sidebar{grid-template-columns:1fr}.academic-year-form-page__actions{align-items:stretch;flex-direction:column;position:static}.academic-year-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.academic-year-form-page__actions,.academic-year-form-page__section,.academic-year-form-page__summary{border-radius:var(--radius-lg)}.academic-year-form-page__section{padding:var(--space-4)}.academic-year-form-page__action-buttons{grid-template-columns:1fr}.academic-year-form-page__cancel,.academic-year-form-page__submit{width:100%}.academic-year-form-page__calendar{--academic-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:0;transform:none;width:100%}.academic-year-form-page__grid>.academic-year-form-page__field:nth-child(2n) .academic-year-form-page__calendar{left:0;right:0}.academic-year-form-page__time-panel{left:0;max-width:100%;min-width:100%;right:0;width:100%}.academic-year-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.academic-year-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.academic-year-form-page__calendar-nav{height:36px;width:34px}.academic-year-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.academic-year-form-page__time-editor{gap:7px;padding:16px 10px}.academic-year-form-page__time-unit{gap:4px;grid-template-columns:30px minmax(38px,1fr) 30px}.academic-year-form-page__time-unit button{height:32px;width:30px}}.academic-years-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.academic-years-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.academic-years-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.academic-years-page__hero-content{min-width:0;position:relative;z-index:1}.academic-years-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.academic-years-page__eyebrow,.academic-years-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.academic-years-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.academic-years-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.academic-years-page__add-button,.academic-years-page__modal-cancel,.academic-years-page__modal-delete,.academic-years-page__reset-button,.academic-years-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.academic-years-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.academic-years-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.academic-years-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.academic-years-page__alert span{flex:1 1}.academic-years-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.academic-years-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.academic-years-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.academic-years-page__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px;position:relative;z-index:5}.academic-years-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.academic-years-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.academic-years-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.academic-years-page__search input::placeholder{color:var(--color-text-light)}.academic-years-page__toolbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.academic-years-page__select-control--custom{min-width:180px;position:relative}.academic-years-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.academic-years-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.academic-years-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.academic-years-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.academic-years-page__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-years-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.academic-years-page__select-control--open .academic-years-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.academic-years-page__select-control--open .academic-years-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.academic-years-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:9999}.academic-years-page__select-menu li{margin:0;padding:0}.academic-years-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.academic-years-page__select-option:focus-visible,.academic-years-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.academic-years-page__select-option--active,.academic-years-page__select-option--active:focus-visible,.academic-years-page__select-option--active:hover{background:var(--color-primary);color:#fff}.academic-years-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:0 14px}.academic-years-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.academic-years-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.academic-years-page__table-scroll{min-width:0;overflow-x:auto}.academic-years-page__table{border-collapse:collapse;min-width:760px;width:100%}.academic-years-page__table td,.academic-years-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.academic-years-page__table thead{background:var(--color-sidebar)}.academic-years-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.academic-years-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.academic-years-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.academic-years-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.academic-years-page__table tbody tr{transition:background-color var(--transition-fast)}.academic-years-page__table tbody tr:hover{background:var(--color-surface-hover)}.academic-years-page__table tbody tr:last-child td{border-bottom:0}.academic-years-page__actions-heading{text-align:right!important}.academic-years-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.academic-years-page__identity-icon{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.academic-years-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.academic-years-page__identity-name span,.academic-years-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-years-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.academic-years-page__identity-name span{color:var(--color-success);font-size:var(--font-size-xs);margin-top:2px}.academic-years-page__duration{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-sm);gap:6px;white-space:nowrap}.academic-years-page__duration svg{color:var(--color-text-muted);flex-shrink:0}.academic-years-page__hours{font-feature-settings:"tnum";align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;gap:6px;white-space:nowrap}.academic-years-page__hours svg{color:var(--color-text-muted);flex-shrink:0}.academic-years-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.academic-years-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.academic-years-page__status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.academic-years-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.academic-years-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.academic-years-page__action:hover{transform:translateY(-1px)}.academic-years-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.academic-years-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.academic-years-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.academic-years-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.academic-years-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.academic-years-page__pagination p strong{color:var(--color-text-secondary)}.academic-years-page__pagination-controls{align-items:center;display:flex;gap:9px}.academic-years-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.academic-years-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.academic-years-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.academic-years-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.academic-years-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.academic-years-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.academic-years-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.academic-years-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.academic-years-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.academic-years-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.academic-years-page__spinner{animation:academic-years-page-spin .8s linear infinite}@keyframes academic-years-page-spin{to{transform:rotate(1turn)}}.academic-years-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.academic-years-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.academic-years-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.academic-years-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.academic-years-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.academic-years-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.academic-years-page__modal p strong{color:var(--color-text)}.academic-years-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.academic-years-page__modal-cancel,.academic-years-page__modal-delete{padding:0 16px}.academic-years-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.academic-years-page__modal-cancel:hover{background:var(--color-background-alt)}.academic-years-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.academic-years-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.academic-years-page button:focus-visible,.academic-years-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.academic-years-page__toolbar{align-items:stretch;flex-direction:column}.academic-years-page__search{max-width:none}.academic-years-page__toolbar-controls{justify-content:flex-start}}@media (max-width:720px){.academic-years-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.academic-years-page__add-button{width:100%}.academic-years-page__toolbar-controls{display:grid;grid-template-columns:1fr}.academic-years-page__reset-button,.academic-years-page__select-control--custom{width:100%}.academic-years-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.academic-years-page__hero,.academic-years-page__panel,.academic-years-page__toolbar{border-radius:var(--radius-lg)}.academic-years-page__search{min-width:0}.academic-years-page__table td,.academic-years-page__table th{padding-left:14px;padding-right:14px}.academic-years-page__modal-actions{flex-direction:column-reverse}.academic-years-page__modal-cancel,.academic-years-page__modal-delete{width:100%}}.class-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.class-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.class-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.class-details-page__back,.class-details-page__delete,.class-details-page__edit,.class-details-page__modal-cancel,.class-details-page__modal-delete,.class-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.class-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.class-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.class-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.class-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.class-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.class-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.class-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.class-details-page__alert span{flex:1 1}.class-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.class-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.class-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.class-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.class-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.class-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:4px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 100px;height:100px;justify-content:center;width:100px}.class-details-page__identity{min-width:0}.class-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.class-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.class-details-page__code{align-items:center;color:color-mix(in srgb,var(--color-surface) 78%,#0000);display:inline-flex;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;margin-top:10px}.class-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:380px;position:relative;z-index:1}.class-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.class-details-page__badge--level,.class-details-page__badge--year{background:color-mix(in srgb,var(--color-surface) 15%,#0000);color:var(--color-surface)}.class-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.class-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.class-details-page__panel:first-child{grid-column:1/-1}.class-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.class-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.class-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.class-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.class-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.class-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.class-details-page__information-item--full{grid-column:1/-1}.class-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.class-details-page__information-label svg{color:var(--color-primary)}.class-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.class-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.class-details-page__metadata div{font-size:var(--font-size-xs);gap:7px}.class-details-page__metadata div,.class-details-page__state{align-items:center;color:var(--color-text-muted);display:flex}.class-details-page__state{flex-direction:column;justify-content:center;min-height:480px;text-align:center}.class-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.class-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.class-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.class-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.class-details-page__state-button:hover{background:var(--color-primary-hover)}.class-details-page__spinner{animation:class-details-spin .8s linear infinite}@keyframes class-details-spin{to{transform:rotate(1turn)}}.class-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.class-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.class-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.class-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.class-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.class-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.class-details-page__modal p strong{color:var(--color-text)}.class-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.class-details-page__modal-cancel,.class-details-page__modal-delete{padding:0 16px}.class-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.class-details-page__modal-cancel:hover{background:var(--color-background-alt)}.class-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.class-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.class-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.class-details-page__profile{align-items:flex-start;flex-direction:column}.class-details-page__badges{justify-content:flex-start}.class-details-page__content-grid{grid-template-columns:1fr}.class-details-page__panel:first-child{grid-column:auto}}@media (max-width:650px){.class-details-page__topbar{align-items:stretch;flex-direction:column}.class-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.class-details-page__profile{padding:var(--space-5)}.class-details-page__profile-main{align-items:flex-start;flex-direction:column}.class-details-page__information-grid{grid-template-columns:1fr}.class-details-page__information-item--full{grid-column:auto}.class-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.class-details-page__back,.class-details-page__delete,.class-details-page__edit{width:100%}.class-details-page__topbar-actions{grid-template-columns:1fr}.class-details-page__modal,.class-details-page__panel,.class-details-page__profile{border-radius:var(--radius-lg)}.class-details-page__panel{padding:var(--space-4)}.class-details-page__modal-actions{flex-direction:column-reverse}.class-details-page__modal-cancel,.class-details-page__modal-delete{width:100%}}.class-details-page__students-panel{grid-column:1/-1}.class-details-page__panel-header--students{align-items:center}.class-details-page__add-students-btn{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-left:auto;min-height:40px;padding:0 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.class-details-page__add-students-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.class-details-page__students-alert{margin-top:var(--space-4)}.class-details-page__students-state{color:var(--color-text-muted);font-size:var(--font-size-sm);gap:10px;min-height:120px}.class-details-page__students-empty,.class-details-page__students-state{align-items:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);display:flex;justify-content:center;margin-top:var(--space-4)}.class-details-page__students-empty{flex-direction:column;min-height:200px;padding:var(--space-5);text-align:center}.class-details-page__students-empty-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.class-details-page__students-empty h3{color:var(--color-text);font-size:var(--font-size-md);margin:14px 0 0}.class-details-page__students-empty p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.class-details-page__students-empty .class-details-page__add-students-btn{margin-top:var(--space-4)}.class-details-page__table-wrapper{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-top:var(--space-4);overflow-x:auto}.class-details-page__table{border-collapse:collapse;font-size:var(--font-size-sm);min-width:680px;width:100%}.class-details-page__table td,.class-details-page__table th{border-bottom:1px solid var(--color-border-light);padding:12px 16px;text-align:left;vertical-align:middle}.class-details-page__table thead th{background:var(--color-background-alt);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.class-details-page__table tbody tr:last-child td{border-bottom:0}.class-details-page__table tbody tr{transition:background-color var(--transition-fast)}.class-details-page__table tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.class-details-page__student-number{color:var(--color-text-secondary);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.class-details-page__student-name{align-items:center;display:flex;gap:11px;min-width:0}.class-details-page__student-initial{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;flex:0 0 34px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:34px;justify-content:center;text-transform:uppercase;width:34px}.class-details-page__student-name div{min-width:0}.class-details-page__student-name strong{color:var(--color-text);display:block;font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-details-page__student-name small{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin-top:2px;overflow:hidden;text-overflow:ellipsis}.class-details-page__enrollment-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:26px;padding:0 10px;white-space:nowrap}.class-details-page__enrollment-badge--active{background:var(--color-success-soft);color:var(--color-success)}.class-details-page__enrollment-badge--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.class-details-page__enrollment-badge--transferred{background:var(--color-warning-soft);color:var(--color-warning)}.class-details-page__table td:last-child,.class-details-page__table-actions-head{text-align:right}.class-details-page__row-actions{align-items:center;display:inline-flex;gap:6px;justify-content:flex-end}.class-details-page__row-action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:32px}.class-details-page__row-action:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.class-details-page__row-action--danger:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.class-details-page__pagination{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top-color:var(--color-border);display:flex;gap:16px;justify-content:space-between;margin-top:-1px;min-height:62px;padding:12px 20px}.class-details-page__table-wrapper:has(+.class-details-page__pagination){border-radius:var(--radius-lg) var(--radius-lg) 0 0}.class-details-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.class-details-page__pagination p strong{color:var(--color-text-secondary)}.class-details-page__pagination-controls{align-items:center;display:flex;gap:9px}.class-details-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:34px}.class-details-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.class-details-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.class-details-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}@media (max-width:720px){.class-details-page__pagination{align-items:flex-start;flex-direction:column}}.class-details-page__modal--wide{width:min(100%,500px)}.class-details-page__modal-form-header{align-items:flex-start;display:flex;gap:14px}.class-details-page__modal-form-header>div:last-child{min-width:0}.class-details-page__modal-icon--primary{background:var(--color-primary-soft);color:var(--color-primary)}.class-details-page__modal-form-header>div>span{color:var(--color-primary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:2px;text-transform:uppercase}.class-details-page__modal-form-header h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.class-details-page__modal-form-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:6px 0 0}.class-details-page__modal-form-header p strong{color:var(--color-text)}.class-details-page__modal-form,.class-details-page__modal-form-alert{margin-top:18px}.class-details-page__modal-field{grid-gap:7px;display:grid;gap:7px;margin-top:14px}.class-details-page__modal-field:first-of-type{margin-top:0}.class-details-page__modal-field label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.class-details-page__modal-field label span{color:var(--color-danger)}.class-details-page__modal-field small{color:var(--color-danger);font-size:var(--font-size-xs)}.class-details-page__student-combobox{position:relative}.class-details-page__student-combobox__control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:text;display:flex;gap:9px;min-height:42px;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.class-details-page__student-combobox__control--open,.class-details-page__student-combobox__control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,#0000)}.class-details-page__student-combobox__control--error{border-color:var(--color-danger)}.class-details-page__student-combobox__control--error:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 16%,#0000)}.class-details-page__student-combobox__control input{background:#0000;border:0;color:var(--color-text);flex:1 1;font-family:inherit;font-size:var(--font-size-sm);min-width:0;outline:0}.class-details-page__student-combobox__control input::placeholder{color:var(--color-text-muted)}.class-details-page__student-combobox__control svg{flex-shrink:0}.class-details-page__student-combobox__chevron{transition:transform var(--transition-fast)}.class-details-page__student-combobox__chevron--open{transform:rotate(180deg)}.class-details-page__student-combobox__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);left:0;max-height:min(260px,40vh);overflow-y:auto;padding:6px;position:absolute;top:calc(100% + 6px);width:100%;z-index:50}.class-details-page__student-combobox__option{grid-gap:4px 10px;align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:grid;gap:4px 10px;grid-template-columns:1fr auto;list-style:none;padding:9px 10px}.class-details-page__student-combobox__option--active,.class-details-page__student-combobox__option:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.class-details-page__student-combobox__option--selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.class-details-page__student-combobox__option-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.class-details-page__student-combobox__option-number{color:var(--color-text-muted);font-size:var(--font-size-xs)}.class-details-page__student-combobox__option-check{color:var(--color-primary);grid-column:2;grid-row:1/span 2}.class-details-page__student-combobox__state{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:8px;justify-content:center;padding:14px 10px}.class-details-page__modal-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);min-height:42px;outline:0;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.class-details-page__modal-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,#0000)}.class-details-page__modal-input--error{border-color:var(--color-danger)}.class-details-page__modal-note{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:14px 0 0;padding:10px 12px}.class-details-page__modal-confirm{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:background-color var(--transition-fast)}.class-details-page__modal-confirm:hover{background:var(--color-primary-hover)}.class-details-page__modal-cancel:disabled,.class-details-page__modal-confirm:disabled,.class-details-page__modal-delete:disabled{cursor:not-allowed;opacity:.65}@media (max-width:650px){.class-details-page__panel-header--students{align-items:flex-start;flex-wrap:wrap;gap:10px}.class-details-page__add-students-btn{margin-left:0}.class-details-page__modal--wide{border-radius:var(--radius-lg)}.class-details-page__modal-actions{flex-direction:column-reverse}.class-details-page__modal-cancel,.class-details-page__modal-confirm{width:100%}}.class-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.class-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.class-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.class-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.class-form-page__heading{min-width:0}.class-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.class-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.class-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.class-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.class-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.class-form-page__alert-content{flex:1 1;min-width:0}.class-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.class-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.class-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.class-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.class-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.class-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.class-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.class-form-page__layout,.class-form-page__main,.class-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.class-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.class-form-page__section,.class-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.class-form-page__section{padding:var(--space-5)}.class-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.class-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.class-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.class-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.class-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.class-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.class-form-page__field--full{grid-column:1/-1}.class-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.class-form-page__field>label span{color:var(--color-danger)}.class-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.class-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}textarea.class-form-page__control{height:auto;min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.class-form-page__control::placeholder{color:var(--color-text-light)}.class-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.class-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.class-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.class-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.class-form-page input[type=number]::-webkit-inner-spin-button,.class-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.class-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.class-form-page__select--open{z-index:100}.class-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.class-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.class-form-page__select--open .class-form-page__select-trigger,.class-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.class-form-page__select-placeholder{color:var(--color-text-muted)}.class-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.class-form-page__select--open .class-form-page__select-chevron{transform:rotate(180deg)}.class-form-page__select-menu{grid-gap:3px;animation:class-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;left:0;max-height:260px;max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:120}.class-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.class-form-page__select-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-form-page__select-option:focus-visible,.class-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.class-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.class-form-page__select-option svg{flex:0 0 auto}.class-form-page__select--disabled .class-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes class-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.class-form-page__summary{padding:var(--space-5)}.class-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.class-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.class-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.class-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.class-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.class-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.class-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.class-form-page__summary-status{border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 8px}.class-form-page__summary-status--active{background:var(--color-success-soft);color:var(--color-success)}.class-form-page__summary-status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.class-form-page__summary-status--archived{background:var(--color-warning-soft);color:var(--color-warning)}.class-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.class-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.class-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.class-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.class-form-page__action-buttons{align-items:center;display:flex;gap:10px}.class-form-page__cancel,.class-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.class-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.class-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.class-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.class-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.class-form-page__cancel:disabled,.class-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.class-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.class-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.class-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.class-form-page__spinner{animation:class-form-spin .8s linear infinite}@keyframes class-form-spin{to{transform:rotate(1turn)}}.class-form-page button:focus-visible,.class-form-page input:focus-visible,.class-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.class-form-page__layout{grid-template-columns:1fr}.class-form-page__sidebar{position:static}}@media (max-width:720px){.class-form-page__header{flex-direction:column}.class-form-page__grid{grid-template-columns:1fr}.class-form-page__field--full{grid-column:auto}.class-form-page__actions{align-items:stretch;flex-direction:column;position:static}.class-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.class-form-page__actions,.class-form-page__section,.class-form-page__summary{border-radius:var(--radius-lg)}.class-form-page__section{padding:var(--space-4)}.class-form-page__action-buttons{grid-template-columns:1fr}.class-form-page__cancel,.class-form-page__submit{width:100%}}.classes-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.classes-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.classes-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.classes-page__hero-content{min-width:0;position:relative;z-index:1}.classes-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.classes-page__eyebrow,.classes-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.classes-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.classes-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.classes-page__add-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.classes-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.classes-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.classes-page__alert span{flex:1 1}.classes-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.classes-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.classes-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.classes-page__toolbar{align-items:center!important;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:row!important;gap:10px;justify-content:space-between;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.classes-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 260px;gap:10px;max-width:310px;min-height:44px;min-width:220px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.classes-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.classes-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.classes-page__search input::placeholder{color:var(--color-text-light)}.classes-page__toolbar-controls{align-items:center;display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;gap:7px;justify-content:flex-end;min-width:0;overflow:visible}.classes-page__select-control--custom{flex:0 0 140px;min-width:140px;position:relative}.classes-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:8px;min-height:42px;padding:0 9px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.classes-page__select-button:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.classes-page__select-button:disabled{cursor:not-allowed;opacity:.7}.classes-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.classes-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.classes-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classes-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.classes-page__select-control--open .classes-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.classes-page__select-control--open .classes-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.classes-page__select-control--disabled{opacity:.8}.classes-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.classes-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.classes-page__select-option.sd__option--highlighted,.classes-page__select-option:focus-visible,.classes-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.classes-page__select-option--active,.classes-page__select-option--active.sd__option--highlighted,.classes-page__select-option--active:focus-visible,.classes-page__select-option--active:hover{background:var(--color-primary);color:#fff}.classes-page__reset-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 14px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.classes-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.classes-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.classes-page__table-scroll{min-width:0;overflow-x:auto}.classes-page__table{border-collapse:collapse;min-width:820px;width:100%}.classes-page__table td,.classes-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.classes-page__table thead{background:var(--color-sidebar)}.classes-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.classes-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.classes-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.classes-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.classes-page__table tbody tr{transition:background-color var(--transition-fast)}.classes-page__table tbody tr:hover{background:var(--color-surface-hover)}.classes-page__table tbody tr:last-child td{border-bottom:0}.classes-page__actions-heading{text-align:right!important}.classes-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.classes-page__identity-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.classes-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.classes-page__identity-name span,.classes-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classes-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.classes-page__identity-name span{color:var(--color-text-muted);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:var(--font-size-xs);margin-top:2px}.classes-page__tag{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:5px 9px;white-space:nowrap}.classes-page__year-cell{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.classes-page__current-badge{background:var(--color-success-soft);border-radius:var(--radius-full);color:var(--color-success);display:inline-flex;font-size:.65rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.classes-page__room-cell{align-items:center;color:var(--color-text-secondary);display:inline-flex;gap:6px}.classes-page__room-cell svg{color:var(--color-text-muted);flex-shrink:0}.classes-page__capacity{color:var(--color-text);font-weight:var(--font-weight-semibold)}.classes-page__empty{color:var(--color-text-light)}.classes-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.classes-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.classes-page__status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.classes-page__status--archived{background:var(--color-warning-soft);color:var(--color-warning)}.classes-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.classes-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.classes-page__action:hover{transform:translateY(-1px)}.classes-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.classes-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.classes-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.classes-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.classes-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.classes-page__pagination p strong{color:var(--color-text-secondary)}.classes-page__pagination-controls{align-items:center;display:flex;gap:9px}.classes-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.classes-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.classes-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.classes-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.classes-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.classes-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.classes-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.classes-page__spinner{animation:classes-page-spin .8s linear infinite}@keyframes classes-page-spin{to{transform:rotate(1turn)}}.classes-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.classes-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.classes-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.classes-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.classes-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.classes-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.classes-page__modal p strong{color:var(--color-text)}.classes-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.classes-page__modal-cancel,.classes-page__modal-delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px}.classes-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.classes-page__modal-cancel:hover{background:var(--color-background-alt)}.classes-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.classes-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.classes-page button:focus-visible,.classes-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1250px){.classes-page__toolbar{overflow-x:auto;overflow-y:visible;padding-bottom:18px}.classes-page__search{flex:0 0 220px;min-width:220px}.classes-page__toolbar-controls{justify-content:flex-start}.classes-page__select-control--custom{flex:0 0 140px;min-width:140px;width:auto!important}.classes-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:720px){.classes-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.classes-page__add-button{width:100%}.classes-page__toolbar-controls{display:flex!important;grid-template-columns:none!important}.classes-page__reset-button,.classes-page__select-control--custom{width:auto!important}.classes-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.classes-page__hero,.classes-page__panel,.classes-page__toolbar{border-radius:var(--radius-lg)}.classes-page__search{min-width:220px}.classes-page__table td,.classes-page__table th{padding-left:14px;padding-right:14px}.classes-page__modal-actions{flex-direction:column-reverse}.classes-page__modal-cancel,.classes-page__modal-delete{width:100%}}.level-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.level-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.level-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.level-details-page__back,.level-details-page__delete,.level-details-page__edit,.level-details-page__modal-cancel,.level-details-page__modal-delete,.level-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.level-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.level-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.level-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.level-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.level-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.level-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.level-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.level-details-page__alert span{flex:1 1}.level-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.level-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.level-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.level-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.level-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.level-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;width:112px}.level-details-page__identity{min-width:0}.level-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.level-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.level-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.level-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.level-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 15%,#0000);color:var(--color-surface)}.level-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.level-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.level-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.level-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.level-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.level-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.level-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.level-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.level-details-page__information-item--full{grid-column:1/-1}.level-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.level-details-page__information-label svg{color:var(--color-primary)}.level-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.level-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.level-details-page__metadata div{font-size:var(--font-size-xs);gap:7px}.level-details-page__metadata div,.level-details-page__state{align-items:center;color:var(--color-text-muted);display:flex}.level-details-page__state{flex-direction:column;justify-content:center;min-height:480px;text-align:center}.level-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.level-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.level-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.level-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.level-details-page__state-button:hover{background:var(--color-primary-hover)}.level-details-page__spinner{animation:level-details-spin .8s linear infinite}@keyframes level-details-spin{to{transform:rotate(1turn)}}.level-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.level-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.level-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.level-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.level-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.level-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.level-details-page__modal p strong{color:var(--color-text)}.level-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.level-details-page__modal-cancel,.level-details-page__modal-delete{padding:0 16px}.level-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.level-details-page__modal-cancel:hover{background:var(--color-background-alt)}.level-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.level-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.level-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.level-details-page__profile{align-items:flex-start;flex-direction:column}.level-details-page__badges{justify-content:flex-start}.level-details-page__content-grid{grid-template-columns:1fr}}@media (max-width:650px){.level-details-page__topbar{align-items:stretch;flex-direction:column}.level-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.level-details-page__profile{padding:var(--space-5)}.level-details-page__profile-main{align-items:flex-start;flex-direction:column}.level-details-page__information-grid{grid-template-columns:1fr}.level-details-page__information-item--full{grid-column:auto}.level-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.level-details-page__back,.level-details-page__delete,.level-details-page__edit{width:100%}.level-details-page__topbar-actions{grid-template-columns:1fr}.level-details-page__modal,.level-details-page__panel,.level-details-page__profile{border-radius:var(--radius-lg)}.level-details-page__panel{padding:var(--space-4)}.level-details-page__modal-actions{flex-direction:column-reverse}.level-details-page__modal-cancel,.level-details-page__modal-delete{width:100%}}.level-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.level-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.level-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.level-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.level-form-page__heading{min-width:0}.level-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.level-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.level-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.level-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.level-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.level-form-page__alert-content{flex:1 1;min-width:0}.level-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.level-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.level-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.level-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.level-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.level-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.level-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.level-form-page__layout,.level-form-page__main,.level-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.level-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.level-form-page__section,.level-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.level-form-page__section{padding:var(--space-5)}.level-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.level-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.level-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.level-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.level-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.level-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.level-form-page__field--full{grid-column:1/-1}.level-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.level-form-page__field>label span{color:var(--color-danger)}.level-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.level-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.level-form-page__control::placeholder{color:var(--color-text-light)}.level-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.level-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.level-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}textarea.level-form-page__control{height:auto;min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.level-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.level-form-page input[type=number]::-webkit-inner-spin-button,.level-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.level-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.level-form-page__select--open{z-index:100}.level-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.level-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.level-form-page__select--open .level-form-page__select-trigger,.level-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.level-form-page__select-placeholder{color:var(--color-text-muted)}.level-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.level-form-page__select--open .level-form-page__select-chevron{transform:rotate(180deg)}.level-form-page__select-menu{grid-gap:3px;animation:level-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;left:0;max-height:250px;max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:120}.level-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.level-form-page__select-option:focus-visible,.level-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.level-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.level-form-page__select-option svg{flex:0 0 auto}.level-form-page__select--disabled .level-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes level-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.level-form-page__summary{padding:var(--space-5)}.level-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.level-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.level-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.level-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.level-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.level-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.level-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.level-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.level-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.level-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.level-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.level-form-page__action-buttons{align-items:center;display:flex;gap:10px}.level-form-page__cancel,.level-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.level-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.level-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.level-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.level-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.level-form-page__cancel:disabled,.level-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.level-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.level-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.level-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.level-form-page__spinner{animation:level-form-spin .8s linear infinite}@keyframes level-form-spin{to{transform:rotate(1turn)}}.level-form-page button:focus-visible,.level-form-page input:focus-visible,.level-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}.level-form-page__cycle-wrapper{align-items:stretch;display:flex;gap:6px;min-width:0}.level-form-page__cycle-wrapper>.level-form-page__select{flex:1 1;min-width:0}.level-form-page__cycle-actions{align-items:stretch;display:flex;flex:0 0 auto;gap:4px}.level-form-page__cycle-loading{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:8px;min-height:44px;padding:0 13px}.level-form-page__select-action-wrap{border-top:1px solid var(--color-border-light);margin-top:4px;padding-top:6px}.level-form-page__select-action{grid-gap:10px;align-items:center;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border));border-radius:9px;color:var(--color-primary);cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:34px minmax(0,1fr);min-height:54px;padding:7px 9px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);width:100%}.level-form-page__select-action:hover{background:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px)}.level-form-page__select-action-icon{align-items:center;background:var(--color-primary);border-radius:9px;color:var(--color-surface);display:inline-flex;height:34px;justify-content:center;width:34px}.level-form-page__select-action-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.level-form-page__select-action-copy strong{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.level-form-page__select-action-copy small{color:var(--color-text-muted);font-size:.6875rem;font-weight:var(--font-weight-medium);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-form-page__cycle-error{color:var(--color-danger);font-size:var(--font-size-xs)}.level-form-page__add-cycle{grid-gap:8px;animation:level-form-cycle-add .14s ease-out;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:grid;gap:8px;margin-top:8px;padding:12px}.level-form-page__add-cycle-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:38px;padding:0 11px;width:100%}.level-form-page__add-cycle-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:0}.level-form-page__add-cycle-buttons{display:flex;gap:6px;justify-content:flex-end}.level-form-page__add-cycle-cancel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:34px;padding:0 12px}.level-form-page__add-cycle-cancel:hover:not(:disabled){background:var(--color-background-alt)}.level-form-page__add-cycle-submit{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:34px;padding:0 12px;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.level-form-page__add-cycle-submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.level-form-page__add-cycle-cancel:disabled,.level-form-page__add-cycle-submit:disabled{cursor:not-allowed;opacity:.65}.level-form-page__add-cycle-error{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}@keyframes level-form-cycle-add{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.level-form-page__layout{grid-template-columns:1fr}.level-form-page__sidebar{position:static}}@media (max-width:720px){.level-form-page__header{flex-direction:column}.level-form-page__grid{grid-template-columns:1fr}.level-form-page__field--full{grid-column:auto}.level-form-page__actions{align-items:stretch;flex-direction:column;position:static}.level-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.level-form-page__actions,.level-form-page__section,.level-form-page__summary{border-radius:var(--radius-lg)}.level-form-page__section{padding:var(--space-4)}.level-form-page__action-buttons{grid-template-columns:1fr}.level-form-page__cancel,.level-form-page__submit{width:100%}}.level-cycle-popup__backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a7a;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:12000}.level-cycle-popup{animation:expense-category-popup-in .18s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;box-shadow:0 28px 70px #0f172a3d,0 4px 18px #0f172a1a;max-height:min(760px,calc(100vh - 48px));overflow:hidden;width:min(620px,100%)}.level-cycle-popup__header{grid-gap:12px;align-items:start;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-bottom:1px solid var(--color-border-light);display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr) 38px;padding:18px 20px}.level-cycle-popup__header-icon{align-items:center;background:var(--color-primary);border-radius:13px;box-shadow:var(--shadow-sm);color:var(--color-surface);display:inline-flex;height:44px;justify-content:center;width:44px}.level-cycle-popup__heading{min-width:0}.level-cycle-popup__heading>span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.075em;text-transform:uppercase}.level-cycle-popup__heading h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:3px 0 0}.level-cycle-popup__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:36px}.level-cycle-popup__close:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.level-cycle-popup__body{grid-gap:18px;display:grid;gap:18px;max-height:calc(100vh - 235px);overflow-y:auto;padding:18px 20px}.level-cycle-popup__existing,.level-cycle-popup__list{grid-gap:7px;display:grid;gap:7px;max-height:240px;overflow-y:auto;padding-right:2px}.level-cycle-popup__item{grid-gap:9px;align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:11px;display:grid;gap:9px;grid-template-columns:34px minmax(0,1fr) 32px;min-height:46px;padding:5px 6px 5px 7px}.level-cycle-popup__item-icon{align-items:center;background:var(--color-primary-soft);border-radius:9px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.level-cycle-popup__item-copy,.level-cycle-popup__item-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-cycle-popup__delete{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:30px}.level-cycle-popup__delete:hover{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.level-cycle-popup__empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:130px;padding:20px;text-align:center}.level-cycle-popup__empty>span{align-items:center;background:var(--color-primary-soft);border-radius:12px;color:var(--color-primary);display:inline-flex;height:44px;justify-content:center;margin-bottom:8px;width:44px}.level-cycle-popup__empty strong{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.level-cycle-popup__empty p{font-size:var(--font-size-xs);margin:4px 0 0}.level-cycle-popup__create{grid-gap:18px;display:grid;gap:18px;max-height:calc(100vh - 235px);overflow-y:auto;padding:18px 20px}.level-cycle-popup__section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:11px}.level-cycle-popup__section-title>div{display:flex;flex-direction:column;gap:2px}.level-cycle-popup__section-title span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.level-cycle-popup__section-title strong{color:var(--color-text);font-size:var(--font-size-sm)}.level-cycle-popup__field{grid-gap:7px;display:grid;gap:7px}.level-cycle-popup__input-wrap{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;height:44px;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.level-cycle-popup__input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.level-cycle-popup__input-wrap--error{border-color:var(--color-danger)}.level-cycle-popup__input-wrap>.Plus{color:var(--color-primary);flex:0 0 auto;margin-left:12px}.level-cycle-popup__input-wrap input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:100%;min-width:0;outline:0;padding:0 12px 0 9px;width:100%}.level-cycle-popup__actions{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:9px;justify-content:flex-end;padding:14px 20px 16px}.level-cycle-popup__cancel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:34px;padding:0 12px}.level-cycle-popup__cancel:hover:not(:disabled){background:var(--color-background-alt)}.level-cycle-popup__submit{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:34px;padding:0 12px;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.level-cycle-popup__submit:hover:not(:disabled){background:var(--color-primary-hover)}.level-cycle-delete-confirm__backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a94;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2147483646}.level-cycle-delete-confirm{animation:level-cycle-delete-confirm-in .17s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-border));border-radius:20px;box-shadow:0 30px 80px #0f172a52,0 6px 24px #0f172a29;overflow:hidden;width:min(430px,100%)}@keyframes level-cycle-delete-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.level-cycle-delete-confirm__icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 11%,var(--color-surface));border-radius:14px;color:var(--color-danger);display:flex;height:48px;justify-content:center;margin:22px auto 0;width:48px}.level-cycle-delete-confirm__content{padding:14px 24px 20px;text-align:center}.level-cycle-delete-confirm__content>span{color:var(--color-danger);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.level-cycle-delete-confirm__content h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:5px 0 0}.level-cycle-delete-confirm__content p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55;margin:8px auto 0;max-width:350px}.level-cycle-delete-confirm__error{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 34%,var(--color-border));border-radius:10px;color:var(--color-danger);display:flex;font-size:var(--font-size-xs);gap:8px;margin-top:14px;padding:10px 11px;text-align:left}.level-cycle-delete-confirm__error svg{flex:0 0 auto;margin-top:1px}.level-cycle-delete-confirm__actions{grid-gap:9px;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:grid;gap:9px;grid-template-columns:1fr 1fr;padding:14px 18px 18px}.level-cycle-delete-confirm__actions--single{grid-template-columns:1fr}.level-cycle-delete-confirm__cancel,.level-cycle-delete-confirm__delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:42px;padding:0 14px}.level-cycle-delete-confirm__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.level-cycle-delete-confirm__delete{background:var(--color-danger);border:1px solid var(--color-danger);color:#fff}.level-cycle-delete-confirm__delete:hover:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.94)}.level-cycle-delete-confirm__cancel:disabled,.level-cycle-delete-confirm__delete:disabled{cursor:not-allowed;opacity:.65}@media (max-width:480px){.level-cycle-delete-confirm__backdrop{align-items:flex-end;padding:12px}.level-cycle-delete-confirm{border-radius:18px}.level-cycle-delete-confirm__actions{grid-template-columns:1fr}}.students-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.students-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.students-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.students-page__hero-content{min-width:0;position:relative;z-index:1}.students-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.students-page__eyebrow,.students-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.students-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.students-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.students-page__add-button,.students-page__modal-cancel,.students-page__modal-delete,.students-page__reset-button,.students-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.students-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.students-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.students-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.students-page__alert span{flex:1 1}.students-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.students-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.students-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.students-page__toolbar{align-items:center!important;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:row!important;gap:12px;justify-content:space-between;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.students-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 300px;gap:10px;max-width:420px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.students-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.students-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.students-page__search input::placeholder{color:var(--color-text-light)}.students-page__toolbar-controls{align-items:center;display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.students-page__select-control--custom{flex:0 0 155px;min-width:155px;position:relative}.students-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.students-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.students-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.students-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.students-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.students-page__select-control--open .students-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.students-page__select-control--open .students-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.students-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.students-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.students-page__select-option:focus-visible,.students-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.students-page__select-option--active,.students-page__select-option--active:focus-visible,.students-page__select-option--active:hover{background:var(--color-primary);color:#fff}.students-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);flex:0 0 auto;min-height:42px;padding:0 14px;white-space:nowrap}.students-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.students-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.students-page__table-scroll{min-width:0;overflow-x:auto}.students-page__table{border-collapse:collapse;min-width:760px;width:100%}.students-page__table td,.students-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.students-page__table thead{background:var(--color-sidebar)}.students-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.students-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.students-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.students-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.students-page__table tbody tr{transition:background-color var(--transition-fast)}.students-page__table tbody tr:hover{background:var(--color-surface-hover)}.students-page__table tbody tr:last-child td{border-bottom:0}.students-page__actions-heading{text-align:right!important}.students-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.students-page__avatar{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;overflow:hidden;width:46px}.students-page__avatar img{height:100%;object-fit:cover;width:100%}.students-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.students-page__identity-name span,.students-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.students-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.students-page__student-number{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:5px 9px;white-space:nowrap}.students-page__email{color:var(--color-text-secondary);display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.students-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.students-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.students-page__status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.students-page__status--graduated{background:var(--color-primary-soft);color:var(--color-primary)}.students-page__status--transferred{background:var(--color-warning-soft);color:var(--color-warning)}.students-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.students-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.students-page__action:hover{transform:translateY(-1px)}.students-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.students-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.students-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.students-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.students-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.students-page__pagination p strong{color:var(--color-text-secondary)}.students-page__pagination-controls{align-items:center;display:flex;gap:9px}.students-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.students-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.students-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.students-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.students-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.students-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.students-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.students-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.students-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.students-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.students-page__spinner{animation:students-page-spin .8s linear infinite}@keyframes students-page-spin{to{transform:rotate(1turn)}}.students-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.students-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.students-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.students-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.students-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.students-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.students-page__modal p strong{color:var(--color-text)}.students-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.students-page__modal-cancel,.students-page__modal-delete{padding:0 16px}.students-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.students-page__modal-cancel:hover{background:var(--color-background-alt)}.students-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.students-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.students-page button:focus-visible,.students-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.students-page__toolbar{align-items:center!important;flex-direction:row!important;overflow-x:auto;overflow-y:visible;padding-bottom:18px}.students-page__search{flex:0 0 240px;min-width:240px}.students-page__toolbar-controls{flex-wrap:nowrap!important;justify-content:flex-start}.students-page__select-control--custom{flex:0 0 155px;min-width:155px;width:auto!important}.students-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:720px){.students-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.students-page__add-button{width:100%}.students-page__toolbar-controls{display:flex!important;grid-template-columns:none!important}.students-page__reset-button,.students-page__select-control--custom{width:auto!important}.students-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.students-page__hero,.students-page__panel,.students-page__toolbar{border-radius:var(--radius-lg)}.students-page__search{min-width:220px}.students-page__table td,.students-page__table th{padding-left:14px;padding-right:14px}.students-page__modal-actions{flex-direction:column-reverse}.students-page__modal-cancel,.students-page__modal-delete{width:100%}}.level-students-page .level-students-select{flex:0 0 150px;min-width:150px;position:relative}.level-students-page .level-students-select__button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%}.level-students-page .level-students-select__button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.level-students-page .level-students-select--open .level-students-select__button,.level-students-page .level-students-select__button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.level-students-page .level-students-select__button>svg:first-child{color:var(--color-text-muted);flex:0 0 auto}.level-students-page .level-students-select__value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-students-page .level-students-select__chevron{color:var(--color-text-light)!important;flex:0 0 auto;margin-left:auto;transition:transform var(--transition-fast),color var(--transition-fast)}.level-students-page .level-students-select--open .level-students-select__chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.level-students-page .level-students-select__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;flex-direction:column;left:0;margin:0;max-height:280px;max-width:100%;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:100%;z-index:120}.level-students-page .level-students-select__options{list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:0}.level-students-page .level-students-select__options li{list-style:none;margin:0;padding:0}.level-students-page .level-students-select__option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.level-students-page .level-students-select__option--active,.level-students-page .level-students-select__option--active:focus-visible,.level-students-page .level-students-select__option--active:hover,.level-students-page .level-students-select__option:focus-visible,.level-students-page .level-students-select__option:hover{background:var(--color-primary);color:#fff;outline:0}.level-students-page .level-students-select__option--active{font-weight:var(--font-weight-semibold)}.level-students-page .level-students-select__option--active:after{content:"✓";font-weight:var(--font-weight-bold);margin-left:auto}.level-students-page .students-page__search{position:relative}@media (max-width:760px){.level-students-page .level-students-select{flex-basis:100%;min-width:100%}}.levels-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.levels-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.levels-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.levels-page__hero-content{min-width:0;position:relative;z-index:1}.levels-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.levels-page__eyebrow,.levels-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.levels-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.levels-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.levels-page__add-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.levels-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.levels-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.levels-page__alert span{flex:1 1}.levels-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.levels-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.levels-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.levels-page__toolbar{align-items:center!important;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:row!important;gap:12px;justify-content:space-between;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.levels-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 300px;gap:10px;max-width:380px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.levels-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.levels-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.levels-page__search input::placeholder{color:var(--color-text-light)}.levels-page__toolbar-controls{align-items:center;display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.levels-page__select-control--custom{flex:0 0 155px;min-width:155px;position:relative}.levels-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.levels-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.levels-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.levels-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.levels-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.levels-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.levels-page__select-control--open .levels-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.levels-page__select-control--open .levels-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.levels-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.levels-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.levels-page__select-option.sd__option--highlighted,.levels-page__select-option:focus-visible,.levels-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.levels-page__select-option--active,.levels-page__select-option--active.sd__option--highlighted,.levels-page__select-option--active:focus-visible,.levels-page__select-option--active:hover{background:var(--color-primary);color:#fff}.levels-page__reset-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 14px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.levels-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.levels-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.levels-page__table-scroll{min-width:0;overflow-x:auto}.levels-page__table{border-collapse:collapse;min-width:700px;width:100%}.levels-page__table thead{background:var(--color-sidebar)}.levels-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.levels-page__table th:first-child{border-top-left-radius:var(--radius-lg)}.levels-page__table th:last-child{border-top-right-radius:var(--radius-lg)}.levels-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:15px 20px;text-align:left;vertical-align:middle}.levels-page__table tbody tr{transition:background-color var(--transition-fast)}.levels-page__table tbody tr:hover{background:var(--color-surface-hover)}.levels-page__table tbody tr:last-child td{border-bottom:0}.levels-page__actions-heading{text-align:right!important}.levels-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.levels-page__identity-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.levels-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.levels-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.levels-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.levels-page__badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.levels-page__badge--cycle-primaire{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.levels-page__badge--cycle-college{background:var(--color-warning-soft);color:var(--color-warning)}.levels-page__badge--cycle-lycee{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));color:#7c3aed}.levels-page__badge--cycle-generic{background:var(--color-background-alt);color:var(--color-text-secondary)}.levels-page__count,.levels-page__order{border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);min-width:32px;padding:4px 10px;text-align:center}.levels-page__order{background:var(--color-background-alt);color:var(--color-text-secondary)}.levels-page__count{background:var(--color-primary-soft);color:var(--color-primary)}.levels-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.levels-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.levels-page__action:hover{transform:translateY(-1px)}.levels-page__action--students:hover,.levels-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.levels-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.levels-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.levels-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.levels-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.levels-page__pagination p strong{color:var(--color-text-secondary)}.levels-page__pagination-controls{align-items:center;display:flex;gap:9px}.levels-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.levels-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.levels-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.levels-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.levels-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.levels-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.levels-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.levels-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.levels-page__state-button{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:var(--space-5);min-height:40px;padding:0 15px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.levels-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.levels-page__spinner{animation:levels-page-spin .8s linear infinite}@keyframes levels-page-spin{to{transform:rotate(1turn)}}.levels-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.levels-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.levels-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.levels-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.levels-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.levels-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.levels-page__modal p strong{color:var(--color-text)}.levels-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.levels-page__modal-cancel,.levels-page__modal-delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px}.levels-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.levels-page__modal-cancel:hover{background:var(--color-background-alt)}.levels-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.levels-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.levels-page button:focus-visible,.levels-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.levels-page__toolbar{align-items:center!important;flex-direction:row!important;overflow-x:auto;overflow-y:visible;padding-bottom:18px}.levels-page__search{flex:0 0 240px;min-width:240px}.levels-page__toolbar-controls{flex-wrap:nowrap!important;justify-content:flex-start}.levels-page__select-control--custom{flex:0 0 155px;min-width:155px;width:auto!important}.levels-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:720px){.levels-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.levels-page__add-button{width:100%}.levels-page__toolbar-controls{display:flex!important;grid-template-columns:none!important}.levels-page__reset-button,.levels-page__select-control--custom{width:auto!important}.levels-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.levels-page__hero,.levels-page__panel,.levels-page__toolbar{border-radius:var(--radius-lg)}.levels-page__search{min-width:220px}.levels-page__table td,.levels-page__table th{padding-left:14px;padding-right:14px}.levels-page__modal-actions{flex-direction:column-reverse}.levels-page__modal-cancel,.levels-page__modal-delete{width:100%}}.room-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);margin:0 auto;max-width:var(--content-max-width);min-width:0;width:100%}.room-details-page__topbar{align-items:center;display:flex;justify-content:space-between}.room-details-page__topbar-actions{display:flex;flex-wrap:wrap;gap:10px}.room-details-page__back-button,.room-details-page__cancel-button,.room-details-page__confirm-delete-button,.room-details-page__delete-button,.room-details-page__edit-button,.room-details-page__primary-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:6px;justify-content:center;line-height:1;min-height:38px;padding:8px 16px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.room-details-page__back-button:focus-visible,.room-details-page__cancel-button:focus-visible,.room-details-page__confirm-delete-button:focus-visible,.room-details-page__delete-button:focus-visible,.room-details-page__edit-button:focus-visible,.room-details-page__primary-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.room-details-page__back-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.room-details-page__back-button:hover{background-color:var(--color-background-alt);color:var(--color-text)}.room-details-page__edit-button{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.room-details-page__edit-button:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.room-details-page__delete-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-danger)}.room-details-page__delete-button:hover{background-color:var(--color-danger-light);border-color:var(--color-danger)}.room-details-page__primary-button{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.room-details-page__primary-button:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.room-details-page__cancel-button{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.room-details-page__cancel-button:hover{background-color:var(--color-background-alt);color:var(--color-text)}.room-details-page__confirm-delete-button{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.room-details-page__confirm-delete-button:hover{background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.room-details-page__message{align-items:center;border-radius:var(--radius-md);box-sizing:border-box;display:flex;font-size:var(--font-size-sm);gap:16px;justify-content:space-between;line-height:1.5;padding:14px 16px;width:100%}.room-details-page__message span{flex:1 1}.room-details-page__message button{align-items:center;background:#0000;border:0;border-radius:50%;color:currentColor;cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;margin-left:auto;padding:0;width:30px}.room-details-page__message button:hover{background:#16587b1a}.room-details-page__message--success{background:#eef6ff;border:1px solid #c9dced;color:#16587b}.room-details-page__message--error{background:#fef2f2;border:1px solid #f2c7c7;color:#b42318}.room-details-page__profile{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:column;padding:28px 32px}.room-details-page__profile-main{align-items:center;display:flex;gap:24px}.room-details-page__profile-icon{align-items:center;background-color:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:flex;flex-shrink:0;font-size:1.75rem;height:72px;justify-content:center;width:72px}.room-details-page__eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.room-details-page__profile h1{color:var(--color-text);font-size:1.625rem;font-weight:700;line-height:1.25;margin:0}.room-details-page__profile p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:4px 0 0}.room-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.room-details-page__badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:4px;line-height:1.3;padding:4px 12px}.room-details-page__badge--green{background-color:#d9e8f0;color:#123f57}.room-details-page__badge--yellow{background-color:#f6f0d4;color:#6b5a1a}.room-details-page__badge--orange{background-color:#f6ece4;color:#8a5a1a}.room-details-page__badge--red{background-color:#f6d4d4;color:#6b1a1a}.room-details-page__badge--gray{background-color:var(--color-background-alt);color:var(--color-text-muted)}.room-details-page__badge--type{background-color:var(--color-primary-soft);color:var(--color-primary-hover)}.room-details-page__grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr}.room-details-page__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.room-details-page__card--full{grid-column:1/-1}.room-details-page__card-heading{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text);display:flex;font-size:.9375rem;font-weight:600;gap:10px;padding:16px 20px}.room-details-page__card-heading svg{color:var(--color-primary);flex-shrink:0}.room-details-page__card-heading h2{font-size:.9375rem;margin:0}.room-details-page__card-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:2px 0 0}.room-details-page__information{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.room-details-page__information>div{display:contents}.room-details-page__information dt{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:500;gap:6px;padding:12px 20px}.room-details-page__information dt svg{color:var(--color-text-muted);flex-shrink:0}.room-details-page__information dd{align-items:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:500;margin:0;padding:12px 20px}.room-details-page__information dd:last-of-type,.room-details-page__information dt:last-of-type{border-bottom:none}.room-details-page__information--full{display:grid;grid-column:1/-1;grid-template-columns:1fr}.room-details-page__information--full dt{border-bottom:none;padding-bottom:4px}.room-details-page__information--full dd{padding-top:0}.room-details-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.room-details-page__state h1{font-size:var(--font-size-lg);margin:16px 0 8px}.room-details-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:4px}.room-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.room-details-page__spinner{animation:room-details-spin .7s linear infinite;color:var(--color-primary)}@keyframes room-details-spin{to{transform:rotate(1turn)}}.room-details-page__modal-backdrop{align-items:center;animation:room-details-fade-in .15s ease;background-color:#1a2b4273;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}@keyframes room-details-fade-in{0%{opacity:0}to{opacity:1}}.room-details-page__modal{animation:room-details-modal-in .2s ease;background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),0 0 0 1px #1e5ea80d;max-width:440px;padding:28px 32px;width:100%}@keyframes room-details-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.room-details-page__modal-icon{align-items:center;background:var(--color-danger-light);border-radius:50%;color:var(--color-danger);display:inline-flex;height:46px;justify-content:center;margin-bottom:var(--space-4);width:46px}.room-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600;margin:0 0 8px}.room-details-page__modal p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin:0}.room-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-6)}@media (max-width:900px){.room-details-page__grid{grid-template-columns:1fr}}@media (max-width:680px){.room-details-page__topbar{align-items:flex-start;flex-direction:column;gap:12px}.room-details-page__topbar-actions{width:100%}.room-details-page__profile{padding:20px}.room-details-page__profile-main{flex-direction:column;gap:16px;text-align:center}.room-details-page__badges{justify-content:center}.room-details-page__profile h1{font-size:1.375rem}.room-details-page__information{grid-template-columns:1fr}.room-details-page__information dt{border-bottom:none;padding:8px 16px 0}.room-details-page__information dd{border-bottom:1px solid var(--color-border-light);padding:0 16px 12px}}@media (max-width:480px){.room-details-page__topbar-actions{flex-direction:column}.room-details-page__topbar-actions button{width:100%}.room-details-page__profile-icon{font-size:1.375rem;height:56px;width:56px}.room-details-page__card-heading{font-size:var(--font-size-sm);padding:12px 16px}.room-details-page__information dd,.room-details-page__information dt{padding-left:16px;padding-right:16px}.room-details-page__state{padding:48px 16px}.room-details-page__modal-actions{flex-direction:column-reverse}.room-details-page__modal-actions button{width:100%}}.room-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);margin:0 auto;max-width:1100px;max-width:var(--content-max-width,1100px);min-width:0;width:100%}.room-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.room-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.room-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.room-form-page__heading{min-width:0}.room-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.room-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.room-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.room-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.room-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.room-form-page__alert-content{flex:1 1;min-width:0}.room-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.room-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.room-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.room-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.room-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.room-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.room-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,320px)}.room-form-page__layout,.room-form-page__main,.room-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.room-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.room-form-page__section,.room-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.room-form-page__section{padding:var(--space-5)}.room-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.room-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.room-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.room-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.room-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.room-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.room-form-page__field--full{grid-column:1/-1}.room-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.room-form-page__field>label span{color:var(--color-danger)}.room-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.room-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.room-form-page__control::placeholder{color:var(--color-text-light)}.room-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.room-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}textarea.room-form-page__control{height:auto;min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.room-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.room-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.room-form-page input[type=number]::-webkit-inner-spin-button,.room-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.room-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.room-form-page__select--open{z-index:100}.room-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.room-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.room-form-page__select--open .room-form-page__select-trigger,.room-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.room-form-page__select-placeholder{color:var(--color-text-muted)}.room-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.room-form-page__select--open .room-form-page__select-chevron{transform:rotate(180deg)}.room-form-page__select-menu{grid-gap:3px;animation:room-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;left:0;max-height:260px;max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:120}.room-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.room-form-page__select-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-form-page__select-option:focus-visible,.room-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.room-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.room-form-page__select-option svg{flex:0 0 auto}.room-form-page__select--disabled .room-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes room-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.room-form-page__summary{padding:var(--space-5)}.room-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.room-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.room-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.room-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.room-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.room-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.room-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.room-form-page__status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:24px;padding:2px 9px;width:-webkit-fit-content;width:fit-content}.room-form-page__status-badge--available{background:var(--color-success-soft);color:var(--color-success)}.room-form-page__status-badge--occupied{background:var(--color-primary-soft);color:var(--color-primary)}.room-form-page__status-badge--maintenance{background:var(--color-warning-soft);color:var(--color-warning)}.room-form-page__status-badge--out-of-service{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.room-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.room-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.room-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.room-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.room-form-page__action-buttons{align-items:center;display:flex;gap:10px}.room-form-page__cancel,.room-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.room-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.room-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.room-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.room-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.room-form-page__cancel:disabled,.room-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.room-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.room-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.room-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.room-form-page__spinner{animation:room-form-spin .8s linear infinite}@keyframes room-form-spin{to{transform:rotate(1turn)}}.room-form-page button:focus-visible,.room-form-page input:focus-visible,.room-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.room-form-page__layout{grid-template-columns:1fr}.room-form-page__sidebar{position:static}}@media (max-width:720px){.room-form-page__header{flex-direction:column}.room-form-page__grid{grid-template-columns:1fr}.room-form-page__field--full{grid-column:auto}.room-form-page__actions{align-items:stretch;flex-direction:column;position:static}.room-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.room-form-page__actions,.room-form-page__section,.room-form-page__summary{border-radius:var(--radius-lg)}.room-form-page__section{padding:var(--space-4)}.room-form-page__action-buttons{grid-template-columns:1fr}.room-form-page__cancel,.room-form-page__submit{width:100%}}.rooms-page{grid-gap:var(--space-5);display:grid}.rooms-page,.rooms-page__hero{gap:var(--space-5);min-width:0}.rooms-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.rooms-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.rooms-page__hero-content{min-width:0;position:relative;z-index:1}.rooms-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.rooms-page__eyebrow,.rooms-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.rooms-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.rooms-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.rooms-page__add-button,.rooms-page__reset-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 var(--space-4);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.rooms-page__add-button{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-primary);flex-shrink:0;position:relative;z-index:1}.rooms-page__add-button:hover{background:color-mix(in srgb,var(--color-surface) 90%,var(--color-primary))}.rooms-page__reset-button{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary);flex:0 0 auto;min-height:42px}.rooms-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.rooms-page__message{align-items:center;border-radius:var(--radius-md);box-sizing:border-box;display:flex;font-size:var(--font-size-sm);gap:16px;justify-content:space-between;padding:14px 16px;width:100%}.rooms-page__message span{flex:1 1}.rooms-page__message button{align-items:center;background:#0000;border:0;border-radius:50%;color:currentColor;cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;margin-left:auto;padding:0;width:30px}.rooms-page__message button:hover{background:#16587b1a}.rooms-page__message--success{background:#eef6ff;border:1px solid #c9dced;color:#16587b}.rooms-page__message--error{background:#fef2f2;border:1px solid #f2c7c7;color:#b42318}.rooms-page__controls{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:10px;min-width:0;overflow:visible;padding:14px;z-index:20}.rooms-page__search-wrapper{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 270px;gap:10px;max-width:340px;min-height:42px;min-width:230px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.rooms-page__search-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f;color:var(--color-primary)}.rooms-page__search-icon{color:var(--color-text-muted);flex-shrink:0}.rooms-page__search-wrapper:focus-within .rooms-page__search-icon{color:var(--color-primary)}.rooms-page__search-input{background:#0000;border:0;color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;outline:none;padding:10px 0}.rooms-page__search-input::placeholder{color:var(--color-text-muted)}.rooms-page__filter-grid{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.rooms-page__filter-control--custom{flex:0 0 145px;min-width:145px;position:relative}.rooms-page__filter-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:8px;min-height:42px;padding:0 9px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.rooms-page__filter-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.rooms-page__filter-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f;outline:0}.rooms-page__filter-control__icon{align-items:center;background:var(--color-sidebar);border-radius:var(--radius-sm);color:#fff;display:inline-flex;flex:0 0 28px;height:28px;justify-content:center;width:28px}.rooms-page__filter-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rooms-page__filter-control__chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast),color var(--transition-fast)}.rooms-page__filter-control--open .rooms-page__filter-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f}.rooms-page__filter-control--open .rooms-page__filter-control__chevron{color:var(--color-primary);transform:rotate(180deg)}.rooms-page__filter-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.rooms-page__filter-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.rooms-page__filter-option:focus-visible,.rooms-page__filter-option:hover{background:var(--color-primary);color:#fff;outline:0}.rooms-page__filter-option--active,.rooms-page__filter-option--active:focus-visible,.rooms-page__filter-option--active:hover{background:var(--color-primary);color:#fff}.rooms-page__content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;overflow-y:auto;position:relative;z-index:1}.rooms-page__table-wrapper{max-width:100%;min-width:0}.rooms-page__table{max-width:100%;table-layout:fixed}.rooms-page__table td,.rooms-page__table th{border-bottom:1px solid var(--color-border-light);overflow-wrap:anywhere;padding:11px 14px;text-align:left;vertical-align:middle;word-break:normal}.rooms-page__table th{background:var(--color-table-header);color:var(--color-table-header-text);font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.rooms-page__table tbody tr{transition:background-color var(--transition-fast)}.rooms-page__table tbody tr:hover{background:var(--color-table-row-hover)}.rooms-page__table tbody tr:last-child td{border-bottom:0}.rooms-page__table td{color:var(--color-text);font-size:var(--font-size-sm)}.rooms-page__identity{display:flex;flex-direction:column;gap:3px}.rooms-page__identity strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.rooms-page__identity span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.rooms-page__code{background:#f0ebf7;border:1px solid #d8d0e8;border-radius:var(--radius-sm);color:#5a4d7a;font-family:SF Mono,Cascadia Code,Consolas,monospace;padding:3px 8px}.rooms-page__badge,.rooms-page__code{align-items:center;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.rooms-page__badge{border:1px solid #0000;border-radius:var(--radius-full);justify-content:center;min-width:70px;padding:3px 10px;white-space:nowrap}.rooms-page__badge--available{background:#d9e8f0;border-color:#a8c8d9;color:#123f57}.rooms-page__badge--occupied{background:#f6f0d4;border-color:#e8dca8;color:#6b5a1a}.rooms-page__badge--maintenance{background:#d4f0f6;border-color:#a8d9e8;color:#1a5a6b}.rooms-page__badge--out-of-service{background:#f6d4d4;border-color:#e8a8a8;color:#6b1a1a}.rooms-page__badge--unknown{background:#f0f5f3;border-color:#d4e1de;color:#4d6876}.rooms-page__actions{align-items:center;display:flex;gap:5px;justify-content:flex-end}.rooms-page__action-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all var(--transition-fast);width:34px}.rooms-page__action-button:hover{transform:translateY(-1px)}.rooms-page__action-button--view{color:#3a6a8a}.rooms-page__action-button--view:hover{background:#edf4f7;border-color:#c5d8e0}.rooms-page__action-button--edit{color:#8a6a3a}.rooms-page__action-button--edit:hover{background:#fef7ed;border-color:#f0dcc0}.rooms-page__action-button--delete{color:#9c4444}.rooms-page__action-button--delete:hover{background:#fdf2f2;border-color:#f0c8c8}.rooms-page__pagination{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border-light);display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.rooms-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.rooms-page__pagination-controls{align-items:center;display:flex;gap:8px}.rooms-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.rooms-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all var(--transition-fast);width:34px}.rooms-page__pagination-controls button:not(:disabled):hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.rooms-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.rooms-page__state h2{font-size:var(--font-size-lg);margin:14px 0 6px}.rooms-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.rooms-page__spinner{animation:rooms-page-spin .85s linear infinite}.rooms-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a2b4273;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.rooms-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #1a2b4233;padding:var(--space-7);width:min(100%,440px)}.rooms-page__modal-icon{align-items:center;background:var(--color-danger-light);border-radius:50%;color:var(--color-danger);display:inline-flex;height:46px;justify-content:center;margin-bottom:var(--space-4);width:46px}.rooms-page__modal h2{font-size:var(--font-size-lg);margin:0 0 8px}.rooms-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0}.rooms-page__modal p strong{color:var(--color-text)}.rooms-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-6)}.rooms-page__modal-cancel,.rooms-page__modal-delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 var(--space-4);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.rooms-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.rooms-page__modal-cancel:hover{background:var(--color-background-alt);border-color:var(--color-border-strong);color:var(--color-text)}.rooms-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:#fff}.rooms-page__modal-delete:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.rooms-page button:focus-visible,.rooms-page input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rooms-page__search-input:focus,.rooms-page__search-input:focus-visible{border:none!important;box-shadow:none!important;outline:none!important;outline-offset:0}@keyframes rooms-page-spin{to{transform:rotate(1turn)}}@media (max-width:1250px){.rooms-page__controls{overflow-x:auto;overflow-y:visible;padding-bottom:18px}.rooms-page__search-wrapper{flex:0 0 230px;min-width:230px}.rooms-page__filter-grid{flex-wrap:nowrap;justify-content:flex-start}.rooms-page__filter-control--custom{flex:0 0 145px;min-width:145px;width:auto!important}.rooms-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:992px){.rooms-page__table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.rooms-page__table{min-width:950px;width:-webkit-max-content;width:max-content}.rooms-page__table td,.rooms-page__table th{white-space:nowrap}.rooms-page__table-wrapper::-webkit-scrollbar{height:7px}.rooms-page__table-wrapper::-webkit-scrollbar-track{background:#eef3f8;border-radius:999px}.rooms-page__table-wrapper::-webkit-scrollbar-thumb{background:#9fb7cc;border-radius:999px}.rooms-page__table-wrapper::-webkit-scrollbar-thumb:hover{background:#779ab8}}@media (max-width:700px){.rooms-page__hero{align-items:flex-start;flex-direction:column}.rooms-page__add-button{width:100%}.rooms-page__pagination{align-items:stretch;flex-direction:column}.rooms-page__pagination-controls{justify-content:space-between}.rooms-page__modal-actions{flex-direction:column-reverse}.rooms-page__modal-actions button{width:100%}}.rooms-page__filter-control__icon{background:#0000!important;border-radius:0!important;color:var(--color-text-muted)!important;flex:0 0 auto!important;height:auto!important;width:auto!important}.rooms-page__filter-control__icon svg{color:currentColor;height:17px;width:17px}.rooms-page__filter-button:focus-visible .rooms-page__filter-control__icon,.rooms-page__filter-button:hover .rooms-page__filter-control__icon,.rooms-page__filter-control--open .rooms-page__filter-control__icon{color:var(--color-primary)!important}.rooms-page__filter-button{gap:9px;padding:0 10px}.rooms-page__controls{align-items:stretch!important;background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)!important;display:flex!important;flex-direction:column!important;gap:12px!important;justify-content:flex-start!important;overflow:visible!important;padding:14px!important;position:relative;z-index:30}.rooms-page__search-wrapper{background:var(--color-background-alt)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;height:44px!important;max-width:none!important;min-height:44px!important;padding:0 14px!important}.rooms-page__filter-grid,.rooms-page__search-wrapper{flex:none!important;min-width:0!important;width:100%!important}.rooms-page__filter-grid{grid-gap:8px!important;align-items:center!important;display:grid!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;justify-content:stretch!important;overflow:visible!important}.rooms-page__filter-control--custom,.rooms-page__reset-button{flex:none!important;min-width:0!important}.rooms-page__filter-button,.rooms-page__filter-control--custom,.rooms-page__reset-button{height:42px!important;min-height:42px!important;width:100%!important}.rooms-page__filter-menu{left:0!important;max-width:100%!important;min-width:100%!important;right:0!important;top:calc(100% + 6px)!important;width:100%!important;z-index:9999!important}.rooms-page__content{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)!important;overflow:hidden!important}.rooms-page__table-wrapper{overflow-x:auto;overflow-y:visible;width:100%}.rooms-page__table{border-collapse:collapse;table-layout:auto!important;width:100%}.rooms-page__table thead,.rooms-page__table thead th,.rooms-page__table thead tr{background:var(--color-sidebar)!important;background-color:var(--color-sidebar)!important}.rooms-page__table th{border-bottom:1px solid var(--color-primary-hover)!important;color:var(--color-surface)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-bold)!important;letter-spacing:.06em!important;padding:16px 20px!important;text-transform:uppercase!important;white-space:nowrap!important}.rooms-page__table td{border-bottom:1px solid var(--color-border-light)!important;color:var(--color-text)!important;font-size:var(--font-size-sm)!important;padding:16px 20px!important;vertical-align:middle!important}.rooms-page__table tbody tr:hover{background:var(--color-table-row-hover)!important}.rooms-page__actions{align-items:center!important;display:flex!important;gap:6px!important;justify-content:flex-end!important}.rooms-page__action-button{align-items:center!important;background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:none!important;cursor:pointer!important;display:inline-flex!important;flex:0 0 34px!important;height:34px!important;justify-content:center!important;padding:0!important;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)!important;width:34px!important}.rooms-page__action-button:hover{box-shadow:var(--shadow-sm)!important;transform:translateY(-1px)!important}.rooms-page__pagination{background:var(--color-background-alt)!important;border-top:1px solid var(--color-border)!important;min-height:62px!important;padding:12px 20px!important}.rooms-page__pagination p{color:var(--color-text-secondary)!important}.rooms-page__pagination p strong{color:var(--color-text)!important}.rooms-page__add-button:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-1px)}.rooms-page__add-button:hover,.rooms-page__add-button:hover span,.rooms-page__add-button:hover svg{color:var(--color-primary)!important}@media (max-width:720px){.rooms-page__filter-grid{grid-template-columns:1fr!important}.rooms-page__table{min-width:900px}}.rooms-page__action-button--view,.rooms-page__action-button--view:hover{color:#2563eb!important;color:var(--color-info,#2563eb)!important}.rooms-page__action-button--view:hover{background:color-mix(in srgb,#2563eb 10%,var(--color-surface))!important;background:color-mix(in srgb,var(--color-info,#2563eb) 10%,var(--color-surface))!important;border-color:#2563eb!important;border-color:var(--color-info,#2563eb)!important}.rooms-page__action-button--edit{color:var(--color-warning)!important}.rooms-page__action-button--edit:hover{background:var(--color-warning-soft)!important;border-color:var(--color-warning)!important;color:var(--color-warning)!important}.rooms-page__action-button--delete{color:var(--color-danger)!important}.rooms-page__action-button--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface))!important;border-color:var(--color-danger)!important;color:var(--color-danger)!important}.rooms-page__badge{border-radius:var(--radius-full)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-bold)!important;letter-spacing:.01em!important;min-width:92px!important;padding:5px 11px!important}.rooms-page__badge--available{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))!important;border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border))!important;color:var(--color-success)!important}.rooms-page__badge--occupied{background:var(--color-primary-soft)!important;border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))!important;color:var(--color-primary)!important}.rooms-page__badge--maintenance{background:var(--color-warning-soft)!important;border-color:color-mix(in srgb,var(--color-warning) 40%,var(--color-border))!important;color:var(--color-warning)!important}.rooms-page__badge--out-of-service{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface))!important;border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border))!important;color:var(--color-danger)!important}.rooms-page__badge--unknown{background:var(--color-background-alt)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important}.rooms-page__action-button,.rooms-page__action-button--delete,.rooms-page__action-button--edit,.rooms-page__action-button--view{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important}.rooms-page__action-button--delete:hover,.rooms-page__action-button--edit:hover,.rooms-page__action-button--view:hover,.rooms-page__action-button:hover{background:var(--color-background-alt)!important;border-color:var(--color-border-strong,var(--color-border))!important;box-shadow:var(--shadow-sm)!important;color:var(--color-text)!important;transform:translateY(-1px)!important}.rooms-page__badge,.rooms-page__badge--available,.rooms-page__badge--maintenance,.rooms-page__badge--occupied,.rooms-page__badge--out-of-service,.rooms-page__badge--unknown{background:var(--color-background-alt)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-full)!important;color:var(--color-text-secondary)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold)!important;min-width:92px!important;padding:5px 11px!important}.expense-categories-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.expense-categories-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.expense-categories-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.expense-categories-page__hero-content{min-width:0;position:relative;z-index:1}.expense-categories-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.expense-categories-page__hero h1{color:var(--color-surface);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:10px 0 0}.expense-categories-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.expense-categories-page__add-button,.expense-categories-page__modal-cancel,.expense-categories-page__modal-delete,.expense-categories-page__reset-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.expense-categories-page__add-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.expense-categories-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.expense-categories-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.expense-categories-page__alert span{flex:1 1}.expense-categories-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.expense-categories-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.expense-categories-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expense-categories-page__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px}.expense-categories-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.expense-categories-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expense-categories-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.expense-categories-page__search input::placeholder{color:var(--color-text-light)}.expense-categories-page__toolbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.expense-categories-page__select-control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:8px;min-height:44px;min-width:150px;padding:0 10px 0 12px;position:relative}.expense-categories-page__select-control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.expense-categories-page__select-control select{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0}.expense-categories-page__select-control>svg:last-child{flex:0 0 auto;pointer-events:none}.expense-categories-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:0 14px}.expense-categories-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expense-categories-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.expense-categories-page__table-scroll{min-width:0;overflow-x:auto}.expense-categories-page__table{border-collapse:collapse;min-width:500px;width:100%}.expense-categories-page__table td,.expense-categories-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.expense-categories-page__table thead{background:var(--color-sidebar)}.expense-categories-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.expense-categories-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.expense-categories-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.expense-categories-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.expense-categories-page__table tbody tr{transition:background-color var(--transition-fast)}.expense-categories-page__table tbody tr:hover{background:var(--color-surface-hover)}.expense-categories-page__table tbody tr:last-child td{border-bottom:0}.expense-categories-page__actions-heading{text-align:right!important}.expense-categories-page__name-cell{align-items:center;display:flex;gap:12px;min-width:190px}.expense-categories-page__name-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;overflow:hidden;width:46px}.expense-categories-page__name-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.expense-categories-page__name-text span,.expense-categories-page__name-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-categories-page__name-text strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.expense-categories-page__name-text span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.expense-categories-page__badge{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:5px 9px;white-space:nowrap}.expense-categories-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.expense-categories-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.expense-categories-page__action:hover{transform:translateY(-1px)}.expense-categories-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.expense-categories-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expense-categories-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.expense-categories-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.expense-categories-page__pagination p strong{color:var(--color-text-secondary)}.expense-categories-page__pagination-controls{align-items:center;display:flex;gap:9px}.expense-categories-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.expense-categories-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expense-categories-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.expense-categories-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.expense-categories-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.expense-categories-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.expense-categories-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.expense-categories-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.expense-categories-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.expense-categories-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.expense-categories-page__spinner{animation:expense-categories-page-spin .8s linear infinite}@keyframes expense-categories-page-spin{to{transform:rotate(1turn)}}.expense-categories-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.expense-categories-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.expense-categories-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.expense-categories-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.expense-categories-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.expense-categories-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.expense-categories-page__modal p strong{color:var(--color-text)}.expense-categories-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.expense-categories-page__modal-cancel,.expense-categories-page__modal-delete{padding:0 16px}.expense-categories-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-categories-page__modal-cancel:hover{background:var(--color-background-alt)}.expense-categories-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.expense-categories-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.expense-categories-page button:focus-visible,.expense-categories-page input:focus-visible,.expense-categories-page select:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.expense-categories-page__toolbar{align-items:stretch;flex-direction:column}.expense-categories-page__search{max-width:none}.expense-categories-page__toolbar-controls{justify-content:flex-start}}@media (max-width:720px){.expense-categories-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.expense-categories-page__add-button{width:100%}.expense-categories-page__toolbar-controls{display:grid;grid-template-columns:1fr}.expense-categories-page__reset-button,.expense-categories-page__select-control{width:100%}.expense-categories-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.expense-categories-page__hero,.expense-categories-page__panel,.expense-categories-page__toolbar{border-radius:var(--radius-lg)}.expense-categories-page__search{min-width:0}.expense-categories-page__table td,.expense-categories-page__table th{padding-left:14px;padding-right:14px}.expense-categories-page__modal-actions{flex-direction:column-reverse}.expense-categories-page__modal-cancel,.expense-categories-page__modal-delete{width:100%}}.expense-category-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.expense-category-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.expense-category-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.expense-category-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expense-category-form-page__heading{min-width:0}.expense-category-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.expense-category-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.expense-category-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.expense-category-form-page__alert{align-items:center;background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.expense-category-form-page__alert span{flex:1 1}.expense-category-form-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.expense-category-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.expense-category-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.expense-category-form-page__layout,.expense-category-form-page__main,.expense-category-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.expense-category-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.expense-category-form-page__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.expense-category-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.expense-category-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.expense-category-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.expense-category-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.expense-category-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.expense-category-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.expense-category-form-page__field--full{grid-column:1/-1}.expense-category-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-category-form-page__field>label span{color:var(--color-danger)}.expense-category-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.expense-category-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.expense-category-form-page__control::placeholder{color:var(--color-text-light)}.expense-category-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expense-category-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.expense-category-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.expense-category-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.expense-category-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.expense-category-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.expense-category-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.expense-category-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.expense-category-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.expense-category-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.expense-category-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.expense-category-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.expense-category-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.expense-category-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.expense-category-form-page__action-buttons{align-items:center;display:flex;gap:10px}.expense-category-form-page__cancel,.expense-category-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.expense-category-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-category-form-page__cancel:hover{background:var(--color-background-alt)}.expense-category-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.expense-category-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.expense-category-form-page__cancel:disabled,.expense-category-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.expense-category-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.expense-category-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.expense-category-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.expense-category-form-page__spinner{animation:expense-category-form-spin .8s linear infinite}@keyframes expense-category-form-spin{to{transform:rotate(1turn)}}.expense-category-form-page button:focus-visible,.expense-category-form-page input:focus-visible,.expense-category-form-page label:focus-within,.expense-category-form-page select:focus-visible,.expense-category-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.expense-category-form-page__layout{grid-template-columns:1fr}.expense-category-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.expense-category-form-page__header{flex-direction:column}.expense-category-form-page__grid{grid-template-columns:1fr}.expense-category-form-page__field--full{grid-column:auto}.expense-category-form-page__sidebar{grid-template-columns:1fr}.expense-category-form-page__actions{align-items:stretch;flex-direction:column;position:static}.expense-category-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.expense-category-form-page__actions,.expense-category-form-page__section,.expense-category-form-page__summary{border-radius:var(--radius-lg)}.expense-category-form-page__section{padding:var(--space-4)}.expense-category-form-page__action-buttons{grid-template-columns:1fr}.expense-category-form-page__cancel,.expense-category-form-page__submit{width:100%}}.expenses-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.expenses-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.expenses-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.expenses-page__hero-content{min-width:0;position:relative;z-index:1}.expenses-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.expenses-page__eyebrow,.expenses-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.expenses-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.expenses-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.expenses-page__add-button,.expenses-page__modal-cancel,.expenses-page__modal-delete,.expenses-page__reset-button,.expenses-page__sort-toggle,.expenses-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.expenses-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.expenses-page__add-button:hover{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-primary)}.expenses-page__add-button:hover span,.expenses-page__add-button:hover svg{color:var(--color-primary)}.expenses-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.expenses-page__alert span{flex:1 1}.expenses-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.expenses-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.expenses-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expenses-page__alert--warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.expenses-page__toolbar{align-items:stretch;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.expenses-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:none;gap:10px;max-width:none;min-height:44px;min-width:0;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.expenses-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expenses-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.expenses-page__search input::placeholder{color:var(--color-text-light)}.expenses-page__toolbar-controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:visible;width:100%}.expenses-page__select-control--custom{height:42px;min-width:0;position:relative;width:100%}.expenses-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.expenses-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.expenses-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.expenses-page__select-button:disabled{cursor:not-allowed;opacity:.7}.expenses-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.expenses-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expenses-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.expenses-page__select-control--open .expenses-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.expenses-page__select-control--open .expenses-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.expenses-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:none;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:9999}.expenses-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.35;min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.expenses-page__select-option.sd__option--highlighted,.expenses-page__select-option:focus-visible,.expenses-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.expenses-page__select-option--active,.expenses-page__select-option--active.sd__option--highlighted,.expenses-page__select-option--active:focus-visible,.expenses-page__select-option--active:hover{background:var(--color-primary);color:#fff}.expenses-page__reset-button,.expenses-page__sort-toggle{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);height:42px;min-height:42px;padding:0 14px;white-space:nowrap;width:100%}.expenses-page__reset-button:hover,.expenses-page__sort-toggle:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expenses-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.expenses-page__table-scroll{min-width:0;overflow-x:auto}.expenses-page__table{border-collapse:collapse;min-width:760px;width:100%}.expenses-page__table td,.expenses-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.expenses-page__table thead{background:var(--color-sidebar)}.expenses-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.expenses-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.expenses-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.expenses-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.expenses-page__table tbody tr{transition:background-color var(--transition-fast)}.expenses-page__table tbody tr:hover{background:var(--color-surface-hover)}.expenses-page__table tbody tr:last-child td{border-bottom:0}.expenses-page__actions-heading{text-align:right!important}.expenses-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.expenses-page__identity-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;overflow:hidden;width:46px}.expenses-page__identity>div{display:flex;flex-direction:column;line-height:1.3;min-width:0}.expenses-page__identity strong,.expenses-page__identity>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expenses-page__identity strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.expenses-page__identity>div>span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.expenses-page__category{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.expenses-page__amount{color:var(--color-primary);font-weight:var(--font-weight-bold)}.expenses-page__method{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.expenses-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.expenses-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.expenses-page__action:hover{transform:translateY(-1px)}.expenses-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expenses-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.expenses-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expenses-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.expenses-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.expenses-page__pagination p strong{color:var(--color-text-secondary)}.expenses-page__pagination-controls{align-items:center;display:flex;gap:9px}.expenses-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.expenses-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expenses-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.expenses-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.expenses-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.expenses-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.expenses-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.expenses-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.expenses-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.expenses-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.expenses-page__spinner{animation:expenses-page-spin .8s linear infinite}@keyframes expenses-page-spin{to{transform:rotate(1turn)}}.expenses-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.expenses-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.expenses-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.expenses-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.expenses-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.expenses-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.expenses-page__modal p strong{color:var(--color-text)}.expenses-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.expenses-page__modal-cancel,.expenses-page__modal-delete{padding:0 16px}.expenses-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expenses-page__modal-cancel:hover{background:var(--color-background-alt)}.expenses-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.expenses-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.expenses-page button:focus-visible,.expenses-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:720px){.expenses-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.expenses-page__add-button{width:100%}.expenses-page__toolbar-controls{grid-template-columns:1fr}.expenses-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.expenses-page__hero,.expenses-page__panel,.expenses-page__toolbar{border-radius:var(--radius-lg)}.expenses-page__table td,.expenses-page__table th{padding-left:14px;padding-right:14px}.expenses-page__modal-actions{flex-direction:column-reverse}.expenses-page__modal-cancel,.expenses-page__modal-delete{width:100%}}.expenses-page__toolbar{align-items:center!important;display:flex!important;flex-direction:row!important;gap:12px!important;justify-content:space-between!important;overflow:visible!important}.expenses-page__search{flex:0 0 320px!important;height:44px!important;max-width:340px!important;min-height:44px!important;min-width:240px!important;width:auto!important}.expenses-page__toolbar-controls{grid-gap:8px!important;align-items:center!important;display:grid!important;flex:1 1 auto!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;overflow:visible!important;width:auto!important}.expenses-page__reset-button,.expenses-page__select-control--custom,.expenses-page__sort-toggle{height:42px!important;min-height:42px!important;min-width:0!important;width:100%!important}.expenses-page__select-menu{left:0!important;max-width:100%!important;min-width:100%!important;overflow:hidden!important;right:0!important;top:calc(100% + 6px)!important;width:100%!important}.expenses-page__add-button:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.expenses-page__add-button:hover,.expenses-page__add-button:hover span,.expenses-page__add-button:hover svg{color:var(--color-primary)!important}@media (max-width:1150px){.expenses-page__toolbar{align-items:stretch!important;flex-direction:column!important}.expenses-page__search{flex:none!important;max-width:none!important;width:100%!important}.expenses-page__toolbar-controls{width:100%!important}}.expense-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.expense-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.expense-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.expense-details-page__back,.expense-details-page__delete,.expense-details-page__edit,.expense-details-page__modal-cancel,.expense-details-page__modal-delete,.expense-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.expense-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expense-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.expense-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.expense-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.expense-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.expense-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.expense-details-page__alert span{flex:1 1}.expense-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.expense-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expense-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.expense-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.expense-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.expense-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;width:112px}.expense-details-page__identity{min-width:0}.expense-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.expense-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.expense-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.expense-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.expense-details-page__badge--amount{background:color-mix(in srgb,var(--color-surface) 18%,#0000);color:var(--color-surface)}.expense-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.expense-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.expense-details-page__panel:first-child{grid-column:1/-1}.expense-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.expense-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.expense-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.expense-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.expense-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.expense-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.expense-details-page__information-item--full{grid-column:1/-1}.expense-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.expense-details-page__information-label svg{color:var(--color-primary)}.expense-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.expense-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.expense-details-page__metadata div{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:7px}.expense-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:480px;text-align:center}.expense-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.expense-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.expense-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.expense-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.expense-details-page__state-button:hover{background:var(--color-primary-hover)}.expense-details-page__spinner{animation:expense-details-spin .8s linear infinite}@keyframes expense-details-spin{to{transform:rotate(1turn)}}.expense-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.expense-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.expense-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.expense-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.expense-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.expense-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.expense-details-page__modal p strong{color:var(--color-text)}.expense-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.expense-details-page__modal-cancel,.expense-details-page__modal-delete{padding:0 16px}.expense-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-details-page__modal-cancel:hover{background:var(--color-background-alt)}.expense-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.expense-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.expense-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.expense-details-page__profile{align-items:flex-start;flex-direction:column}.expense-details-page__badges{justify-content:flex-start}.expense-details-page__content-grid{grid-template-columns:1fr}.expense-details-page__panel:first-child{grid-column:auto}}@media (max-width:650px){.expense-details-page__topbar{align-items:stretch;flex-direction:column}.expense-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.expense-details-page__profile{padding:var(--space-5)}.expense-details-page__profile-main{align-items:flex-start;flex-direction:column}.expense-details-page__information-grid{grid-template-columns:1fr}.expense-details-page__information-item--full{grid-column:auto}.expense-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.expense-details-page__back,.expense-details-page__delete,.expense-details-page__edit{width:100%}.expense-details-page__topbar-actions{grid-template-columns:1fr}.expense-details-page__modal,.expense-details-page__panel,.expense-details-page__profile{border-radius:var(--radius-lg)}.expense-details-page__panel{padding:var(--space-4)}.expense-details-page__modal-actions{flex-direction:column-reverse}.expense-details-page__modal-cancel,.expense-details-page__modal-delete{width:100%}}.expense-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.expense-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.expense-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.expense-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.expense-form-page__heading{min-width:0}.expense-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.expense-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.expense-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.expense-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.expense-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.expense-form-page__alert-content{flex:1 1;min-width:0}.expense-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.expense-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.expense-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.expense-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.expense-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5);overflow:visible}.expense-form-page__layout{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(270px,330px);min-width:0}.expense-form-page__main,.expense-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.expense-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.expense-form-page__section,.expense-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.expense-form-page__section{padding:var(--space-5)}.expense-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.expense-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.expense-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.expense-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.expense-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.expense-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.expense-form-page__field--full{grid-column:1/-1}.expense-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-form-page__field-label-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.expense-form-page__field-label-row>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-form-page__field>label span{color:var(--color-danger)}.expense-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.expense-form-page__field>.expense-form-page__field-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.expense-form-page__control{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}textarea.expense-form-page__control{min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.expense-form-page__control::placeholder{color:var(--color-text-light)}.expense-form-page__control:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expense-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.expense-form-page__summary{padding:var(--space-5)}.expense-form-page__summary-eyebrow{color:var(--color-primary);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.expense-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--space-4)}.expense-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:0}.expense-form-page__summary dl div{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.expense-form-page__summary dl div:last-child{border-bottom:0;padding-bottom:0}.expense-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-form-page__summary dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin:0;text-align:right}.expense-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.expense-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.expense-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.expense-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.expense-form-page__action-buttons{align-items:center;display:flex;gap:10px}.expense-form-page__cancel,.expense-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.expense-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-form-page__cancel:hover{background:var(--color-background-alt)}.expense-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.expense-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.expense-form-page__cancel:disabled,.expense-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.expense-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.expense-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.expense-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.expense-form-page__spinner{animation:expense-form-spin .8s linear infinite}@keyframes expense-form-spin{to{transform:rotate(1turn)}}.expense-form-page button:focus-visible,.expense-form-page input:focus-visible,.expense-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}.expense-form-page__select-button:focus-visible{outline:none}@media (max-width:1050px){.expense-form-page__layout{grid-template-columns:1fr}.expense-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.expense-form-page__header{flex-direction:column}.expense-form-page__grid{grid-template-columns:1fr}.expense-form-page__field--full{grid-column:auto}.expense-form-page__sidebar{grid-template-columns:1fr}.expense-form-page__actions{align-items:stretch;flex-direction:column;position:static}.expense-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.expense-form-page__actions,.expense-form-page__section,.expense-form-page__summary{border-radius:var(--radius-lg)}.expense-form-page__section{padding:var(--space-4)}.expense-form-page__action-buttons{grid-template-columns:1fr}.expense-form-page__cancel,.expense-form-page__submit{width:100%}}.expense-form-page__select{min-width:0;position:relative;width:100%}.expense-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.expense-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.expense-form-page__select--open .expense-form-page__select-trigger,.expense-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expense-form-page__select-placeholder{color:var(--color-text-muted)}.expense-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.expense-form-page__select--open .expense-form-page__select-chevron{transform:rotate(180deg)}.expense-form-page__select-menu{grid-gap:3px;animation:expense-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;max-height:260px;max-width:none;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:6px;width:auto;z-index:9999}.expense-form-page__select-menu--portal{box-sizing:border-box;margin:0;max-width:none!important;min-width:0!important}.expense-form-page__select-option-wrap{align-items:center;border-radius:8px;display:flex;gap:4px;min-width:0}.expense-form-page__select-option-wrap:has(.expense-form-page__select-option:focus-visible),.expense-form-page__select-option-wrap:hover{background:var(--color-primary-soft)}.expense-form-page__select-option-wrap--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.expense-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1 auto;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;min-width:0;padding:8px 10px;text-align:left;width:100%}.expense-form-page__select-option>span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-form-page__select-option-wrap:hover .expense-form-page__select-option,.expense-form-page__select-option:focus-visible{background:#0000;color:var(--color-primary);outline:0}.expense-form-page__select-option-wrap--selected .expense-form-page__select-option{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.expense-form-page__select-option-delete{align-items:center;background:#0000;border:0;border-radius:6px;color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;height:28px;justify-content:center;margin-right:4px;opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast);width:28px}.expense-form-page__select-option-delete:focus-visible,.expense-form-page__select-option-wrap:hover .expense-form-page__select-option-delete{opacity:1}.expense-form-page__select-option-delete:focus-visible,.expense-form-page__select-option-delete:hover{background:color-mix(in srgb,var(--color-danger) 12%,#0000);outline:0}@keyframes expense-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.expense-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --expense-calendar-page-bottom-space,0
  )}.expense-form-page__field--date{align-self:start;grid-column:auto;min-width:0;width:100%}.expense-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.expense-form-page__date-picker--open{z-index:100}.expense-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.expense-form-page__date-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.expense-form-page__date-picker--open .expense-form-page__date-trigger,.expense-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.expense-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.expense-form-page__date-copy{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.expense-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.expense-form-page__date-copy input{background:#0000;border:0;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:20px;line-height:1.2;min-width:0;outline:0;padding:0;width:100%}.expense-form-page__date-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.expense-form-page .expense-form-page__date-copy input:focus,.expense-form-page .expense-form-page__date-copy input:focus-visible{box-shadow:none;outline:0}.expense-form-page__date-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.expense-form-page__date-toggle:focus-visible,.expense-form-page__date-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.expense-form-page__date-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.expense-form-page__date-picker--open .expense-form-page__date-chevron{transform:rotate(180deg)}.expense-form-page__calendar{--expense-calendar-min-width:390px;animation:expense-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--expense-calendar-min-width),calc(100vw - 32px)));z-index:200}.expense-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.expense-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.expense-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.expense-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.expense-form-page__calendar-close:focus-visible,.expense-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.expense-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.expense-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.expense-form-page__calendar-select{min-width:0;position:relative}.expense-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;width:100%}.expense-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.expense-form-page__calendar-select--open .expense-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.expense-form-page__calendar-select--open .expense-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.expense-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.expense-form-page .expense-form-page__calendar-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.expense-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.expense-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.expense-form-page .expense-form-page__calendar-select-option:focus-visible:not(:disabled),.expense-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.expense-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.expense-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.expense-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.expense-form-page__calendar-nav:focus-visible:not(:disabled),.expense-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.expense-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.expense-form-page__calendar-grid,.expense-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.expense-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.expense-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.expense-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.expense-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.expense-form-page__calendar-day:focus-visible:not(:disabled),.expense-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.expense-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.expense-form-page__calendar-day--today:not(.expense-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.expense-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.expense-form-page__calendar-day--selected:focus-visible,.expense-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.expense-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.expense-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.expense-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.expense-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.expense-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes expense-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.expense-form-page__calendar{--expense-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.expense-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.expense-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.expense-form-page__calendar-nav{height:36px;width:34px}.expense-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.expense-form-page__calendar-weekdays{padding:0 8px}.expense-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.expense-form-page__calendar-footer{gap:8px;padding:9px 10px}}.expense-form-page__readonly-label-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.expense-form-page__readonly-label-row label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-form-page__readonly-badge{align-items:center;background:var(--color-background-alt);border:1px solid color-mix(in srgb,var(--color-text-muted) 28%,var(--color-border));border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-size:.625rem;font-weight:var(--font-weight-bold);gap:5px;letter-spacing:.02em;min-height:22px;padding:0 8px;white-space:nowrap}.expense-form-page__readonly-control{align-items:center;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--color-background-alt) 94%,#0000) 0,color-mix(in srgb,var(--color-background-alt) 94%,#0000) 8px,color-mix(in srgb,var(--color-border-light) 55%,#0000) 8px,color-mix(in srgb,var(--color-border-light) 55%,#0000) 9px);border:1px dashed color-mix(in srgb,var(--color-text-muted) 48%,var(--color-border));border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-muted);cursor:not-allowed;display:grid;grid-template-columns:36px minmax(0,1fr) auto;height:44px;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%}.expense-form-page__readonly-icon{align-items:center;color:var(--color-text-muted);display:inline-flex;height:100%;justify-content:center}.expense-form-page__readonly-value{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2;min-width:0;overflow:hidden;padding-right:8px;pointer-events:none;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.expense-form-page__readonly-status{align-items:center;background:color-mix(in srgb,var(--color-text-muted) 10%,var(--color-surface));border-radius:7px;color:var(--color-text-muted);display:inline-flex;font-size:.625rem;font-weight:var(--font-weight-bold);margin-right:8px;min-height:26px;padding:0 8px;text-transform:uppercase;white-space:nowrap}.expense-form-page__readonly-hint{color:var(--color-text-muted)!important;font-size:var(--font-size-xs);line-height:1.45}.expense-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.expense-form-page input[type=number]::-webkit-inner-spin-button,.expense-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.expense-form-page__select-action-wrap{border-top:1px solid var(--color-border-light);margin-top:4px;padding-top:6px}.expense-form-page__select-action{grid-gap:10px;align-items:center;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border));border-radius:9px;color:var(--color-primary);cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:34px minmax(0,1fr);min-height:54px;padding:7px 9px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);width:100%}.expense-form-page__select-action:hover{background:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px)}.expense-form-page__select-action-icon{align-items:center;background:var(--color-primary);border-radius:9px;color:var(--color-surface);display:inline-flex;height:34px;justify-content:center;width:34px}.expense-form-page__select-action-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.expense-form-page__select-action-copy strong{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.expense-form-page__select-action-copy small{color:var(--color-text-muted);font-size:.6875rem;font-weight:var(--font-weight-medium);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-category-popup__backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a7a;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:12000}.expense-category-popup{animation:expense-category-popup-in .18s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:22px;box-shadow:0 28px 70px #0f172a3d,0 4px 18px #0f172a1a;max-height:min(760px,calc(100vh - 48px));overflow:hidden;width:min(620px,100%)}@keyframes expense-category-popup-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.expense-category-popup__header{grid-gap:12px;align-items:start;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-bottom:1px solid var(--color-border-light);display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr) 38px;padding:18px 20px}.expense-category-popup__header-icon{align-items:center;background:var(--color-primary);border-radius:13px;box-shadow:var(--shadow-sm);color:var(--color-surface);display:inline-flex;height:44px;justify-content:center;width:44px}.expense-category-popup__heading{min-width:0}.expense-category-popup__heading>span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.075em;text-transform:uppercase}.expense-category-popup__heading h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:3px 0 0}.expense-category-popup__heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.expense-category-popup__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:36px}.expense-category-popup__close:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.expense-category-popup__body{grid-gap:18px;display:grid;gap:18px;max-height:calc(100vh - 235px);overflow-y:auto;padding:18px 20px}.expense-category-popup__create,.expense-category-popup__existing{background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;min-width:0;padding:14px}.expense-category-popup__create{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.expense-category-popup__section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:11px}.expense-category-popup__section-title>div{display:flex;flex-direction:column;gap:2px}.expense-category-popup__section-title span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.expense-category-popup__section-title strong{color:var(--color-text);font-size:var(--font-size-sm)}.expense-category-popup__list{grid-gap:7px;display:grid;gap:7px;max-height:240px;overflow-y:auto;padding-right:2px}.expense-category-popup__item{grid-gap:9px;align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:11px;display:grid;gap:9px;grid-template-columns:34px minmax(0,1fr) 32px;min-height:46px;padding:5px 6px 5px 7px}.expense-category-popup__item-icon{align-items:center;background:var(--color-primary-soft);border-radius:9px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.expense-category-popup__item-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-category-popup__delete{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:30px}.expense-category-popup__delete:hover{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.expense-category-popup__empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:130px;padding:20px;text-align:center}.expense-category-popup__empty>span{align-items:center;background:var(--color-primary-soft);border-radius:12px;color:var(--color-primary);display:inline-flex;height:44px;justify-content:center;margin-bottom:8px;width:44px}.expense-category-popup__empty strong{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.expense-category-popup__empty p{font-size:var(--font-size-xs);margin:4px 0 0}.expense-category-popup__field{grid-gap:7px;display:grid;gap:7px}.expense-category-popup__field label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expense-category-popup__field label span,.expense-category-popup__field small{color:var(--color-danger)}.expense-category-popup__input-wrap{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;height:44px;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.expense-category-popup__input-wrap--error{border-color:var(--color-danger)}.expense-category-popup__input-wrap>svg{margin-left:12px}.expense-category-popup__input-wrap input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:100%;min-width:0;outline:0;padding:0 12px 0 9px;width:100%}.expense-category-popup__field small{font-size:var(--font-size-xs)}.expense-category-popup__actions{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:9px;justify-content:flex-end;padding:14px 20px 16px}.expense-category-popup__cancel,.expense-category-popup__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:40px;padding:0 15px}.expense-category-popup__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-category-popup__submit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.expense-category-popup__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.expense-category-popup__cancel:disabled,.expense-category-popup__close:disabled,.expense-category-popup__submit:disabled{cursor:not-allowed;opacity:.65}@media (max-width:560px){.expense-category-popup__backdrop{align-items:flex-end;padding:12px}.expense-category-popup{border-radius:18px;max-height:calc(100vh - 24px)}.expense-category-popup__header{grid-template-columns:40px minmax(0,1fr) 36px;padding:15px}.expense-category-popup__body{max-height:calc(100vh - 220px);padding:14px 15px}.expense-category-popup__actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 15px 14px}}.expense-category-popup__input-wrap{overflow:hidden;padding:0}.expense-category-popup__input-wrap>svg{color:var(--color-primary);flex:0 0 auto;margin:0 0 0 13px;pointer-events:none}.expense-category-popup__input-wrap input,.expense-category-popup__input-wrap input:focus,.expense-category-popup__input-wrap input:focus-visible,.expense-category-popup__input-wrap input:hover{appearance:none;-webkit-appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:42px;min-width:0;outline:0!important;padding:0 13px 0 10px;width:100%}.expense-category-popup__input-wrap input::placeholder{color:var(--color-text-muted)}.expense-category-popup__input-wrap:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.expense-category-popup__input-wrap--error,.expense-category-popup__input-wrap--error:focus-within{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,#0000)}.expense-form-page .expense-category-popup__input-wrap input:focus-visible{outline:0!important;outline-offset:0!important}.expense-category-popup__backdrop{z-index:11000}.app-modal-backdrop{z-index:13000!important}.app-modal{position:relative;z-index:13001}.expense-category-delete-confirm__backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a94;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2147483646}.expense-category-delete-confirm{animation:expense-category-delete-confirm-in .17s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-border));border-radius:20px;box-shadow:0 30px 80px #0f172a52,0 6px 24px #0f172a29;overflow:hidden;width:min(430px,100%)}@keyframes expense-category-delete-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.expense-category-delete-confirm__icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 11%,var(--color-surface));border-radius:14px;color:var(--color-danger);display:flex;height:48px;justify-content:center;margin:22px auto 0;width:48px}.expense-category-delete-confirm__content{padding:14px 24px 20px;text-align:center}.expense-category-delete-confirm__content>span{color:var(--color-danger);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.expense-category-delete-confirm__content h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:5px 0 0}.expense-category-delete-confirm__content p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55;margin:8px auto 0;max-width:350px}.expense-category-delete-confirm__error{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 34%,var(--color-border));border-radius:10px;color:var(--color-danger);display:flex;font-size:var(--font-size-xs);gap:8px;margin-top:14px;padding:10px 11px;text-align:left}.expense-category-delete-confirm__error svg{flex:0 0 auto;margin-top:1px}.expense-category-delete-confirm__actions{grid-gap:9px;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:grid;gap:9px;grid-template-columns:1fr 1fr;padding:14px 18px 18px}.expense-category-delete-confirm__cancel,.expense-category-delete-confirm__delete{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:42px;padding:0 14px}.expense-category-delete-confirm__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.expense-category-delete-confirm__delete{background:var(--color-danger);border:1px solid var(--color-danger);color:#fff}.expense-category-delete-confirm__delete:hover:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.94)}.expense-category-delete-confirm__cancel:disabled,.expense-category-delete-confirm__delete:disabled{cursor:not-allowed;opacity:.65}@media (max-width:480px){.expense-category-delete-confirm__backdrop{align-items:flex-end;padding:12px}.expense-category-delete-confirm{border-radius:18px}.expense-category-delete-confirm__actions{grid-template-columns:1fr}}.employees-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.employees-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.employees-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.employees-page__hero-content{min-width:0;position:relative;z-index:1}.employees-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.employees-page__eyebrow,.employees-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.employees-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.employees-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.employees-page__add-button,.employees-page__modal-cancel,.employees-page__modal-delete,.employees-page__reset-button,.employees-page__state-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:all var(--transition-fast);white-space:nowrap}.employees-page__add-button{background:var(--color-surface);border-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex-shrink:0;min-height:42px;position:relative;z-index:1}.employees-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.employees-page__reset-button{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-secondary);height:42px;min-height:42px;width:100%}.employees-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employees-page__state-button{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.employees-page__state-button:hover{background:var(--color-primary-hover)}.employees-page__alert{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.employees-page__alert span{flex:1 1}.employees-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.employees-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.employees-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border:1px solid var(--color-danger);color:var(--color-danger)}.employees-page__toolbar{grid-gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:12px;min-width:0;overflow:visible;padding:14px;position:relative;z-index:30}.employees-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:10px;min-height:44px;min-width:0;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.employees-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.employees-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.employees-page__search input::placeholder{color:var(--color-text-light)}.employees-page__toolbar-controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));overflow:visible;width:100%}.employees-page__select-control--custom{height:42px;min-width:0;position:relative;width:100%}.employees-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.employees-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.employees-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.employees-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.employees-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employees-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.employees-page__select-control--open .employees-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.employees-page__select-control--open .employees-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.employees-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.employees-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.employees-page__select-option:focus-visible,.employees-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.employees-page__select-option--active,.employees-page__select-option--active:focus-visible,.employees-page__select-option--active:hover{background:var(--color-primary);color:#fff}.employees-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;position:relative;z-index:1}.employees-page__table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.employees-page__table{border-collapse:collapse;min-width:700px;width:100%}.employees-page__table td,.employees-page__table th{padding:12px 16px;text-align:left;vertical-align:middle}.employees-page__table thead{background:var(--color-primary)}.employees-page__table th{font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.04em;white-space:nowrap}.employees-page__actions-heading{text-align:right}.employees-page__table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.employees-page__table tbody tr:last-child{border-bottom:0}.employees-page__table tbody tr:hover{background:var(--color-surface-hover)}.employees-page__table td{color:var(--color-text);font-size:var(--font-size-sm)}.employees-page__identity{align-items:center;display:flex;gap:12px}.employees-page__avatar{align-items:center;background:var(--color-primary-bg-subtle);border:2px solid var(--color-border-light);border-radius:50%;color:var(--color-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.employees-page__avatar img{height:100%;object-fit:cover;width:100%}.employees-page__identity-name{display:flex;flex-direction:column;gap:2px;min-width:0}.employees-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.3}.employees-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.3}.employees-page__email{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employees-page__status{align-items:center;border:1px solid #0000;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-width:72px;padding:3px 10px;white-space:nowrap}.employees-page__status--active{background:#d9e8f0;border-color:#a8c8d9;color:#123f57}.employees-page__status--inactive{background:#f0f5f3;border-color:#d4e1de;color:#4d6876}.employees-page__status--suspended{background:#fef3c7;border-color:#fde68a;color:#92400e}.employees-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.employees-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.employees-page__action:hover{transform:translateY(-1px)}.employees-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employees-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.employees-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.employees-page__pagination{align-items:center;background:var(--color-primary);color:var(--color-surface);display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.employees-page__pagination p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);margin:0}.employees-page__pagination p strong{color:var(--color-surface)}.employees-page__pagination-controls{align-items:center;display:flex;gap:8px}.employees-page__pagination-controls span{color:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.employees-page__pagination-controls button{align-items:center;background:#0000;border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:all var(--transition-fast);width:34px}.employees-page__pagination-controls button:not(:disabled):hover{background:color-mix(in srgb,var(--color-surface) 15%,#0000);border-color:color-mix(in srgb,var(--color-surface) 30%,#0000)}.employees-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.4}.employees-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;padding:44px 20px;text-align:center}.employees-page__state h2{font-size:var(--font-size-lg);margin:14px 0 6px}.employees-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.employees-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.employees-page__spinner{animation:employees-page-spin .85s linear infinite}.employees-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a2b4273;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.employees-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #1a2b4233;padding:var(--space-7);width:min(100%,440px)}.employees-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:50%;color:var(--color-danger);display:inline-flex;height:46px;justify-content:center;width:46px}.employees-page__modal h2{font-size:var(--font-size-lg);margin:14px 0 6px}.employees-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0;max-width:380px}.employees-page__modal p strong{color:var(--color-text)}.employees-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-5)}.employees-page__modal-cancel{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.employees-page__modal-cancel:hover{background:var(--color-surface-hover)}.employees-page__modal-delete{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.employees-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 88%,#000)}.employees-page button:focus-visible,.employees-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@keyframes employees-page-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:900px){.employees-page__toolbar-controls{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}@media (max-width:768px){.employees-page__hero{align-items:flex-start;flex-direction:column}.employees-page__add-button{width:100%}.employees-page__pagination{flex-direction:column;gap:10px;text-align:center}.employees-page__modal-actions{flex-direction:column-reverse}.employees-page__modal-actions button{width:100%}}@media (max-width:560px){.employees-page__toolbar-controls{grid-template-columns:1fr}}.employees-page__table thead{background:var(--color-sidebar)!important}.employees-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.employees-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.employees-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.employees-page__pagination{background:var(--color-background-alt)!important;border-top:1px solid var(--color-border);color:var(--color-text-secondary);min-height:62px;padding:12px 20px}.employees-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs)}.employees-page__pagination p strong{color:var(--color-text-secondary)}.employees-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.employees-page__pagination-controls button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.employees-page__pagination-controls button:not(:disabled):hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employees-page__status--active{background:var(--color-success-soft);border-color:#0000;color:var(--color-success)}.employees-page__status--inactive{background:var(--color-background-alt);border-color:#0000;color:var(--color-text-muted)}.employees-page__status--suspended{background:var(--color-warning-soft);border-color:#0000;color:var(--color-warning)}.employees-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary)}.employees-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.employee-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.employee-details-page__topbar{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.employee-details-page__back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.employee-details-page__back-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employee-details-page__topbar-actions{display:flex;gap:8px}.employee-details-page__delete-button,.employee-details-page__edit-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 14px;transition:all var(--transition-fast)}.employee-details-page__edit-button{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.employee-details-page__edit-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.employee-details-page__delete-button{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.employee-details-page__delete-button:hover{background:color-mix(in srgb,var(--color-danger) 88%,#000)}.employee-details-page__alert{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.employee-details-page__alert span{flex:1 1}.employee-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.employee-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border:1px solid var(--color-danger);color:var(--color-danger)}.employee-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;padding:var(--space-6)}.employee-details-page__profile-main{align-items:center;display:flex;gap:18px;min-width:0}.employee-details-page__profile-photo{align-items:center;background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:3px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:50%;color:color-mix(in srgb,var(--color-surface) 75%,#0000);display:flex;flex-shrink:0;height:72px;justify-content:center;overflow:hidden;width:72px}.employee-details-page__profile-photo img{height:100%;object-fit:cover;width:100%}.employee-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 70%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.employee-details-page__profile h1{color:var(--color-surface);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:5px 0 0}.employee-details-page__subtitle{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:var(--font-size-sm);margin:4px 0 0}.employee-details-page__badges{display:flex;flex-wrap:wrap;gap:8px}.employee-details-page__badge{align-items:center;background:color-mix(in srgb,var(--color-surface) 10%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-width:70px;padding:4px 12px;white-space:nowrap}.employee-details-page__grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,1fr)}.employee-details-page__card--full{grid-column:1/-1}.employee-details-page__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.employee-details-page__card-heading{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;padding:var(--space-5) var(--space-6)}.employee-details-page__card-heading>svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.employee-details-page__card-heading h2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.employee-details-page__card-heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:4px 0 0}.employee-details-page__information{grid-gap:0;display:grid;gap:0}.employee-details-page__information>div{grid-gap:16px;align-items:start;border-bottom:1px solid var(--color-border-light);display:grid;gap:16px;grid-template-columns:180px 1fr;padding:13px var(--space-6)}.employee-details-page__information>div:last-child{border-bottom:0}.employee-details-page__information dt{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:8px}.employee-details-page__information dt svg{color:var(--color-text-muted);flex-shrink:0}.employee-details-page__information dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.employee-details-page__information--full{grid-template-columns:1fr!important}.employee-details-page__information--full dd{margin-top:6px}.employee-details-page__meta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;gap:var(--space-5);padding:12px var(--space-6)}.employee-details-page__meta>div{grid-gap:3px;display:grid;gap:3px}.employee-details-page__meta dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.employee-details-page__meta dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.employee-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a2b4273;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.employee-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #1a2b4233;padding:var(--space-7);width:min(100%,440px)}.employee-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:50%;color:var(--color-danger);display:inline-flex;height:46px;justify-content:center;width:46px}.employee-details-page__modal h2{font-size:var(--font-size-lg);margin:14px 0 6px}.employee-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0;max-width:380px}.employee-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-5)}.employee-details-page__modal-cancel,.employee-details-page__modal-delete{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:all var(--transition-fast)}.employee-details-page__modal-cancel{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.employee-details-page__modal-cancel:hover{background:var(--color-surface-hover)}.employee-details-page__modal-delete{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.employee-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 88%,#000)}.employee-details-page__modal-cancel:disabled,.employee-details-page__modal-delete:disabled{cursor:not-allowed;opacity:.6}.employee-details-page__spinner{animation:employee-details-spin .85s linear infinite}@keyframes employee-details-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.employee-details-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:44px 20px;text-align:center}.employee-details-page__state h1{margin:14px 0 6px}.employee-details-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.employee-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.employee-details-page__primary-button{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:all var(--transition-fast)}.employee-details-page__primary-button:hover{background:var(--color-primary-hover)}@media (max-width:1024px){.employee-details-page__grid{grid-template-columns:1fr}}@media (max-width:768px){.employee-details-page__topbar{align-items:stretch;flex-direction:column}.employee-details-page__topbar-actions{justify-content:flex-end}.employee-details-page__profile{align-items:flex-start;flex-direction:column}.employee-details-page__profile-photo{height:60px;width:60px}.employee-details-page__information>div{gap:6px;grid-template-columns:1fr}.employee-details-page__meta{flex-direction:column;gap:var(--space-4)}}.payments-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.payments-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.payments-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.payments-page__hero-content{min-width:0;position:relative;z-index:1}.payments-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.payments-page__eyebrow,.payments-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.payments-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.payments-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.payments-page__add-button,.payments-page__modal-cancel,.payments-page__modal-delete,.payments-page__reset-button{border-radius:var(--radius-md);min-height:40px;padding:0 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.payments-page__add-button,.payments-page__modal-cancel,.payments-page__modal-delete,.payments-page__reset-button{align-items:center;cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center}.payments-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.payments-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.payments-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.payments-page__alert span{flex:1 1}.payments-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.payments-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.payments-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.payments-page__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px}.payments-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.payments-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.payments-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.payments-page__search input::placeholder{color:var(--color-text-light)}.payments-page__toolbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.payments-page__select-control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:8px;min-height:44px;min-width:150px;padding:0 10px 0 12px;position:relative}.payments-page__select-control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.payments-page__select-control select{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0}.payments-page__select-control>svg:last-child{flex:0 0 auto;pointer-events:none}.payments-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary)}.payments-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payments-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.payments-page__table-scroll{min-width:0;overflow-x:auto}.payments-page__table{border-collapse:collapse;min-width:900px;width:100%}.payments-page__table td,.payments-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.payments-page__table thead{background:var(--color-sidebar)}.payments-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.payments-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.payments-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.payments-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.payments-page__table tbody tr{transition:background-color var(--transition-fast)}.payments-page__table tbody tr:hover{background:var(--color-surface-hover)}.payments-page__table tbody tr:last-child td{border-bottom:0}.payments-page__actions-heading{text-align:right!important}.payments-page__identity{align-items:center;display:flex;gap:12px;min-width:180px}.payments-page__avatar{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;overflow:hidden;width:42px}.payments-page__avatar img{height:100%;object-fit:cover;width:100%}.payments-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.payments-page__identity-name span,.payments-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payments-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.payments-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.payments-page__fee-info{display:flex;flex-direction:column;line-height:1.3;min-width:160px}.payments-page__fee-info strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.payments-page__fee-info span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.payments-page__amount{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);font-weight:var(--font-weight-bold)}.payments-page__amount,.payments-page__method-badge{display:inline-flex;font-size:var(--font-size-xs);padding:4px 10px;white-space:nowrap}.payments-page__method-badge{background:var(--color-background-alt);border-radius:var(--radius-full);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.payments-page__reference{color:var(--color-text-secondary);display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis}.payments-page__badge,.payments-page__reference{font-size:var(--font-size-xs);white-space:nowrap}.payments-page__badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px}.payments-page__badge--paid{background:var(--color-success-soft);color:var(--color-success)}.payments-page__badge--partial{background:var(--color-warning-soft);color:var(--color-warning)}.payments-page__badge--overdue{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));color:var(--color-danger)}.payments-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.payments-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.payments-page__action:hover{transform:translateY(-1px)}.payments-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payments-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.payments-page__action--download:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payments-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.payments-page__action:disabled,.payments-page__action[disabled]{cursor:not-allowed;opacity:.6}.payments-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.payments-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.payments-page__pagination p strong{color:var(--color-text-secondary)}.payments-page__pagination-controls{align-items:center;display:flex;gap:9px}.payments-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.payments-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payments-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.payments-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.payments-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.payments-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.payments-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.payments-page__spinner{animation:payments-page-spin .8s linear infinite}@keyframes payments-page-spin{to{transform:rotate(1turn)}}.payments-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.payments-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.payments-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.payments-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.payments-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.payments-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.payments-page__modal p strong{color:var(--color-text)}.payments-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.payments-page__modal-cancel,.payments-page__modal-delete{padding:0 16px}.payments-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.payments-page__modal-cancel:hover{background:var(--color-background-alt)}.payments-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.payments-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.payments-page button:focus-visible,.payments-page input:focus-visible,.payments-page select:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.payments-page__toolbar{align-items:stretch;flex-direction:column}.payments-page__search{max-width:none}.payments-page__toolbar-controls{justify-content:flex-start}}@media (max-width:720px){.payments-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.payments-page__add-button{width:100%}.payments-page__toolbar-controls{display:grid;grid-template-columns:1fr}.payments-page__reset-button,.payments-page__select-control{width:100%}.payments-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.payments-page__hero,.payments-page__panel,.payments-page__toolbar{border-radius:var(--radius-lg)}.payments-page__search{min-width:0}.payments-page__table td,.payments-page__table th{padding-left:14px;padding-right:14px}.payments-page__modal-actions{flex-direction:column-reverse}.payments-page__modal-cancel,.payments-page__modal-delete{width:100%}}.payments-page__toolbar{align-items:center!important;display:flex!important;flex-direction:row!important;gap:12px!important;justify-content:space-between!important;overflow:visible!important;position:relative;z-index:20}.payments-page__search{flex:0 0 285px!important;height:44px!important;max-width:300px!important;min-height:44px!important;min-width:240px!important;width:auto!important}.payments-page__toolbar-controls{grid-gap:8px!important;align-items:center!important;display:grid!important;flex:1 1 auto!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important;overflow:visible!important;width:auto!important}.payments-page__select-control--custom{background:#0000!important;border:0!important;height:42px!important;min-height:42px!important;min-width:0!important;padding:0!important;position:relative!important;width:100%!important}.payments-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.payments-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.payments-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.payments-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.payments-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payments-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.payments-page__select-control--open .payments-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.payments-page__select-control--open .payments-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.payments-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:none;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:9999}.payments-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.35;min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.payments-page__select-option.sd__option--highlighted,.payments-page__select-option:focus-visible,.payments-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.payments-page__select-option--active,.payments-page__select-option--active.sd__option--highlighted,.payments-page__select-option--active:focus-visible,.payments-page__select-option--active:hover{background:var(--color-primary);color:#fff}.payments-page__reset-button{height:42px!important;min-height:42px!important;padding:0 14px;white-space:nowrap;width:100%!important}.payments-page__add-button:not(.payments-page__add-button--ghost):hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md);color:var(--color-primary)!important;transform:translateY(-1px)}.payments-page__add-button:not(.payments-page__add-button--ghost):hover span,.payments-page__add-button:not(.payments-page__add-button--ghost):hover svg{color:var(--color-primary)!important}@media (max-width:1250px){.payments-page__toolbar{align-items:stretch!important;flex-direction:column!important}.payments-page__search{flex:none!important;max-width:none!important;width:100%!important}.payments-page__toolbar-controls{width:100%!important}}@media (max-width:720px){.payments-page__toolbar-controls{grid-template-columns:1fr!important}}.payment-form-page__select-control{min-width:0;position:relative}.payment-form-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.payment-form-page__select-button svg:first-child{color:var(--color-text-muted);flex:0 0 auto}.payment-form-page__select-button:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.payment-form-page__select-button:focus-visible,.payment-form-page__select-control--open .payment-form-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:none}.payment-form-page__select-button:focus-visible svg:first-child,.payment-form-page__select-control--open .payment-form-page__select-button svg:first-child{color:var(--color-primary)}.payment-form-page__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-form-page__select-value--placeholder{color:var(--color-text-muted)}.payment-form-page__select-chevron{transition:transform var(--transition-fast),color var(--transition-fast)}.payment-form-page__select-control--open .payment-form-page__select-chevron{color:var(--color-primary);transform:rotate(180deg)}.payment-form-page__select-control--error .payment-form-page__select-button{background:color-mix(in srgb,var(--color-danger) 5%,var(--color-surface));border-color:var(--color-danger)}.payment-form-page__select-control--disabled{opacity:.7}.payment-form-page__select-control--disabled .payment-form-page__select-button{cursor:not-allowed}.payment-form-page__select-menu{grid-gap:4px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:4px;left:0;list-style:none;margin:0;min-width:100%;position:absolute;right:0;top:calc(100% + 6px)}.payment-form-page__select-option{border-radius:var(--radius-sm);font-family:inherit;font-weight:var(--font-weight-medium);padding:0 10px;transition:background-color var(--transition-fast),color var(--transition-fast)}.payment-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.payment-form-page__select-option--active,.payment-form-page__select-option--active:hover{background:var(--color-primary);color:var(--color-surface)}.timetable-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.timetable-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.timetable-page__hero-content{min-width:0;position:relative;z-index:1}.timetable-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.timetable-page__eyebrow,.timetable-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.timetable-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.timetable-page__hero p{color:color-mix(in srgb,var(--color-surface) 80%,#0000);font-size:.875rem;margin:6px 0 0}.timetable-tab-switch{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:var(--radius-lg);display:inline-flex;padding:4px}.timetable-tab-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:var(--font-weight-semibold);gap:6px;padding:8px 14px;transition:all .2s ease}.timetable-page__add-button,.timetable-tab-btn--active{background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary)}.timetable-page__add-button{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:var(--font-weight-bold);gap:8px;padding:10px 18px;transition:all .2s ease}.timetable-control-bar{align-items:flex-end;border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:16px;padding:16px 20px}.timetable-control-group{display:flex;flex-direction:column;gap:6px}.timetable-control-group--grow{flex:1 1;min-width:220px}.timetable-control-label{color:var(--color-primary);font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.timetable-select-box{align-items:center;display:flex;position:relative}.timetable-select-box svg{color:var(--color-primary);pointer-events:none;position:absolute}.timetable-select-box svg:first-child{left:12px}.timetable-select-box svg:last-child{right:12px}.timetable-select-box select{-webkit-appearance:none;appearance:none;border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:.875rem;font-weight:500;padding:9px 32px 9px 36px;transition:all .2s ease;width:100%}.timetable-select-box select:focus{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:none}.timetable-toggle-buttons{border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);display:inline-flex;padding:3px}.timetable-toggle-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s ease}.timetable-toggle-btn--active{background:var(--color-primary);box-shadow:0 2px 4px #00000014;color:#fff}.timetable-control-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.timetable-btn-control{align-items:center;background:#fff;border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:6px;padding:9px 14px;transition:all .2s ease}.timetable-btn-control:hover{background:var(--color-background-alt);border-color:var(--color-primary)}.timetable-btn-control--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.timetable-btn-control--primary:hover{background:var(--color-primary-hover);color:#fff}.timetable-grid-wrapper{grid-gap:14px;display:grid;gap:14px}.timetable-calendar{background:#fff;border:1px solid var(--color-border);border-radius:18px;box-shadow:0 10px 32px #2563eb17;min-width:0;overflow:hidden}.timetable-calendar-scroll{max-height:none;overflow:visible;width:100%}.timetable-calendar-inner{min-width:1040px;position:relative}.timetable-calendar--day .timetable-calendar-inner{min-width:560px}.timetable-calendar-body,.timetable-calendar-header{display:grid;grid-template-columns:94px repeat(var(--calendar-days),minmax(150px,1fr))}.timetable-calendar-header{background:var(--color-background-alt);border-bottom:1px solid var(--color-border);box-shadow:0 3px 12px #2563eb0f;min-height:58px;position:-webkit-sticky;position:sticky;top:0;z-index:80}.timetable-calendar-day-header,.timetable-calendar-header__time{align-items:center;color:var(--color-primary-hover);display:flex;font-size:.8125rem;font-weight:750;justify-content:center;letter-spacing:.015em;min-width:0;padding:12px 10px}.timetable-calendar-header__time{background:var(--color-background-alt);border-right:1px solid var(--color-border);gap:7px;left:0;position:-webkit-sticky;position:sticky;z-index:90}.timetable-calendar-day-header{background:linear-gradient(180deg,#fff 0,var(--color-background-alt) 100%);border-right:1px solid var(--color-border-light)}.timetable-calendar-day-header:last-child{border-right:0}.timetable-calendar-day-header__short{display:none}.timetable-calendar-body{align-items:start;min-height:var(--calendar-height);position:relative}.timetable-calendar-time-axis{background:var(--color-background-alt);border-right:1px solid var(--color-border);box-shadow:4px 0 10px rgba(37,99,235,.035);left:0;position:-webkit-sticky;position:sticky;z-index:60}.timetable-calendar-time-marker{font-feature-settings:"tnum";color:var(--color-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;position:absolute;right:13px;transform:translateY(-50%)}.timetable-calendar-time-marker--first{transform:translateY(0)}.timetable-calendar-time-marker--last{transform:translateY(-100%)}.timetable-calendar-day-column{background-color:#fff;background-image:linear-gradient(to bottom,color-mix(in srgb,var(--color-primary) 8%,#0000) 1px,#0000 1px),linear-gradient(to bottom,#2563eb29 1px,#0000 1px);background-size:100% var(--calendar-half-hour-height),100% var(--calendar-hour-height);border-right:1px solid var(--color-border-light);cursor:crosshair;min-width:0;outline:none;overflow:visible;position:relative;transition:background-color .16s ease}.timetable-calendar-day-column:last-child{border-right:0}.timetable-calendar-day-column:focus-visible,.timetable-calendar-day-column:hover{background-color:#fff}.timetable-calendar-add-preview{align-items:center;animation:timetablePreviewIn .12s ease-out;background:#eff6ffe6;border:1px dashed var(--color-primary);border-radius:10px;color:var(--color-primary-hover);display:flex;font-size:.75rem;font-weight:700;gap:7px;justify-content:center;left:7px;min-height:40px;pointer-events:none;position:absolute;right:7px;z-index:4}@keyframes timetablePreviewIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.timetable-calendar-lesson{background:var(--lesson-soft);border:1px solid color-mix(in srgb,var(--lesson-accent) 34%,#fff);border-radius:11px;box-shadow:0 3px 10px #223a3517;color:var(--lesson-text);cursor:pointer;display:flex;left:6px;min-width:0;outline:none;position:absolute;right:6px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;z-index:10}.timetable-calendar-lesson:focus-visible,.timetable-calendar-lesson:hover{border-color:var(--lesson-accent);box-shadow:0 10px 24px #223a3529;transform:translateY(-1px);z-index:35}.timetable-calendar-lesson--inactive{filter:grayscale(.35);opacity:.67}.timetable-calendar-lesson__accent{background:var(--lesson-accent);border-radius:10px 0 0 10px;flex:0 0 5px;width:5px}.timetable-calendar-lesson__content{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0;overflow:hidden;padding:8px 9px 7px}.timetable-calendar-lesson__header{gap:6px;justify-content:space-between}.timetable-calendar-lesson__header,.timetable-calendar-lesson__identity,.timetable-calendar-lesson__meta,.timetable-calendar-lesson__room,.timetable-calendar-lesson__subject,.timetable-calendar-lesson__time{align-items:center;display:flex;min-width:0}.timetable-calendar-lesson__subject{flex:1 1;font-size:.78rem;font-weight:800;gap:5px}.timetable-calendar-lesson__identity svg,.timetable-calendar-lesson__room svg,.timetable-calendar-lesson__subject svg,.timetable-calendar-lesson__time svg{flex:0 0 auto}.timetable-calendar-lesson__identity span,.timetable-calendar-lesson__room,.timetable-calendar-lesson__subject span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-calendar-lesson__edit{align-items:center;background:#ffffffad;border:0;border-radius:7px;color:var(--lesson-accent);cursor:pointer;display:inline-flex;flex:0 0 25px;height:25px;justify-content:center;opacity:0;transition:opacity .15s ease,background-color .15s ease;width:25px}.timetable-calendar-lesson:focus-within .timetable-calendar-lesson__edit,.timetable-calendar-lesson:hover .timetable-calendar-lesson__edit{opacity:1}.timetable-calendar-lesson__edit:hover{background:#fff}.timetable-calendar-lesson__identity{color:color-mix(in srgb,var(--lesson-text) 82%,#fff);font-size:.72rem;font-weight:650;gap:5px}.timetable-calendar-lesson__meta{font-feature-settings:"tnum";color:color-mix(in srgb,var(--lesson-text) 78%,#fff);font-size:.67rem;font-variant-numeric:tabular-nums;font-weight:700;gap:7px;justify-content:space-between;margin-top:auto}.timetable-calendar-lesson__room,.timetable-calendar-lesson__time{gap:4px}.timetable-calendar-lesson--compact .timetable-calendar-lesson__content{gap:3px;padding-bottom:5px;padding-top:6px}.timetable-calendar-lesson--compact .timetable-calendar-lesson__subject{font-size:.74rem}.timetable-calendar-lesson--compact .timetable-calendar-lesson__identity{display:none}.timetable-calendar-lesson--tiny .timetable-calendar-lesson__content{align-items:center;flex-direction:row;gap:6px;padding:4px 7px}.timetable-calendar-lesson--tiny .timetable-calendar-lesson__header{flex:1 1}.timetable-calendar-lesson--tiny .timetable-calendar-lesson__edit,.timetable-calendar-lesson--tiny .timetable-calendar-lesson__identity,.timetable-calendar-lesson--tiny .timetable-calendar-lesson__room{display:none}.timetable-calendar-lesson--tiny .timetable-calendar-lesson__meta{font-size:.64rem;margin:0}.timetable-popover{animation:timetablePopoverIn .18s cubic-bezier(.16,1,.3,1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text);font-size:var(--font-size-sm);min-width:0;overflow:hidden;position:absolute}@keyframes timetablePopoverIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.timetable-popover__header{align-items:center;background:linear-gradient(135deg,var(--color-primary-lighter) 0,var(--color-surface) 100%);padding:12px 14px}.timetable-popover__title{gap:9px}.timetable-popover__title-icon{border-radius:var(--radius-md);display:flex;flex:0 0 32px;height:32px;width:32px}.timetable-popover__title>div:last-child{display:flex;flex-direction:column;gap:1px}.timetable-popover__title span{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase}.timetable-popover__title strong{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.timetable-popover__close{border:none;border-radius:var(--radius-sm);display:flex;flex:0 0 28px;height:28px;transition:all .15s ease;width:28px}.timetable-popover__close:hover{background:var(--color-surface-hover)}.timetable-popover__body{grid-gap:8px;gap:8px;padding:12px 14px}.timetable-popover__detail{background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:flex;gap:10px;padding:8px 10px}.timetable-popover__detail-icon{background:var(--color-primary-bg-subtle);border-radius:var(--radius-sm);display:flex;flex:0 0 30px;height:30px;width:30px}.timetable-popover__detail-content{display:flex;flex-direction:column;gap:1px}.timetable-popover__detail-content span{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.timetable-popover__detail-content strong{font-size:var(--font-size-sm)}.timetable-popover__detail--notes .timetable-popover__detail-content strong{word-break:break-word}.timetable-popover__actions{background:var(--color-surface-secondary);padding:10px 14px}.timetable-btn--sm{font-size:.8125rem;padding:7px 12px}.timetable-popover--calendar{position:fixed;width:280px;z-index:1200}.timetable-calendar-empty-state,.timetable-grid-state-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:9px;justify-content:center;min-height:430px;padding:32px;text-align:center}.timetable-calendar-empty-state strong{color:var(--color-primary-hover);font-size:1rem}.timetable-calendar-empty-state span,.timetable-grid-state-loading p{font-size:.84rem;margin:0}.timetable-calendar-help{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.73rem;font-weight:600;gap:14px 22px;justify-content:flex-end;padding:0 4px}.timetable-calendar-help span{align-items:center;display:inline-flex;gap:5px}.timetable-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.timetable-modal{animation:timetableModalIn .2s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%}.timetable-modal--medium{max-width:600px}.timetable-modal--large{max-width:860px}@keyframes timetableModalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.timetable-modal__header{align-items:center;background:var(--color-background-alt);border-bottom:1px solid var(--color-background-alt);display:flex;justify-content:space-between;padding:16px 24px}.timetable-modal__header-title{align-items:center;color:var(--color-primary);display:flex;gap:10px}.timetable-modal__header-title h2{color:var(--color-text);font-size:1.125rem;font-weight:700;margin:0}.timetable-modal__close{align-items:center;background:#0000;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.timetable-modal__close:hover{background:#0000000f;color:var(--color-text)}.timetable-modal__body{overflow-y:auto;padding:24px}.timetable-modal__footer{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-background-alt);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.timetable-form{grid-gap:16px;display:grid;gap:16px}.timetable-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.timetable-form-group--full{grid-column:span 2}.timetable-form-group{display:flex;flex-direction:column;gap:6px}.timetable-form-group label{color:var(--color-text);font-size:.8125rem;font-weight:600}.timetable-input-icon{align-items:center;display:flex;position:relative}.timetable-input-icon svg{color:var(--color-primary);left:12px;pointer-events:none;position:absolute}.timetable-input-icon input,.timetable-input-icon select{background:#fff;border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-text);font-size:.875rem;padding:9px 12px 9px 36px;transition:all .2s ease;width:100%}.timetable-form-group textarea:focus,.timetable-input-icon input:focus,.timetable-input-icon select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:none}.timetable-form-group textarea{border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;padding:10px 12px;resize:vertical;width:100%}.timetable-slots-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.timetable-slots-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;max-height:360px;overflow-y:auto;padding:0}.timetable-slot-item{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:10px 12px}.timetable-slot-item--active{background:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.timetable-slot-item__info{display:flex;flex-direction:column;gap:2px}.timetable-slot-item__actions{align-items:center;display:flex;gap:6px}.timetable-badge-status{border:none;border-radius:12px;cursor:pointer;font-size:.75rem;font-weight:700;padding:3px 8px}.timetable-badge-status--active{background:var(--color-primary-soft);color:var(--color-primary-hover)}.timetable-badge-status--inactive{background:#ffebee;color:#c62828}.timetable-btn-icon{align-items:center;background:#fff;border:1px solid var(--color-primary-soft);border-radius:6px;color:var(--color-primary);cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.timetable-btn-icon--danger{border-color:#ffcdd2;color:#e53935}.timetable-slot-item .timetable-btn-icon{opacity:0;transition:opacity .15s ease}.timetable-slot-item:focus-within .timetable-btn-icon,.timetable-slot-item:hover .timetable-btn-icon{opacity:1}.timetable-modal--medium .timetable-btn--danger{opacity:0;transition:opacity .15s ease}.timetable-modal--medium:focus-within .timetable-btn--danger,.timetable-modal--medium:hover .timetable-btn--danger{opacity:1}.timetable-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:6px;padding:9px 16px;transition:all .2s ease}.timetable-btn--primary{background:var(--color-primary);color:#fff}.timetable-btn--primary:hover{background:var(--color-primary-hover)}.timetable-btn--secondary{background:#fff;border-color:var(--color-primary-soft);color:var(--color-text)}.timetable-btn--secondary:hover{background:var(--color-background-alt)}.timetable-btn--danger{background:#e53935;color:#fff}.timetable-btn--danger:hover{background:#c62828}.timetable-alert{align-items:center;border-radius:var(--radius-md);display:flex;font-size:.875rem;gap:10px;padding:12px 16px}.timetable-alert--error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.timetable-alert--success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.timetable-spin{animation:timetableSpin 1s linear infinite}@keyframes timetableSpin{to{transform:rotate(1turn)}}.timetable-page__secondary-button{align-items:center;background:#fff;border:1px solid var(--color-primary);border-radius:10px;color:var(--color-primary);cursor:pointer;display:inline-flex;font:inherit;font-weight:600;gap:8px;justify-content:center;min-height:42px;padding:0 16px;transition:background-color .2s ease,color .2s ease}.timetable-page__secondary-button:hover{background:var(--color-primary-soft)}@media (max-width:768px){.timetable-page__hero-actions{align-items:stretch;flex-direction:column;width:100%}.timetable-page__add-button,.timetable-page__secondary-button{width:100%}}.timetable-control-bar{align-items:end;background:#fff;border-color:var(--color-border);border-radius:16px;box-shadow:0 5px 20px rgba(37,99,235,.055);gap:12px;padding:14px}.timetable-control-group{min-width:148px}.timetable-control-group--grow{min-width:235px}.timetable-btn-control,.timetable-select-box,.timetable-toggle-buttons{min-height:42px}.timetable-select-box select{background:var(--color-background-alt);border-radius:10px;min-height:42px}.timetable-select-box select:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-toggle-buttons{align-items:center;background:var(--color-background-alt);border-radius:10px}.timetable-toggle-btn{border-radius:8px;justify-content:center;min-height:34px}.timetable-toggle-btn:hover:not(.timetable-toggle-btn--active){background:var(--color-primary-soft);color:var(--color-primary-hover)}.timetable-control-actions{gap:7px}.timetable-btn-control{border-radius:10px;justify-content:center;touch-action:manipulation;white-space:nowrap}.timetable-btn-control:disabled,.timetable-btn:disabled{cursor:not-allowed;opacity:.55}@media (max-width:1180px){.timetable-control-actions{justify-content:flex-end;margin-left:0;width:100%}}@media (max-width:820px){.timetable-control-bar{align-items:stretch}.timetable-control-group,.timetable-control-group--grow{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;min-width:calc(50% - 6px)}.timetable-control-actions{justify-content:stretch}.timetable-control-actions .timetable-btn-control{flex:1 1}.timetable-calendar-inner{min-width:920px}.timetable-calendar--day .timetable-calendar-inner{min-width:500px}}@media (max-width:560px){.timetable-control-group,.timetable-control-group--grow{flex-basis:100%;min-width:100%}.timetable-control-actions{display:grid;grid-template-columns:1fr 1fr}.timetable-control-actions .timetable-btn-control--primary{grid-column:1/-1}.timetable-calendar{border-radius:14px}.timetable-calendar-body,.timetable-calendar-header{grid-template-columns:76px repeat(var(--calendar-days),minmax(140px,1fr))}.timetable-calendar-header__time{font-size:0}.timetable-calendar-header__time svg{height:17px;width:17px}.timetable-calendar-day-header__short{display:inline}.timetable-calendar-day-header__full{display:none}.timetable-calendar-time-marker{font-size:.69rem;right:10px}.timetable-calendar-help{justify-content:flex-start}}.timetable-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.timetable-page__hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;position:relative;z-index:2}.timetable-tab-switch{border:1px solid color-mix(in srgb,var(--color-surface) 18%,#0000)}.timetable-tab-btn:hover:not(.timetable-tab-btn--active){background:color-mix(in srgb,var(--color-surface) 14%,#0000)}.timetable-page__add-button:hover{background:var(--color-surface);border-color:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-1px)}.timetable-page__add-button:hover span,.timetable-page__add-button:hover svg{color:var(--color-primary)}.timetable-page__secondary-button:hover{background:var(--color-surface);border-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary)}.timetable-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.timetable-page__alert span{flex:1 1}.timetable-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.timetable-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.timetable-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.timetable-page__toolbar{grid-gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:12px;min-width:0;overflow:visible;padding:14px;position:relative;z-index:30}.timetable-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:10px;min-height:44px;min-width:0;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.timetable-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.timetable-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.timetable-page__search input::placeholder{color:var(--color-text-light)}.timetable-page__toolbar-controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));overflow:visible;width:100%}.timetable-page__select-control--custom{height:42px;min-width:0;position:relative;width:100%}.timetable-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.timetable-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.timetable-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.timetable-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.timetable-page__select-control--open .timetable-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.timetable-page__select-control--open .timetable-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.timetable-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:none;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:9999}.timetable-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.35;min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.timetable-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.timetable-page__select-option--active,.timetable-page__select-option--active:hover{background:var(--color-primary);color:var(--color-surface)}.timetable-page__reset-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;height:42px;justify-content:center;min-height:42px;padding:0 14px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%}.timetable-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.timetable-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.timetable-page__table-scroll{min-width:0;overflow-x:auto}.timetable-page__table{border-collapse:collapse;min-width:980px;width:100%}.timetable-page__table td,.timetable-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.timetable-page__table thead,.timetable-page__table thead tr{background:var(--color-sidebar)}.timetable-page__table th{background:#0000;border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase;white-space:nowrap}.timetable-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.timetable-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.timetable-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.timetable-page__table tbody tr{transition:background-color var(--transition-fast)}.timetable-page__table tbody tr:hover{background:var(--color-surface-hover)}.timetable-page__table tbody tr:last-child td{border-bottom:0}.timetable-page__actions-heading{text-align:right!important}.timetable-page__identity{align-items:center;display:flex;gap:12px;min-width:150px}.timetable-page__identity-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.timetable-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.timetable-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-page__text{color:var(--color-text-secondary);display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-page__time{background:var(--color-background-alt);color:var(--color-text-secondary);gap:6px;min-height:30px}.timetable-page__badge,.timetable-page__time{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:0 10px;white-space:nowrap}.timetable-page__badge{justify-content:center;min-height:27px}.timetable-page__badge--status-active{background:var(--color-success-soft);color:var(--color-success)}.timetable-page__badge--status-inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.timetable-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.timetable-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.timetable-page__action:hover:not(:disabled){transform:translateY(-1px)}.timetable-page__action:disabled{cursor:not-allowed;opacity:.65;transform:none}.timetable-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.timetable-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.timetable-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.timetable-page__action--download:hover{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-info)}.timetable-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.timetable-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.timetable-page__pagination p strong{color:var(--color-text-secondary)}.timetable-page__pagination-controls{align-items:center;display:flex;gap:9px}.timetable-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.timetable-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.timetable-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.timetable-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.timetable-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;padding:44px 20px;text-align:center}.timetable-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.timetable-page__state h2{font-size:var(--font-size-lg);margin:14px 0 6px}.timetable-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.timetable-page__state-button{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:all var(--transition-fast);white-space:nowrap}.timetable-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.timetable-page__spinner{animation:timetableSpin .8s linear infinite}.timetable-page button:focus-visible,.timetable-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:900px){.timetable-page__toolbar-controls{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.timetable-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:560px){.timetable-page__toolbar-controls{grid-template-columns:1fr}.timetable-page__table td,.timetable-page__table th{padding-left:14px;padding-right:14px}}.timetable-input-icon select{-webkit-appearance:none!important;appearance:none!important;background-color:var(--color-background-alt)!important;border:1px solid var(--color-primary-soft)!important;border-radius:var(--radius-md)!important;color:var(--color-text)!important;cursor:pointer!important;font-family:inherit!important;font-size:.875rem!important;font-weight:500!important;line-height:1.35!important;min-height:42px!important;padding:9px 40px 9px 38px!important;width:100%!important}.timetable-input-icon select:hover{background-color:#fff!important;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))!important}.timetable-input-icon select:focus{background-color:#fff!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)!important;outline:none!important}.timetable-input-icon>svg:first-child{color:var(--color-primary)!important;left:12px!important;z-index:2}.timetable-input-icon:has(select):after{border-bottom:2px solid var(--color-primary);border-right:2px solid var(--color-primary);content:"";height:8px;pointer-events:none;position:absolute;right:13px;transform:rotate(45deg) translateY(-2px);width:8px}.timetable-input-icon select:disabled{background-color:var(--color-background-alt)!important;color:var(--color-text-muted)!important;cursor:not-allowed!important;opacity:.75}.timetable-page__select-menu::-webkit-scrollbar{width:7px}.timetable-page__select-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.timetable-page__select-menu::-webkit-scrollbar-track{background:#0000}.timetable-page__select-option{justify-content:flex-start!important;max-width:100%;min-height:36px!important;overflow-wrap:anywhere;text-align:left!important}.timetable-select-box select{-webkit-appearance:none!important;appearance:none!important;background-color:var(--color-background-alt)!important;color:var(--color-text)!important;min-height:42px!important;padding-right:38px!important}.timetable-select-box select:hover{background-color:#fff!important;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))!important}.timetable-input-icon select option,.timetable-select-box select option{background:#fff;color:var(--color-text);font-size:.875rem}.timetable-btn-control,.timetable-grid-wrapper,.timetable-page{--timetable-primary:var(--color-primary);--timetable-primary-hover:var(--color-primary-hover);--timetable-primary-soft:var(--color-primary-soft);--timetable-primary-subtle:var(--color-background-alt);--timetable-primary-deep:var(--color-sidebar);--timetable-border:var(--color-border);--timetable-border-soft:var(--color-border);--timetable-muted:var(--color-text-muted);--timetable-text:var(--color-text);--timetable-surface:var(--color-surface)}.timetable-page__hero{background:linear-gradient(135deg,var(--timetable-primary-deep) 0,var(--timetable-primary) 100%)!important;border-color:var(--timetable-primary)!important}.timetable-page__add-button,.timetable-page__secondary-button,.timetable-tab-btn--active{color:var(--timetable-primary)!important}.timetable-page__secondary-button{border-color:var(--timetable-primary)!important}.timetable-page__add-button:hover,.timetable-page__secondary-button:hover{background:var(--timetable-surface)!important;border-color:var(--timetable-surface)!important;color:var(--timetable-primary)!important}.timetable-control-bar{background:var(--timetable-surface)!important;border-color:var(--timetable-border)!important;overflow:visible!important}.timetable-control-label{color:var(--timetable-primary)!important}.timetable-toggle-buttons{background:var(--timetable-primary-subtle)!important;border-color:var(--timetable-border-soft)!important}.timetable-toggle-btn{color:var(--timetable-primary)!important}.timetable-toggle-btn:hover:not(.timetable-toggle-btn--active){background:var(--timetable-primary-soft)!important;color:var(--timetable-primary-hover)!important}.timetable-toggle-btn--active{background:var(--timetable-primary)!important;color:var(--timetable-surface)!important}.timetable-btn-control{border-color:var(--timetable-border-soft)!important;color:var(--timetable-primary)!important}.timetable-btn-control:hover{background:var(--timetable-primary-subtle)!important;border-color:var(--timetable-primary)!important;color:var(--timetable-primary-hover)!important}.timetable-btn-control--primary{background:var(--timetable-primary)!important;border-color:var(--timetable-primary)!important;color:var(--timetable-surface)!important}.timetable-btn-control--primary:hover{background:var(--timetable-primary-hover)!important;border-color:var(--timetable-primary-hover)!important;color:var(--timetable-surface)!important}.timetable-input-icon select,.timetable-select-box select{background:var(--timetable-primary-subtle)!important;border-color:var(--timetable-border-soft)!important;color:var(--timetable-text)!important}.timetable-input-icon svg,.timetable-input-icon>svg:first-child,.timetable-select-box svg{color:var(--timetable-primary)!important}.timetable-input-icon select:hover,.timetable-select-box select:hover{background:var(--timetable-surface)!important;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))!important}.timetable-form-group textarea:focus,.timetable-input-icon input:focus,.timetable-input-icon select:focus,.timetable-select-box select:focus{border-color:var(--timetable-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)!important}.timetable-control-select-control{height:42px;width:100%}.timetable-control-select-button{align-items:center;background:var(--timetable-primary-subtle);border:1px solid var(--timetable-border-soft);border-radius:10px;color:var(--timetable-text);cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:9px;height:42px;min-height:42px;padding:0 11px;text-align:left;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease;width:100%}.timetable-control-select-button:hover{background:var(--timetable-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-control-select-button:focus-visible{background:var(--timetable-surface);border-color:var(--timetable-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:0}.timetable-control-select-button:disabled{cursor:not-allowed;opacity:.7}.timetable-control-select-button svg{color:var(--timetable-primary);flex:0 0 auto}.timetable-control-select-value{color:var(--timetable-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-control-select-chevron{color:var(--timetable-muted)!important;transition:transform .18s ease,color .18s ease}.timetable-control-select-control--open .timetable-control-select-button{background:var(--timetable-surface);border-color:var(--timetable-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.timetable-control-select-control--open .timetable-control-select-chevron{color:var(--timetable-primary)!important;transform:rotate(180deg)}.timetable-control-select-control .sd__panel{background:var(--timetable-surface);border:1px solid var(--timetable-border);border-radius:12px;box-shadow:0 18px 35px #0f172a24;max-height:240px;scrollbar-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border)) #0000;scrollbar-width:thin;width:100%}.timetable-control-select-control .sd__panel::-webkit-scrollbar,.timetable-modal__body::-webkit-scrollbar,.timetable-page__select-menu::-webkit-scrollbar,.timetable-slots-list::-webkit-scrollbar{width:7px}.timetable-control-select-control .sd__panel::-webkit-scrollbar-thumb,.timetable-modal__body::-webkit-scrollbar-thumb,.timetable-page__select-menu::-webkit-scrollbar-thumb,.timetable-slots-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.timetable-control-select-control .sd__panel::-webkit-scrollbar-track,.timetable-modal__body::-webkit-scrollbar-track,.timetable-page__select-menu::-webkit-scrollbar-track,.timetable-slots-list::-webkit-scrollbar-track{background:#0000}.timetable-control-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:600;justify-content:flex-start;line-height:1.35;min-height:36px;overflow-wrap:anywhere;padding:0 10px;text-align:left;transition:background-color .16s ease,color .16s ease;width:100%}.timetable-control-select-option:hover{background:var(--timetable-primary-soft);color:var(--timetable-primary-hover)}.timetable-control-select-option--active,.timetable-control-select-option--active:hover{background:var(--timetable-primary);color:var(--timetable-surface)}.timetable-page__select-menu{max-height:240px!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border)) #0000;scrollbar-width:thin}.timetable-calendar{border-color:var(--timetable-border)!important;box-shadow:0 10px 32px color-mix(in srgb,var(--color-primary) 8%,#0000)!important}.timetable-calendar-header{background:var(--timetable-primary-subtle)!important;border-bottom-color:var(--timetable-border)!important}.timetable-calendar-header__time{background:var(--color-background-alt)!important;border-right-color:var(--timetable-border)!important;color:var(--timetable-primary-deep)!important}.timetable-calendar-day-header{background:linear-gradient(180deg,#fff 0,var(--color-background-alt) 100%)!important;border-right-color:var(--color-border-light)!important;color:var(--timetable-primary-deep)!important}.timetable-calendar-time-axis{background:var(--color-background-alt)!important;border-right-color:var(--timetable-border)!important}.timetable-calendar-help,.timetable-calendar-time-marker{color:var(--timetable-muted)!important}.timetable-calendar-day-column{background-image:linear-gradient(to bottom,color-mix(in srgb,var(--color-primary) 7%,#0000) 1px,#0000 1px),linear-gradient(to bottom,color-mix(in srgb,var(--color-primary) 14%,#0000) 1px,#0000 1px)!important;border-right-color:var(--color-border-light)!important}.timetable-calendar-day-column:focus-visible,.timetable-calendar-day-column:hover{background-color:var(--color-background-alt)!important}.timetable-calendar-add-preview{background:color-mix(in srgb,var(--color-primary-soft) 92%,#0000)!important;border-color:var(--color-primary)!important;color:var(--timetable-primary-hover)!important}.timetable-modal__header{background:var(--timetable-primary-subtle)!important;border-bottom-color:var(--timetable-border-soft)!important}.timetable-btn-icon,.timetable-modal__header-title{color:var(--timetable-primary)!important}.timetable-slot-item{background:var(--timetable-primary-subtle)!important;border-color:var(--timetable-border-soft)!important}.timetable-slot-item--active{background:var(--timetable-surface)!important;border-color:var(--timetable-primary)!important}.timetable-badge-status--active{background:var(--timetable-primary-soft)!important;color:var(--timetable-primary-deep)!important}.timetable-btn--primary{background:var(--timetable-primary)!important;color:var(--timetable-surface)!important}.timetable-btn--primary:hover{background:var(--timetable-primary-hover)!important}@media (max-width:820px){.timetable-control-select-control .sd__panel{max-height:220px}}.timetable-calendar-lesson__actions{align-items:center;display:inline-flex!important;flex:0 0 auto;gap:4px;justify-content:flex-end;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);visibility:hidden}.timetable-calendar-lesson:focus-within .timetable-calendar-lesson__actions,.timetable-calendar-lesson:hover .timetable-calendar-lesson__actions{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.timetable-calendar-lesson__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex!important;flex:0 0 26px;height:26px;justify-content:center;padding:0;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:26px}.timetable-calendar-lesson__action:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.timetable-calendar-lesson__action--edit:hover:not(:disabled){background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.timetable-calendar-lesson__action--delete:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.timetable-calendar-lesson__action:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.timetable-calendar-lesson--tiny .timetable-calendar-lesson__actions{display:none!important}.timetable-page__badge--type-teacher{background:var(--level-high-bg);color:var(--level-high)}.timetable-page__badge--type-class{background:var(--level-primary-bg);color:var(--level-primary)}.timetable-page__count{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px;min-height:30px;padding:0 10px;white-space:nowrap}.timetable-page__count svg{color:var(--color-primary);flex:0 0 auto}.timetable-page__duration{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px;min-height:30px;padding:0 10px;white-space:nowrap}.timetable-page__duration svg{color:var(--color-primary);flex:0 0 auto}.timetable-page__summary{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px}.timetable-control-date{background:var(--color-background-alt);border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;min-height:38px;padding:0 12px;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.timetable-control-date:focus,.timetable-control-date:hover{border-color:var(--color-primary)}.timetable-control-date:focus{background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:none}.timetable-control-date:disabled{cursor:not-allowed;opacity:.7}.timetable-creation-summary{align-items:center;border:1px dashed var(--color-primary-soft);border-radius:var(--radius-md);display:inline-flex;font-size:.8125rem;font-weight:600;min-height:38px;padding:0 14px;white-space:nowrap}.timetable-alert--info,.timetable-creation-summary{background:var(--color-primary-soft);color:var(--color-primary)}.timetable-alert--info{border:1px solid color-mix(in srgb,var(--color-primary) 30%,#0000)}.timetable-form-page__loader{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:12px;justify-content:center;padding:64px 24px}.payment-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.payment-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.payment-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.payment-details-page__back,.payment-details-page__delete,.payment-details-page__edit,.payment-details-page__modal-cancel,.payment-details-page__modal-delete,.payment-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.payment-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.payment-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payment-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.payment-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.payment-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.payment-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.payment-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.payment-details-page__alert span{flex:1 1}.payment-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.payment-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.payment-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.payment-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.payment-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.payment-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;width:112px}.payment-details-page__identity{min-width:0}.payment-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.payment-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.payment-details-page__student-number{align-items:center;color:color-mix(in srgb,var(--color-surface) 78%,#0000);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;margin-top:10px}.payment-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.payment-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.payment-details-page__badge--amount{border-color:var(--color-success)}.payment-details-page__badge--amount,.payment-details-page__badge--paid{background:var(--color-success-soft);color:var(--color-success)}.payment-details-page__badge--partial{background:var(--color-warning-soft);color:var(--color-warning)}.payment-details-page__badge--overdue{background:color-mix(in srgb,var(--color-danger) 15%,#0000);color:var(--color-danger)}.payment-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 15%,#0000);color:var(--color-surface)}.payment-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.payment-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.payment-details-page__panel--full{grid-column:1/-1}.payment-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.payment-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.payment-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.payment-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.payment-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.payment-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.payment-details-page__information-item--full{grid-column:1/-1}.payment-details-page__information-item--success{background:var(--color-success-soft)}.payment-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.payment-details-page__information-label svg{color:var(--color-primary)}.payment-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.payment-details-page__information-item--success strong{color:var(--color-success)}.payment-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.payment-details-page__metadata div{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:7px}.payment-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:480px;text-align:center}.payment-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.payment-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.payment-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.payment-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.payment-details-page__state-button:hover{background:var(--color-primary-hover)}.payment-details-page__spinner{animation:payment-details-spin .8s linear infinite}@keyframes payment-details-spin{to{transform:rotate(1turn)}}.payment-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.payment-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.payment-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.payment-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.payment-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.payment-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.payment-details-page__modal p strong{color:var(--color-text)}.payment-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.payment-details-page__modal-cancel,.payment-details-page__modal-delete{padding:0 16px}.payment-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.payment-details-page__modal-cancel:hover{background:var(--color-background-alt)}.payment-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.payment-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.payment-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.payment-details-page__profile{align-items:flex-start;flex-direction:column}.payment-details-page__badges{justify-content:flex-start}.payment-details-page__content-grid{grid-template-columns:1fr}}@media (max-width:650px){.payment-details-page__topbar{align-items:stretch;flex-direction:column}.payment-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.payment-details-page__profile{padding:var(--space-5)}.payment-details-page__profile-main{align-items:flex-start;flex-direction:column}.payment-details-page__information-grid{grid-template-columns:1fr}.payment-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.payment-details-page__back,.payment-details-page__delete,.payment-details-page__edit{width:100%}.payment-details-page__topbar-actions{grid-template-columns:1fr}.payment-details-page__modal,.payment-details-page__panel,.payment-details-page__profile{border-radius:var(--radius-lg)}.payment-details-page__panel{padding:var(--space-4)}.payment-details-page__modal-actions{flex-direction:column-reverse}.payment-details-page__modal-cancel,.payment-details-page__modal-delete{width:100%}}.payment-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.payment-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.payment-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.payment-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.payment-form-page__heading{min-width:0}.payment-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.payment-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.payment-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.payment-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.payment-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.payment-form-page__alert-content{flex:1 1;min-width:0}.payment-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.payment-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.payment-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.payment-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.payment-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.payment-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5);overflow:visible}.payment-form-page__layout{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(270px,330px);min-width:0}.payment-form-page__main,.payment-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.payment-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.payment-form-page__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:visible;padding:var(--space-5);position:relative}.payment-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.payment-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.payment-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.payment-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.payment-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.payment-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.payment-form-page__field--full{grid-column:1/-1}.payment-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.payment-form-page__field>label span{color:var(--color-danger)}.payment-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.payment-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.payment-form-page__control::placeholder{color:var(--color-text-light)}.payment-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.payment-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.payment-form-page__hint{align-items:flex-start;background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);display:flex;font-size:var(--font-size-xs);gap:8px;line-height:1.55;margin-top:4px;padding:11px 13px}.payment-form-page__hint svg{flex:0 0 auto;margin-top:1px}.payment-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.payment-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.payment-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.payment-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.payment-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.payment-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.payment-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.payment-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.payment-form-page__summary-remaining--paid{color:var(--color-success)!important}.payment-form-page__summary-link{align-items:center;background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px;justify-content:center;margin-top:14px;min-height:34px;padding:0 12px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.payment-form-page__summary-link:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.payment-form-page__summary-link:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 35%,#0000);outline-offset:2px}.payment-form-page__field-note{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin-top:6px}.payment-form-page__field-note strong{color:var(--color-text-secondary)}.payment-form-page__field-note--warning{color:#b45309;color:var(--color-warning,#b45309)}.payment-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.payment-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.payment-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.payment-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.payment-form-page__action-buttons{align-items:center;display:flex;gap:10px}.payment-form-page__cancel,.payment-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.payment-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.payment-form-page__cancel:hover{background:var(--color-background-alt)}.payment-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.payment-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.payment-form-page__cancel:disabled,.payment-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.payment-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.payment-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.payment-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.payment-form-page__spinner{animation:payment-form-spin .8s linear infinite}@keyframes payment-form-spin{to{transform:rotate(1turn)}}.payment-form-page button:focus-visible,.payment-form-page input:focus-visible,.payment-form-page label:focus-within,.payment-form-page select:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.payment-form-page__layout{grid-template-columns:1fr}.payment-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.payment-form-page__header{flex-direction:column}.payment-form-page__grid{grid-template-columns:1fr}.payment-form-page__field--full{grid-column:auto}.payment-form-page__sidebar{grid-template-columns:1fr}.payment-form-page__actions{align-items:stretch;flex-direction:column;position:static}.payment-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.payment-form-page__actions,.payment-form-page__section,.payment-form-page__summary{border-radius:var(--radius-lg)}.payment-form-page__section{padding:var(--space-4)}.payment-form-page__action-buttons{grid-template-columns:1fr}.payment-form-page__cancel,.payment-form-page__submit{width:100%}}.payment-form-page__select{min-width:0;position:relative;width:100%}.payment-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.payment-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.payment-form-page__select--open .payment-form-page__select-trigger,.payment-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.payment-form-page__select-placeholder{color:var(--color-text-muted)}.payment-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.payment-form-page__select--open .payment-form-page__select-chevron{transform:rotate(180deg)}.payment-form-page__select-menu{grid-gap:3px;animation:payment-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;max-height:260px;max-width:none;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:6px;width:auto;z-index:9999}.payment-form-page__select-menu--portal{box-sizing:border-box;margin:0;max-width:none!important;min-width:0!important}.payment-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.payment-form-page__select-option>span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-form-page__select-option:focus-visible,.payment-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.payment-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.payment-form-page__select--disabled .payment-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes payment-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.payment-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --payment-calendar-page-bottom-space,0
  )}.payment-form-page__field--date{align-self:start;grid-column:auto;min-width:0;width:100%}.payment-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.payment-form-page__date-picker--open{z-index:120}.payment-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.payment-form-page__date-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.payment-form-page__date-picker--open .payment-form-page__date-trigger,.payment-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.payment-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.payment-form-page__date-copy{display:flex;flex-direction:column;gap:2px;height:34px;justify-content:center;min-width:0;overflow:hidden}.payment-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.payment-form-page .payment-form-page__date-copy input{appearance:none;-webkit-appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);display:block;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:18px!important;line-height:18px;margin:0!important;min-height:18px!important;min-width:0;outline:0!important;padding:0!important;text-decoration:none!important;width:100%}.payment-form-page .payment-form-page__date-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-decoration:none}.payment-form-page .payment-form-page__date-copy input:focus,.payment-form-page .payment-form-page__date-copy input:focus-visible,.payment-form-page .payment-form-page__date-copy input:hover{background:#0000!important;border:0!important;box-shadow:none!important;outline:0!important;text-decoration:none!important}.payment-form-page__date-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.payment-form-page__date-toggle:focus-visible,.payment-form-page__date-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.payment-form-page__date-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.payment-form-page__date-picker--open .payment-form-page__date-chevron{transform:rotate(180deg)}.payment-form-page__calendar{--payment-calendar-min-width:390px;animation:payment-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--payment-calendar-min-width),calc(100vw - 32px)));z-index:200}.payment-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.payment-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.payment-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.payment-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.payment-form-page__calendar-close:focus-visible,.payment-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.payment-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.payment-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.payment-form-page__calendar-select{min-width:0;position:relative}.payment-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;width:100%}.payment-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.payment-form-page__calendar-select--open .payment-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.payment-form-page__calendar-select--open .payment-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.payment-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.payment-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.payment-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.payment-form-page .payment-form-page__calendar-select-option:focus-visible:not(:disabled),.payment-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.payment-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.payment-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.payment-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.payment-form-page__calendar-nav:focus-visible:not(:disabled),.payment-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.payment-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.payment-form-page__calendar-grid,.payment-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.payment-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.payment-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.payment-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.payment-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.payment-form-page__calendar-day:focus-visible:not(:disabled),.payment-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.payment-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.payment-form-page__calendar-day--today:not(.payment-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.payment-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.payment-form-page__calendar-day--selected:focus-visible,.payment-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.payment-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.payment-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.payment-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.payment-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.payment-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes payment-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.payment-form-page__calendar{--payment-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.payment-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.payment-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.payment-form-page__calendar-nav{height:36px;width:34px}.payment-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.payment-form-page__calendar-weekdays{padding:0 8px}.payment-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.payment-form-page__calendar-footer{gap:8px;padding:9px 10px}}.payment-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.payment-form-page input[type=number]::-webkit-inner-spin-button,.payment-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.payment-assignments-page__paid{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.payment-assignments-page__remaining{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.payment-assignments-page__remaining--zero{color:#237a57;color:var(--color-success,#237a57)}.payment-assignments-page__payments-count{background:var(--color-surface);border:1px solid var(--color-border,var(--color-border-muted));border-radius:var(--radius-full);color:var(--color-text-secondary);min-width:34px;padding:4px 10px}.payment-assignment-details-page__record-payment,.payment-assignments-page__payments-count{align-items:center;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center}.payment-assignment-details-page__record-payment{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;font-family:inherit;gap:8px;min-height:40px;padding:0 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.payment-assignment-details-page__record-payment:hover{background:var(--color-sidebar);background:var(--color-primary-dark,var(--color-sidebar));border-color:var(--color-primary-dark,var(--color-sidebar));box-shadow:var(--shadow-sm)}.payment-assignment-details-page__record-payment:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 35%,#0000);outline-offset:2px}.payment-assignment-details-page__summary{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.payment-assignment-details-page__summary-card{background:var(--color-surface);border:1px solid var(--color-border,var(--color-border-muted));border-radius:var(--radius-lg);box-shadow:none;box-shadow:var(--shadow-xs,none);display:flex;flex-direction:column;gap:6px;min-width:0;padding:var(--space-4) var(--space-5)}.payment-assignment-details-page__summary-card strong{color:var(--color-text);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;overflow-wrap:anywhere}.payment-assignment-details-page__summary-card--paid{border-top:3px solid var(--color-primary)}.payment-assignment-details-page__summary-card--paid strong{color:var(--color-primary)}.payment-assignment-details-page__summary-card--remaining{border-top:3px solid #b45309;border-top:3px solid var(--color-warning,#b45309)}.payment-assignment-details-page__summary-card--remaining strong{color:#b45309;color:var(--color-warning,#b45309)}.payment-assignment-details-page__summary-card--settled{border-top:3px solid #237a57;border-top:3px solid var(--color-success,#237a57)}.payment-assignment-details-page__summary-card--settled strong{color:#237a57;color:var(--color-success,#237a57)}.payment-assignment-details-page__summary-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.payment-assignment-details-page__summary-hint{color:var(--color-text-muted);font-size:.75rem;font-size:var(--font-size-xs,.75rem)}.payment-assignment-details-page__empty-history{align-items:center;background:color-mix(in srgb,var(--color-surface) 60%,#0000);border:1px dashed var(--color-border,var(--color-border-muted));border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center}.payment-assignment-details-page__empty-history svg{color:var(--color-text-muted)}.payment-assignment-details-page__empty-history p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}@media (max-width:980px){.payment-assignment-details-page__summary{grid-template-columns:1fr}}.school-fees-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.school-fees-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.school-fees-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.school-fees-page__hero-content{min-width:0;position:relative;z-index:1}.school-fees-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.school-fees-page__eyebrow,.school-fees-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.school-fees-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.school-fees-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.school-fees-page__add-button,.school-fees-page__modal-cancel,.school-fees-page__modal-delete,.school-fees-page__reset-button,.school-fees-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.school-fees-page__add-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.school-fees-page__add-button:hover{background:var(--color-primary-soft)}.school-fees-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.school-fees-page__alert span{flex:1 1}.school-fees-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.school-fees-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.school-fees-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.school-fees-page__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px}.school-fees-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.school-fees-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.school-fees-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.school-fees-page__search input::placeholder{color:var(--color-text-light)}.school-fees-page__toolbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.school-fees-page__select-control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:8px;min-height:44px;min-width:150px;padding:0 10px 0 12px;position:relative}.school-fees-page__select-control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.school-fees-page__select-control select{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0}.school-fees-page__select-control>svg:last-child{flex:0 0 auto;pointer-events:none}.school-fees-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary)}.school-fees-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.school-fees-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.school-fees-page__table-scroll{min-width:0;overflow-x:auto}.school-fees-page__table{border-collapse:collapse;min-width:780px;width:100%}.school-fees-page__table td,.school-fees-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.school-fees-page__table thead{background:var(--color-sidebar)}.school-fees-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.school-fees-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.school-fees-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.school-fees-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.school-fees-page__table tbody tr{transition:background-color var(--transition-fast)}.school-fees-page__table tbody tr:hover{background:var(--color-surface-hover)}.school-fees-page__table tbody tr:last-child td{border-bottom:0}.school-fees-page__actions-heading{text-align:right!important}.school-fees-page__identity{align-items:center;display:flex;gap:12px;min-width:180px}.school-fees-page__fee-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.school-fees-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.school-fees-page__identity-name span,.school-fees-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-fees-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.school-fees-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.school-fees-page__amount{background:var(--color-success-soft);border-radius:var(--radius-sm);color:var(--color-success);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:5px 10px;white-space:nowrap}.school-fees-page__level-badge{background:var(--color-primary-soft);color:var(--color-primary)}.school-fees-page__level-badge,.school-fees-page__year-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.school-fees-page__year-badge{background:var(--color-background-alt);color:var(--color-text-secondary)}.school-fees-page__date{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.school-fees-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.school-fees-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.school-fees-page__action:hover{transform:translateY(-1px)}.school-fees-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.school-fees-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.school-fees-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.school-fees-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.school-fees-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.school-fees-page__pagination p strong{color:var(--color-text-secondary)}.school-fees-page__pagination-controls{align-items:center;display:flex;gap:9px}.school-fees-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.school-fees-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.school-fees-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.school-fees-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.school-fees-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.school-fees-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.school-fees-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.school-fees-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.school-fees-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.school-fees-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.school-fees-page__spinner{animation:school-fees-page-spin .8s linear infinite}@keyframes school-fees-page-spin{to{transform:rotate(1turn)}}.school-fees-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.school-fees-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.school-fees-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.school-fees-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.school-fees-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.school-fees-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.school-fees-page__modal p strong{color:var(--color-text)}.school-fees-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.school-fees-page__modal-cancel,.school-fees-page__modal-delete{padding:0 16px}.school-fees-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.school-fees-page__modal-cancel:hover{background:var(--color-background-alt)}.school-fees-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.school-fees-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.school-fees-page button:focus-visible,.school-fees-page input:focus-visible,.school-fees-page select:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.school-fees-page__toolbar{align-items:stretch;flex-direction:column}.school-fees-page__search{max-width:none}.school-fees-page__toolbar-controls{justify-content:flex-start}}@media (max-width:720px){.school-fees-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.school-fees-page__add-button{width:100%}.school-fees-page__toolbar-controls{display:grid;grid-template-columns:1fr}.school-fees-page__reset-button,.school-fees-page__select-control{width:100%}.school-fees-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.school-fees-page__hero,.school-fees-page__panel,.school-fees-page__toolbar{border-radius:var(--radius-lg)}.school-fees-page__search{min-width:0}.school-fees-page__table td,.school-fees-page__table th{padding-left:14px;padding-right:14px}.school-fees-page__modal-actions{flex-direction:column-reverse}.school-fees-page__modal-cancel,.school-fees-page__modal-delete{width:100%}}.school-fees-page__toolbar{align-items:center!important;display:flex!important;flex-direction:row!important;gap:12px!important;justify-content:space-between!important;overflow:visible!important;position:relative;z-index:20}.school-fees-page__search{flex:0 0 300px!important;height:44px!important;max-width:320px!important;min-height:44px!important;min-width:240px!important;width:auto!important}.school-fees-page__toolbar-controls{grid-gap:8px!important;align-items:center!important;display:grid!important;flex:1 1 auto!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;overflow:visible!important;width:auto!important}.school-fees-page__select-control--custom{background:#0000!important;border:0!important;height:42px!important;min-height:42px!important;min-width:0!important;padding:0!important;position:relative!important;width:100%!important}.school-fees-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.school-fees-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.school-fees-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.school-fees-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.school-fees-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-fees-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.school-fees-page__select-control--open .school-fees-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.school-fees-page__select-control--open .school-fees-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.school-fees-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:none;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 6px);width:100%;z-index:9999}.school-fees-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.35;min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.school-fees-page__select-option.sd__option--highlighted,.school-fees-page__select-option:focus-visible,.school-fees-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.school-fees-page__select-option--active,.school-fees-page__select-option--active.sd__option--highlighted,.school-fees-page__select-option--active:focus-visible,.school-fees-page__select-option--active:hover{background:var(--color-primary);color:#fff}.school-fees-page__reset-button{height:42px!important;min-height:42px!important;padding:0 14px;white-space:nowrap;width:100%!important}.school-fees-page__add-button:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.school-fees-page__add-button:hover,.school-fees-page__add-button:hover span,.school-fees-page__add-button:hover svg{color:var(--color-primary)!important}.school-fees-page button:focus-visible,.school-fees-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1200px){.school-fees-page__toolbar{align-items:stretch!important;flex-direction:column!important}.school-fees-page__search{flex:none!important;max-width:none!important;width:100%!important}.school-fees-page__toolbar-controls{width:100%!important}}@media (max-width:720px){.school-fees-page__toolbar-controls{grid-template-columns:1fr!important}}.school-fee-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.school-fee-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.school-fee-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.school-fee-details-page__back,.school-fee-details-page__delete,.school-fee-details-page__edit,.school-fee-details-page__modal-cancel,.school-fee-details-page__modal-delete,.school-fee-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.school-fee-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.school-fee-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.school-fee-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.school-fee-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.school-fee-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.school-fee-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.school-fee-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.school-fee-details-page__alert span{flex:1 1}.school-fee-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.school-fee-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.school-fee-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.school-fee-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.school-fee-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.school-fee-details-page__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;width:112px}.school-fee-details-page__identity{min-width:0}.school-fee-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.school-fee-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.school-fee-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.school-fee-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.school-fee-details-page__badge--amount{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.school-fee-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 15%,#0000);color:var(--color-surface)}.school-fee-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.school-fee-details-page__content-grid>.school-fee-details-page__panel:last-child{grid-column:1/-1}.school-fee-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.school-fee-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.school-fee-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.school-fee-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.school-fee-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.school-fee-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.school-fee-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.school-fee-details-page__information-item--full{grid-column:1/-1}.school-fee-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.school-fee-details-page__information-label svg{color:var(--color-primary)}.school-fee-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.school-fee-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.school-fee-details-page__metadata div{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:7px}.school-fee-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:480px;text-align:center}.school-fee-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.school-fee-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.school-fee-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.school-fee-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.school-fee-details-page__state-button:hover{background:var(--color-primary-hover)}.school-fee-details-page__spinner{animation:school-fee-details-spin .8s linear infinite}@keyframes school-fee-details-spin{to{transform:rotate(1turn)}}.school-fee-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.school-fee-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.school-fee-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.school-fee-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.school-fee-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.school-fee-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.school-fee-details-page__modal p strong{color:var(--color-text)}.school-fee-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.school-fee-details-page__modal-cancel,.school-fee-details-page__modal-delete{padding:0 16px}.school-fee-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.school-fee-details-page__modal-cancel:hover{background:var(--color-background-alt)}.school-fee-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.school-fee-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.school-fee-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.school-fee-details-page__profile{align-items:flex-start;flex-direction:column}.school-fee-details-page__badges{justify-content:flex-start}.school-fee-details-page__content-grid{grid-template-columns:1fr}.school-fee-details-page__content-grid>.school-fee-details-page__panel:last-child{grid-column:auto}}@media (max-width:650px){.school-fee-details-page__topbar{align-items:stretch;flex-direction:column}.school-fee-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.school-fee-details-page__profile{padding:var(--space-5)}.school-fee-details-page__profile-main{align-items:flex-start;flex-direction:column}.school-fee-details-page__information-grid{grid-template-columns:1fr}.school-fee-details-page__information-item--full{grid-column:auto}.school-fee-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.school-fee-details-page__back,.school-fee-details-page__delete,.school-fee-details-page__edit{width:100%}.school-fee-details-page__topbar-actions{grid-template-columns:1fr}.school-fee-details-page__modal,.school-fee-details-page__panel,.school-fee-details-page__profile{border-radius:var(--radius-lg)}.school-fee-details-page__panel{padding:var(--space-4)}.school-fee-details-page__modal-actions{flex-direction:column-reverse}.school-fee-details-page__modal-cancel,.school-fee-details-page__modal-delete{width:100%}}.school-fee-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.school-fee-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.school-fee-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.school-fee-form-page__back:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.school-fee-form-page__heading{min-width:0}.school-fee-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.school-fee-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.school-fee-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.school-fee-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.school-fee-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.school-fee-form-page__alert-content{flex:1 1;min-width:0}.school-fee-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.school-fee-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.school-fee-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.school-fee-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.school-fee-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5);overflow:visible}.school-fee-form-page__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:visible;padding:var(--space-5);position:relative}.school-fee-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.school-fee-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.school-fee-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.school-fee-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.school-fee-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.school-fee-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.school-fee-form-page__field--full{grid-column:1/-1}.school-fee-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.school-fee-form-page__field>label span{color:var(--color-danger)}.school-fee-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.school-fee-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.school-fee-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.school-fee-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.school-fee-form-page__input-with-icon{min-width:0;position:relative;width:100%}.school-fee-form-page__input-with-icon>svg{color:var(--color-text-muted);left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.school-fee-form-page__control--with-icon{padding-left:40px}.school-fee-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.school-fee-form-page input[type=number]::-webkit-inner-spin-button,.school-fee-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.school-fee-form-page__select{min-width:0;position:relative;width:100%}.school-fee-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.school-fee-form-page__select--open .school-fee-form-page__select-trigger,.school-fee-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.school-fee-form-page__select-placeholder{color:var(--color-text-muted)}.school-fee-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.school-fee-form-page__select--open .school-fee-form-page__select-chevron{transform:rotate(180deg)}.school-fee-form-page__select-menu{grid-gap:3px;animation:school-fee-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:6px;z-index:9999}.school-fee-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.school-fee-form-page__select-option:focus-visible,.school-fee-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.school-fee-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.school-fee-form-page__select--disabled .school-fee-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes school-fee-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.school-fee-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --school-fee-calendar-page-bottom-space,0
  )}.school-fee-form-page__field--date{align-self:start;grid-column:auto;min-width:0;width:100%}.school-fee-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.school-fee-form-page__date-picker--open{z-index:120}.school-fee-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.school-fee-form-page__date-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.school-fee-form-page__date-picker--open .school-fee-form-page__date-trigger,.school-fee-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.school-fee-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.school-fee-form-page__date-copy{display:flex;flex-direction:column;gap:2px;height:34px;justify-content:center;min-width:0;overflow:hidden}.school-fee-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.school-fee-form-page .school-fee-form-page__date-copy input{appearance:none;-webkit-appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);display:block;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:18px!important;line-height:18px;margin:0!important;min-height:18px!important;min-width:0;outline:0!important;padding:0!important;text-decoration:none!important;width:100%}.school-fee-form-page .school-fee-form-page__date-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-decoration:none}.school-fee-form-page .school-fee-form-page__date-copy input:focus,.school-fee-form-page .school-fee-form-page__date-copy input:focus-visible,.school-fee-form-page .school-fee-form-page__date-copy input:hover{background:#0000!important;border:0!important;box-shadow:none!important;outline:0!important;text-decoration:none!important}.school-fee-form-page__date-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.school-fee-form-page__date-toggle:focus-visible,.school-fee-form-page__date-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.school-fee-form-page__date-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.school-fee-form-page__date-picker--open .school-fee-form-page__date-chevron{transform:rotate(180deg)}.school-fee-form-page__calendar{--school-fee-calendar-min-width:390px;animation:school-fee-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--school-fee-calendar-min-width),calc(100vw - 32px)));z-index:200}.school-fee-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.school-fee-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.school-fee-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.school-fee-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-fee-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.school-fee-form-page__calendar-close:focus-visible,.school-fee-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.school-fee-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.school-fee-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.school-fee-form-page__calendar-select{min-width:0;position:relative}.school-fee-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;width:100%}.school-fee-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-fee-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.school-fee-form-page__calendar-select--open .school-fee-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.school-fee-form-page__calendar-select--open .school-fee-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.school-fee-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.school-fee-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.school-fee-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.school-fee-form-page__calendar-select-option:focus-visible:not(:disabled),.school-fee-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.school-fee-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.school-fee-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.school-fee-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.school-fee-form-page__calendar-nav:focus-visible:not(:disabled),.school-fee-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.school-fee-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.school-fee-form-page__calendar-grid,.school-fee-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.school-fee-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.school-fee-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.school-fee-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.school-fee-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0}.school-fee-form-page__calendar-day:focus-visible:not(:disabled),.school-fee-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.school-fee-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.school-fee-form-page__calendar-day--today:not(.school-fee-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.school-fee-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.school-fee-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26}.school-fee-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.school-fee-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-fee-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.school-fee-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.school-fee-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes school-fee-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.school-fee-form-page__calendar{--school-fee-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.school-fee-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.school-fee-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.school-fee-form-page__calendar-nav{height:36px;width:34px}.school-fee-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.school-fee-form-page__calendar-weekdays{padding:0 8px}.school-fee-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.school-fee-form-page__calendar-footer{gap:8px;padding:9px 10px}}.school-fee-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.school-fee-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.school-fee-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.school-fee-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.school-fee-form-page__action-buttons{align-items:center;display:flex;gap:10px}.school-fee-form-page__cancel,.school-fee-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.school-fee-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.school-fee-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.school-fee-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.school-fee-form-page__back:disabled,.school-fee-form-page__cancel:disabled,.school-fee-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.school-fee-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.school-fee-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.school-fee-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.school-fee-form-page__spinner{animation:school-fee-form-spin .8s linear infinite}@keyframes school-fee-form-spin{to{transform:rotate(1turn)}}@media (max-width:720px){.school-fee-form-page__header{flex-direction:column}.school-fee-form-page__grid{grid-template-columns:1fr}.school-fee-form-page__field--full{grid-column:auto}.school-fee-form-page__actions{align-items:stretch;flex-direction:column;position:static}.school-fee-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.school-fee-form-page__actions,.school-fee-form-page__section{border-radius:var(--radius-lg)}.school-fee-form-page__section{padding:var(--space-4)}.school-fee-form-page__action-buttons{grid-template-columns:1fr}.school-fee-form-page__cancel,.school-fee-form-page__submit{width:100%}}.financial-reports-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.financial-reports-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;padding:var(--space-5) var(--space-6)}.financial-reports-page__eyebrow,.financial-reports-page__hero>div>span{background:#ffffff1c;border:1px solid #ffffff38;border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.financial-reports-page__hero h1{color:var(--color-surface);font-size:clamp(1.55rem,3vw,2rem);margin:10px 0 0}.financial-reports-page__hero p{color:#ffffffc7;font-size:var(--font-size-sm);line-height:1.55;margin:7px 0 0;max-width:700px}.financial-reports-page__budget-button,.financial-reports-page__filters>button,.financial-reports-page__panel-heading--space>button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px}.financial-reports-page__budget-button{background:var(--color-surface);border:1px solid var(--color-surface);color:var(--color-primary);flex:0 0 auto;padding:0 16px}.financial-reports-page__filters{grid-gap:10px;align-items:end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:10px;grid-template-columns:minmax(180px,1.35fr) minmax(150px,1fr) minmax(150px,1fr) auto;padding:14px}.financial-reports-page__filters label{grid-gap:7px;display:grid;gap:7px;min-width:0}.financial-reports-page__filters label>span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.financial-reports-page__control{align-items:center;color:var(--color-text-muted);display:flex;gap:8px;padding:0 12px}.financial-reports-page__control,.financial-reports-page__control select,.financial-reports-page__filters input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:42px}.financial-reports-page__control select,.financial-reports-page__filters input{color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:none;width:100%}.financial-reports-page__control select{background:#0000;border:0;min-height:auto}.financial-reports-page__filters input{padding:0 12px}.financial-reports-page__filters>button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);min-width:110px;padding:0 14px}.financial-reports-page__filters>button:disabled{cursor:wait;opacity:.65}.financial-reports-page__error,.financial-reports-page__loading{border-radius:var(--radius-lg);font-size:var(--font-size-sm);padding:14px 16px}.financial-reports-page__error{background:var(--color-danger-light);border:1px solid var(--color-danger);color:var(--color-danger)}.financial-reports-page__loading{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.financial-reports-page__kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.financial-reports-page__kpis article{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:12px;min-width:0;padding:16px}.financial-reports-page__kpi-icon{align-items:center;background:var(--color-primary-soft);border-radius:12px;color:var(--color-primary);display:inline-flex;flex:0 0 44px;height:44px;justify-content:center;width:44px}.financial-reports-page__kpi-icon--income{background:var(--color-success-soft);color:var(--color-success)}.financial-reports-page__kpi-icon--expense{background:var(--color-danger-light);color:var(--color-danger)}.financial-reports-page__kpi-icon--budget{background:var(--color-accent-soft);color:var(--color-warning)}.financial-reports-page__kpis article>div{grid-gap:3px;display:grid;gap:3px;min-width:0}.financial-reports-page__kpis small,.financial-reports-page__kpis span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.financial-reports-page__kpis strong{color:var(--color-text);font-size:var(--font-size-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.financial-reports-page__charts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr)}.financial-reports-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:16px}.financial-reports-page__panel-heading,.financial-reports-page__panel-heading>div{align-items:flex-start;display:flex;gap:10px}.financial-reports-page__panel-heading--space{gap:14px;justify-content:space-between}.financial-reports-page__panel-heading h2{color:var(--color-text);font-size:var(--font-size-md);margin:0}.financial-reports-page__panel-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:4px 0 0}.financial-reports-page__panel-heading svg{color:var(--color-primary);margin-top:1px}.financial-reports-page__panel-heading--space>button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-primary);min-height:36px;padding:0 12px}.financial-reports-page__chart{height:320px;margin-top:12px}.financial-reports-page__chart--small{height:310px}.financial-reports-page__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:24px 0 8px;text-align:center}.financial-reports-page__table-wrap{margin-top:14px;overflow-x:auto}.financial-reports-page table{border-collapse:collapse;min-width:860px;width:100%}.financial-reports-page td,.financial-reports-page th{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:12px 10px;text-align:left;vertical-align:middle}.financial-reports-page th{background:var(--color-primary-bg-subtle);color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.financial-reports-page__usage{grid-gap:5px;display:grid;gap:5px;min-width:95px}.financial-reports-page__usage>span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.financial-reports-page__usage>div{background:var(--color-background-alt);border-radius:var(--radius-full);height:6px;overflow:hidden}.financial-reports-page__usage i{background:var(--color-primary);border-radius:inherit;display:block;height:100%}.financial-reports-page__health{border-radius:var(--radius-full);display:inline-flex;font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;padding:5px 8px;text-transform:uppercase}.financial-reports-page__health--on_track{background:var(--color-success-soft);color:var(--color-success)}.financial-reports-page__health--warning{background:var(--color-warning-soft);color:var(--color-warning)}.financial-reports-page__health--over_budget{background:var(--color-danger-light);color:var(--color-danger)}@media (max-width:1100px){.financial-reports-page__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-reports-page__charts{grid-template-columns:1fr}}@media (max-width:820px){.financial-reports-page__hero{align-items:flex-start;flex-direction:column}.financial-reports-page__filters{grid-template-columns:1fr 1fr}}@media (max-width:560px){.financial-reports-page__filters,.financial-reports-page__kpis{grid-template-columns:1fr}.financial-reports-page__panel-heading--space{align-items:flex-start;flex-direction:column}}.financial-reports-page__select-control--custom{min-width:180px;position:relative}.financial-reports-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.financial-reports-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.financial-reports-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.financial-reports-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.financial-reports-page__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.financial-reports-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.financial-reports-page__select-control--open .financial-reports-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.financial-reports-page__select-control--open .financial-reports-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.financial-reports-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.financial-reports-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.financial-reports-page__select-option.sd__option--highlighted,.financial-reports-page__select-option:focus-visible,.financial-reports-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.financial-reports-page__select-option--active,.financial-reports-page__select-option--active.sd__option--highlighted,.financial-reports-page__select-option--active:focus-visible,.financial-reports-page__select-option--active:hover{background:var(--color-primary);color:#fff}.budgets-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.budgets-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;padding:var(--space-5) var(--space-6)}.budgets-page__hero>div>span{background:#ffffff1c;border:1px solid #ffffff38;border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.budgets-page__hero h1{color:var(--color-surface);font-size:clamp(1.55rem,3vw,2rem);margin:10px 0 0}.budgets-page__hero p{color:#ffffffc7;font-size:var(--font-size-sm);margin:7px 0 0}.budgets-page__hero>button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 16px}.budgets-page__summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.budgets-page__summary article{grid-gap:5px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:5px;padding:16px}.budgets-page__summary small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.budgets-page__summary strong{color:var(--color-text);font-size:var(--font-size-lg)}.budgets-page__summary-card--danger{background:color-mix(in srgb,var(--color-danger-light) 55%,var(--color-surface))!important;border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border))!important}.budgets-page__toolbar{grid-gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:10px;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,1fr));padding:14px}.budgets-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:9px;min-height:42px;padding:0 12px}.budgets-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.budgets-page__toolbar{overflow:visible;position:relative;z-index:50}.budgets-page__filter-select{min-width:0;position:relative;width:100%}.budgets-page__filter-select--open{z-index:80}.budgets-page__filter-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:42px;justify-content:space-between;min-height:42px;min-width:0;outline:0;padding:0 11px 0 12px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.budgets-page__filter-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budgets-page__filter-trigger:hover{background:color-mix(in srgb,var(--color-primary) 2%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.budgets-page__filter-select--open .budgets-page__filter-trigger,.budgets-page__filter-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.budgets-page__filter-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast),color var(--transition-fast)}.budgets-page__filter-select--open .budgets-page__filter-chevron{color:var(--color-primary);transform:rotate(180deg)}.budgets-page__filter-menu{grid-gap:3px;animation:budgets-filter-open .14s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));border-radius:12px;box-shadow:0 18px 42px #0f172a29,0 2px 8px #0f172a12;box-sizing:border-box;display:grid;gap:3px;left:0;overflow-y:auto;overscroll-behavior:contain;padding:6px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 7px);z-index:200}.budgets-page__filter-option{align-items:center;background:#0000;border:0;border-radius:8px;box-sizing:border-box;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;justify-content:space-between;min-height:38px;outline:0;padding:8px 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.budgets-page__filter-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budgets-page__filter-option>svg{flex:0 0 auto}.budgets-page__filter-option--highlighted,.budgets-page__filter-option:focus-visible,.budgets-page__filter-option:hover{background:var(--color-primary);color:#fff;outline:0}.budgets-page__filter-option--selected,.budgets-page__filter-option--selected.budgets-page__filter-option--highlighted,.budgets-page__filter-option--selected:focus-visible,.budgets-page__filter-option--selected:hover{background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold)}@keyframes budgets-filter-open{0%{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.budgets-page__error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);font-size:var(--font-size-sm);padding:12px 14px}.budgets-page__table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.budgets-page__table-wrap{min-width:0;overflow-x:auto}.budgets-page__table{border-collapse:collapse;min-width:1120px;width:100%}.budgets-page__table td,.budgets-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.budgets-page__table thead{background:var(--color-sidebar)}.budgets-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.budgets-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.budgets-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.budgets-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.budgets-page__table tbody tr{transition:background-color var(--transition-fast)}.budgets-page__table tbody tr:hover{background:var(--color-surface-hover)}.budgets-page__table tbody tr:last-child td{border-bottom:0}.budgets-page__actions-heading{text-align:right!important}.budgets-page__identity{align-items:center;display:flex;gap:12px;min-width:205px}.budgets-page__budget-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.budgets-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.budgets-page__identity-name span,.budgets-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budgets-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.budgets-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.budgets-page__category-badge,.budgets-page__year-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.budgets-page__category-badge{background:var(--color-primary-soft);color:var(--color-primary)}.budgets-page__year-badge{background:var(--color-background-alt);color:var(--color-text-secondary)}.budgets-page__amount{border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:5px 10px;white-space:nowrap}.budgets-page__amount--planned{background:var(--color-primary-soft);color:var(--color-primary)}.budgets-page__amount--spent{background:var(--color-warning-soft);color:var(--color-warning)}.budgets-page__amount--remaining{background:var(--color-success-soft);color:var(--color-success)}.budgets-page__amount--negative{background:var(--color-danger-light);color:var(--color-danger)}.budgets-page__usage{grid-gap:5px;display:grid;gap:5px;min-width:95px}.budgets-page__usage>span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.budgets-page__usage>div{background:var(--color-background-alt);border-radius:var(--radius-full);height:6px;overflow:hidden}.budgets-page__usage i{background:var(--color-primary);border-radius:inherit;display:block;height:100%}.budgets-page__health{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:27px;padding:0 10px;text-transform:uppercase;white-space:nowrap}.budgets-page__health--on_track{background:var(--color-success-soft);color:var(--color-success)}.budgets-page__health--warning{background:var(--color-warning-soft);color:var(--color-warning)}.budgets-page__health--over_budget{background:var(--color-danger-light);color:var(--color-danger)}.budgets-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.budgets-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.budgets-page__action:hover{transform:translateY(-1px)}.budgets-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.budgets-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.budgets-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.budgets-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.budgets-page__state strong{color:var(--color-text);font-size:var(--font-size-lg);margin-top:8px}.budgets-page__state span{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;max-width:430px}.budgets-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.budgets-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.budgets-page__pagination p strong{color:var(--color-text-secondary)}.budgets-page__pagination-controls{align-items:center;display:flex;gap:9px}.budgets-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.budgets-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.budgets-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.budgets-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}@media (max-width:620px){.budgets-page__hero{align-items:flex-start;flex-direction:column}.budgets-page__summary,.budgets-page__toolbar{grid-template-columns:1fr}.budgets-page__search{grid-column:auto}}.budgets-page__filter-search{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border-light,#e5e7eb);display:flex;flex-shrink:0;min-height:0;position:relative}.budgets-page__filter-search>svg{color:#667085;color:var(--color-text-muted,#667085);left:10px;pointer-events:none;position:absolute;z-index:1}.budgets-page__filter-search input{background:#0000;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:auto;min-height:0;min-width:0;outline:0;padding:8px 10px 8px 32px;width:100%}.budgets-page__filter-search input:focus,.budgets-page__filter-search input:focus-visible,.budgets-page__filter-search input:hover{background:#0000;border:0;box-shadow:none;outline:0}.budgets-page__filter-search input::placeholder{color:#9aa5b4;color:var(
    --color-input-placeholder,var(--color-text-light,#9aa5b4)
  )}.budgets-page__filter-search input::-webkit-search-cancel-button{-webkit-appearance:none}.budgets-page__filter-options{grid-gap:3px;display:grid;gap:3px;list-style:none;margin:0;max-height:205px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 0;scrollbar-width:thin}.budgets-page__filter-options li{margin:0;padding:0}.budgets-page__filter-empty{color:#667085;color:var(--color-text-muted,#667085);font-size:var(--font-size-xs);padding:12px;text-align:center}.budgets-page__filter-menu{display:flex;flex-direction:column;gap:0;max-height:260px;overflow:hidden}.budget-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.budget-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --budget-calendar-page-bottom-space,0
  )}.budget-form-page__form{overflow:visible}.budget-form-page__form,.budget-form-page__layout{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.budget-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) 320px}.budget-form-page__main{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.budget-form-page__section,.budget-form-page__summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:visible;position:relative}.budget-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;padding:var(--space-5) var(--space-6)}.budget-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.budget-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.budget-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:4px 0 0}.budget-form-page__grid{grid-gap:18px var(--space-5);display:grid;gap:18px var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-5) var(--space-6)}.budget-form-page__field{grid-gap:6px;display:grid;gap:6px;min-width:0}.budget-form-page__field--full{grid-column:1/-1}.budget-form-page__field label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.budget-form-page__field label span{color:var(--color-danger)}.budget-form-page__field small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.budget-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;min-width:0;outline:0;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.budget-form-page__control::placeholder{color:var(--color-text-light)}.budget-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.budget-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.budget-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.budget-form-page__control--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 13%,#0000)}textarea.budget-form-page__control{height:auto;min-height:110px;padding:10px 12px;resize:vertical}.budget-form-page__input-with-icon{min-width:0;position:relative}.budget-form-page__input-with-icon>svg{color:var(--color-text-muted);left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.budget-form-page__input-with-icon .budget-form-page__control{padding-left:42px}.budget-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.budget-form-page input[type=number]::-webkit-inner-spin-button,.budget-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-form-page__select{min-width:0;position:relative;width:100%}.budget-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.budget-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.budget-form-page__select--open .budget-form-page__select-trigger,.budget-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.budget-form-page__select-placeholder{color:var(--color-text-muted)}.budget-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.budget-form-page__select--open .budget-form-page__select-chevron{transform:rotate(180deg)}.budget-form-page__select-menu{grid-gap:3px;animation:budget-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:6px;z-index:9999}.budget-form-page__select-menu--portal{margin:0;max-width:none!important;min-width:0!important}.budget-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.budget-form-page__select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-form-page__select-option:focus-visible,.budget-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.budget-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.budget-form-page__select--disabled .budget-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes budget-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.budget-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.budget-form-page__date-picker--open{z-index:120}.budget-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.budget-form-page__date-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.budget-form-page__date-picker--open .budget-form-page__date-trigger,.budget-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.budget-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.budget-form-page__date-copy{display:flex;flex-direction:column;gap:2px;height:34px;justify-content:center;min-width:0;overflow:hidden}.budget-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.budget-form-page .budget-form-page__date-copy input{appearance:none;-webkit-appearance:none;background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:var(--color-text);display:block;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:18px!important;line-height:18px;margin:0!important;min-height:18px!important;min-width:0;outline:0!important;padding:0!important;text-decoration:none!important;width:100%}.budget-form-page .budget-form-page__date-copy input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.budget-form-page .budget-form-page__date-copy input:focus,.budget-form-page .budget-form-page__date-copy input:focus-visible,.budget-form-page .budget-form-page__date-copy input:hover{background:#0000!important;border:0!important;box-shadow:none!important;outline:0!important}.budget-form-page__date-toggle{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:30px}.budget-form-page__date-toggle:focus-visible,.budget-form-page__date-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.budget-form-page__date-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.budget-form-page__date-picker--open .budget-form-page__date-chevron{transform:rotate(180deg)}.budget-form-page__calendar{--budget-calendar-min-width:390px;animation:budget-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--budget-calendar-min-width),calc(100vw - 32px)));z-index:200}.budget-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.budget-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.budget-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.budget-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.budget-form-page__calendar-close:focus-visible,.budget-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.budget-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.budget-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.budget-form-page__calendar-select{min-width:0;position:relative}.budget-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;width:100%}.budget-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.budget-form-page__calendar-select--open .budget-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.budget-form-page__calendar-select--open .budget-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.budget-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.budget-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.budget-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.budget-form-page .budget-form-page__calendar-select-option:focus-visible:not(:disabled),.budget-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.budget-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.budget-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.budget-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.budget-form-page__calendar-nav:focus-visible:not(:disabled),.budget-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.budget-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.budget-form-page__calendar-grid,.budget-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.budget-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.budget-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.budget-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.budget-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.budget-form-page__calendar-day:focus-visible:not(:disabled),.budget-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.budget-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.budget-form-page__calendar-day--today:not(.budget-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.budget-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.budget-form-page__calendar-day--selected:focus-visible,.budget-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.budget-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.budget-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.budget-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.budget-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.budget-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes budget-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.budget-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.budget-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.budget-form-page__alert strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.budget-form-page__alert p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.budget-form-page__sidebar{grid-gap:var(--space-5);align-content:start;display:grid;gap:var(--space-5);min-width:0;position:-webkit-sticky;position:sticky;top:var(--space-5)}.budget-form-page__summary-card{padding:var(--space-5)}.budget-form-page__summary-heading{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;justify-content:space-between;padding-bottom:16px}.budget-form-page__summary-heading>svg{color:var(--color-primary);flex:0 0 auto}.budget-form-page__summary-heading span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.budget-form-page__summary-heading h2{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.budget-form-page__summary-list{grid-gap:0;display:grid;gap:0;margin:0}.budget-form-page__summary-list>div{grid-gap:4px;border-bottom:1px solid var(--color-border-light);display:grid;gap:4px;padding:14px 0}.budget-form-page__summary-list>div:last-child{border-bottom:0;padding-bottom:0}.budget-form-page__summary-list dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.budget-form-page__summary-list dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;min-width:0;overflow-wrap:anywhere}.budget-form-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.025em;min-height:25px;padding:0 9px;text-transform:uppercase}.budget-form-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.budget-form-page__status--draft{background:var(--color-warning-soft);color:var(--color-warning)}.budget-form-page__status--closed{background:var(--color-background-alt);color:var(--color-text-muted)}.budget-form-page__help-card{align-items:flex-start;background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--color-border));border-radius:var(--radius-xl);display:flex;gap:12px;padding:16px}.budget-form-page__help-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;width:36px}.budget-form-page__help-card strong{color:var(--color-text);font-size:var(--font-size-sm)}.budget-form-page__help-card p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.55;margin:4px 0 0}.budget-form-page__actions{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:var(--space-5);justify-content:space-between;min-height:74px;padding:16px var(--space-5)}.budget-form-page__actions>div:first-child{grid-gap:3px;display:grid;gap:3px}.budget-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.budget-form-page__actions>div:first-child>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.budget-form-page__action-buttons{align-items:center;display:flex;gap:10px}.budget-form-page__cancel,.budget-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 16px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.budget-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.budget-form-page__cancel:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.budget-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:0 6px 14px color-mix(in srgb,var(--color-primary) 20%,#0000);color:var(--color-surface)}.budget-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.budget-form-page__cancel:disabled,.budget-form-page__submit:disabled{cursor:not-allowed;opacity:.58}.budget-form-page--loading{min-height:420px;place-items:center}.budget-form-page__loading-card{grid-gap:7px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:7px;min-width:min(360px,100%);padding:28px;place-items:center;text-align:center}.budget-form-page__loading-card>svg{color:var(--color-primary)}.budget-form-page__loading-card strong{color:var(--color-text);font-size:var(--font-size-sm)}.budget-form-page__loading-card p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.budget-form-page__spinner{animation:budget-spin .8s linear infinite}@keyframes budget-spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.budget-form-page__layout{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:920px){.budget-form-page__layout{grid-template-columns:1fr}.budget-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:620px){.budget-form-page__grid,.budget-form-page__sidebar{grid-template-columns:1fr}.budget-form-page__field--full{grid-column:auto}.budget-form-page__grid,.budget-form-page__section-header{padding-left:var(--space-4);padding-right:var(--space-4)}.budget-form-page__actions{align-items:stretch;flex-direction:column}.budget-form-page__action-buttons{width:100%}.budget-form-page__cancel,.budget-form-page__submit{flex:1 1}}@media (max-width:480px){.budget-form-page__calendar{--budget-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.budget-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.budget-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.budget-form-page__calendar-nav{height:36px;width:34px}.budget-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.budget-form-page__calendar-weekdays{padding:0 8px}.budget-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.budget-form-page__calendar-footer{gap:8px;padding:9px 10px}}@media (max-width:430px){.budget-form-page__action-buttons{flex-direction:column-reverse}.budget-form-page__cancel,.budget-form-page__submit{width:100%}}.subject-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);margin:0 auto;max-width:1100px;max-width:var(--content-max-width,1100px);min-width:0;width:100%}.subject-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.subject-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.subject-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.subject-form-page__heading{min-width:0}.subject-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.subject-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.subject-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.subject-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;color:var(--color-danger);display:flex;gap:12px;padding:14px 16px}.subject-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.subject-form-page__alert-content{flex:1 1;min-width:0}.subject-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.subject-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.subject-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.subject-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.subject-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.subject-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.subject-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,320px)}.subject-form-page__layout,.subject-form-page__main,.subject-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.subject-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.subject-form-page__section,.subject-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.subject-form-page__section{padding:var(--space-5)}.subject-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.subject-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.subject-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.subject-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.subject-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.subject-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.subject-form-page__field--full{grid-column:1/-1}.subject-form-page__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.subject-form-page__field>label span{color:var(--color-danger)}.subject-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.subject-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.subject-form-page__control::placeholder{color:var(--color-text-light)}.subject-form-page__control:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.subject-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}textarea.subject-form-page__control{height:auto;min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.subject-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.subject-form-page__control--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,#0000)}.subject-form-page input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.subject-form-page input[type=number]::-webkit-inner-spin-button,.subject-form-page input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.subject-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.subject-form-page__select--open{z-index:100}.subject-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.subject-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.subject-form-page__select--open .subject-form-page__select-trigger,.subject-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.subject-form-page__select-placeholder{color:var(--color-text-muted)}.subject-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.subject-form-page__select--open .subject-form-page__select-chevron{transform:rotate(180deg)}.subject-form-page__select-menu{grid-gap:3px;animation:subject-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:grid;gap:3px;left:0;max-height:250px;max-width:100%;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:120}.subject-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.subject-form-page__select-option:focus-visible,.subject-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.subject-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.subject-form-page__select-option svg{flex:0 0 auto}.subject-form-page__select--disabled .subject-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes subject-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.subject-form-page__summary{padding:var(--space-5)}.subject-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.subject-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.subject-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.subject-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.subject-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.subject-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.subject-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.subject-form-page__summary-code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.subject-form-page__status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:24px;padding:2px 9px;width:-webkit-fit-content;width:fit-content}.subject-form-page__status-badge--active{background:var(--color-success-soft);color:var(--color-success)}.subject-form-page__status-badge--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.subject-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:20}.subject-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.subject-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.subject-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.subject-form-page__action-buttons{align-items:center;display:flex;gap:10px}.subject-form-page__cancel,.subject-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.subject-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.subject-form-page__cancel:hover:not(:disabled){background:var(--color-background-alt)}.subject-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.subject-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.subject-form-page__cancel:disabled,.subject-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.subject-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.subject-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.subject-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.subject-form-page__spinner{animation:subject-form-spin .8s linear infinite}@keyframes subject-form-spin{to{transform:rotate(1turn)}}.subject-form-page button:focus-visible,.subject-form-page input:focus-visible,.subject-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.subject-form-page__layout{grid-template-columns:1fr}.subject-form-page__sidebar{position:static}}@media (max-width:720px){.subject-form-page__header{flex-direction:column}.subject-form-page__grid{grid-template-columns:1fr}.subject-form-page__field--full{grid-column:auto}.subject-form-page__actions{align-items:stretch;flex-direction:column;position:static}.subject-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.subject-form-page__actions,.subject-form-page__section,.subject-form-page__summary{border-radius:var(--radius-lg)}.subject-form-page__section{padding:var(--space-4)}.subject-form-page__action-buttons{grid-template-columns:1fr}.subject-form-page__cancel,.subject-form-page__submit{width:100%}}.subjects-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.subjects-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.subjects-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.subjects-page__hero-content{min-width:0;position:relative;z-index:1}.subjects-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.subjects-page__eyebrow,.subjects-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.subjects-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.subjects-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.subjects-page__add-button,.subjects-page__modal-cancel,.subjects-page__modal-delete,.subjects-page__reset-button,.subjects-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.subjects-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.subjects-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.subjects-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:0 14px}.subjects-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.subjects-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.subjects-page__alert span{flex:1 1}.subjects-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.subjects-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.subjects-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.subjects-page__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);gap:14px;min-width:0;padding:14px;z-index:5}.subjects-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.subjects-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.subjects-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.subjects-page__search input::placeholder{color:var(--color-text-light)}.subjects-page__toolbar-controls{flex-wrap:wrap;gap:10px;min-width:0}.subjects-page__select-control--custom{min-width:180px;position:relative}.subjects-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.subjects-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.subjects-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.subjects-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.subjects-page__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subjects-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.subjects-page__select-control--open .subjects-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.subjects-page__select-control--open .subjects-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.subjects-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.subjects-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.subjects-page__select-option.sd__option--highlighted,.subjects-page__select-option:focus-visible,.subjects-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.subjects-page__select-option--active,.subjects-page__select-option--active.sd__option--highlighted,.subjects-page__select-option--active:focus-visible,.subjects-page__select-option--active:hover{background:var(--color-primary);color:#fff}.subjects-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.subjects-page__table-scroll{min-width:0;overflow-x:auto}.subjects-page__table{border-collapse:collapse;min-width:760px;width:100%}.subjects-page__table td,.subjects-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.subjects-page__table thead{background:var(--color-sidebar)}.subjects-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.subjects-page__table thead th:first-child{border-top-left-radius:var(--radius-lg)}.subjects-page__table thead th:last-child{border-top-right-radius:var(--radius-lg)}.subjects-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.subjects-page__table tbody tr{transition:background-color var(--transition-fast)}.subjects-page__table tbody tr:hover{background:var(--color-surface-hover)}.subjects-page__table tbody tr:last-child td{border-bottom:0}.subjects-page__actions-heading{text-align:right!important}.subjects-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.subjects-page__avatar{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;overflow:hidden;width:46px}.subjects-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.subjects-page__identity-name span,.subjects-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subjects-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.subjects-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.subjects-page__code{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-weight:var(--font-weight-bold);padding:5px 9px}.subjects-page__code,.subjects-page__status{display:inline-flex;font-size:var(--font-size-xs);white-space:nowrap}.subjects-page__status{align-items:center;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px}.subjects-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.subjects-page__status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.subjects-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.subjects-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.subjects-page__action:hover{transform:translateY(-1px)}.subjects-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.subjects-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.subjects-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.subjects-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.subjects-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.subjects-page__pagination p strong{color:var(--color-text-secondary)}.subjects-page__pagination-controls{align-items:center;display:flex;gap:9px}.subjects-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.subjects-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.subjects-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.subjects-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.subjects-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.subjects-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.subjects-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.subjects-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.subjects-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.subjects-page__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.subjects-page__spinner{animation:subjects-page-spin .8s linear infinite}@keyframes subjects-page-spin{to{transform:rotate(1turn)}}.subjects-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.subjects-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.subjects-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.subjects-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.subjects-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.subjects-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.subjects-page__modal p strong{color:var(--color-text)}.subjects-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.subjects-page__modal-cancel,.subjects-page__modal-delete{padding:0 16px}.subjects-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.subjects-page__modal-cancel:hover{background:var(--color-background-alt)}.subjects-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.subjects-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.subjects-page button:focus-visible,.subjects-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.subjects-page__toolbar{align-items:stretch;flex-direction:column}.subjects-page__search{max-width:none}.subjects-page__toolbar-controls{justify-content:flex-start}}@media (max-width:720px){.subjects-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.subjects-page__add-button{width:100%}.subjects-page__toolbar-controls{display:grid;grid-template-columns:1fr}.subjects-page__reset-button,.subjects-page__select-control--custom{width:100%}.subjects-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.subjects-page__hero,.subjects-page__panel,.subjects-page__toolbar{border-radius:var(--radius-lg)}.subjects-page__search{min-width:0}.subjects-page__table td,.subjects-page__table th{padding-left:14px;padding-right:14px}.subjects-page__modal-actions{flex-direction:column-reverse}.subjects-page__modal-cancel,.subjects-page__modal-delete{width:100%}}.subjects-page__toolbar{align-items:center!important;display:flex;flex-direction:row!important;gap:12px;justify-content:space-between;overflow:visible}.subjects-page__search{flex:1 1 300px;max-width:360px;min-width:240px}.subjects-page__toolbar-controls{align-items:center;display:flex;flex:0 0 auto;flex-wrap:nowrap!important;gap:8px;justify-content:flex-end;overflow:visible}.subjects-page__select-control--custom{flex:0 0 155px;min-width:155px}.subjects-page__select-button{min-height:42px;padding:0 10px}.subjects-page__select-value{font-size:var(--font-size-sm)}.subjects-page__reset-button{flex:0 0 auto;min-height:42px;white-space:nowrap}.subjects-page__toolbar{position:relative;z-index:20}.subjects-page__panel{position:relative;z-index:1}@media (max-width:1100px){.subjects-page__toolbar{align-items:center!important;flex-direction:row!important;overflow-x:auto;overflow-y:visible;padding-bottom:18px}.subjects-page__search{flex:0 0 240px;min-width:240px}.subjects-page__toolbar-controls{flex-wrap:nowrap!important;justify-content:flex-start}.subjects-page__select-control--custom{flex:0 0 155px;min-width:155px;width:auto!important}.subjects-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:720px){.subjects-page__toolbar-controls{display:flex!important;grid-template-columns:none!important}.subjects-page__reset-button,.subjects-page__select-control--custom{width:auto!important}}.student-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.student-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.student-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.student-details-page__back,.student-details-page__delete,.student-details-page__edit,.student-details-page__modal-cancel,.student-details-page__modal-delete,.student-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.student-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.student-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.student-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.student-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.student-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.student-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.student-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.student-details-page__alert span{flex:1 1}.student-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.student-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.student-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.student-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.student-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.student-details-page__photo{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;overflow:hidden;width:112px}.student-details-page__photo img{height:100%;object-fit:cover;width:100%}.student-details-page__identity{min-width:0}.student-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.student-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.student-details-page__student-number{align-items:center;color:color-mix(in srgb,var(--color-surface) 78%,#0000);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;margin-top:10px}.student-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.student-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.student-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 15%,#0000);color:var(--color-surface)}.student-details-page__information-item .app-badge{margin-top:7px}.student-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.student-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.student-details-page__panel:first-child{grid-column:1/-1}.student-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.student-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.student-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.student-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.student-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.student-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.student-details-page__information-item--full{grid-column:1/-1}.student-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.student-details-page__information-label svg{color:var(--color-primary)}.student-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.student-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.student-details-page__metadata div{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:7px}.student-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:480px;text-align:center}.student-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.student-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.student-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.student-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.student-details-page__state-button:hover{background:var(--color-primary-hover)}.student-details-page__spinner{animation:student-details-spin .8s linear infinite}@keyframes student-details-spin{to{transform:rotate(1turn)}}.student-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.student-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.student-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.student-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.student-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.student-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.student-details-page__modal p strong{color:var(--color-text)}.student-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.student-details-page__modal-cancel,.student-details-page__modal-delete{padding:0 16px}.student-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.student-details-page__modal-cancel:hover{background:var(--color-background-alt)}.student-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.student-details-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.student-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:850px){.student-details-page__profile{align-items:flex-start;flex-direction:column}.student-details-page__badges{justify-content:flex-start}.student-details-page__content-grid{grid-template-columns:1fr}.student-details-page__panel:first-child{grid-column:auto}}@media (max-width:650px){.student-details-page__topbar{align-items:stretch;flex-direction:column}.student-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.student-details-page__profile{padding:var(--space-5)}.student-details-page__profile-main{align-items:flex-start;flex-direction:column}.student-details-page__information-grid{grid-template-columns:1fr}.student-details-page__information-item--full{grid-column:auto}.student-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.student-details-page__back,.student-details-page__delete,.student-details-page__edit{width:100%}.student-details-page__topbar-actions{grid-template-columns:1fr}.student-details-page__modal,.student-details-page__panel,.student-details-page__profile{border-radius:var(--radius-lg)}.student-details-page__panel{padding:var(--space-4)}.student-details-page__modal-actions{flex-direction:column-reverse}.student-details-page__modal-cancel,.student-details-page__modal-delete{width:100%}}.student-details-page__account-toggle-item{background:var(--color-surface);display:flex;flex-direction:column;min-width:0;padding:15px}.student-details-page__account-toggle-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.student-details-page__switch{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:9px;margin-top:9px;width:-webkit-fit-content;width:fit-content}.student-details-page__switch input{height:1px;opacity:0;position:absolute;width:1px}.student-details-page__switch-track{background:var(--color-border);border-radius:var(--radius-full);height:22px;position:relative;transition:background-color var(--transition-fast);width:38px}.student-details-page__switch-track:after{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform var(--transition-fast);width:16px}.student-details-page__switch input:checked+.student-details-page__switch-track{background:var(--color-success)}.student-details-page__switch input:checked+.student-details-page__switch-track:after{transform:translateX(16px)}.student-details-page__switch input:focus-visible+.student-details-page__switch-track{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}.student-details-page__switch input:disabled+.student-details-page__switch-track,.student-details-page__switch input:disabled~.student-details-page__switch-text{cursor:wait;opacity:.65}student-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.student-form-page--calendar-open{padding-bottom:0;padding-bottom:var(
    --student-calendar-page-bottom-space,0
  )}.student-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.student-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.student-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.student-form-page__heading{min-width:0}.student-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.student-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.student-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.student-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;color:var(--color-danger);display:flex;gap:12px;padding:14px 16px}.student-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.student-form-page__alert-content{flex:1 1;min-width:0}.student-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.student-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.student-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.student-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.student-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.student-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5);overflow:visible}.student-form-page__layout{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(270px,330px);min-width:0}.student-form-page__main,.student-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0;overflow:visible}.student-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.student-form-page__photo-card,.student-form-page__section,.student-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.student-form-page__section{padding:var(--space-5)}.student-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.student-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.student-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.student-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.student-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.student-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0;position:relative}.student-form-page__field--full{grid-column:1/-1}.student-form-page__field>label{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;min-height:18px}.student-form-page__field>label>span{color:var(--color-danger)}.student-form-page__field>label .student-form-page__field-optional{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.student-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.student-form-page__field-hint{color:var(--color-text-muted)!important;font-size:var(--font-size-xs);line-height:1.5}.student-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}textarea.student-form-page__control{min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.student-form-page__control::placeholder{color:var(--color-text-light)}.student-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.student-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important}.student-form-page__readonly-badge{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:.625rem;font-style:normal;font-weight:var(--font-weight-semibold);line-height:1.2;margin-left:auto;padding:3px 7px}.student-form-page__readonly-control{align-items:center;background:color-mix(in srgb,var(--color-background-alt) 86%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-border) 88%,#000);border-radius:var(--radius-md);box-shadow:inset 0 1px 3px #0f172a14,inset 0 0 0 1px #ffffff59;color:var(--color-text-muted);display:flex;gap:9px;min-height:44px;padding:0 12px;position:relative}.student-form-page__readonly-control svg{color:var(--color-text-light);flex:0 0 auto}.student-form-page__readonly-control input{background:#0000;border:0;color:var(--color-text-muted);cursor:not-allowed;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-width:0;outline:0;width:100%}.student-form-page__readonly-control input::placeholder{color:var(--color-text-light)}.student-form-page__readonly-hint{color:var(--color-text-muted)!important}.student-form-page__select{position:relative;z-index:2}.student-form-page__select--open{z-index:40}.student-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.student-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.student-form-page__select--open .student-form-page__select-trigger,.student-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.student-form-page__select-placeholder{color:var(--color-text-muted)}.student-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.student-form-page__select--open .student-form-page__select-chevron{transform:rotate(180deg)}.student-form-page__select-menu{grid-gap:3px;animation:student-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;display:grid;gap:3px;left:0;max-height:250px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);z-index:100}.student-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.student-form-page__select-option:focus-visible,.student-form-page__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.student-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.student-form-page__select-option svg{flex:0 0 auto}.student-form-page__select--disabled .student-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes student-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.student-form-page__date-picker{min-width:0;position:relative;width:100%;z-index:4}.student-form-page__date-picker--open{z-index:90}.student-form-page__date-trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 1px 2px #0f172a08;box-sizing:border-box;color:var(--color-text);display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.student-form-page__date-trigger:hover{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.student-form-page__date-picker--open .student-form-page__date-trigger,.student-form-page__date-trigger:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000),0 8px 20px #0f172a12}.student-form-page__date-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.student-form-page__date-content{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.student-form-page__date-caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.student-form-page__date-content input{background:#0000;border:0;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);height:20px;line-height:1.2;min-width:0;outline:0;padding:0;width:100%}.student-form-page__date-content input::placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.student-form-page .student-form-page__date-content input:focus,.student-form-page .student-form-page__date-content input:focus-visible{box-shadow:none;outline:0}.student-form-page__date-action{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:30px}.student-form-page__date-action:focus-visible,.student-form-page__date-action:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.student-form-page__date-chevron{transition:transform var(--transition-fast)}.student-form-page__date-picker--open .student-form-page__date-chevron{transform:rotate(180deg)}.student-form-page__calendar{--student-calendar-min-width:390px;animation:student-calendar-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:20px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:none;min-width:100%;overflow:visible;position:absolute;right:auto;top:53px;width:max(100%,min(var(--student-calendar-min-width),calc(100vw - 32px)));z-index:200}.student-form-page__calendar-top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));border-radius:19px 19px 0 0;display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.student-form-page__calendar-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.student-form-page__calendar-top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.student-form-page__calendar-top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-form-page__calendar-close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:34px}.student-form-page__calendar-close:focus-visible,.student-form-page__calendar-close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.student-form-page__calendar-navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px minmax(0,1fr) 38px;padding:12px 14px 10px}.student-form-page__calendar-selects{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr);min-width:0}.student-form-page__calendar-select{min-width:0;position:relative}.student-form-page__calendar-select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;height:38px;justify-content:space-between;min-width:0;outline:0;padding:0 9px 0 11px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.student-form-page__calendar-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-form-page__calendar-select-trigger>svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.student-form-page__calendar-select--open .student-form-page__calendar-select-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.student-form-page__calendar-select--open .student-form-page__calendar-select-trigger>svg{transform:rotate(180deg)}.student-form-page__calendar-select-trigger:hover{background:var(--color-background-alt);border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.student-form-page .student-form-page__calendar-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.student-form-page__calendar-select-menu{grid-gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;box-shadow:0 14px 35px #0f172a2e,0 2px 8px #0f172a14;display:grid;gap:3px;left:0;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:5px;position:absolute;right:0;scrollbar-width:thin;top:calc(100% + 6px);z-index:450}.student-form-page__calendar-select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:8px;justify-content:space-between;min-height:34px;padding:7px 9px;text-align:left;width:100%}.student-form-page .student-form-page__calendar-select-option:focus-visible:not(:disabled),.student-form-page__calendar-select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.student-form-page__calendar-select-option--selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.student-form-page__calendar-select-option:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.42}.student-form-page__calendar-nav{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:38px}.student-form-page__calendar-nav:focus-visible:not(:disabled),.student-form-page__calendar-nav:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.student-form-page__calendar-nav:disabled{cursor:not-allowed;opacity:.3}.student-form-page__calendar-grid,.student-form-page__calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.student-form-page__calendar-weekdays{margin-bottom:3px;padding:0 12px}.student-form-page__calendar-weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;letter-spacing:.025em;text-transform:uppercase}.student-form-page__calendar-grid{gap:3px;padding:0 12px 12px}.student-form-page__calendar-day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.student-form-page__calendar-day:focus-visible:not(:disabled),.student-form-page__calendar-day:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0;transform:translateY(-1px)}.student-form-page__calendar-day--outside{color:var(--color-text-light);opacity:.48}.student-form-page__calendar-day--today:not(.student-form-page__calendar-day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.student-form-page__calendar-day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.student-form-page__calendar-day--selected:focus-visible,.student-form-page__calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.student-form-page__calendar-day:disabled{color:var(--color-text-light);cursor:not-allowed;opacity:.26;transform:none}.student-form-page__calendar-footer{align-items:center;background:var(--color-background-alt);border-radius:0 0 19px 19px;border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.student-form-page__calendar-footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-form-page__calendar-footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.student-form-page__calendar-footer button:hover:not(:disabled){background:var(--color-primary-hover)}.student-form-page__calendar-footer button:disabled{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@keyframes student-calendar-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.student-form-page__password{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;min-height:44px;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.student-form-page__password:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.student-form-page__password--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.student-form-page__password-input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:42px;min-width:0;outline:0;padding:0 48px 0 13px;width:100%}.student-form-page__password-input::placeholder{color:var(--color-text-light)}.student-form-page__password-toggle{align-items:center;background:#0000;border:0;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;position:absolute;right:7px;top:50%;transform:translateY(-50%);transition:background-color var(--transition-fast),color var(--transition-fast);width:34px}.student-form-page__password-toggle:hover{background:var(--color-primary-soft);color:var(--color-primary)}.student-form-page__password-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 22%,#0000);outline-offset:1px}.student-form-page input[type=password]::-ms-clear,.student-form-page input[type=password]::-ms-reveal{display:none;height:0;width:0}.student-form-page input[type=password]{appearance:none;-webkit-appearance:none}.student-form-page__input-with-icon{position:relative}.student-form-page__input-with-icon>svg{color:var(--color-text-light);left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.student-form-page__input-with-icon input{padding-left:42px}.student-form-page__hint{background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-xs);line-height:1.55;margin-top:var(--space-4);padding:11px 13px}.student-form-page__account-toggle{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:12px;min-height:72px;padding:13px}.student-form-page__account-toggle-icon{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-md);color:var(--color-success);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.student-form-page__account-toggle-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.student-form-page__account-toggle-text strong{color:var(--color-text);font-size:var(--font-size-sm)}.student-form-page__account-toggle-text small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin-top:3px}.student-form-page__account-toggle input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.student-form-page__switch{background:var(--color-border);border-radius:var(--radius-full);display:inline-flex;flex:0 0 44px;height:24px;padding:3px;position:relative;transition:background-color var(--transition-fast);width:44px}.student-form-page__switch span{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:18px;transition:transform var(--transition-fast);width:18px}.student-form-page__account-toggle input:checked+.student-form-page__switch{background:var(--color-success)}.student-form-page__account-toggle input:checked+.student-form-page__switch span{transform:translateX(20px)}.student-form-page__photo-card{padding:var(--space-5)}.student-form-page__photo-heading{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.student-form-page__photo-heading>svg{color:var(--color-primary)}.student-form-page__photo-heading span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.student-form-page__photo-heading h2{color:var(--color-text);font-size:var(--font-size-md);margin:4px 0 0}.student-form-page__photo-preview{align-items:center;background:var(--color-background-alt);border:5px solid var(--color-primary-soft);border-radius:50%;box-shadow:0 0 0 1px var(--color-border);display:flex;height:164px;justify-content:center;margin:22px auto 18px;overflow:hidden;width:164px}.student-form-page__photo-preview img{height:100%;object-fit:cover;width:100%}.student-form-page__photo-fallback{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:8px;text-align:center}.student-form-page__photo-fallback span{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.student-form-page__photo-cancel,.student-form-page__photo-select{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;width:100%}.student-form-page__photo-select{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.student-form-page__photo-select:hover{background:var(--color-primary-hover)}.student-form-page__photo-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);margin-top:9px}.student-form-page__photo-cancel:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.student-form-page__current-photo,.student-form-page__photo-help{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:12px 0 0;text-align:center}.student-form-page__selected-file{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-md);color:var(--color-success);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;margin-top:12px;min-width:0;padding:9px 10px}.student-form-page__selected-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-form-page__photo-error{color:var(--color-danger);display:block;font-size:var(--font-size-xs);margin-top:10px;text-align:center}.student-form-page__summary{padding:var(--space-5)}.student-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.student-form-page__summary h3{color:var(--color-text);font-size:var(--font-size-lg);margin:7px 0 0;overflow-wrap:anywhere}.student-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.student-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.student-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.student-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.student-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.student-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.student-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.student-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.student-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.student-form-page__action-buttons{align-items:center;display:flex;gap:10px}.student-form-page__cancel,.student-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.student-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.student-form-page__cancel:hover{background:var(--color-background-alt)}.student-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.student-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.student-form-page__cancel:disabled,.student-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.student-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.student-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.student-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.student-form-page__spinner{animation:student-form-spin .8s linear infinite}@keyframes student-form-spin{to{transform:rotate(1turn)}}.student-form-page button:focus-visible,.student-form-page input:focus-visible,.student-form-page label:focus-within,.student-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.student-form-page__layout{grid-template-columns:1fr}.student-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.student-form-page__header{flex-direction:column}.student-form-page__grid{grid-template-columns:1fr}.student-form-page__field--full{grid-column:auto}.student-form-page__sidebar{grid-template-columns:1fr}.student-form-page__actions{align-items:stretch;flex-direction:column;position:static}.student-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.student-form-page__actions,.student-form-page__photo-card,.student-form-page__section,.student-form-page__summary{border-radius:var(--radius-lg)}.student-form-page__section{padding:var(--space-4)}.student-form-page__action-buttons{grid-template-columns:1fr}.student-form-page__cancel,.student-form-page__submit{width:100%}.student-form-page__calendar{--student-calendar-min-width:0px;left:0;max-width:100%;min-width:100%;right:auto;width:100%}.student-form-page__date-trigger{height:44px;min-height:44px}.student-form-page__calendar-navigation{gap:6px;grid-template-columns:34px minmax(0,1fr) 34px;padding:10px}.student-form-page__calendar-selects{gap:6px;grid-template-columns:minmax(0,1fr) minmax(78px,.62fr)}.student-form-page__calendar-nav{height:36px;width:34px}.student-form-page__calendar-select-trigger{height:36px;padding:0 7px 0 9px}.student-form-page__calendar-weekdays{padding:0 8px}.student-form-page__calendar-grid{gap:2px;padding:0 8px 10px}.student-form-page__calendar-footer{gap:8px;padding:9px 10px}}.parents-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.parents-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.parents-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.parents-page__hero-content{min-width:0;position:relative;z-index:1}.parents-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.parents-page__eyebrow,.parents-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.parents-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.parents-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:640px}.parents-page__add-button,.parents-page__modal-cancel,.parents-page__modal-delete,.parents-page__reset-button,.parents-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.parents-page__add-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.parents-page__add-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.parents-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.parents-page__alert>span{flex:1 1}.parents-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.parents-page__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.parents-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.parents-page__toolbar{align-items:center!important;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:row!important;gap:12px;justify-content:space-between;min-width:0;overflow:visible;padding:14px;position:relative;z-index:20}.parents-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 320px;gap:10px;max-width:500px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.parents-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.parents-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.parents-page__search input::placeholder{color:var(--color-text-light)}.parents-page__toolbar-controls{align-items:center;display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;gap:8px;justify-content:flex-end;min-width:0;overflow:visible}.parents-page__select-control--custom{flex:0 0 160px;min-width:160px;position:relative}.parents-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.parents-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.parents-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.parents-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.parents-page__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parents-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.parents-page__select-control--open .parents-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.parents-page__select-control--open .parents-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.parents-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.parents-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.parents-page__select-option:focus-visible,.parents-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.parents-page__select-option--active,.parents-page__select-option--active:focus-visible,.parents-page__select-option--active:hover{background:var(--color-primary);color:#fff}.parents-page__reset-button{background:var(--color-background-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);flex:0 0 auto;min-height:42px;padding:0 14px;white-space:nowrap}.parents-page__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.parents-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.parents-page__table-scroll{min-width:0;overflow-x:auto}.parents-page__table{border-collapse:collapse;min-width:900px;width:100%}.parents-page__table td,.parents-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.parents-page__table thead{background:var(--color-sidebar)}.parents-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.parents-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.parents-page__table tbody tr{transition:background-color var(--transition-fast)}.parents-page__table tbody tr:hover{background:var(--color-surface-hover)}.parents-page__table tbody tr:last-child td{border-bottom:0}.parents-page__actions-heading{text-align:right!important}.parents-page__identity{align-items:center;display:flex;gap:12px;min-width:190px}.parents-page__avatar{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:0 0 46px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:46px;justify-content:center;width:46px}.parents-page__identity-name{display:flex;flex-direction:column;line-height:1.3;min-width:0}.parents-page__identity-name span,.parents-page__identity-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parents-page__identity-name strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.parents-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:2px}.parents-page__phone{white-space:nowrap}.parents-page__email{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parents-page__profession{align-items:center;color:var(--color-text-muted);display:flex;gap:7px;min-width:0}.parents-page__profession span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parents-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.parents-page__status--active{background:var(--color-success-soft);color:var(--color-success)}.parents-page__status--inactive{background:var(--color-background-alt);color:var(--color-text-muted)}.parents-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.parents-page__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.parents-page__action:hover{transform:translateY(-1px)}.parents-page__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.parents-page__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.parents-page__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.parents-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.parents-page__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.parents-page__pagination p strong{color:var(--color-text-secondary)}.parents-page__pagination-controls{align-items:center;display:flex;gap:9px}.parents-page__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.parents-page__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.parents-page__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.parents-page__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.parents-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.parents-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.parents-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.parents-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.parents-page__state-button{background:var(--color-primary-soft);border:1px solid var(--color-primary);color:var(--color-primary);margin-top:var(--space-5);padding:0 15px}.parents-page__state-button:hover{background:var(--color-primary-bg-subtle)}.parents-page__spinner{animation:parents-page-spin .8s linear infinite}@keyframes parents-page-spin{to{transform:rotate(1turn)}}.parents-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.parents-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.parents-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.parents-page__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.parents-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.parents-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.parents-page__modal p strong{color:var(--color-text)}.parents-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.parents-page__modal-cancel,.parents-page__modal-delete{padding:0 16px}.parents-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.parents-page__modal-cancel:hover{background:var(--color-background-alt)}.parents-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.parents-page__modal-delete:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.parents-page button:focus-visible,.parents-page input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1050px){.parents-page__toolbar{align-items:center!important;flex-direction:row!important;overflow-x:auto;overflow-y:visible;padding-bottom:18px}.parents-page__search{flex:0 0 240px;min-width:240px}.parents-page__toolbar-controls{flex-wrap:nowrap!important;justify-content:flex-start}.parents-page__select-control--custom{flex:0 0 160px;min-width:160px;width:auto!important}.parents-page__reset-button{flex:0 0 auto;width:auto!important}}@media (max-width:720px){.parents-page__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.parents-page__add-button{width:100%}.parents-page__toolbar-controls{display:flex!important;grid-template-columns:none!important}.parents-page__reset-button,.parents-page__select-control--custom{width:auto!important}.parents-page__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.parents-page__hero,.parents-page__panel,.parents-page__toolbar{border-radius:var(--radius-lg)}.parents-page__search{min-width:220px}.parents-page__modal-actions{flex-direction:column-reverse}.parents-page__modal-cancel,.parents-page__modal-delete{width:100%}}.parent-details-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.parent-details-page__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.parent-details-page__topbar-actions{align-items:center;display:flex;gap:9px}.parent-details-page__back,.parent-details-page__delete,.parent-details-page__edit,.parent-details-page__modal-cancel,.parent-details-page__modal-delete,.parent-details-page__state-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.parent-details-page__back{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.parent-details-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.parent-details-page__edit{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface)}.parent-details-page__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.parent-details-page__delete{background:var(--color-surface);border:1px solid var(--color-danger);color:var(--color-danger)}.parent-details-page__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.parent-details-page__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.parent-details-page__alert>span{flex:1 1}.parent-details-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.parent-details-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.parent-details-page__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary-hover) 0,var(--color-primary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.parent-details-page__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.parent-details-page__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.parent-details-page__avatar{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);height:112px;justify-content:center;width:112px}.parent-details-page__identity{min-width:0}.parent-details-page__eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.parent-details-page__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.parent-details-page__profession{align-items:center;color:color-mix(in srgb,var(--color-surface) 78%,#0000);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;margin-top:10px}.parent-details-page__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:380px;position:relative;z-index:1}.parent-details-page__badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.parent-details-page__badge--neutral{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);color:var(--color-surface)}.parent-details-page__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.parent-details-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.parent-details-page__panel--students{padding-bottom:10px}.parent-details-page__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.parent-details-page__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.parent-details-page__panel-header>div:nth-child(2){flex:1 1;min-width:0}.parent-details-page__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.parent-details-page__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.parent-details-page__students-count{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:30px;justify-content:center;min-width:30px}.parent-details-page__information-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.parent-details-page__information-item{background:var(--color-surface);min-width:0;padding:15px}.parent-details-page__information-item--full{grid-column:1/-1}.parent-details-page__information-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.parent-details-page__information-label svg{color:var(--color-primary)}.parent-details-page__information-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.parent-details-page__information-item .app-badge{margin-top:7px}.parent-details-page__students-list{display:grid;margin-top:8px}.parent-details-page__student-item{grid-gap:12px;align-items:center;background:#0000;border:0;border-bottom:1px solid var(--color-border-light);color:inherit;cursor:pointer;display:grid;font:inherit;gap:12px;grid-template-columns:42px minmax(130px,1fr) minmax(110px,auto) auto 24px;min-height:68px;padding:10px 4px;text-align:left;transition:background-color var(--transition-fast),padding var(--transition-fast);width:100%}.parent-details-page__student-item:last-child{border-bottom:0}.parent-details-page__student-item:hover{background:var(--color-surface-hover);border-radius:var(--radius-md);padding-left:10px;padding-right:10px}.parent-details-page__student-avatar{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:42px;justify-content:center;width:42px}.parent-details-page__student-info{display:flex;flex-direction:column;min-width:0}.parent-details-page__student-info span,.parent-details-page__student-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-details-page__student-info strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.parent-details-page__student-info span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.parent-details-page__student-number{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.parent-details-page__student-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.parent-details-page__primary-badge,.parent-details-page__relationship-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:26px;padding:0 9px;white-space:nowrap}.parent-details-page__relationship-badge{background:var(--color-primary-soft);color:var(--color-primary)}.parent-details-page__primary-badge{background:var(--color-success-soft);color:var(--color-success)}.parent-details-page__students-empty{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:190px;text-align:center}.parent-details-page__students-empty>svg{color:var(--color-primary)}.parent-details-page__students-empty strong{color:var(--color-text);font-size:var(--font-size-sm);margin-top:12px}.parent-details-page__students-empty p{font-size:var(--font-size-xs);margin:6px 0 0}.parent-details-page__metadata{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:18px;justify-content:flex-end;padding:12px 16px}.parent-details-page__metadata div{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:7px}.parent-details-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:480px;text-align:center}.parent-details-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.parent-details-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.parent-details-page__state p{font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.parent-details-page__state-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-surface);margin-top:var(--space-5)}.parent-details-page__spinner{animation:parent-details-spin .8s linear infinite}@keyframes parent-details-spin{to{transform:rotate(1turn)}}.parent-details-page__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.parent-details-page__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.parent-details-page__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.parent-details-page__modal>span{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.parent-details-page__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.parent-details-page__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.parent-details-page__modal p strong{color:var(--color-text)}.parent-details-page__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.parent-details-page__modal-cancel,.parent-details-page__modal-delete{padding:0 16px}.parent-details-page__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.parent-details-page__modal-delete{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.parent-details-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:900px){.parent-details-page__profile{align-items:flex-start;flex-direction:column}.parent-details-page__badges{justify-content:flex-start}.parent-details-page__content-grid{grid-template-columns:1fr}}@media (max-width:720px){.parent-details-page__topbar{align-items:stretch;flex-direction:column}.parent-details-page__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.parent-details-page__profile{padding:var(--space-5)}.parent-details-page__profile-main{align-items:flex-start;flex-direction:column}.parent-details-page__information-grid{grid-template-columns:1fr}.parent-details-page__information-item--full{grid-column:auto}.parent-details-page__student-item{grid-template-columns:42px minmax(0,1fr) 24px}.parent-details-page__student-badges,.parent-details-page__student-number{display:none}.parent-details-page__metadata{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.parent-details-page__back,.parent-details-page__delete,.parent-details-page__edit{width:100%}.parent-details-page__topbar-actions{grid-template-columns:1fr}.parent-details-page__modal,.parent-details-page__panel,.parent-details-page__profile{border-radius:var(--radius-lg)}.parent-details-page__panel{padding:var(--space-4)}.parent-details-page__modal-actions{flex-direction:column-reverse}.parent-details-page__modal-cancel,.parent-details-page__modal-delete{width:100%}}.parent-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.parent-form-page__header{align-items:flex-start;display:flex;gap:var(--space-4)}.parent-form-page__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.parent-form-page__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.parent-form-page__heading{min-width:0}.parent-form-page__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.parent-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.parent-form-page__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.parent-form-page__alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.parent-form-page__alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.parent-form-page__alert-content{flex:1 1;min-width:0}.parent-form-page__alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.parent-form-page__alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.parent-form-page__alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.parent-form-page__alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;width:30px}.parent-form-page__alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000)}.parent-form-page__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.parent-form-page__layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,330px)}.parent-form-page__layout,.parent-form-page__main,.parent-form-page__sidebar{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.parent-form-page__sidebar{position:-webkit-sticky;position:sticky;top:var(--space-5)}.parent-form-page__identity-card,.parent-form-page__section,.parent-form-page__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0}.parent-form-page__section{padding:var(--space-5)}.parent-form-page__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.parent-form-page__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.parent-form-page__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.parent-form-page__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.parent-form-page__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.parent-form-page__field{display:flex;flex-direction:column;gap:7px;min-width:0}.parent-form-page__field--full{grid-column:1/-1}.parent-form-page__field>label:not(.parent-form-page__account-toggle){color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.parent-form-page__field>label span{color:var(--color-danger)}.parent-form-page__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.parent-form-page__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);height:44px;min-height:44px;outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}textarea.parent-form-page__control{height:auto;min-height:110px;padding-bottom:12px;padding-top:12px;resize:vertical}.parent-form-page__control::placeholder{color:var(--color-text-light)}.parent-form-page__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.parent-form-page__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.parent-form-page__input-with-icon,.parent-form-page__textarea-with-icon{position:relative}.parent-form-page__input-with-icon>svg,.parent-form-page__textarea-with-icon>svg{color:var(--color-text-light);left:13px;pointer-events:none;position:absolute;z-index:1}.parent-form-page__input-with-icon>svg{top:50%;transform:translateY(-50%)}.parent-form-page__textarea-with-icon>svg{top:14px}.parent-form-page__input-with-icon input,.parent-form-page__textarea-with-icon textarea{padding-left:42px}.parent-form-page__select{min-width:0;position:relative;width:100%;z-index:4}.parent-form-page__select--open{z-index:120}.parent-form-page__select-trigger{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;height:44px;justify-content:space-between;min-height:44px;outline:0;padding:0 12px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.parent-form-page__select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.parent-form-page__select--open .parent-form-page__select-trigger,.parent-form-page__select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.parent-form-page__select-placeholder{color:var(--color-text-muted)}.parent-form-page__select-chevron{color:var(--color-text-muted);flex:0 0 auto;transition:transform var(--transition-fast)}.parent-form-page__select--open .parent-form-page__select-chevron{transform:rotate(180deg)}.parent-form-page__select-menu{animation:parent-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;display:flex;flex-direction:column;left:0;max-height:310px;max-width:100%;min-width:100%;overflow:hidden;position:absolute;right:0;top:calc(100% + 7px);width:100%;z-index:140}.parent-form-page__select-search-wrapper{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;position:relative}.parent-form-page__select-search-icon{color:#667085;color:var(--color-text-muted,#667085);left:10px;pointer-events:none;position:absolute}.parent-form-page__select-search{background:#0000;border:none;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:none;padding:9px 10px 9px 32px;width:100%}.parent-form-page__select-search::placeholder{color:#9aa5b4;color:var(--color-input-placeholder,var(--color-text-light,#9aa5b4))}.parent-form-page__select-search::-webkit-search-cancel-button{-webkit-appearance:none}.parent-form-page__select-options{list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:4px}.parent-form-page__select-empty{color:#667085;color:var(--color-text-muted,#667085);font-size:12px;font-size:var(--font-size-xs,12px);padding:12px;text-align:center}.parent-form-page__select-option{align-items:center;background:#0000;border:0;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:38px;padding:8px 10px;text-align:left;width:100%}.parent-form-page__select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-form-page__select-option--active:not(:disabled),.parent-form-page__select-option:focus-visible:not(:disabled),.parent-form-page__select-option:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary);outline:0}.parent-form-page__select-option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.parent-form-page__select-option:disabled{cursor:not-allowed;opacity:.42}.parent-form-page__select-option svg{flex:0 0 auto}.parent-form-page__select--disabled .parent-form-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@keyframes parent-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.parent-form-page__hint{background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-xs);line-height:1.55;margin-top:var(--space-4);padding:11px 13px}.parent-form-page__account-toggle{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:12px;min-height:72px;padding:13px}.parent-form-page__account-toggle-icon{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-md);color:var(--color-success);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.parent-form-page__account-toggle-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.parent-form-page__account-toggle-text strong{color:var(--color-text);font-size:var(--font-size-sm)}.parent-form-page__account-toggle-text small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin-top:3px}.parent-form-page__account-toggle input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.parent-form-page__switch{background:var(--color-border);border-radius:var(--radius-full);display:inline-flex;flex:0 0 44px;height:24px;padding:3px;position:relative;transition:background-color var(--transition-fast);width:44px}.parent-form-page__switch span{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:18px;transition:transform var(--transition-fast);width:18px}.parent-form-page__account-toggle input:checked+.parent-form-page__switch{background:var(--color-success)}.parent-form-page__account-toggle input:checked+.parent-form-page__switch span{transform:translateX(20px)}.parent-form-page__identity-card{background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary));color:var(--color-surface);overflow:hidden;padding:var(--space-5);position:relative;text-align:center}.parent-form-page__identity-card:after{border:24px solid color-mix(in srgb,var(--color-surface) 9%,#0000);border-radius:50%;bottom:-55px;content:"";height:150px;pointer-events:none;position:absolute;right:-45px;width:150px}.parent-form-page__identity-avatar{align-items:center;background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:4px solid color-mix(in srgb,var(--color-surface) 24%,#0000);border-radius:50%;color:var(--color-surface);display:inline-flex;height:92px;justify-content:center;position:relative;width:92px;z-index:1}.parent-form-page__identity-eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);display:block;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:16px;position:relative;text-transform:uppercase;z-index:1}.parent-form-page__identity-card h2{color:var(--color-surface);font-size:var(--font-size-lg);margin:6px 0 0;overflow-wrap:anywhere;position:relative;z-index:1}.parent-form-page__identity-card p{color:color-mix(in srgb,var(--color-surface) 74%,#0000);font-size:var(--font-size-xs);margin:6px 0 0;position:relative;z-index:1}.parent-form-page__summary{padding:var(--space-5)}.parent-form-page__summary-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.parent-form-page__summary dl{grid-gap:12px;display:grid;gap:12px;margin:18px 0 0}.parent-form-page__summary dl>div{grid-gap:3px;border-bottom:1px solid var(--color-border-light);display:grid;gap:3px;padding-bottom:11px}.parent-form-page__summary dl>div:last-child{border-bottom:0;padding-bottom:0}.parent-form-page__summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-form-page__summary dd{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow-wrap:anywhere}.parent-form-page__actions{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.parent-form-page__actions>div:first-child{display:flex;flex-direction:column;min-width:0}.parent-form-page__actions strong{color:var(--color-text);font-size:var(--font-size-sm)}.parent-form-page__actions>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.parent-form-page__action-buttons{align-items:center;display:flex;gap:10px}.parent-form-page__cancel,.parent-form-page__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.parent-form-page__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.parent-form-page__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.parent-form-page__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.parent-form-page__cancel:disabled,.parent-form-page__submit:disabled{cursor:not-allowed;opacity:.65}.parent-form-page__state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:460px;text-align:center}.parent-form-page__state h1{color:var(--color-text);font-size:var(--font-size-xl);margin:16px 0 0}.parent-form-page__state p{font-size:var(--font-size-sm);margin:7px 0 0}.parent-form-page__spinner{animation:parent-form-spin .8s linear infinite}@keyframes parent-form-spin{to{transform:rotate(1turn)}}.parent-form-page button:focus-visible,.parent-form-page input:focus-visible,.parent-form-page label:focus-within,.parent-form-page textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:1050px){.parent-form-page__layout{grid-template-columns:1fr}.parent-form-page__sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (max-width:720px){.parent-form-page__header{flex-direction:column}.parent-form-page__grid{grid-template-columns:1fr}.parent-form-page__field--full{grid-column:auto}.parent-form-page__sidebar{grid-template-columns:1fr}.parent-form-page__actions{align-items:stretch;flex-direction:column;position:static}.parent-form-page__action-buttons{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:480px){.parent-form-page__actions,.parent-form-page__identity-card,.parent-form-page__section,.parent-form-page__summary{border-radius:var(--radius-lg)}.parent-form-page__section{padding:var(--space-4)}.parent-form-page__action-buttons{grid-template-columns:1fr}.parent-form-page__cancel,.parent-form-page__submit{width:100%}}.parent-form-page__section-header--with-action{align-items:center}.parent-form-page__section-header--with-action>div:nth-child(2){flex:1 1;min-width:0}.parent-form-page__add-student{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 14px;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.parent-form-page__add-student:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.parent-form-page__relation-error{align-items:center;background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:8px;margin-top:var(--space-4);padding:10px 12px}.parent-form-page__linked-students{grid-gap:14px;display:grid;gap:14px;margin-top:var(--space-5)}.parent-form-page__linked-student{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:16px}.parent-form-page__linked-student-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;justify-content:space-between;padding-bottom:13px}.parent-form-page__linked-student-title{align-items:center;display:flex;gap:10px;min-width:0}.parent-form-page__linked-student-title>span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 38px;height:38px;justify-content:center;width:38px}.parent-form-page__linked-student-title>div{display:flex;flex-direction:column;min-width:0}.parent-form-page__linked-student-title strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.parent-form-page__linked-student-title small{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.parent-form-page__remove-student{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast);width:36px}.parent-form-page__remove-student:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:var(--color-danger)}.parent-form-page__remove-student:disabled{cursor:not-allowed;opacity:.4}.parent-form-page__linked-student-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);margin-top:15px}.parent-form-page__primary-contact{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:14px;justify-content:space-between;margin-top:14px;min-height:64px;padding:11px 12px;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.parent-form-page__primary-contact:hover{background:color-mix(in srgb,var(--color-primary) 2.5%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.parent-form-page__primary-contact:has(input:checked){background:color-mix(in srgb,var(--color-success) 5%,var(--color-surface));border-color:color-mix(in srgb,var(--color-success) 45%,var(--color-border))}.parent-form-page__primary-contact input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.parent-form-page__primary-contact-copy{display:flex;flex:1 1;flex-direction:column;min-width:0}.parent-form-page__primary-contact-copy strong{color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.parent-form-page__primary-contact-copy small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4;margin-top:2px}.parent-form-page__primary-contact-switch{background:var(--color-border);border-radius:var(--radius-full);display:inline-flex;flex:0 0 44px;height:24px;padding:3px;position:relative;transition:background-color var(--transition-fast),box-shadow var(--transition-fast);width:44px}.parent-form-page__primary-contact-switch>span{background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm);height:18px;transition:transform var(--transition-fast);width:18px}.parent-form-page__primary-contact input:checked+.parent-form-page__primary-contact-switch{background:var(--color-success)}.parent-form-page__primary-contact input:checked+.parent-form-page__primary-contact-switch>span{transform:translateX(20px)}.parent-form-page__primary-contact input:focus-visible+.parent-form-page__primary-contact-switch{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,#0000)}@media (max-width:760px){.parent-form-page__section-header--with-action{align-items:flex-start;flex-wrap:wrap}.parent-form-page__add-student{width:100%}.parent-form-page__linked-student-grid{grid-template-columns:1fr}}.parent-form-page input[type=password]::-ms-clear,.parent-form-page input[type=password]::-ms-reveal{display:none}.parent-form-page input[type=password]{appearance:none;-webkit-appearance:none}.timetable-lesson-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 28px 70px #0f172a3d,0 6px 20px #0f172a1a;max-height:min(92vh,860px);max-width:720px}.timetable-lesson-modal__header{align-items:flex-start;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-bottom:1px solid var(--color-border-light);padding:18px 20px}.timetable-lesson-modal__title{align-items:flex-start;gap:12px}.timetable-lesson-modal__title>svg{color:var(--color-primary);flex:0 0 auto;margin-top:2px}.timetable-lesson-modal__title>div{min-width:0}.timetable-lesson-modal__title h2{color:var(--color-text);font-size:1.05rem;font-weight:var(--font-weight-bold);margin:0}.timetable-lesson-modal__title p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0;max-width:520px}.timetable-lesson-modal .timetable-modal__close{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);flex:0 0 36px;height:36px;width:36px}.timetable-lesson-modal .timetable-modal__close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.timetable-lesson-modal__form{gap:18px;padding:20px}.timetable-lesson-modal__grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-lesson-modal .timetable-form-group{gap:7px;min-width:0}.timetable-lesson-modal .timetable-form-group label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.timetable-lesson-modal .timetable-input-icon{min-width:0;width:100%}.timetable-lesson-modal .timetable-input-icon>svg{color:var(--color-primary);left:13px;z-index:2}.timetable-lesson-modal .timetable-form-group textarea,.timetable-lesson-modal .timetable-input-icon input,.timetable-lesson-modal .timetable-input-icon select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.timetable-lesson-modal .timetable-input-icon input,.timetable-lesson-modal .timetable-input-icon select{height:44px;min-height:44px;padding:0 38px 0 39px}.timetable-lesson-modal .timetable-input-icon select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,#0000 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,#0000 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer}.timetable-lesson-modal .timetable-form-group textarea:hover,.timetable-lesson-modal .timetable-input-icon input:hover:not(:read-only),.timetable-lesson-modal .timetable-input-icon select:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-lesson-modal .timetable-form-group textarea:focus,.timetable-lesson-modal .timetable-input-icon input:focus,.timetable-lesson-modal .timetable-input-icon select:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.timetable-lesson-modal .timetable-input-icon select:disabled{background-color:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.76}.timetable-lesson-modal .timetable-input-icon input[readonly]{background:var(--color-background-alt);color:var(--color-text-secondary);cursor:default;font-weight:var(--font-weight-semibold)}.timetable-lesson-modal .timetable-form-group textarea{min-height:88px;padding:11px 12px;resize:vertical}.timetable-lesson-modal__field-help{color:var(--color-text-muted);display:block;font-size:.6875rem;line-height:1.45}.timetable-lesson-modal .timetable-alert{align-items:flex-start;border-radius:12px;padding:12px 14px}.timetable-lesson-modal .timetable-alert svg{flex:0 0 auto;margin-top:1px}.timetable-lesson-modal__footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--color-surface) 96%,#0000);border-top:1px solid var(--color-border-light);bottom:0;gap:10px;padding:14px 20px;position:-webkit-sticky;position:sticky}.timetable-lesson-modal__footer-actions{align-items:center;display:flex;gap:9px;margin-left:auto}.timetable-lesson-modal .timetable-btn{border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;min-height:40px;padding:0 15px}.timetable-lesson-modal .timetable-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.timetable-lesson-modal .timetable-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.timetable-lesson-modal .timetable-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.timetable-lesson-modal .timetable-btn--secondary:hover:not(:disabled){background:var(--color-background-alt)}.timetable-lesson-modal .timetable-btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff;opacity:1}.timetable-lesson-modal .timetable-btn:disabled{cursor:not-allowed;opacity:.62}@media (max-width:720px){.timetable-lesson-modal{border-radius:16px;max-height:calc(100vh - 24px)}.timetable-lesson-modal__grid{grid-template-columns:1fr}.timetable-lesson-modal .timetable-form-group--full{grid-column:auto}.timetable-lesson-modal__footer,.timetable-lesson-modal__form,.timetable-lesson-modal__header{padding-left:15px;padding-right:15px}.timetable-lesson-modal__footer{align-items:stretch;flex-direction:column}.timetable-lesson-modal__footer-actions{display:grid;grid-template-columns:1fr 1fr;margin-left:0;width:100%}.timetable-lesson-modal .timetable-btn--danger{width:100%}}@media (max-width:460px){.timetable-lesson-modal__footer-actions{grid-template-columns:1fr}.timetable-lesson-modal .timetable-btn{width:100%}}.timetable-lesson-select{min-width:0;position:relative;width:100%}.timetable-lesson-select__trigger{grid-gap:8px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:grid;font:inherit;font-size:var(--font-size-sm);gap:8px;grid-template-columns:28px minmax(0,1fr) 26px;height:44px;min-height:44px;outline:0;padding:0 10px 0 11px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.timetable-lesson-select__trigger:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 2%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.timetable-lesson-select--open .timetable-lesson-select__trigger,.timetable-lesson-select__trigger:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.timetable-lesson-select__icon{color:var(--color-primary)}.timetable-lesson-select__value{color:var(--color-text);font-weight:var(--font-weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-lesson-select__value--placeholder{color:var(--color-text-muted)}.timetable-lesson-select__chevron{color:var(--color-text-muted);justify-self:end;transition:transform var(--transition-fast),color var(--transition-fast)}.timetable-lesson-select--open .timetable-lesson-select__chevron{color:var(--color-primary);transform:rotate(180deg)}.timetable-lesson-select--disabled .timetable-lesson-select__trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.timetable-lesson-select__menu{grid-gap:4px;animation:timetable-lesson-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 45px #0f172a29,0 3px 10px #0f172a14;box-sizing:border-box;display:grid;gap:4px;max-height:260px;max-width:none;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:6px;width:auto;z-index:15000}.timetable-lesson-select__option{align-items:center;background:#0000;border:0;border-radius:8px;box-sizing:border-box;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:39px;padding:8px 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.timetable-lesson-select__option>span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-lesson-select__option:focus-visible,.timetable-lesson-select__option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.timetable-lesson-select__option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}@keyframes timetable-lesson-select-open{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.timetable-time-picker{min-width:0;position:relative;width:100%;z-index:4}.timetable-time-picker--open{z-index:100}.timetable-time-picker__trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.timetable-time-picker__trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.timetable-time-picker--open .timetable-time-picker__trigger,.timetable-time-picker__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.timetable-time-picker__icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.timetable-time-picker__copy{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.timetable-time-picker__caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.timetable-time-picker__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-time-picker__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.timetable-time-picker--open .timetable-time-picker__chevron{transform:rotate(180deg)}.timetable-time-picker__panel{animation:timetable-time-picker-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:16px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:100%;min-width:100%;overflow:hidden;position:absolute;right:0;top:calc(100% + 9px);width:100%;z-index:200}.timetable-time-picker__top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light));display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.timetable-time-picker__top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.timetable-time-picker__top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.timetable-time-picker__top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.timetable-time-picker__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.timetable-time-picker__close:focus-visible,.timetable-time-picker__close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);outline:0}.timetable-time-picker__editor{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;padding:18px 16px}.timetable-time-picker__unit{grid-gap:6px;align-items:end;display:grid;gap:6px;grid-template-columns:34px minmax(44px,1fr) 34px}.timetable-time-picker__unit>span{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--font-weight-bold);grid-column:1/-1;text-align:center;text-transform:uppercase}.timetable-time-picker__unit button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-primary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.timetable-time-picker__unit button:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.timetable-time-picker__unit input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:9px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:40px;min-width:0;outline:0;padding:0 4px;text-align:center;width:100%}.timetable-time-picker__unit input::-webkit-inner-spin-button,.timetable-time-picker__unit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timetable-time-picker__unit input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.timetable-time-picker__separator{color:var(--color-text);font-size:1.4rem;margin-top:18px}.timetable-time-picker__warning{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border-radius:9px;color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45;margin:-4px 14px 12px;padding:9px 10px}.timetable-time-picker__footer{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.timetable-time-picker__footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-time-picker__footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}.timetable-time-picker__footer button:hover{background:var(--color-primary-hover)}@keyframes timetable-time-picker-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.timetable-time-picker__panel{left:0;max-width:100%;min-width:100%;right:0;width:100%}.timetable-time-picker__editor{gap:7px;padding:16px 10px}.timetable-time-picker__unit{gap:4px;grid-template-columns:30px minmax(38px,1fr) 30px}.timetable-time-picker__unit button{height:32px;width:30px}}.timetable-weekly{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.timetable-weekly__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.timetable-weekly__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.timetable-weekly__hero-content{min-width:0;position:relative;z-index:1}.timetable-weekly__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.timetable-weekly__eyebrow,.timetable-weekly__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.timetable-weekly__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.timetable-weekly__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.timetable-weekly__back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);z-index:1}.timetable-weekly__back-button:hover{background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-1px)}.timetable-weekly__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.timetable-weekly__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.timetable-weekly__filters{grid-gap:10px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;gap:10px;grid-template-columns:repeat(3,minmax(180px,1fr));overflow:visible;padding:14px;position:relative;width:100%;z-index:30}.timetable-weekly__select-control--custom{background:#0000;border:0;height:42px;min-height:42px;min-width:0;padding:0;position:relative;width:100%}.timetable-weekly__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.timetable-weekly__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-weekly__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.timetable-weekly__select-button:disabled{cursor:not-allowed;opacity:.7}.timetable-weekly__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.timetable-weekly__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-weekly__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.timetable-weekly__select-control--open .timetable-weekly__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.timetable-weekly__select-control--open .timetable-weekly__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.timetable-weekly__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:240px;min-width:100%;overflow-x:hidden;overflow-y:auto;padding:6px;position:absolute;right:0;scrollbar-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border)) #0000;scrollbar-width:thin;top:calc(100% + 6px);width:100%;z-index:9999}.timetable-weekly__select-menu::-webkit-scrollbar{width:7px}.timetable-weekly__select-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.timetable-weekly__select-menu::-webkit-scrollbar-track{background:#0000}.timetable-weekly__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:flex-start;line-height:1.35;min-height:36px;overflow-wrap:anywhere;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.timetable-weekly__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.timetable-weekly__select-option--active,.timetable-weekly__select-option--active:hover{background:var(--color-primary);color:var(--color-surface)}.timetable-weekly__content{min-width:0}.timetable-weekly__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(220px,1fr));min-width:0}.timetable-weekly__day-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.timetable-weekly__day-header{align-items:center;background:var(--color-sidebar);color:var(--color-surface);display:flex;gap:10px;justify-content:space-between;min-height:56px;padding:0 14px}.timetable-weekly__day-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.timetable-weekly__day-count{align-items:center;background:color-mix(in srgb,var(--color-surface) 14%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:26px;padding:0 9px;white-space:nowrap}.timetable-weekly__day-entries{background:var(--color-surface);display:flex;flex-direction:column;gap:9px;min-height:150px;padding:12px}.timetable-weekly__empty-day{align-items:center;background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-light);display:flex;font-size:var(--font-size-sm);font-style:italic;justify-content:center;min-height:110px}.timetable-weekly__card{grid-gap:7px;align-items:start;-webkit-appearance:none;appearance:none;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:0 2px 8px #314f490f;color:var(--color-text);cursor:pointer;display:grid;font-family:inherit;gap:7px;padding:12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:100%}.timetable-weekly__card:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));box-shadow:var(--shadow-card);transform:translateY(-1px)}.timetable-weekly__card--open .timetable-weekly__card-chevron,.timetable-weekly__card:hover .timetable-weekly__card-chevron{color:var(--color-primary)}.timetable-weekly__card:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-card);outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}.timetable-weekly__card--open{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-card)}.timetable-weekly__card-header{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.timetable-weekly__card-chevron{color:var(--color-text-light);flex:0 0 auto;transition:color var(--transition-fast),transform var(--transition-fast)}.timetable-weekly__card-time{font-feature-settings:"tnum";align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);gap:5px;min-height:26px;padding:0 9px;width:-webkit-fit-content;width:fit-content}.timetable-weekly__card-subject{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-weekly__card-class,.timetable-weekly__card-room,.timetable-weekly__card-teacher{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-weekly__card-class,.timetable-weekly__card-room{align-items:center;background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;max-width:100%;min-height:24px;padding:0 8px;width:-webkit-fit-content;width:fit-content}.timetable-weekly__session{display:flex;flex-direction:column;gap:9px;min-width:0}.timetable-weekly__details{grid-gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:10px;min-width:0;padding:12px}.timetable-weekly__details-row{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);min-width:0}.timetable-weekly__details-row>svg{color:var(--color-primary);margin-top:3px}.timetable-weekly__details-content{grid-gap:2px;display:grid;gap:2px;min-width:0}.timetable-weekly__details-content span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.timetable-weekly__details-content strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.45;overflow-wrap:anywhere;white-space:normal}.timetable-weekly__details-row--notes{align-items:flex-start}.timetable-weekly__details-status-dot{background:var(--color-text-light);border-radius:50%;height:12px;margin-top:5px;width:12px}.timetable-weekly__details-status-dot--active{background:var(--color-success)}.timetable-weekly__details-status-dot--inactive{background:var(--color-danger)}.timetable-weekly__toggle{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:38px;padding:0 12px;text-align:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.timetable-weekly__toggle:hover{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));color:var(--color-primary)}.timetable-weekly__toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}.timetable-weekly__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;padding:44px 20px;text-align:center}.timetable-weekly__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;justify-content:center;width:56px}.timetable-weekly__state h2{font-size:var(--font-size-lg);margin:14px 0 6px}.timetable-weekly__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.timetable-weekly__state-button{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px;transition:all var(--transition-fast);white-space:nowrap}.timetable-weekly__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.timetable-weekly__spinner{animation:timetable-weekly-spin .8s linear infinite}@keyframes timetable-weekly-spin{to{transform:rotate(1turn)}}.timetable-weekly button:focus-visible,.timetable-weekly input:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1100px){.timetable-weekly__grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width:850px){.timetable-weekly__filters{grid-template-columns:1fr}.timetable-weekly__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.timetable-weekly__back-button{width:100%}}@media (max-width:700px){.timetable-weekly__grid{grid-template-columns:1fr}.timetable-weekly__day-column,.timetable-weekly__filters,.timetable-weekly__hero{border-radius:var(--radius-lg)}}.timetable-calendar,.timetable-calendar-body,.timetable-calendar-day-column,.timetable-calendar-inner,.timetable-calendar-lesson,.timetable-calendar-scroll{overflow:visible}.timetable-calendar-lesson--popover-open{border-color:var(--lesson-accent,var(--color-primary));box-shadow:0 12px 28px #0f172a33;z-index:500}.timetable-popover--calendar{animation:timetable-popover-open .16s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 18px 48px #0f172a38;color:var(--color-text);cursor:default;position:absolute;width:min(290px,calc(100vw - 32px));z-index:1000}.timetable-popover--below{top:calc(100% + 10px)}.timetable-popover--above{bottom:calc(100% + 10px)}.timetable-popover--align-left{left:0}.timetable-popover--align-right{right:0}.timetable-popover__arrow{background:var(--color-surface);border:1px solid var(--color-border);height:13px;position:absolute;transform:rotate(45deg);width:13px}.timetable-popover--below .timetable-popover__arrow{border-bottom:0;border-right:0;top:-7px}.timetable-popover--above .timetable-popover__arrow{border-left:0;border-top:0;bottom:-7px}.timetable-popover--align-left .timetable-popover__arrow{left:22px}.timetable-popover--align-right .timetable-popover__arrow{right:22px}.timetable-popover__header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:space-between;padding:14px}.timetable-popover__title{align-items:center;display:flex;gap:10px;min-width:0}.timetable-popover__title-icon{align-items:center;background:var(--color-primary-soft);border-radius:10px;color:var(--color-primary);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.timetable-popover__title>div:last-child{grid-gap:2px;display:grid;gap:2px;min-width:0}.timetable-popover__title span{color:var(--color-text-muted);font-size:.6875rem;font-weight:var(--font-weight-semibold)}.timetable-popover__title strong{color:var(--color-text);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-popover__close{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;width:30px}.timetable-popover__close:hover{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text)}.timetable-popover__body{grid-gap:10px;display:grid;gap:10px;padding:13px 14px}.timetable-popover__detail{grid-gap:9px;align-items:center;display:grid;gap:9px;grid-template-columns:32px minmax(0,1fr)}.timetable-popover__detail-icon{align-items:center;background:var(--color-background-alt);border-radius:9px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.timetable-popover__detail-content{grid-gap:2px;display:grid;gap:2px;min-width:0}.timetable-popover__detail-content span{color:var(--color-text-muted);font-size:.65rem;font-weight:var(--font-weight-semibold)}.timetable-popover__detail-content strong{color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-popover__detail--notes{align-items:flex-start}.timetable-popover__detail--notes .timetable-popover__detail-content strong{overflow:visible;overflow-wrap:anywhere;white-space:normal}.timetable-popover__actions{border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;padding:11px 14px 14px}@keyframes timetable-popover-open{0%{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:700px){.timetable-popover--calendar{width:min(280px,calc(100vw - 28px))}}.timetable-grid-wrapper{isolation:isolate;min-width:0;overflow:visible;position:relative}.timetable-grid-wrapper>.timetable-control-bar:first-child{position:relative;z-index:1000}.timetable-control-bar{overflow:visible;position:relative;z-index:100}.timetable-control-bar--creation{z-index:20}.timetable-control-bar--creation,.timetable-control-group,.timetable-control-select-control{overflow:visible;position:relative}.timetable-control-select-control{min-width:0;z-index:1}.timetable-control-select-control--open{z-index:5000}.timetable-control-select-control .sd__panel{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 16px 38px #0f172a33;display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:260px;max-width:360px;min-width:100%;overflow-x:hidden;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 7px);width:-webkit-max-content;width:max-content;z-index:9999}.timetable-control-group--grow .timetable-control-select-control .sd__panel{max-width:none;width:100%}.timetable-calendar,.timetable-calendar-scroll{position:relative;z-index:1}.timetable-entity{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.timetable-entity__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.timetable-entity__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.timetable-entity__hero-content{min-width:0;position:relative;z-index:1}.timetable-entity__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.timetable-entity__eyebrow,.timetable-entity__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.timetable-entity__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.timetable-entity__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);z-index:1}.timetable-entity__back-button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.timetable-entity button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}.timetable-entity__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.timetable-entity__alert span{flex:1 1}.timetable-entity__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.timetable-entity__meta{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:16px;justify-content:space-between;min-width:0;padding:14px 16px;position:relative;z-index:30}.timetable-entity__meta-main{min-width:0}.timetable-entity__entity{align-items:center;display:flex;gap:12px;min-width:0}.timetable-entity__entity-icon{align-items:center;background:var(--color-primary-soft);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center;width:46px}.timetable-entity__entity-info{display:flex;flex-direction:column;gap:6px;min-width:0}.timetable-entity__entity-info strong{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__entity-info>span{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.timetable-entity__level-badge,.timetable-entity__type-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:26px;padding:0 10px;white-space:nowrap}.timetable-entity__type-badge--class{background:var(--level-primary-bg);color:var(--level-primary)}.timetable-entity__type-badge--teacher{background:var(--level-high-bg);color:var(--level-high)}.timetable-entity__level-badge{background:var(--level-middle-bg);color:var(--level-middle)}.timetable-entity__meta-stats{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.timetable-entity__stat{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:7px;min-height:42px;padding:0 13px;white-space:nowrap}.timetable-entity__stat svg{color:var(--color-primary);flex:0 0 auto}.timetable-entity__stat strong{color:var(--color-text);font-weight:var(--font-weight-bold)}.timetable-entity__select-control--custom{height:42px;min-width:180px;position:relative;width:100%}.timetable-entity__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 11px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.timetable-entity__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.timetable-entity__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.timetable-entity__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.timetable-entity__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.timetable-entity__select-control--open .timetable-entity__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.timetable-entity__select-control--open .timetable-entity__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.timetable-entity__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:240px;min-width:100%;overflow-x:hidden;overflow-y:auto;padding:6px;position:absolute;right:0;scrollbar-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border)) #0000;scrollbar-width:thin;top:calc(100% + 6px);width:100%;z-index:9999}.timetable-entity__select-menu::-webkit-scrollbar{width:7px}.timetable-entity__select-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.timetable-entity__select-menu::-webkit-scrollbar-track{background:#0000}.timetable-entity__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:flex-start;line-height:1.35;min-height:36px;overflow-wrap:anywhere;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.timetable-entity__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.timetable-entity__select-option--active,.timetable-entity__select-option--active:hover{background:var(--color-primary);color:var(--color-surface)}.timetable-entity__content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.timetable-entity__grid{grid-gap:1px;background:var(--color-border-light);display:grid;gap:1px;grid-template-columns:repeat(6,minmax(180px,1fr));overflow-x:auto}.timetable-entity__day-column{background:var(--color-surface);display:flex;flex-direction:column;min-width:0}.timetable-entity__day-header{align-items:center;background:linear-gradient(180deg,#fff 0,var(--color-background-alt) 100%);border-bottom:1px solid var(--color-border);display:flex;gap:8px;justify-content:space-between;min-height:52px;padding:0 14px}.timetable-entity__day-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.timetable-entity__day-count{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.timetable-entity__day-entries{grid-gap:10px;align-content:start;display:grid;gap:10px;padding:12px}.timetable-entity__empty-day{align-items:center;background:var(--color-surface-secondary);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-light);display:flex;font-size:var(--font-size-xs);justify-content:center;min-height:110px;padding:14px;text-align:center}.timetable-entity__card{grid-gap:5px;background:var(--color-primary-lighter);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);display:grid;gap:5px;padding:11px 12px}.timetable-entity__card-time{align-items:center;color:var(--color-primary-hover);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;white-space:nowrap}.timetable-entity__card-subject{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__card-class,.timetable-entity__card-teacher{color:var(--color-text-secondary);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__card-room{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-entity__card-status{align-items:center;background:var(--color-success-soft);border-radius:var(--radius-full);color:var(--color-success);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:21px;padding:0 8px;width:-webkit-max-content;width:max-content}.timetable-entity__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;padding:36px 20px;text-align:center}.timetable-entity__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.timetable-entity__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.timetable-entity__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:470px}.timetable-entity__state-button{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:var(--space-5);min-height:42px;padding:0 15px}.timetable-entity__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.timetable-entity__spinner{animation:timetableEntitySpin .8s linear infinite}@keyframes timetableEntitySpin{to{transform:rotate(1turn)}}@media (max-width:1100px){.timetable-entity__meta{align-items:flex-start;flex-direction:column}.timetable-entity__meta-stats{justify-content:flex-start;width:100%}}@media (max-width:768px){.timetable-entity__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.timetable-entity__back-button{width:100%}.timetable-entity__grid{grid-template-columns:1fr}}@media (max-width:560px){.timetable-entity__meta-stats{align-items:stretch;flex-direction:column}.timetable-entity__stat{justify-content:center;width:100%}.timetable-entity__select-control--custom{min-width:0;width:100%}}.timetable-form-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);max-width:var(--content-max-width);min-width:0;width:100%}.timetable-form-page__header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr);min-width:0;position:relative;z-index:1}.timetable-form-page__back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:40px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:-webkit-fit-content;width:fit-content}.timetable-form-page__back-button:hover{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-1px)}.timetable-form-page__back-button svg{flex:0 0 auto;transition:transform var(--transition-fast)}.timetable-form-page__back-button:hover svg{transform:translateX(-2px)}.timetable-form-page__heading{min-width:0;padding-top:1px}.timetable-form-page__eyebrow{color:var(--color-primary);display:block;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.timetable-form-page__heading h1{color:var(--color-text);font-size:clamp(1.5rem,2.5vw,1.95rem);font-weight:var(--font-weight-bold);letter-spacing:-.025em;line-height:1.2;margin:0}.timetable-form-page__heading p{align-items:flex-start;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:7px;line-height:1.55;margin:7px 0 0;max-width:760px}.timetable-form-page__heading p svg{color:var(--color-primary);flex:0 0 auto;margin-top:2px}.timetable-form-page__content,.timetable-form-page__content>.timetable-grid-wrapper{min-width:0}.timetable-form-page__state{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:360px;padding:var(--space-6);text-align:center}.timetable-form-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:15px 0 0}.timetable-form-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5;margin:6px 0 0;max-width:420px}.timetable-form-page__spinner{animation:timetable-form-page-spin .8s linear infinite;color:var(--color-primary)}@keyframes timetable-form-page-spin{to{transform:rotate(1turn)}}.timetable-form-page__error{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 52%,var(--color-border));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:12px;min-width:0;padding:14px 16px}.timetable-form-page__error-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;width:36px}.timetable-form-page__error>div:last-child{flex:1 1;min-width:0}.timetable-form-page__error strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.timetable-form-page__error p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:4px 0 0}body:has(.timetable-modal-backdrop) .timetable-form-page__header{opacity:0;pointer-events:none;visibility:hidden}.timetable-form-page button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 24%,#0000);outline-offset:2px}@media (max-width:720px){.timetable-form-page__header{gap:12px;grid-template-columns:1fr}.timetable-form-page__back-button{justify-self:start}.timetable-form-page__heading p{max-width:100%}}@media (max-width:480px){.timetable-form-page{gap:var(--space-4)}.timetable-form-page__back-button{min-height:38px;padding:0 12px}.timetable-form-page__heading h1{font-size:1.45rem}.timetable-form-page__state{border-radius:var(--radius-lg);min-height:300px;padding:var(--space-5)}.timetable-form-page__error{border-radius:var(--radius-md)}}.timetable-detail{grid-gap:var(--space-5);display:grid;gap:var(--space-5);max-width:780px;min-width:0}.timetable-detail__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.timetable-detail__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.timetable-detail__hero-content{min-width:0;position:relative;z-index:1}.timetable-detail__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.timetable-detail__eyebrow,.timetable-detail__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.timetable-detail__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.timetable-detail__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.timetable-detail__hero-actions{display:flex;flex-shrink:0;gap:8px;position:relative;z-index:1}.timetable-detail__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.timetable-detail__back-btn,.timetable-detail__edit-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:6px;justify-content:center;line-height:1;min-height:38px;padding:8px 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.timetable-detail__back-btn{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.timetable-detail__back-btn:hover{background-color:var(--color-background-alt);color:var(--color-text)}.timetable-detail__edit-btn{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.timetable-detail__edit-btn:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.timetable-detail__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.timetable-detail__card-header{align-items:center;background:var(--color-background-alt);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:18px 24px}.timetable-detail__card-header h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.timetable-detail__card-body{padding:24px}.timetable-detail__grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.timetable-detail__field{display:flex;flex-direction:column;gap:5px}.timetable-detail__field-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.timetable-detail__field-value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.timetable-detail__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px}.timetable-detail__status--active{background:var(--color-success-soft);color:var(--color-success)}.timetable-detail__status--inactive{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)}.timetable-detail__day-badge{align-items:center;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px}.timetable-detail__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:36px 20px;text-align:center}.timetable-detail__spinner{animation:timetable-detail-spin .8s linear infinite}@keyframes timetable-detail-spin{to{transform:rotate(1turn)}}.timetable-detail button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:640px){.timetable-detail__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.timetable-detail__hero-actions{width:100%}.timetable-detail__back-btn,.timetable-detail__edit-btn{flex:1 1;width:100%}.timetable-detail__grid{grid-template-columns:1fr}}.timetable-detail__card{border-radius:18px;box-shadow:0 8px 28px #314f4914}.timetable-detail__field{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:center;min-height:72px;padding:12px 14px}@media (max-width:700px){.timetable-detail__card-body,.timetable-detail__card-header{padding-left:18px;padding-right:18px}}.attendance-admin{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.attendance-admin__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.attendance-admin__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.attendance-admin__hero-content{min-width:0;position:relative;z-index:1}.attendance-admin__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.attendance-admin__eyebrow,.attendance-admin__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.attendance-admin__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.attendance-admin__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.attendance-admin__hero-actions{display:flex;flex:0 0 auto;gap:10px;position:relative;z-index:1}.attendance-admin__add-button,.attendance-admin__stats-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);z-index:1}.attendance-admin__add-button:hover,.attendance-admin__stats-button:hover{background:var(--color-primary-soft)}.attendance-admin__stats-button{background:color-mix(in srgb,var(--color-surface) 88%,#0000);border-color:color-mix(in srgb,var(--color-surface) 22%,#0000);color:var(--color-surface)}.attendance-admin__stats-button:hover{background:color-mix(in srgb,var(--color-surface) 100%,#0000)}.attendance-admin__alert{align-items:center;border:1px solid;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.attendance-admin__alert span{flex:1 1}.attendance-admin__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:currentColor;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.attendance-admin__alert button:hover{background:color-mix(in srgb,currentColor 10%,#0000)}.attendance-admin__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.attendance-admin__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px}.attendance-admin__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:10px;max-width:460px;min-height:44px;min-width:260px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.attendance-admin__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.attendance-admin__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.attendance-admin__search input::placeholder{color:var(--color-text-light)}.attendance-admin__toolbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:0}.attendance-admin__select-control{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:8px;min-height:44px;min-width:150px;padding:0 10px 0 12px;position:relative}.attendance-admin__select-control:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-admin__select-control select{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0}.attendance-admin__select-control>svg:last-child{flex:0 0 auto;pointer-events:none}.attendance-admin__select-control--date{min-width:170px}.attendance-admin__select-control--date input{-webkit-appearance:none;appearance:none;background:#0000;border:0;font:inherit;min-width:0;outline:0;width:100%}.attendance-admin__reset-button,.attendance-admin__select-control--date input{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.attendance-admin__reset-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;font-family:inherit;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 14px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.attendance-admin__reset-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-admin__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.attendance-admin__table-scroll{min-width:0;overflow-x:auto}.attendance-admin__table{border-collapse:collapse;min-width:900px;width:100%}.attendance-admin__table thead{background:var(--color-sidebar)}.attendance-admin__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:16px 20px;text-transform:uppercase}.attendance-admin__table th:first-child{border-top-left-radius:var(--radius-lg)}.attendance-admin__table th:last-child{border-top-right-radius:var(--radius-lg)}.attendance-admin__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:15px 20px;text-align:left;vertical-align:middle}.attendance-admin__table tbody tr{transition:background-color var(--transition-fast)}.attendance-admin__table tbody tr:hover{background:var(--color-surface-hover)}.attendance-admin__table tbody tr:last-child td{border-bottom:0}.attendance-admin__actions-heading{text-align:right!important}.attendance-admin__badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.attendance-admin__badge--draft{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-admin__badge--submitted{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.attendance-admin__badge--locked{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));color:#7c3aed}.attendance-admin__badge--present{background:var(--color-success-soft);color:var(--color-success)}.attendance-admin__badge--absent{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)}.attendance-admin__badge--late{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-admin__badge--justified{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));color:#7c3aed}.attendance-admin__count{background:var(--color-primary-soft);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);min-width:32px;padding:4px 10px;text-align:center}.attendance-admin__count--present{background:var(--color-success-soft);color:var(--color-success)}.attendance-admin__count--absent{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)}.attendance-admin__count--late{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-admin__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.attendance-admin__action{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);width:34px}.attendance-admin__action:hover{transform:translateY(-1px)}.attendance-admin__action--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-admin__action--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.attendance-admin__action--submit:hover{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.attendance-admin__action--delete:hover{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.attendance-admin__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.attendance-admin__pagination p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.attendance-admin__pagination p strong{color:var(--color-text-secondary)}.attendance-admin__pagination-controls{align-items:center;display:flex;gap:9px}.attendance-admin__pagination-controls button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.attendance-admin__pagination-controls button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-admin__pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.attendance-admin__pagination-controls span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.attendance-admin__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.attendance-admin__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.attendance-admin__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.attendance-admin__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.attendance-admin__state-button{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:var(--space-5);min-height:40px;padding:0 15px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.attendance-admin__state-button:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary)}.attendance-admin__spinner{animation:attendance-admin-spin .8s linear infinite}@keyframes attendance-admin-spin{to{transform:rotate(1turn)}}.attendance-admin__modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 52%,#0000);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.attendance-admin__modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:26px;width:min(100%,440px)}.attendance-admin__modal-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border-radius:var(--radius-lg);color:var(--color-danger);display:inline-flex;height:50px;justify-content:center;width:50px}.attendance-admin__modal-eyebrow{color:var(--color-danger);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-top:18px;text-transform:uppercase}.attendance-admin__modal h2{color:var(--color-text);font-size:var(--font-size-xl);margin:5px 0 0}.attendance-admin__modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65;margin:10px 0 0}.attendance-admin__modal p strong{color:var(--color-text)}.attendance-admin__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.attendance-admin__modal-cancel,.attendance-admin__modal-confirm{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 16px}.attendance-admin__modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.attendance-admin__modal-cancel:hover{background:var(--color-background-alt)}.attendance-admin__modal-confirm{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-surface)}.attendance-admin__modal-confirm:hover{background:color-mix(in srgb,var(--color-danger) 86%,var(--color-text))}.attendance-admin__header{align-items:flex-start;display:flex;gap:var(--space-4)}.attendance-admin__back{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:7px;justify-content:center;min-height:38px;padding:0 13px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.attendance-admin__back:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-admin__heading{min-width:0}.attendance-admin__heading>span{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.attendance-admin__heading h1{color:var(--color-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;margin:5px 0 0}.attendance-admin__heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0}.attendance-admin__form{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.attendance-admin__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.attendance-admin__section-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.attendance-admin__section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.attendance-admin__section-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.attendance-admin__section-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.attendance-admin__grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.attendance-admin__field{display:flex;flex-direction:column;gap:7px;min-width:0}.attendance-admin__field--full{grid-column:1/-1}.attendance-admin__field>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.attendance-admin__field>label span{color:var(--color-danger)}.attendance-admin__field>small{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.attendance-admin__control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);outline:0;padding:0 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.attendance-admin__control::placeholder{color:var(--color-text-light)}.attendance-admin__control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.attendance-admin__control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}textarea.attendance-admin__control{min-height:108px;padding-bottom:12px;padding-top:12px;resize:vertical}.attendance-admin__attendance-table{border-collapse:collapse;width:100%}.attendance-admin__attendance-table thead{background:var(--color-sidebar)}.attendance-admin__attendance-table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:14px 16px;text-transform:uppercase}.attendance-admin__attendance-table th:first-child{border-top-left-radius:var(--radius-lg)}.attendance-admin__attendance-table th:last-child{border-top-right-radius:var(--radius-lg)}.attendance-admin__attendance-table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:12px 16px;text-align:left;vertical-align:middle}.attendance-admin__attendance-table tbody tr{transition:background-color var(--transition-fast)}.attendance-admin__attendance-table tbody tr:hover{background:var(--color-surface-hover)}.attendance-admin__attendance-table tbody tr:last-child td{border-bottom:0}.attendance-admin__student-avatar{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;flex:0 0 36px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:36px;justify-content:center;width:36px}.attendance-admin__student-info{align-items:center;display:flex;gap:10px}.attendance-admin__student-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.attendance-admin__status-buttons{display:flex;flex-wrap:wrap;gap:4px}.attendance-admin__status-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:5px;justify-content:center;min-height:32px;padding:0 10px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.attendance-admin__status-btn:hover{background:var(--color-background-alt)}.attendance-admin__status-btn--active-present{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.attendance-admin__status-btn--active-absent{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.attendance-admin__status-btn--active-late{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.attendance-admin__status-btn--active-justified{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));border-color:#7c3aed;color:#7c3aed}.attendance-admin__justification{display:flex;max-width:280px;min-width:200px}.attendance-admin__justification textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-xs);min-height:60px;padding:8px 10px;resize:vertical;transition:border-color var(--transition-fast);width:100%}.attendance-admin__justification textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:0}.attendance-admin__notes-input{max-width:200px;min-width:140px}.attendance-admin__notes-input input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-xs);padding:8px 10px;transition:border-color var(--transition-fast);width:100%}.attendance-admin__notes-input input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000);outline:0}.attendance-admin__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:14px;padding:var(--space-5)}.attendance-admin__summary-item{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-lg);display:flex;gap:10px;padding:12px 18px}.attendance-admin__summary-icon{align-items:center;border-radius:var(--radius-md);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.attendance-admin__summary-icon--present{background:var(--color-success-soft);color:var(--color-success)}.attendance-admin__summary-icon--absent{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)}.attendance-admin__summary-icon--late{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-admin__summary-icon--justified{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));color:#7c3aed}.attendance-admin__summary-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.attendance-admin__summary-value{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.attendance-admin__actions-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-surface) 94%,#0000);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-md);display:flex;gap:18px;justify-content:space-between;min-height:76px;padding:13px 16px;position:-webkit-sticky;position:sticky;z-index:10}.attendance-admin__actions-bar>div:first-child{display:flex;flex-direction:column;min-width:0}.attendance-admin__actions-bar strong{color:var(--color-text);font-size:var(--font-size-sm)}.attendance-admin__actions-bar>div:first-child span{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.attendance-admin__action-buttons{align-items:center;display:flex;gap:10px}.attendance-admin__cancel,.attendance-admin__submit{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.attendance-admin__cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.attendance-admin__cancel:hover{background:var(--color-background-alt)}.attendance-admin__submit{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.attendance-admin__submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.attendance-admin__cancel:disabled,.attendance-admin__submit:disabled{cursor:not-allowed;opacity:.65}.attendance-admin__mark-all{align-items:center;background:var(--color-success-soft);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:6px;justify-content:center;min-height:36px;padding:0 12px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.attendance-admin__mark-all:hover{background:var(--color-success);color:var(--color-surface)}.attendance-admin__topbar{align-items:center;display:flex;gap:14px;justify-content:space-between}.attendance-admin__topbar-actions{align-items:center;display:flex;gap:9px}.attendance-admin__edit{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.attendance-admin__edit:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.attendance-admin__delete{align-items:center;background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.attendance-admin__delete:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.attendance-admin__submit-btn{align-items:center;background:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;padding:0 15px;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.attendance-admin__submit-btn:hover{background:color-mix(in srgb,var(--color-success) 86%,var(--color-text));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.attendance-admin__profile{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:28px 30px;position:relative}.attendance-admin__profile:after{border:36px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:230px;pointer-events:none;position:absolute;right:-60px;top:-85px;width:230px}.attendance-admin__profile-main{align-items:center;display:flex;gap:20px;min-width:0;position:relative;z-index:1}.attendance-admin__profile-icon{align-items:center;background:color-mix(in srgb,var(--color-surface) 15%,#0000);border:5px solid color-mix(in srgb,var(--color-surface) 30%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-surface);display:inline-flex;flex:0 0 112px;height:112px;justify-content:center;width:112px}.attendance-admin__identity{min-width:0}.attendance-admin__identity-eyebrow{color:color-mix(in srgb,var(--color-surface) 75%,#0000);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.09em;text-transform:uppercase}.attendance-admin__identity h1{color:var(--color-surface);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:var(--font-weight-bold);letter-spacing:-.035em;margin:7px 0 0;overflow-wrap:anywhere}.attendance-admin__profile-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:330px;position:relative;z-index:1}.attendance-admin__profile-badge{align-items:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 25%,#0000);border-radius:var(--radius-full);color:var(--color-surface);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:30px;padding:0 11px}.attendance-admin__content-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-admin__detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-5)}.attendance-admin__panel-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding-bottom:var(--space-4)}.attendance-admin__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.attendance-admin__panel-header h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.attendance-admin__panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:4px 0 0}.attendance-admin__info-grid{grid-gap:1px;background:var(--color-border-light);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5);overflow:hidden}.attendance-admin__info-item{background:var(--color-surface);min-width:0;padding:15px}.attendance-admin__info-item--full{grid-column:1/-1}.attendance-admin__info-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px}.attendance-admin__info-label svg{color:var(--color-primary)}.attendance-admin__info-item strong{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.55;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}.attendance-admin__stats-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-admin__stat-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;padding:var(--space-5)}.attendance-admin__stat-icon{align-items:center;border-radius:var(--radius-lg);display:inline-flex;flex:0 0 48px;height:48px;justify-content:center;width:48px}.attendance-admin__stat-icon--primary{background:var(--color-primary-soft);color:var(--color-primary)}.attendance-admin__stat-icon--success{background:var(--color-success-soft);color:var(--color-success)}.attendance-admin__stat-icon--danger{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));color:var(--color-danger)}.attendance-admin__stat-icon--warning{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-admin__stat-icon--purple{background:color-mix(in srgb,#7c3aed 12%,var(--color-surface));color:#7c3aed}.attendance-admin__stat-info{min-width:0}.attendance-admin__stat-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.attendance-admin__stat-value{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2;margin-top:2px}.attendance-admin button:focus-visible,.attendance-admin input:focus-visible,.attendance-admin select:focus-visible,.attendance-admin textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,#0000);outline-offset:2px}@media (max-width:1200px){.attendance-admin__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.attendance-admin__toolbar{align-items:stretch;flex-direction:column}.attendance-admin__search{max-width:none}.attendance-admin__toolbar-controls{justify-content:flex-start}}@media (max-width:850px){.attendance-admin__profile{align-items:flex-start;flex-direction:column}.attendance-admin__profile-badges{justify-content:flex-start}.attendance-admin__content-grid{grid-template-columns:1fr}}@media (max-width:720px){.attendance-admin__hero{align-items:flex-start;flex-direction:column;padding:var(--space-5)}.attendance-admin__hero-actions{flex-direction:column;width:100%}.attendance-admin__add-button,.attendance-admin__stats-button{width:100%}.attendance-admin__toolbar-controls{display:grid;grid-template-columns:1fr}.attendance-admin__reset-button,.attendance-admin__select-control{width:100%}.attendance-admin__grid{grid-template-columns:1fr}.attendance-admin__field--full{grid-column:auto}.attendance-admin__stats-grid{grid-template-columns:1fr}.attendance-admin__topbar{align-items:stretch;flex-direction:column}.attendance-admin__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-admin__pagination{align-items:flex-start;flex-direction:column}}@media (max-width:650px){.attendance-admin__topbar{align-items:stretch;flex-direction:column}.attendance-admin__topbar-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-admin__profile{padding:var(--space-5)}.attendance-admin__profile-main{align-items:flex-start;flex-direction:column}.attendance-admin__info-grid{grid-template-columns:1fr}.attendance-admin__info-item--full{grid-column:auto}}@media (max-width:500px){.attendance-admin__detail-panel,.attendance-admin__hero,.attendance-admin__modal,.attendance-admin__panel,.attendance-admin__section,.attendance-admin__toolbar{border-radius:var(--radius-lg)}.attendance-admin__search{min-width:0}.attendance-admin__table td,.attendance-admin__table th{padding-left:14px;padding-right:14px}.attendance-admin__modal-actions{flex-direction:column-reverse}.attendance-admin__back,.attendance-admin__delete,.attendance-admin__edit,.attendance-admin__modal-cancel,.attendance-admin__modal-confirm,.attendance-admin__submit-btn{width:100%}.attendance-admin__topbar-actions{grid-template-columns:1fr}}.attendance-admin__toolbar{align-items:center!important;flex-direction:row!important;justify-content:space-between!important}.attendance-admin__search{flex:0 0 300px!important;max-width:320px!important;min-width:240px!important;width:auto!important}.attendance-admin__toolbar-controls{flex:1 1 auto!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;width:auto!important}.attendance-admin__select-control--custom{background:#0000!important;border:0!important;height:42px!important;min-height:42px!important;min-width:0!important;padding:0!important;position:relative!important;width:100%!important}.attendance-admin__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.attendance-admin__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.attendance-admin__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.attendance-admin__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.attendance-admin__select-value{color:var(--color-text);flex:1 1;font-size:var(--font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-admin__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.attendance-admin__select-control--open .attendance-admin__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-admin__select-control--open .attendance-admin__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.attendance-admin__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:240px;min-width:100%;overflow-x:hidden;overflow-y:auto;padding:6px;position:absolute;right:0;scrollbar-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border)) #0000;scrollbar-width:thin;top:calc(100% + 6px);width:100%;z-index:9999}.attendance-admin__select-menu::-webkit-scrollbar{width:7px}.attendance-admin__select-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.attendance-admin__select-menu::-webkit-scrollbar-track{background:#0000}.attendance-admin__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:flex-start;line-height:1.35;min-height:36px;overflow-wrap:anywhere;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:normal;width:100%}.attendance-admin__select-option:hover{background:var(--color-primary-soft);color:var(--color-primary)}.attendance-admin__select-option--active,.attendance-admin__select-option--active:hover{background:var(--color-primary);color:var(--color-surface)}.attendance-admin__date-control{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:9px;height:42px;min-height:42px;padding:0 10px;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.attendance-admin__date-control:focus-within,.attendance-admin__date-control:hover{background:var(--color-surface);border-color:var(--color-primary)}.attendance-admin__date-control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-admin__date-control input{background:#0000;border:0;color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);height:100%;min-width:0;outline:0;width:100%}.attendance-admin__reset-button{height:42px!important;min-height:42px!important;white-space:nowrap;width:100%!important}.attendance-admin__add-button:hover,.attendance-admin__stats-button:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md);color:var(--color-primary)!important;transform:translateY(-1px)}.attendance-admin__add-button:hover span,.attendance-admin__add-button:hover svg,.attendance-admin__stats-button:hover span,.attendance-admin__stats-button:hover svg{color:var(--color-primary)!important}.attendance-admin__modal-icon--success{background:var(--color-success-soft);color:var(--color-success)}.attendance-admin__modal-eyebrow--success{color:var(--color-success)}.attendance-admin__modal-confirm--success{background:var(--color-success);border-color:var(--color-success);color:var(--color-surface)}.attendance-admin__modal-confirm--success:hover{background:color-mix(in srgb,var(--color-success) 86%,var(--color-text))}.attendance-admin__table thead,.attendance-admin__table thead th,.attendance-admin__table thead tr{background:var(--color-sidebar)!important;background-color:var(--color-sidebar)!important}.attendance-admin__table thead th{border-bottom:1px solid var(--color-primary-hover)!important;color:var(--color-surface)!important}@media (max-width:1250px){.attendance-admin__toolbar{align-items:stretch!important;flex-direction:column!important}.attendance-admin__search{flex:none!important;max-width:none!important;width:100%!important}.attendance-admin__toolbar-controls{width:100%!important}}.attendance-admin__stats-button{background:color-mix(in srgb,var(--color-surface) 14%,#0000)!important;border-color:var(--color-surface)!important;box-shadow:none!important}.attendance-admin__stats-button,.attendance-admin__stats-button span,.attendance-admin__stats-button svg{color:var(--color-surface)!important}.attendance-admin__stats-button:hover{background:var(--color-surface)!important;border-color:var(--color-surface)!important;box-shadow:var(--shadow-md)!important;color:var(--color-primary)!important;transform:translateY(-1px)}.attendance-admin__add-button,.attendance-admin__stats-button:hover span,.attendance-admin__stats-button:hover svg{color:var(--color-primary)!important}.attendance-admin__add-button{background:var(--color-surface)!important;border-color:var(--color-surface)!important}.attendance-admin__add-button span,.attendance-admin__add-button svg{color:var(--color-primary)!important}.attendance-admin__toolbar--stats{overflow:visible!important;position:relative;z-index:30}.attendance-admin__toolbar-controls--stats{grid-gap:8px!important;align-items:center!important;display:grid!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;justify-content:stretch!important;overflow:visible!important;width:100%!important}.attendance-admin__toolbar-controls--stats .attendance-admin__date-control,.attendance-admin__toolbar-controls--stats .attendance-admin__reset-button,.attendance-admin__toolbar-controls--stats .attendance-admin__select-control--custom{height:42px!important;min-height:42px!important;min-width:0!important;width:100%!important}.attendance-admin__stats-grid--overview{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-admin__stats-grid--overview .attendance-admin__stat-card{min-height:104px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.attendance-admin__stats-grid--overview .attendance-admin__stat-card:hover{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:1200px){.attendance-admin__stats-grid--overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.attendance-admin__stats-grid--overview,.attendance-admin__toolbar-controls--stats{grid-template-columns:1fr!important}}.attendance-admin__toolbar{align-items:stretch!important;display:flex!important;flex-direction:column!important;gap:12px!important;justify-content:flex-start!important;overflow:visible!important;position:relative;z-index:30}.attendance-admin__search{flex:none!important;height:44px!important;max-width:none!important;min-height:44px!important;min-width:0!important;width:100%!important}.attendance-admin__toolbar-controls{grid-gap:8px!important;align-items:center!important;display:grid!important;flex:none!important;gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;justify-content:stretch!important;overflow:visible!important;width:100%!important}.attendance-admin__date-control,.attendance-admin__reset-button,.attendance-admin__select-control--custom{height:42px!important;min-height:42px!important;min-width:0!important;width:100%!important}.attendance-admin__date-control input,.attendance-admin__select-button{width:100%!important}.attendance-admin__select-menu{z-index:9999!important}.attendance-admin__toolbar--stats{display:block!important}.attendance-admin__toolbar--stats .attendance-admin__toolbar-controls{width:100%!important}@media (max-width:720px){.attendance-admin__toolbar-controls{grid-template-columns:1fr!important}}.attendance-admin__alert--info{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-admin__alert--warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.attendance-dashboard__section{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.attendance-dashboard__section-heading h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.01em;margin:0}.attendance-dashboard__section-heading p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:4px 0 0}.attendance-dashboard__grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.attendance-dashboard__grid--charts{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-dashboard__panel{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5)}.attendance-dashboard__panel-heading{align-items:flex-start;display:flex;gap:12px;min-width:0}.attendance-dashboard__panel-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.attendance-dashboard__panel-heading h2{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.attendance-dashboard__panel-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:3px 0 0}.attendance-admin__stat-card--button{color:inherit;cursor:pointer;font-family:inherit;text-align:left;width:100%}.attendance-admin__stat-card--button:hover{border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.attendance-dashboard__single-class{grid-gap:16px;background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);display:grid;gap:16px;padding:22px}.attendance-dashboard__single-class p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0}.attendance-dashboard__single-class p strong{color:var(--color-text)}.attendance-dashboard__single-class-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.attendance-dashboard__single-class-summary>div{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:14px}.attendance-dashboard__single-class-summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.attendance-dashboard__single-class-summary dd{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:4px 0 0}.attendance-chart{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.attendance-chart__figure{margin:0;min-width:0;position:relative}.attendance-chart__sr-only{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.attendance-chart__donut-center{align-items:center;display:flex;flex-direction:column;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.attendance-chart__donut-value{color:var(--color-text);font-size:1.75rem;font-weight:var(--font-weight-bold);line-height:1.1}.attendance-chart__donut-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.attendance-chart__empty{background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0;padding:26px 18px;text-align:center}.attendance-chart__legend{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.attendance-chart__legend-item{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:7px;min-height:34px;padding:0 11px;transition:border-color var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.attendance-chart__legend-item:hover{background:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px)}.attendance-chart__legend-dot{border-radius:50%;flex:0 0 9px;height:9px;width:9px}.attendance-chart__legend-count{color:var(--color-text);font-weight:var(--font-weight-bold);margin-left:2px}.attendance-chart__legend-pct{color:var(--color-text-muted)}.attendance-chart__legend--toggle .attendance-chart__legend-item{background:var(--color-background-alt)}.attendance-chart__legend--toggle .attendance-chart__legend-item--muted{opacity:.45}.attendance-chart__legend--toggle .attendance-chart__legend-item--active{background:var(--color-primary-soft);border-color:var(--color-primary)}.attendance-chart__tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:150px;padding:11px 13px}.attendance-chart__tooltip-title{color:var(--color-text);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-bottom:6px}.attendance-chart__tooltip-row{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:7px}.attendance-chart__tooltip-row+.attendance-chart__tooltip-row{margin-top:5px}.attendance-chart__tooltip-dot{border-radius:50%;flex:0 0 8px;height:8px;width:8px}.attendance-chart__tooltip-metrics{align-items:baseline;display:flex;gap:6px;margin-top:5px}.attendance-chart__tooltip-value{color:var(--color-text);font-weight:var(--font-weight-bold)}.attendance-chart__tooltip-muted,.attendance-chart__tooltip-pct{color:var(--color-text-muted)}.attendance-chart__tabs{align-self:flex-start;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px}.attendance-chart__tab{background:#0000;border:0;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 13px;transition:background-color var(--transition-fast),color var(--transition-fast)}.attendance-chart__tab:hover{color:var(--color-primary)}.attendance-chart__tab--active,.attendance-chart__tab--active:hover{background:var(--color-primary);color:var(--color-surface)}.attendance-chart__toggle-more{align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 12px;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.attendance-chart__toggle-more:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.attendance-risk{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-risk__panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.attendance-risk__title{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.attendance-risk__rows{grid-gap:8px;display:grid;gap:8px;max-height:330px;overflow-y:auto;padding-right:4px;scrollbar-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border)) #0000;scrollbar-width:thin}.attendance-risk__rows::-webkit-scrollbar{width:7px}.attendance-risk__rows::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.attendance-risk__rows::-webkit-scrollbar-track{background:#0000}.attendance-risk__row{grid-gap:10px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:inherit;cursor:pointer;display:grid;font-family:inherit;gap:10px;grid-template-columns:26px 1fr auto;padding:10px 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);width:100%}.attendance-risk__row:hover{background:var(--color-primary-soft);border-color:var(--color-primary);transform:translateY(-1px)}.attendance-risk__rank{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:24px;justify-content:center;width:24px}.attendance-risk__main{grid-gap:7px;display:grid;gap:7px;min-width:0}.attendance-risk__name{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-risk__bar{background:var(--color-border-light);border-radius:999px;height:5px;overflow:hidden}.attendance-risk__bar-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));border-radius:999px;display:block;height:100%}.attendance-risk__metrics{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.attendance-risk__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.attendance-risk__pct{color:var(--color-text-muted);font-size:var(--font-size-xs)}.attendance-details__backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:color-mix(in srgb,var(--color-text) 46%,#0000);display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1100}.attendance-details__drawer{animation:attendance-details-slide-in .22s ease-out;background:var(--color-surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;width:min(100%,580px)}@keyframes attendance-details-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.attendance-details__header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;padding:22px 24px 16px}.attendance-details__heading{min-width:0}.attendance-details__eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.attendance-details__heading h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:5px 0 0}.attendance-details__heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.5;margin:5px 0 0}.attendance-details__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);width:36px}.attendance-details__close:hover{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.attendance-details__toolbar{align-items:center;background:var(--color-background-alt);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:10px;padding:14px 24px}.attendance-details__search{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1;gap:9px;max-width:340px;min-height:40px;min-width:220px;padding:0 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.attendance-details__search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.attendance-details__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:0;outline:0;width:100%}.attendance-details__search input::placeholder{color:var(--color-text-light)}.attendance-details__status-filter{align-items:center;display:inline-flex;gap:8px}.attendance-details__status-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.attendance-details__status-filter select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:var(--font-size-sm);min-height:40px;min-width:140px;padding:0 10px}.attendance-details__count{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-left:auto}.attendance-details__body{flex:1 1;min-width:0;overflow-y:auto}.attendance-details__state{min-height:240px}.attendance-details__table-scroll{min-width:0;overflow-x:auto}.attendance-details__table{min-width:860px}.attendance-details__pagination{flex:0 0 auto}.attendance-details__chips{display:flex;flex-wrap:wrap;gap:5px}.attendance-details__chip{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);gap:4px;padding:3px 8px}.attendance-details__chip-dot{border-radius:50%;height:7px;width:7px}.attendance-details__chip strong{color:var(--color-text-secondary)}.attendance-details__student-name{color:var(--color-text);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-details__muted{color:var(--color-text-muted)}.attendance-skeleton{animation:attendance-skeleton-shimmer 1.3s ease-in-out infinite;background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-surface-hover) 37%,var(--color-border-light) 63%);background-size:400% 100%;border-radius:var(--radius-md)}@keyframes attendance-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.attendance-skeleton__dashboard{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.attendance-skeleton__cards{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-skeleton__card{align-items:center;display:flex;gap:14px;min-height:104px;padding:var(--space-5)}.attendance-skeleton__icon{border-radius:var(--radius-lg);flex:0 0 48px;height:48px;width:48px}.attendance-skeleton__card-lines{grid-gap:8px;display:grid;flex:1 1;gap:8px}.attendance-skeleton__line{height:12px}.attendance-skeleton__line--sm{width:45%}.attendance-skeleton__line--lg{height:20px;width:70%}.attendance-skeleton__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-skeleton__grid,.attendance-skeleton__panel{grid-gap:var(--space-5);display:grid;gap:var(--space-5)}.attendance-skeleton__panel{padding:var(--space-5)}.attendance-skeleton__panel-title{height:18px;width:45%}.attendance-skeleton__chart{border-radius:var(--radius-lg);height:280px}.attendance-skeleton__chart--donut{border-radius:50%;height:220px;justify-self:center;width:220px}@media (max-width:1200px){.attendance-skeleton__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.attendance-dashboard__grid--charts,.attendance-risk,.attendance-skeleton__grid{grid-template-columns:1fr}}@media (max-width:720px){.attendance-dashboard__single-class-summary,.attendance-skeleton__cards{grid-template-columns:1fr}.attendance-details__toolbar{padding-left:16px;padding-right:16px}.attendance-details__search{flex-basis:100%;max-width:none;min-width:0}.attendance-details__count{margin-left:0}}.attendance-admin__control{box-sizing:border-box;height:44px;min-height:44px}textarea.attendance-admin__control{height:auto}.attendance-form-select{min-width:0;position:relative;width:100%}.attendance-form-select__trigger{grid-gap:8px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:grid;font:inherit;font-size:var(--font-size-sm);gap:8px;grid-template-columns:minmax(0,1fr) 26px;height:44px;min-height:44px;outline:0;padding:0 10px 0 13px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.attendance-form-select__trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border))}.attendance-form-select--open .attendance-form-select__trigger,.attendance-form-select__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.attendance-form-select--error .attendance-form-select__trigger{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.attendance-form-select--disabled .attendance-form-select__trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.attendance-form-select__value{color:var(--color-text);font-weight:var(--font-weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-form-select__value--placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-regular)}.attendance-form-select__chevron{color:var(--color-text-muted);justify-self:end;transition:color var(--transition-fast),transform var(--transition-fast)}.attendance-form-select--open .attendance-form-select__chevron{color:var(--color-primary);transform:rotate(180deg)}.attendance-form-select__menu{grid-gap:4px;animation:attendance-form-select-open .14s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 18px 45px #0f172a29,0 3px 10px #0f172a14;box-sizing:border-box;display:grid;gap:4px;max-height:280px;max-width:none;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:6px;width:auto;z-index:20000}.attendance-form-select__option{align-items:center;background:#0000;border:0;border-radius:8px;box-sizing:border-box;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);gap:10px;justify-content:space-between;min-height:39px;padding:8px 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.attendance-form-select__option>span{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-form-select__option:focus-visible,.attendance-form-select__option:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:0}.attendance-form-select__option--selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}@keyframes attendance-form-select-open{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.attendance-form-date{min-width:0;position:relative;width:100%;z-index:4}.attendance-form-date--open{z-index:100}.attendance-form-date__trigger{grid-gap:9px;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:9px;grid-template-columns:32px minmax(0,1fr) 30px;height:44px;min-height:44px;outline:0;padding:4px 7px 4px 8px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);width:100%}.attendance-form-date__trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border))}.attendance-form-date--open .attendance-form-date__trigger,.attendance-form-date__trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,#0000)}.attendance-form-date--error .attendance-form-date__trigger{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)}.attendance-form-date__icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.attendance-form-date__copy{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.attendance-form-date__caption{color:var(--color-text-muted);font-size:.5625rem;font-weight:var(--font-weight-semibold);letter-spacing:.035em;line-height:1.1;text-transform:uppercase}.attendance-form-date__placeholder,.attendance-form-date__value{font-size:var(--font-size-sm);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-form-date__value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.attendance-form-date__placeholder{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.attendance-form-date__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.attendance-form-date--open .attendance-form-date__chevron{transform:rotate(180deg)}.attendance-form-date__calendar{animation:attendance-form-date-open .16s ease-out;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));border-radius:16px;box-shadow:0 24px 58px #0f172a2e,0 3px 10px #0f172a12;box-sizing:border-box;left:0;max-width:100%;min-width:100%;overflow:hidden;position:absolute;right:0;top:calc(100% + 9px);width:100%;z-index:200}.attendance-form-date__top{align-items:center;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:64px;padding:12px 14px}.attendance-form-date__top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.attendance-form-date__top span{color:var(--color-primary);font-size:.625rem;font-weight:var(--font-weight-bold);letter-spacing:.055em;text-transform:uppercase}.attendance-form-date__top strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-form-date__close{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;padding:0;width:34px}.attendance-form-date__close:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-form-date__navigation{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:38px 1fr 38px;padding:12px 14px 10px}.attendance-form-date__navigation>strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center}.attendance-form-date__navigation button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0;width:38px}.attendance-form-date__navigation button:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.attendance-form-date__days,.attendance-form-date__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.attendance-form-date__weekdays{margin-bottom:3px;padding:0 12px}.attendance-form-date__weekdays span{align-items:center;color:var(--color-text-muted);display:flex;font-size:.625rem;font-weight:var(--font-weight-bold);height:28px;justify-content:center;text-transform:uppercase}.attendance-form-date__days{gap:3px;padding:0 12px 12px}.attendance-form-date__day{align-items:center;aspect-ratio:1;background:#0000;border:0;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);justify-content:center;min-width:0;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.attendance-form-date__day:hover{background:var(--color-primary-soft);color:var(--color-primary);transform:translateY(-1px)}.attendance-form-date__day--outside{color:var(--color-text-light);opacity:.48}.attendance-form-date__day--today:not(.attendance-form-date__day--selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 38%,#0000);color:var(--color-primary);font-weight:var(--font-weight-bold)}.attendance-form-date__day--selected{background:var(--color-primary);box-shadow:0 7px 15px color-mix(in srgb,var(--color-primary) 26%,#0000);color:var(--color-surface);font-weight:var(--font-weight-bold)}.attendance-form-date__footer{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:10px 14px}.attendance-form-date__footer span{color:var(--color-text-muted);font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-form-date__footer button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:32px;padding:0 11px}@keyframes attendance-form-date-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:720px){.attendance-form-date__calendar{margin-top:9px;position:relative;top:auto}}.result-stats{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.result-stats__alert{align-items:center;background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;min-height:48px;padding:11px 14px}.result-stats__toolbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:14px;justify-content:space-between;min-width:0;padding:14px;position:relative;z-index:8}.result-stats__filters{grid-gap:10px;display:grid;flex:1 1;gap:10px;grid-template-columns:repeat(3,minmax(190px,1fr));min-width:0}.result-stats__select-control--custom{min-width:180px;position:relative}.result-stats__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.result-stats__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.result-stats__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.result-stats__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.result-stats__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-stats__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.result-stats__select-control--open .result-stats__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.result-stats__select-control--open .result-stats__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.result-stats__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.result-stats__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.result-stats__select-option.sd__option--highlighted,.result-stats__select-option:focus-visible,.result-stats__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.result-stats__select-option--active,.result-stats__select-option--active.sd__option--highlighted,.result-stats__select-option--active:focus-visible,.result-stats__select-option--active:hover{background:var(--color-primary);color:#fff}.result-stats__reset{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:44px;padding:0 14px}.result-stats__reset:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.result-stats__reset:disabled{cursor:not-allowed;opacity:.55}.result-stats__cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.result-stats__card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;gap:13px;min-width:0;padding:17px}.result-stats__card>.result-stats__card-icon{align-self:center;background:var(--color-primary-soft);border-radius:var(--radius-lg);color:var(--color-primary);display:grid;flex:0 0 42px;height:42px;line-height:0;margin:0;min-height:42px;min-width:42px;padding:0;place-items:center;width:42px}.result-stats__card>.result-stats__card-icon>svg{display:block;flex-shrink:0;height:22px;margin:0;padding:0;width:22px}.result-stats__card--success>.result-stats__card-icon{background:var(--color-success-soft);color:var(--color-success)}.result-stats__card--info>.result-stats__card-icon{background:var(--color-info-soft);color:var(--color-info)}.result-stats__card--warning>.result-stats__card-icon{background:var(--color-warning-soft);color:var(--color-warning)}.result-stats__card>div{flex:1 1;min-width:0}.result-stats__card>div>p,.result-stats__card>div>span{color:var(--color-text-muted);display:block;font-size:var(--font-size-xs);margin:0}.result-stats__card>div>strong{color:var(--color-text);display:block;font-size:1.35rem;letter-spacing:-.025em;margin:3px 0 4px}.result-stats__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}.result-stats__panel-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;justify-content:space-between;padding:16px 18px}.result-stats__panel-title{align-items:center;display:flex;gap:11px;min-width:0}.result-stats__panel-icon{background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:grid;flex:0 0 36px;height:36px;line-height:0;place-items:center;width:36px}.result-stats__panel-icon svg{display:block}.result-stats__panel-title h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.result-stats__panel-title p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:3px 0 0}.result-stats__table-wrap{overflow-x:auto;width:100%}.result-stats__table{border-collapse:collapse;min-width:860px;width:100%}.result-stats__table td,.result-stats__table th{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:12px 16px;text-align:left;white-space:nowrap}.result-stats__table th{background:var(--color-surface-secondary);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.03em;text-transform:uppercase}.result-stats__table tbody tr:hover{background:var(--color-table-row-hover)}.result-stats__table tbody tr:last-child td{border-bottom:0}.result-stats__row-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.result-stats__grade-pill{align-items:center;background:var(--color-primary-lighter);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-weight:var(--font-weight-bold);justify-content:center;min-width:78px;padding:5px 8px}.result-stats__metric-cell{grid-gap:5px;display:grid;gap:5px;min-width:105px}.result-stats__metric-cell>span:first-child{color:var(--color-text);font-weight:var(--font-weight-semibold)}.result-stats__mini-track{background:var(--color-background-alt);border-radius:var(--radius-full);display:block;height:5px;overflow:hidden;width:100%}.result-stats__mini-fill{background:var(--color-primary);border-radius:inherit;display:block;height:100%}.result-stats__mini-fill--success{background:var(--color-success)}.result-stats__distribution{grid-gap:12px;display:grid;gap:12px;padding:18px}.result-stats__distribution-row{grid-gap:12px;align-items:center;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-sm);gap:12px;grid-template-columns:86px minmax(120px,1fr) 42px 58px}.result-stats__distribution-label{color:var(--color-text);font-weight:var(--font-weight-medium)}.result-stats__distribution-track{background:var(--color-background-alt);border-radius:var(--radius-full);height:10px;overflow:hidden}.result-stats__distribution-fill{background:var(--color-primary);border-radius:inherit;display:block;height:100%;min-width:0}.result-stats__distribution-row strong{color:var(--color-text);text-align:right}.result-stats__distribution-row>span:last-child{color:var(--color-text-muted);text-align:right}.result-stats__empty,.result-stats__empty-small{align-items:center;color:var(--color-text-muted);display:flex;justify-content:center;text-align:center}.result-stats__empty{background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);flex-direction:column;min-height:320px;padding:42px 24px}.result-stats__empty-icon{background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:grid;height:66px;line-height:0;place-items:center;width:66px}.result-stats__empty-icon svg{display:block}.result-stats__empty h2{color:var(--color-text);font-size:var(--font-size-xl);margin:15px 0 6px}.result-stats__empty p{line-height:1.6;margin:0;max-width:560px}.result-stats__empty-small{flex-direction:column;gap:9px;min-height:190px;padding:24px}.result-stats__empty-small p{margin:0}.result-stats__refreshing{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:-8px;text-align:right}.result-stats__loading{grid-gap:14px;display:grid;gap:14px}.result-stats__loading-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.result-stats__skeleton{animation:result-stats-shimmer 1.35s linear infinite;background:linear-gradient(90deg,var(--color-background-alt) 25%,var(--color-surface-hover) 50%,var(--color-background-alt) 75%);background-size:200% 100%;border-radius:var(--radius-xl);display:block}.result-stats__skeleton--card{height:108px}.result-stats__skeleton--panel{height:250px}@keyframes result-stats-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:1100px){.result-stats__cards,.result-stats__loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-stats__filters{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media (max-width:720px){.result-stats__toolbar{align-items:stretch;flex-direction:column}.result-stats__filters{grid-template-columns:1fr}.result-stats__reset{width:100%}.result-stats__distribution-row{gap:8px;grid-template-columns:72px minmax(90px,1fr) 34px 52px}}@media (max-width:520px){.result-stats__cards,.result-stats__loading-grid{grid-template-columns:1fr}.result-stats__distribution,.result-stats__panel-header{padding:14px}.result-stats__distribution-row{grid-template-columns:64px 1fr 30px}.result-stats__distribution-row>span:last-child{display:none}}.transport-page{grid-gap:20px;gap:20px;width:100%}.transport-page__form-card,.transport-page__hero,.transport-page__panel{background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-card)}.transport-page__hero{border-radius:var(--radius-lg);gap:18px;padding:22px 24px}.transport-page__eyebrow{color:var(--color-primary);display:block;font-size:var(--font-size-xs);margin-bottom:5px}.transport-page__form-header h1,.transport-page__hero h1{color:var(--color-text);font-size:var(--font-size-2xl);line-height:1.2;margin:0}.transport-page__form-header p,.transport-page__hero p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:7px 0 0}.transport-page__back-button,.transport-page__cancel-button,.transport-page__icon-button,.transport-page__primary-button,.transport-page__secondary-button,.transport-page__submit-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:var(--transition-fast)}.transport-page__primary-button,.transport-page__submit-button{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff;padding:0 15px}.transport-page__primary-button:hover,.transport-page__submit-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.transport-page__back-button,.transport-page__cancel-button,.transport-page__secondary-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:0 14px}.transport-page__back-button:hover,.transport-page__cancel-button:hover,.transport-page__secondary-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.transport-page__stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.transport-page__stat{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;gap:14px;min-height:100px;padding:18px;transition:box-shadow .15s ease,border-color .15s ease}.transport-page__stat-icon{background:var(--color-primary-lighter);border-radius:12px;color:var(--color-primary);display:grid;flex:0 0 44px;height:44px;place-items:center;width:44px}.transport-page__stat strong{color:var(--color-text);display:block;font-size:1.45rem}.transport-page__stat span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.transport-page__stat:hover{border-color:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.transport-page__quick-links{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.transport-page__quick-link{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:var(--color-text);display:flex;gap:11px;min-height:72px;padding:14px 15px;text-decoration:none}.transport-page__quick-link:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary-soft)}.transport-page__quick-link svg{color:var(--color-primary)}.transport-page__panel{border-radius:var(--radius-lg)}.transport-page__controls{grid-gap:12px;border-bottom:1px solid var(--color-border-light);display:grid;gap:12px;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(170px,220px));padding:16px}.transport-page__search{position:relative}.transport-page__search svg{color:var(--color-text-muted);left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.transport-page input,.transport-page select,.transport-page textarea{background:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font:inherit;outline:none;transition:var(--transition-fast);width:100%}.transport-page input,.transport-page select{min-height:42px;padding:0 12px}.transport-page__search input{padding-left:39px}.transport-page textarea{min-height:120px;padding:11px 12px;resize:vertical}.transport-page input:focus,.transport-page select:focus,.transport-page textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2f5f981c}.transport-page__table-wrap{overflow-x:auto;width:100%}.transport-page__table th{background:var(--color-table-header);color:var(--color-table-header-text);font-weight:var(--font-weight-semibold);letter-spacing:.025em;padding:12px 15px;text-align:left}.transport-page__table td{padding:13px 15px;vertical-align:middle}.transport-page__table tbody tr:hover{background:var(--color-table-row-hover)}.transport-page__muted{color:var(--color-text-muted)}.transport-page__icon-button{color:var(--color-text-secondary);min-height:36px;width:36px}.transport-page__icon-button:hover{border-color:var(--color-primary-soft);color:var(--color-primary)}.transport-page__status{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-height:26px;padding:0 9px}.transport-page__status--active{background:var(--status-active-bg);color:var(--status-active)}.transport-page__status--inactive{background:var(--status-inactive-bg);color:var(--status-inactive)}.transport-page__empty,.transport-page__error,.transport-page__loading{align-items:center;color:var(--color-text-muted);display:flex;gap:9px;justify-content:center;min-height:180px;padding:24px;text-align:center}.transport-page__error{background:var(--color-danger-light);border:1px solid #c44f5a40;border-radius:var(--radius-md);color:var(--color-danger);justify-content:flex-start;min-height:auto}.transport-page__pagination{border-top:1px solid var(--color-border-light);font-size:var(--font-size-sm);gap:12px;padding:14px 16px}.transport-page__pagination button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.transport-page__pagination button:disabled{cursor:not-allowed;opacity:.45}.transport-page__form-alert{align-items:flex-start;background:color-mix(in srgb,var(--color-danger) 7%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-lg);box-shadow:0 8px 22px #0000000d;display:flex;gap:12px;padding:14px 16px}.transport-page__form-alert-icon{align-items:center;background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border-radius:10px;color:var(--color-danger);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.transport-page__form-alert-content{flex:1 1;min-width:0}.transport-page__form-alert-content strong{color:var(--color-danger);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.transport-page__form-alert-content p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.55;margin:4px 0 0}.transport-page__form-alert-content ul{grid-gap:5px;color:var(--color-text-secondary);display:grid;font-size:var(--font-size-xs);gap:5px;line-height:1.5;margin:9px 0 0;padding-left:18px}.transport-page__form-alert-close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;padding:0;width:30px}.transport-page__form-alert-close:focus-visible,.transport-page__form-alert-close:hover{background:color-mix(in srgb,var(--color-danger) 10%,#0000);outline:0}.transport-page__field input[aria-invalid=true],.transport-page__field select[aria-invalid=true],.transport-page__field textarea[aria-invalid=true],.transport-page__form-control--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 10%,#0000)}.transport-page__field input[aria-invalid=true]:focus,.transport-page__field select[aria-invalid=true]:focus,.transport-page__field textarea[aria-invalid=true]:focus,.transport-page__form-control--error:focus{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 13%,#0000)!important}.transport-page__form-shell{grid-gap:16px;display:grid;gap:16px;max-width:900px}.transport-page__back-button{justify-self:start}.transport-page__form-card{border-radius:var(--radius-lg);overflow:hidden}.transport-page__form-header{border-bottom:1px solid var(--color-border-light);padding:20px 22px}.transport-page__form-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));padding:22px}.transport-page__field{grid-gap:7px;display:grid;gap:7px}.transport-page__field--full{grid-column:1/-1}.transport-page__field label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.transport-page__field label span{color:var(--color-danger)}.transport-page__field-error{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.45}.transport-page__form-actions{background:var(--color-surface-secondary);border-top:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:flex-end;padding:16px 22px}.transport-page__spinner{animation:transport-spin .8s linear infinite}@keyframes transport-spin{to{transform:rotate(1turn)}}@media (max-width:1050px){.transport-page__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-page__quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}.transport-page__charts-grid{grid-template-columns:1fr}.transport-page__chart-pie-row{align-items:stretch;flex-direction:column}.transport-page__pie-legend{flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center;padding-left:0}.transport-page__controls{grid-template-columns:1fr 1fr}.transport-page__search{grid-column:1/-1}}@media (max-width:680px){.transport-page__hero{align-items:stretch;flex-direction:column}.transport-page__primary-button{align-self:flex-start}.transport-page__charts-grid,.transport-page__controls,.transport-page__form-grid,.transport-page__quick-links,.transport-page__stats{grid-template-columns:1fr}.transport-page__field--full,.transport-page__search{grid-column:auto}.transport-page__pagination{align-items:flex-start;flex-direction:column}.transport-page__form-actions{flex-direction:column-reverse}.transport-page__cancel-button,.transport-page__submit-button{width:100%}}.transport-page__staff-label-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.transport-page__staff-count{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.transport-page__staff-selector{background:var(--color-input-background);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-fast)}.transport-page__staff-selector:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2f5f981c}.transport-page__staff-selector--error{border-color:var(--color-danger)}.transport-page__staff-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;overflow-y:auto;padding:10px}.transport-page__staff-option{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;min-width:0;padding:10px 11px;transition:var(--transition-fast)}.transport-page__staff-option:hover{background:var(--color-primary-bg-subtle);border-color:var(--color-primary-soft)}.transport-page__staff-option--selected{background:var(--color-primary-lighter);border-color:var(--color-primary-soft)}.transport-page__staff-option input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.transport-page__staff-checkbox{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:#fff;display:grid;flex:0 0 22px;height:22px;place-items:center;width:22px}.transport-page__staff-option--selected .transport-page__staff-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.transport-page__staff-person{grid-gap:2px;display:grid;gap:2px;min-width:0}.transport-page__staff-person small,.transport-page__staff-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__staff-person strong{color:var(--color-text);font-size:var(--font-size-sm)}.transport-page__staff-person small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.transport-page__staff-empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:8px;justify-content:center;min-height:86px;padding:16px;text-align:center}.transport-page__staff-chips{display:flex;flex-wrap:wrap;gap:5px}.transport-page__staff-chip{align-items:center;background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);max-width:190px;min-height:25px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.transport-page__table--buses{min-width:1020px}@media (max-width:680px){.transport-page__staff-options{grid-template-columns:1fr}}.transport-page__driver-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-column:1/-1;min-width:0;padding:18px}.transport-page__driver-section-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.transport-page__driver-section-heading{align-items:center;display:flex;gap:11px;min-width:0}.transport-page__driver-section-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.transport-page__driver-section-heading>div{min-width:0}.transport-page__driver-section-heading h2{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.transport-page__driver-section-heading p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:3px 0 0}.transport-page__driver-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:10px}.transport-page__driver-count{color:var(--color-text-muted);white-space:nowrap}.transport-page__add-driver,.transport-page__driver-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.transport-page__add-driver{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-surface);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:inherit;gap:7px;justify-content:center;min-height:38px;padding:0 14px;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.transport-page__add-driver:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.transport-page__add-driver:disabled{cursor:not-allowed;opacity:.5}.transport-page__driver-relation-error{background:color-mix(in srgb,var(--color-danger) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 55%,var(--color-border));border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.45;margin-top:14px;padding:10px 12px}.transport-page__driver-list{grid-gap:14px;display:grid;gap:14px;margin-top:18px}.transport-page__driver-card{background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:16px}.transport-page__driver-card-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:14px;justify-content:space-between;padding-bottom:13px}.transport-page__driver-card-title{align-items:center;display:flex;gap:10px;min-width:0}.transport-page__driver-card-title>span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 38px;height:38px;justify-content:center;width:38px}.transport-page__driver-card-title>div{display:flex;flex-direction:column;min-width:0}.transport-page__driver-card-title strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.transport-page__driver-card-title small{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:2px}.transport-page__remove-driver{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;transition:border-color var(--transition-fast),background-color var(--transition-fast),opacity var(--transition-fast);width:36px}.transport-page__remove-driver:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-color:var(--color-danger)}.transport-page__remove-driver:disabled{cursor:not-allowed;opacity:.4}.transport-page__driver-card-body{margin-top:15px}.transport-page__driver-card-body .transport-page__field{width:100%}.transport-page__driver-empty{background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin-top:18px}.transport-page__select{min-width:0;position:relative;width:100%;z-index:4}.transport-page__select--open{z-index:140}.transport-page__select-trigger{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;height:42px;justify-content:space-between;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.transport-page__select-trigger:hover:not(:disabled){background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.transport-page__select--open .transport-page__select-trigger,.transport-page__select-trigger:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.transport-page__select-trigger--error{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface));border-color:var(--color-danger)!important}.transport-page__select--open .transport-page__select-trigger--error,.transport-page__select-trigger--error:focus-visible{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 13%,#0000)!important}.transport-page__select-placeholder{color:var(--color-text-light)}.transport-page__select-chevron{flex:0 0 auto}.transport-page__select--open .transport-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.transport-page__select-menu{box-sizing:border-box;display:flex;flex-direction:column;max-height:280px;max-width:100%;overflow:hidden;width:100%;z-index:160}.transport-page__select-search-wrapper{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:6px;margin-bottom:4px;padding:0 6px 6px}.transport-page__select-search-icon{color:var(--color-text-muted);flex:0 0 auto;pointer-events:none;position:static}.transport-page__select-search{background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:0!important;min-width:0;outline:0!important;padding:6px 0!important;width:100%}.transport-page__select-search:focus,.transport-page__select-search:focus-visible,.transport-page__select-search:hover{background:#0000!important;border:0!important;box-shadow:none!important;outline:0!important}.transport-page__select-search::placeholder{color:var(--color-text-light)}.transport-page__select-search::-webkit-search-cancel-button{-webkit-appearance:none}.transport-page__select-options{overflow-y:auto;overscroll-behavior:contain}.transport-page__select-options,.transport-page__select-options li{list-style:none;margin:0;padding:0}.transport-page__select-empty{color:var(--color-text-muted);font-size:var(--font-size-xs);padding:12px;text-align:center}.transport-page__select-option{font:inherit;gap:10px;justify-content:space-between}.transport-page__select-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__select-option--active:not(.transport-page__select-option--selected),.transport-page__select-option:focus-visible:not(:disabled),.transport-page__select-option:hover:not(:disabled){background:var(--color-primary);color:#fff;outline:0}.transport-page__select-option--selected,.transport-page__select-option--selected:focus-visible,.transport-page__select-option--selected:hover{background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold)}.transport-page__select-option:disabled{cursor:not-allowed;opacity:.42}.transport-page__select-option svg{color:currentColor;flex:0 0 auto}.transport-page__select--disabled .transport-page__select-trigger{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@media (max-width:720px){.transport-page__driver-section-header{align-items:flex-start;flex-direction:column}.transport-page__driver-header-actions{justify-content:space-between;width:100%}}@media (max-width:480px){.transport-page__driver-card,.transport-page__driver-section{border-radius:var(--radius-lg);padding:14px}.transport-page__driver-header-actions{align-items:stretch;flex-direction:column}.transport-page__add-driver{width:100%}.transport-page__driver-card-title small{white-space:normal}}.transport-page__controls--assignments{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(150px,200px))}.transport-page__input-with-icon,.transport-page__textarea-with-icon{min-width:0;position:relative;width:100%}.transport-page__input-with-icon>svg,.transport-page__textarea-with-icon>svg{color:var(--color-text-muted);left:13px;pointer-events:none;position:absolute;z-index:2}.transport-page__input-with-icon>svg{top:50%;transform:translateY(-50%)}.transport-page__textarea-with-icon>svg{top:13px}.transport-page__input-with-icon>input,.transport-page__input-with-icon>select,.transport-page__textarea-with-icon>textarea{padding-left:40px}.transport-page__field-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.transport-page__optional-label{color:var(--color-text-muted)!important;font-weight:var(--font-weight-medium)}.transport-page__table--assignments{min-width:1250px}.transport-page__table--buses{min-width:1450px}.transport-page__table--bus-students{min-width:1120px}.transport-page__address-cell{line-height:1.45;max-width:360px;min-width:230px;white-space:normal}.transport-page__address-value{align-items:flex-start;display:inline-flex;gap:7px}.transport-page__address-value svg{color:var(--color-primary);flex:0 0 auto;margin-top:2px}.transport-page__contact-list{grid-gap:5px;display:grid;gap:5px;min-width:150px}.transport-page__contact-item{grid-gap:2px;display:grid;gap:2px}.transport-page__contact-item strong{color:var(--color-text);font-size:var(--font-size-xs)}.transport-page__contact-item span{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);gap:5px}.transport-page__capacity-cell{grid-gap:2px;display:grid;gap:2px;white-space:nowrap}.transport-page__capacity-cell strong{color:var(--color-text)}.transport-page__capacity-cell small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.transport-page__students-cell{max-width:520px;min-width:390px;white-space:normal}.transport-page__bus-students{grid-gap:8px;display:grid;gap:8px}.transport-page__bus-student{grid-gap:3px;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:grid;gap:3px;padding:8px 10px}.transport-page__bus-student-heading{align-items:center;display:flex;gap:8px;justify-content:space-between}.transport-page__bus-student-heading strong{color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__bus-student small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4}.transport-page__bus-student .transport-page__status{font-size:.625rem;min-height:22px;padding:0 7px}.transport-page__actions--wrap{flex-wrap:wrap;min-width:80px}.transport-page__detail-hero{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:20px;justify-content:space-between;padding:22px 24px}.transport-page__detail-hero-main{align-items:flex-start;display:flex;gap:16px;min-width:0}.transport-page__detail-hero-main>div{min-width:0}.transport-page__detail-hero h1{color:var(--color-text);font-size:var(--font-size-2xl);line-height:1.2;margin:0}.transport-page__detail-hero p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:7px 0 0}.transport-page__detail-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.transport-page__detail-summary{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.transport-page__detail-stat{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;gap:12px;min-width:0;padding:17px 18px}.transport-page__detail-stat>span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.transport-page__detail-stat>div{grid-gap:2px;display:grid;gap:2px;min-width:0}.transport-page__detail-stat small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.transport-page__detail-stat strong{color:var(--color-text);font-size:var(--font-size-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__detail-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.transport-page__detail-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;padding:18px}.transport-page__detail-table{border-collapse:collapse;margin-top:14px;width:100%}.transport-page__detail-table td{border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);padding:9px 12px;vertical-align:top}.transport-page__detail-table tr:last-child td{border-bottom:none}.transport-page__detail-table td:first-child{color:var(--color-text-muted);font-weight:500;white-space:nowrap;width:40%}.transport-page__detail-table td:last-child{color:var(--color-text)}.transport-page__detail-card-heading{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:11px;padding-bottom:14px}.transport-page__detail-card-heading>span{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 38px;height:38px;justify-content:center;width:38px}.transport-page__detail-card-heading h2,.transport-page__students-panel-header h2{color:var(--color-text);font-size:var(--font-size-md);margin:0}.transport-page__detail-card-heading p,.transport-page__students-panel-header p{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45;margin:4px 0 0}.transport-page__detail-staff-list{grid-gap:9px;display:grid;gap:9px;margin-top:14px}.transport-page__detail-staff{grid-gap:3px;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:grid;gap:3px;padding:11px 12px}.transport-page__detail-staff strong{color:var(--color-text);font-size:var(--font-size-sm)}.transport-page__detail-staff small,.transport-page__detail-staff span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.transport-page__detail-empty{background:var(--color-background-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:14px;padding:18px;text-align:center}.transport-page__students-panel-header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:18px;justify-content:space-between;padding:18px 20px}.transport-page__students-panel-header>div{min-width:0}@media (max-width:1100px){.transport-page__controls--assignments{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-page__controls--assignments .transport-page__search{grid-column:1/-1}.transport-page__detail-hero{align-items:flex-start;flex-direction:column}.transport-page__detail-actions{justify-content:flex-start;width:100%}}@media (max-width:820px){.transport-page__detail-grid,.transport-page__detail-summary{grid-template-columns:1fr}.transport-page__detail-hero-main{flex-direction:column}.transport-page__students-panel-header{align-items:flex-start;flex-direction:column}}@media (max-width:620px){.transport-page__controls--assignments{grid-template-columns:1fr}.transport-page__controls--assignments .transport-page__search{grid-column:auto}.transport-page__detail-actions{display:grid;grid-template-columns:1fr}.transport-page__detail-actions button,.transport-page__students-panel-header button{width:100%}}.transport-page__detail-card--full{grid-column:1/-1}.transport-page__detail-route-list{grid-gap:9px;display:grid;gap:9px;margin-top:14px}.transport-page__detail-route{grid-gap:4px;background:var(--color-background-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-md);display:grid;gap:4px;padding:11px 12px}.transport-page__detail-route strong{color:var(--color-text);font-size:var(--font-size-sm)}.transport-page__detail-route small,.transport-page__detail-route span{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.transport-form-page__compact-textarea{min-width:0;position:relative;width:100%}.transport-form-page__compact-textarea>svg{color:var(--color-primary);height:18px;left:14px;pointer-events:none;position:absolute;top:15px;width:18px;z-index:2}.transport-form-page__compact-textarea>textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;box-sizing:border-box;color:var(--color-text);display:block;font:inherit;font-size:var(--font-size-sm);line-height:1.55;min-height:104px;outline:0;padding:13px 14px 13px 44px;resize:vertical;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.transport-form-page__compact-textarea>textarea::placeholder{color:var(--color-text-light);opacity:1}.transport-form-page__compact-textarea>textarea:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 38%,var(--color-border))}.transport-form-page__compact-textarea>textarea:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.transport-form-page__compact-textarea>textarea.parent-form-page__control--error,.transport-form-page__compact-textarea>textarea[aria-invalid=true]{background:color-mix(in srgb,var(--color-danger) 4%,var(--color-surface))!important;border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 9%,#0000)}.transport-form-page__compact-textarea>textarea.parent-form-page__control--error:focus,.transport-form-page__compact-textarea>textarea[aria-invalid=true]:focus{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 13%,#0000)!important}.transport-form-page__compact-textarea:has(>textarea[aria-invalid=true])>svg{color:var(--color-danger)}.transport-form-page__compact-textarea>textarea:disabled{background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed;opacity:.72}@media (max-width:820px){.transport-page__detail-card--full{grid-column:auto}}.transport-page{grid-gap:var(--space-5);display:grid;gap:var(--space-5);min-width:0}.transport-page__hero{align-items:center;background:linear-gradient(135deg,var(--color-sidebar) 0,var(--color-primary) 100%);border:1px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;min-width:0;overflow:hidden;padding:var(--space-5) var(--space-6);position:relative}.transport-page__hero:after{border:30px solid color-mix(in srgb,var(--color-surface) 10%,#0000);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-45px;top:-75px;width:200px}.transport-page__hero-content{min-width:0;position:relative;z-index:1}.transport-page__eyebrow{background:color-mix(in srgb,var(--color-surface) 12%,#0000);border:1px solid color-mix(in srgb,var(--color-surface) 22%,#0000);border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;letter-spacing:.08em;padding:5px 11px;text-transform:uppercase}.transport-page__eyebrow,.transport-page__hero h1{color:var(--color-surface);font-weight:var(--font-weight-bold)}.transport-page__hero h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:10px 0 0}.transport-page__hero p{color:color-mix(in srgb,var(--color-surface) 78%,#0000);font-size:var(--font-size-sm);line-height:1.6;margin:7px 0 0;max-width:620px}.transport-page__primary-button,.transport-page__reset-button{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font:inherit;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;transition:var(--transition-fast)}.transport-page__primary-button{background:var(--color-surface);border:1px solid var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary);flex:0 0 auto;min-height:42px;padding:0 18px;position:relative;z-index:1}.transport-page__primary-button:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.transport-page__alert{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:10px;min-height:48px;padding:10px 14px}.transport-page__alert--error{background:color-mix(in srgb,var(--color-danger) 9%,var(--color-surface));border-color:var(--color-danger);color:var(--color-danger)}.transport-page__alert button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:inline-flex;height:30px;justify-content:center;margin-left:auto;width:30px}.transport-page__alert button:hover{background:color-mix(in srgb,var(--color-danger) 12%,#0000)}.transport-page__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);min-width:0;overflow:hidden;position:relative;z-index:1}.transport-page__toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:12px;justify-content:space-between;padding:14px;position:relative;z-index:20}.transport-page__toolbar,.transport-page__toolbar-controls{align-items:center;display:flex;min-width:0;overflow:visible}.transport-page__toolbar-controls{flex:0 0 auto;gap:8px;justify-content:flex-end}.transport-page__search{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;flex:1 1 300px;gap:8px;max-width:420px;min-height:44px;min-width:240px;padding:0 14px;transition:border-color var(--transition-duration) var(--transition-timing),box-shadow var(--transition-duration) var(--transition-timing),background var(--transition-duration) var(--transition-timing)}.transport-page__search>svg{flex:0 0 auto;position:static;transform:none}.transport-page__search:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.transport-page__search input{background:#0000;border:0;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-height:0;min-width:0;outline:0;padding:0;width:100%}.transport-page__search input::placeholder{color:var(--color-text-light)}.transport-page__reset-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);flex:0 0 auto;min-height:40px;padding:0 13px}.transport-page__reset-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.transport-page__filter-control{flex:0 0 150px;min-width:150px;position:relative}.transport-page__filter-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:42px;padding:0 10px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%}.transport-page__filter-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.transport-page__filter-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.transport-page__filter-button>svg:first-child{color:var(--color-text-muted);flex:0 0 auto}.transport-page__filter-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__filter-chevron{color:var(--color-text-light)!important;flex:0 0 auto;margin-left:auto;transition:transform var(--transition-fast),color var(--transition-fast)}.transport-page__filter-control--open .transport-page__filter-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.transport-page__filter-control--open .transport-page__filter-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.transport-page__filter-dropdown,.transport-page__filter-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;flex-direction:column;left:0;margin:0;max-height:280px;max-width:100%;min-width:100%;overflow:hidden;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:100%;z-index:100}.transport-page__filter-search-wrapper{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:6px;margin-bottom:4px;padding:0 6px 6px}.transport-page__filter-search-icon{color:var(--color-text-muted);flex:0 0 auto;padding:0;pointer-events:none;position:static;width:auto}.transport-page__filter-dropdown .transport-page__filter-search,.transport-page__filter-search{background:#0000;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;color:var(--color-text);flex:1 1;font:inherit;font-size:var(--font-size-sm);min-height:0;min-width:0;outline:0;padding:6px 0;width:100%}.transport-page__filter-search:focus,.transport-page__filter-search:focus-visible,.transport-page__filter-search:hover{background:#0000;border:0;box-shadow:none;outline:0}.transport-page__filter-search::placeholder{color:var(--color-text-light)}.transport-page__filter-search::-webkit-search-cancel-button{-webkit-appearance:none}.transport-page__filter-options{overflow-y:auto;overscroll-behavior:contain}.transport-page__filter-menu li,.transport-page__filter-options,.transport-page__filter-options li{list-style:none;margin:0;padding:0}.transport-page__filter-empty{color:var(--color-text-muted);font-size:var(--font-size-xs);padding:12px;text-align:center}.transport-page__filter-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.transport-page__filter-option--highlighted:not(.transport-page__filter-option--active),.transport-page__filter-option:focus-visible,.transport-page__filter-option:hover{background:var(--color-primary);color:#fff;outline:0}.transport-page__filter-option--active,.transport-page__filter-option--active:focus-visible,.transport-page__filter-option--active:hover{background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold)}.transport-page__filter-option--active:after{content:"✓";font-weight:var(--font-weight-bold);margin-left:auto}.transport-page__select-control--custom{min-width:180px;position:relative}.transport-page__select-button{align-items:center;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:9px;min-height:44px;padding:0 12px;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);width:100%}.transport-page__select-button:hover{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.transport-page__select-button:focus-visible{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000);outline:0}.transport-page__select-button svg{color:var(--color-text-muted);flex:0 0 auto}.transport-page__select-value{color:var(--color-text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__select-chevron{color:var(--color-text-light)!important;transition:transform var(--transition-fast),color var(--transition-fast)}.transport-page__select-control--open .transport-page__select-button{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,#0000)}.transport-page__select-control--open .transport-page__select-chevron{color:var(--color-primary)!important;transform:rotate(180deg)}.transport-page__select-menu{grid-gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:4px;left:0;list-style:none;margin:0;max-height:230px;min-width:100%;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.transport-page__select-option{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-height:36px;padding:0 10px;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%}.transport-page__select-option.sd__option--highlighted,.transport-page__select-option:focus-visible,.transport-page__select-option:hover{background:var(--color-primary);color:#fff;outline:0}.transport-page__select-option--active,.transport-page__select-option--active.sd__option--highlighted,.transport-page__select-option--active:focus-visible,.transport-page__select-option--active:hover{background:var(--color-primary);color:#fff}.transport-page .sd__search{background:#0000;border:none;border-radius:0;box-sizing:border-box;min-height:0;padding:8px 10px 8px 32px;width:100%}.transport-page .sd__search:focus{border:none;box-shadow:none;outline:none}.transport-page__table-scroll{overflow-x:auto;width:100%}.transport-page__table{border-collapse:collapse;min-width:760px;width:100%}.transport-page__table td,.transport-page__table th{padding:15px 20px;text-align:left;vertical-align:middle}.transport-page__table th,.transport-page__table thead{background:var(--color-sidebar)}.transport-page__table th{border-bottom:1px solid var(--color-primary-hover);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.transport-page__table thead th:first-child{border-top-left-radius:var(--radius-md)}.transport-page__table thead th:last-child{border-top-right-radius:var(--radius-md)}.transport-page__table td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.transport-page__table tbody tr:hover{background:var(--color-surface-hover)}.transport-page__table tbody tr:last-child td{border-bottom:0}.transport-page__table strong{color:var(--color-text)}.transport-page__table--drivers{min-width:820px}.transport-page__table--routes{min-width:940px}.transport-page__table--schedules{min-width:1000px}.transport-page__identity{align-items:center;display:flex;gap:12px}.transport-page__avatar{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.transport-page__avatar svg{color:inherit}.transport-page__identity-name{grid-gap:2px;display:grid;gap:2px;min-width:0}.transport-page__identity-name strong{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__identity-name span{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport-page__status-marker{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.transport-page__status-marker--active{background:var(--color-success-soft);color:var(--color-success)}.transport-page__status-marker--inactive{background:var(--color-background-alt)}.transport-page__day-badge{align-items:center;background:var(--color-primary-lighter);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;min-height:27px;padding:0 10px;white-space:nowrap}.transport-page__bus-student .transport-page__status-marker{font-size:.625rem;min-height:22px;padding:0 7px}.transport-page__actions{align-items:center;display:flex;gap:7px;justify-content:flex-end}.transport-page__icon-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:border-color var(--transition-duration) var(--transition-timing),background var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),transform var(--transition-duration) var(--transition-timing);width:34px}.transport-page__icon-button:hover{transform:translateY(-1px)}.transport-page__icon-button--view:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.transport-page__icon-button--edit:hover{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}.transport-page__icon-button--danger:hover{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.transport-page__pagination{align-items:center;background:var(--color-background-alt);border-top:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:16px;justify-content:space-between;min-height:62px;padding:12px 20px}.transport-page__pagination p{margin:0}.transport-page__pagination strong{color:var(--color-text);font-weight:var(--font-weight-semibold)}.transport-page__pagination-actions{align-items:center;display:flex;gap:8px}.transport-page__pagination-current{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:58px;text-align:center}.transport-page__pagination-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:border-color var(--transition-duration) var(--transition-timing),background var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing);width:34px}.transport-page__pagination-button:disabled{cursor:not-allowed;opacity:.45}.transport-page__pagination-button:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.transport-page__state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:390px;padding:36px 20px;text-align:center}.transport-page__state-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-xl);color:var(--color-primary);display:inline-flex;height:68px;justify-content:center;width:68px}.transport-page__state h2{color:var(--color-text);font-size:var(--font-size-lg);margin:16px 0 0}.transport-page__state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:8px 0 0;max-width:430px}.transport-page__state-button{align-items:center;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;margin-top:18px;min-height:40px;padding:0 14px;transition:var(--transition-fast)}.transport-page__state-button:hover{background:var(--color-primary-hover)}@media (max-width:1100px){.transport-page__toolbar-controls{overflow-x:auto}.transport-page__search{flex:0 0 240px}}@media (max-width:720px){.transport-page__hero{align-items:stretch;flex-direction:column}.transport-page__primary-button{width:100%}.transport-page__toolbar{align-items:stretch;flex-direction:column}.transport-page__table thead th:first-child{border-top-left-radius:0}.transport-page__table thead th:last-child{border-top-right-radius:0}.transport-page__pagination{align-items:flex-start;flex-direction:column}.transport-page__search{flex:1 1 auto;max-width:none;width:100%}.transport-page__toolbar-controls{justify-content:flex-start;overflow-x:auto;width:100%}.transport-page__filter-control--custom,.transport-page__select-control--custom{flex:1 0 auto}.transport-page__panel{border-radius:var(--radius-lg);padding:0}}@media (max-width:500px){.transport-page__hero{border-radius:var(--radius-lg)}.transport-page__table td,.transport-page__table th{padding:13px 16px}}.transport-route-schedule-switch{background:#f4f7f7;border:1px solid #d9e2e7;border-radius:12px;display:inline-flex;gap:4px;margin:0 0 20px;padding:4px}.transport-route-schedule-switch button,.transport-route-weekdays button{background:#0000;border:0;border-radius:9px;color:#52606d;cursor:pointer;font:inherit;font-weight:700}.transport-route-schedule-switch button{min-width:120px;padding:10px 16px}.transport-route-schedule-switch button.is-active,.transport-route-weekdays button.is-active{background:var(--color-primary);color:#fff}.transport-route-weekdays{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.transport-route-weekdays button{background:#fff;border:1px solid #d9e2e7;min-width:58px;padding:9px 12px}.parent-form-page__button,.parent-form-page__button--primary,.parent-form-page__button--secondary{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:42px;padding:0 18px}.parent-form-page__button--secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.parent-form-page__button--primary{background:var(--color-primary);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-surface)}.parent-form-page__button--primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.parent-form-page__button--primary:disabled,.parent-form-page__button--secondary:disabled{cursor:not-allowed;opacity:.65}.transport-route-selection-summary{grid-gap:12px;background:#f8fbfa;border:1px solid #d9e2e7;border-radius:14px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;padding:16px}.transport-route-selection-summary>div{min-width:0}.transport-route-selection-summary p,.transport-route-selection-summary strong{display:block;margin:0}.transport-route-selection-summary strong{color:#334155;font-size:.78rem;margin-bottom:4px}.transport-route-selection-summary p{color:#60717a;font-size:.88rem}.transport-assignment-student-row{border-bottom:1px solid #e7ecef;padding:16px 0}.transport-assignment-remove-row,.transport-page__detail-route-link{align-items:center;background:#0000;border:0;color:var(--color-danger);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:700;gap:6px;margin-top:10px}.transport-page__detail-route-link{color:var(--color-primary)}@media (max-width:700px){.transport-route-selection-summary{grid-template-columns:1fr}.transport-route-schedule-switch{display:flex;width:100%}.transport-route-schedule-switch button{flex:1 1;min-width:0}}.transport-page__status-marker--inactive{background:color-mix(in srgb,var(--color-text-muted) 10%,#0000);border-color:color-mix(in srgb,var(--color-text-muted) 30%,#0000);color:var(--color-text-muted)}.transport-page__status-marker--suspended{background:var(--color-warning-soft);border-color:color-mix(in srgb,var(--color-warning) 30%,#0000);color:var(--color-warning)}.transport-page__reports{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-top:24px}.transport-page__reports-header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;padding:20px 24px 16px}.transport-page__reports-icon{background:var(--color-primary-lighter);border-radius:10px;color:var(--color-primary);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.transport-page__reports-header h2{font-size:1.05rem;font-weight:var(--font-weight-bold);line-height:1.35;margin:0}.transport-page__reports-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:2px 0 0}.transport-page__charts-grid{grid-gap:1px;background:var(--color-border-light);display:grid;gap:1px;grid-template-columns:repeat(2,1fr)}.transport-page__chart-card{background:var(--color-surface);display:flex;flex-direction:column;min-height:320px;padding:20px 24px}.transport-page__chart-heading{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.transport-page__chart-heading h3{font-size:.92rem;font-weight:var(--font-weight-semibold);margin:0}.transport-page__chart-heading span{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.transport-page__chart-placeholder{color:var(--color-text-muted);display:grid;flex:1 1;font-size:var(--font-size-sm);place-items:center}.transport-page__chart-pie-row{align-items:center;display:flex;flex:1 1;gap:8px}.transport-page__pie-legend{display:flex;flex-direction:column;flex-shrink:0;gap:14px;min-width:130px;padding-left:8px}.transport-page__pie-legend-item{align-items:flex-start;display:flex;gap:8px}.transport-page__pie-dot{border-radius:50%;flex-shrink:0;height:10px;margin-top:3px;width:10px}.transport-page__pie-legend-item strong{display:block;font-size:var(--font-size-sm);line-height:1.3}.transport-page__pie-legend-item span{color:var(--color-text-muted);font-size:var(--font-size-xs)}:root{--color-primary:#2f5f98;--color-primary-hover:#264f80;--color-primary-dark:#1d3f68;--color-primary-active:#1d3f68;--color-primary-soft:#dbe8f6;--color-primary-lighter:#edf3fa;--color-primary-bg-subtle:#f4f7fb;--color-secondary:#6f8fb5;--color-secondary-hover:#5d7fa8;--color-secondary-soft:#e7eef7;--color-accent:#d1a154;--color-accent-hover:#b9893f;--color-accent-soft:#fbf2e3;--color-danger:#c44f5a;--color-danger-hover:#a9404a;--color-danger-light:#fceff1;--color-success:#368466;--color-success-hover:#2e7057;--color-success-soft:#e5f3ec;--color-warning:#b97927;--color-warning-hover:#9f651f;--color-warning-soft:#fbf2e3;--color-info:#3d6f9f;--color-info-hover:#315d87;--color-info-soft:#e6eff8;--color-background:#f3f6fa;--color-background-alt:#eaf0f7;--color-surface:#fff;--color-surface-hover:#f7f9fc;--color-surface-secondary:#f8fafc;--color-surface-raised:#fff;--color-sidebar:#0b1324;--color-sidebar-hover:#16233a;--color-sidebar-deep:#070d19;--color-sidebar-active:#203a5f;--color-sidebar-active-hover:#2a4b78;--color-sidebar-active-text:#fff;--color-sidebar-text:#dce5f2;--color-sidebar-text-light:#7f91aa;--color-sidebar-icon:#91a7c4;--color-text:#1b2b42;--color-text-secondary:#4b5f79;--color-text-muted:#73849a;--color-text-light:#9aa8b8;--color-text-inverse:#fff;--color-border:#d7e0ea;--color-border-light:#e7edf4;--color-border-strong:#b9c8d8;--color-border-focus:#2f5f98;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base:0.875rem;--font-size-md:0.9375rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:9px;--radius-lg:13px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #1b2b420a;--shadow-sm:0 3px 10px #1b2b420f;--shadow-md:0 12px 30px #1b2b421a;--shadow-lg:0 16px 40px #1b2b421f;--shadow-xl:0 24px 60px #1b2b4229;--shadow-card:0 1px 3px #1b2b420a,0 8px 24px #1b2b420d;--shadow-container:0 4px 18px #1b2b4212;--sidebar-width:260px;--sidebar-collapsed-width:72px;--topbar-height:60px;--content-max-width:1380px;--transition-fast:0.16s ease;--transition-normal:0.24s ease;--transition-slow:0.32s ease;--transition-duration:0.16s;--transition-timing:ease;--z-sidebar:40;--z-topbar:30;--z-modal:100;--z-toast:110;--status-active:#368466;--status-active-bg:#e5f3ec;--status-inactive:#73849a;--status-inactive-bg:#eef2f6;--status-pending:#b97927;--status-pending-bg:#fbf2e3;--status-danger:#c44f5a;--status-danger-bg:#fceff1;--level-primary:#2f5f98;--level-primary-bg:#dbe8f6;--level-middle:#557aa8;--level-middle-bg:#e5edf7;--level-high:#6d5a98;--level-high-bg:#eeeaf6;--color-table-header:#223d63;--color-table-header-text:#fff;--color-table-row-hover:#f0f4f9;--color-table-row-selected:#e3ebf5;--color-input-background:#fff;--color-input-hover:#f8fafc;--color-input-disabled:#eef2f6;--color-input-placeholder:#9aa8b8;--color-overlay:#0b13249e}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:#0000001a #0000;scrollbar-gutter:stable;scrollbar-width:thin;text-rendering:optimizeLegibility}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;margin:0}::selection{background-color:var(--color-primary-soft);color:var(--color-text)}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#root{min-height:100vh}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000002e}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:var(--font-weight-bold);line-height:1.25;margin:0}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}img{height:auto;max-width:100%}[aria-invalid=true]{scroll-margin-top:calc(var(--topbar-height) + 8px)}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;line-height:1;min-height:38px;padding:8px 16px;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.app-btn:disabled{cursor:not-allowed;opacity:.5}.app-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.app-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.app-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.app-btn--secondary:hover:not(:disabled){background:var(--color-primary-soft)}.app-btn--outline,.app-btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.app-btn--outline{background:#0000}.app-btn--outline:hover:not(:disabled){background:var(--color-primary-soft)}.app-btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.app-btn--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.app-btn--ghost{background:#0000;border-color:#0000;color:var(--color-text-secondary)}.app-btn--ghost:hover:not(:disabled){background:var(--color-background-alt);color:var(--color-text)}.app-btn--icon{height:36px;justify-content:center;padding:0;width:36px}.app-btn--sm{font-size:var(--font-size-xs);min-height:32px;padding:6px 12px}.app-btn--lg{font-size:var(--font-size-base);min-height:42px;padding:10px 20px}.app-btn--full{width:100%}.app-field{display:flex;flex-direction:column;gap:6px;min-width:0}.app-field__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-field__label--required:after{color:var(--color-danger);content:" *"}.app-field__hint{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-field__error{color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.4}.app-input{background:var(--color-input-background);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);min-height:40px;min-width:0;outline:none;padding:9px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.app-input::placeholder{color:var(--color-input-placeholder)}.app-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,#0000)}

/* !important here so error styling wins over any later border/background
   set by more specific form-layout selectors. */.app-input--error{background:var(--color-input-background)!important;border-color:var(--color-danger)!important}.app-input--error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 10%,#0000)!important}textarea.app-input{line-height:1.5;min-height:100px;resize:vertical}select.app-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5e78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.app-checkbox{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:10px;min-height:40px;padding:9px 12px;transition:border-color var(--transition-fast)}.app-checkbox:hover{border-color:var(--color-primary)}.app-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.app-input-icon{position:relative;width:100%}.app-input-icon input{padding-left:40px}.app-input-icon__icon{align-items:center;color:var(--color-text-muted);display:inline-flex;left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.app-input-action{position:relative;width:100%}.app-input-action input{box-sizing:border-box;padding-right:44px;width:100%}.app-input-action__button{align-items:center;background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:6px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.app-input-action__button:focus-visible,.app-input-action__button:hover{color:var(--color-primary)}.app-input-action__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-badge{align-items:center;border:1px solid #0000;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;line-height:1.35;min-width:70px;padding:3px 10px;white-space:nowrap}.app-badge--active,.app-badge--success{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border));color:var(--color-success)}.app-badge--inactive{background:var(--color-background-alt);border-color:var(--color-border);color:var(--color-text-muted)}.app-badge--pending,.app-badge--warning{background:var(--color-warning-soft);border-color:color-mix(in srgb,var(--color-warning) 35%,var(--color-border));color:var(--color-warning)}.app-badge--danger,.app-badge--error,.app-badge--suspended{background:var(--color-danger-light);border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--color-danger)}.app-badge--info{background:var(--color-info-soft);border-color:color-mix(in srgb,var(--color-info) 35%,var(--color-border));color:var(--color-info)}.app-badge--role-admin{background:#f0ebf7;border-color:#d8d0e8;color:#5a4d7a}.app-badge--role-rh{background:#fdf2f8;border-color:#f0c8e4;color:#8a3d6a}.app-badge--role-enseignant{background:#edf4f7;border-color:#c5d8e0;color:#3a6a8a}.app-badge--role-parent{background:#eef7f2;border-color:#c0e8d0;color:#3a7a5a}.app-badge--role-eleve{background:#fef7ed;border-color:#f0dcc0;color:#8a6a3a}.app-badge--level-primary{background:#d9e8f0;border-color:#a8c8d9;color:#123f57}.app-badge--level-middle_school{background:#e7f0f5;border-color:#a8c8d9;color:#123f57}.app-badge--level-high_school{background:#f0f5f3;border-color:#d4e1de;color:#4d6876}.app-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6)}.app-card__header{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;margin-bottom:var(--space-5);padding-bottom:var(--space-4)}.app-card__header-icon{align-items:center;background:var(--color-primary-soft);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;flex:0 0 36px;height:36px;justify-content:center;width:36px}.app-card__header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.app-card__header p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.4;margin:3px 0 0}.app-table-container{background:var(--color-surface);background:var(--color-content-background,var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;overflow-y:auto}.app-table-wrapper{max-width:100%;min-width:0;overflow-x:auto;width:100%}.app-table{border-collapse:collapse;max-width:100%;table-layout:fixed;width:100%}.app-table td,.app-table th{border-bottom:1px solid var(--color-border-light);overflow-wrap:anywhere;padding:11px 14px;text-align:left;vertical-align:middle;word-break:normal}.app-table th{background:var(--color-table-header);color:var(--color-table-header-text);font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.app-table tbody tr{transition:background-color var(--transition-fast)}.app-table tbody tr:hover{background:var(--color-table-row-hover)}.app-table tbody tr:last-child td{border-bottom:0}.app-table td{color:var(--color-text);font-size:var(--font-size-sm)}.app-pagination{align-items:center;background:var(--color-surface);border-top:1px solid var(--color-border-light);display:flex;gap:16px;justify-content:space-between;padding:12px 16px}.app-pagination p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.app-pagination__controls{align-items:center;display:flex;gap:8px}.app-pagination__controls span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-message{align-items:center;border:1px solid;border-radius:var(--radius-md);display:flex;font-size:var(--font-size-sm);gap:10px;margin-bottom:var(--space-5);padding:11px 14px}.app-message span{flex:1 1}.app-message button{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.app-message button:hover{background:#0000000f}.app-message--error{background:var(--color-danger-light);border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--color-danger)}.app-message--info{background:var(--color-info-soft);border-color:color-mix(in srgb,var(--color-info) 35%,var(--color-border));color:var(--color-info)}.app-message--warning{background:var(--color-warning-soft);border-color:color-mix(in srgb,var(--color-warning) 35%,var(--color-border));color:var(--color-warning)}.app-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a2b4273;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:var(--z-modal)}.app-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 24px 60px #1a2b4233;padding:var(--space-7);width:min(100%,440px)}.app-modal__icon{align-items:center;border-radius:50%;display:inline-flex;height:46px;justify-content:center;margin-bottom:var(--space-4);width:46px}.app-modal__icon--danger{background:var(--color-danger-light);color:var(--color-danger)}.app-modal__icon--info{background:var(--color-primary-soft);color:var(--color-primary)}.app-modal h2{font-size:var(--font-size-lg);margin:0 0 8px}.app-modal p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0}.app-modal p strong{color:var(--color-text)}.app-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:var(--space-6)}.app-state{display:flex;flex-direction:column;min-height:340px;padding:44px 20px;text-align:center}.app-state,.app-state__icon{align-items:center;justify-content:center}.app-state__icon{background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;height:56px;width:56px}.app-state h2{font-size:var(--font-size-lg);margin:14px 0 6px}.app-state p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:0 0 18px;max-width:440px}.app-spinner{animation:app-spin .85s linear infinite}@keyframes app-spin{to{transform:rotate(1turn)}}.app-eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0 0 6px;text-transform:uppercase}.app-info-list{grid-gap:0;display:grid;gap:0;margin:0}.app-info-list__row{grid-gap:16px;border-bottom:1px solid var(--color-border-light);display:grid;gap:16px;grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);padding:13px 0}.app-info-list__row:first-child{padding-top:0}.app-info-list__row:last-child{border-bottom:0;padding-bottom:0}.app-info-list dt{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:8px}.app-info-list dd{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;min-width:0;overflow-wrap:anywhere}.app-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:var(--space-5);padding:var(--space-5)}.app-search,.app-toolbar{background:var(--color-surface)}.app-search{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;gap:10px;margin-bottom:12px;min-height:42px;padding:0 14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.app-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f;color:var(--color-primary)}.app-search input{background:#0000;border:0;color:var(--color-text);font-size:var(--font-size-sm);min-width:0;outline:none;padding:10px 0;width:100%}.app-search input::placeholder{color:var(--color-text-muted)}.app-filters{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.app-filters select{-webkit-appearance:none;appearance:none;background-color:var(--color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a5e78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);min-height:40px;outline:none;padding:9px 36px 9px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.app-filters select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e5ea81f}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:var(--space-6)}.page-header__main{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;min-width:0}.page-header__back-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:8px;min-height:38px;padding:8px 14px;text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.page-header__back-button:focus-visible,.page-header__back-button:hover{background:var(--color-background-alt);border-color:var(--color-primary-soft);color:var(--color-primary)}.page-header__back-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page-header__info{min-width:0}.page-header__eyebrow{color:var(--color-primary);font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.page-header h1{font-size:clamp(1.5rem,2vw,2rem);font-weight:var(--font-weight-bold);line-height:1.15;margin:0}.page-header__subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;margin:10px 0 0}.page-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}@media (max-width:840px){.page-header{align-items:flex-start}.page-header__actions{justify-content:flex-start;width:100%}}.app-page-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:var(--space-6)}.app-page-header__info h1{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:var(--font-weight-bold);line-height:1.2}.app-page-header__info p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5;margin-top:6px;max-width:600px}.app-page-header__actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.app-detail-topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:var(--space-5)}.app-detail-topbar__actions{align-items:center;display:flex;gap:10px}.app-detail-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr)}.app-role-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.app-role-card{align-items:flex-start;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:inherit;gap:10px;padding:16px 14px;position:relative;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.app-role-card:hover{background:var(--color-primary-lighter);border-color:var(--color-primary)}.app-role-card--selected{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.app-role-card:focus-visible{outline:3px solid #1e5ea838;outline-offset:2px}.app-role-card__header{align-items:center;display:flex;justify-content:space-between;width:100%}.app-role-card__icon{align-items:center;background:var(--color-background-alt);border-radius:var(--radius-md);color:var(--color-text-muted);display:inline-flex;height:40px;justify-content:center;transition:color var(--transition-fast),background-color var(--transition-fast);width:40px}.app-role-card--selected .app-role-card__icon,.app-role-card__check{background:var(--color-primary);color:var(--color-text-inverse)}.app-role-card__check{align-items:center;border-radius:50%;display:inline-flex;height:22px;justify-content:center;width:22px}.app-role-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:1.3;margin:0}.app-role-card__desc{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45;margin:0}.app-image-field{align-items:center;background:var(--color-background-alt);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);display:flex;gap:22px;margin-bottom:var(--space-6);padding:var(--space-4)}.app-image-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;box-shadow:0 2px 10px #1a2b4214;flex:0 0 100px;height:100px;overflow:hidden;width:100px}.app-image-preview img{height:100%;object-fit:cover;width:100%}.app-image-placeholder{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:var(--font-size-xs);gap:6px;height:100%;justify-content:center;width:100%}.app-image-actions{align-items:flex-start;display:flex;flex-direction:column;gap:8px;min-width:0}.app-image-actions small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.app-profile-banner{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;gap:24px;justify-content:space-between;margin-bottom:var(--space-5);padding:var(--space-6)}.app-profile-banner__main{align-items:center;display:flex;gap:18px;min-width:0}.app-profile-banner__avatar{border:3px solid var(--color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--color-border),0 2px 10px #1a2b4214;flex:0 0 76px;height:76px;object-fit:cover;width:76px}.app-profile-banner__avatar--fallback{align-items:center;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;font-size:1.4rem;font-weight:var(--font-weight-bold);justify-content:center}.app-profile-banner h1{font-size:clamp(1.3rem,2vw,1.6rem);font-weight:var(--font-weight-bold);line-height:1.2;overflow-wrap:anywhere}.app-profile-banner__badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.app-profile-banner__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:6px 0 0;overflow-wrap:anywhere}@media (max-width:960px){.app-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.app-detail-grid{grid-template-columns:1fr}}@media (max-width:768px){.app-info-list__row{gap:6px;grid-template-columns:1fr}.app-info-list dd{text-align:left}.app-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.app-page-header{flex-direction:column}.app-page-header__actions{width:100%}.app-page-header__actions .app-btn{flex:1 1}.app-detail-topbar{align-items:stretch;flex-direction:column}.app-detail-topbar__actions{display:grid;grid-template-columns:1fr 1fr}.app-pagination{align-items:stretch;flex-direction:column}.app-pagination__controls{justify-content:space-between}.app-modal__actions{flex-direction:column-reverse}.app-modal__actions .app-btn{width:100%}.app-filters{grid-template-columns:1fr}.app-profile-banner{align-items:flex-start;flex-direction:column}.app-profile-banner__badges{justify-content:flex-start}}@media (max-width:540px){.app-role-grid{grid-template-columns:1fr}.app-profile-banner__main{align-items:flex-start;flex-direction:column}.app-image-field{flex-direction:column;text-align:center}.app-image-actions,.app-image-field{align-items:center}}.toast-container{gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;width:min(390px,calc(100vw - 32px));z-index:var(--z-toast)}.toast,.toast-container{display:flex;flex-direction:column}.toast{animation:toast-in .22s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;pointer-events:auto;position:relative}.toast:before{background:var(--toast-accent);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.toast--leaving{animation:toast-out .18s ease forwards}.toast__body{align-items:flex-start;display:flex;gap:12px;padding:14px 14px 16px 18px}.toast__icon{align-items:center;background:var(--color-background-alt);background:color-mix(in srgb,var(--toast-accent) 12%,var(--color-surface));border-radius:50%;color:var(--toast-accent);display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.toast__content{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0;padding-top:2px}.toast__title{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:1.35}.toast__message,.toast__title{margin:0;overflow-wrap:anywhere}.toast__message{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.5}.toast__close{align-items:center;background:#0000;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex:0 0 28px;height:28px;justify-content:center;margin:-4px -4px 0 0;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:28px}.toast__close:hover{background:var(--color-background-alt);color:var(--color-text)}.toast__close:focus-visible{outline:2px solid var(--toast-accent);outline-offset:1px}.toast__progress{animation-fill-mode:forwards;animation-name:toast-progress;animation-play-state:running;animation-timing-function:linear;background:var(--toast-accent);border-radius:0 0 var(--radius-lg) var(--radius-lg);bottom:0;height:3px;left:0;opacity:.8;position:absolute;right:0;transform-origin:left}.toast__progress--paused{animation-play-state:paused}.toast--success{--toast-accent:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--color-border))}.toast--error{--toast-accent:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border))}.toast--warning{--toast-accent:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 32%,var(--color-border))}.toast--info{--toast-accent:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 30%,var(--color-border))}@keyframes toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:540px){.toast-container{right:12px;top:12px;width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.toast,.toast--leaving,.toast__progress{animation:none}}.confirm-dialog-backdrop{animation:confirm-dialog-backdrop-in .18s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:var(--color-overlay);display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:var(--z-modal)}.confirm-dialog{animation:confirm-dialog-in .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);box-sizing:border-box;padding:28px 26px 24px;width:min(440px,calc(100vw - 32px))}.confirm-dialog__icon{align-items:center;background:var(--color-danger-light);border-radius:50%;color:var(--color-danger);display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.confirm-dialog__title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere;text-align:center}.confirm-dialog__message{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.55;margin:0;overflow-wrap:anywhere;text-align:center}.confirm-dialog__message strong{background:var(--color-danger-light);border-radius:var(--radius-sm);color:var(--color-danger);display:inline-block;font-weight:var(--font-weight-semibold);max-width:100%;overflow-wrap:anywhere;padding:1px 8px}.confirm-dialog__irreversible{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5;margin:10px 0 0;text-align:center}.confirm-dialog__actions{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:24px}.confirm-dialog__btn{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:8px;height:40px;justify-content:center;line-height:1;padding:0 18px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.confirm-dialog__btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.confirm-dialog__btn:disabled{cursor:not-allowed}.confirm-dialog__btn--cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.confirm-dialog__btn--cancel:hover:not(:disabled){background:var(--color-background-alt);border-color:var(--color-border-strong)}.confirm-dialog__btn--cancel:disabled{opacity:.6}.confirm-dialog__btn--confirm{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-text-inverse)}.confirm-dialog__btn--confirm:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.confirm-dialog__btn--confirm:disabled{opacity:1}.confirm-dialog__spinner{animation:confirm-dialog-spin .8s linear infinite}@keyframes confirm-dialog-spin{to{transform:rotate(1turn)}}@keyframes confirm-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:540px){.confirm-dialog{padding:24px 18px 18px}.confirm-dialog__actions{flex-direction:column}.confirm-dialog__btn{height:46px;width:100%}}@media (prefers-reduced-motion:reduce){.confirm-dialog,.confirm-dialog-backdrop,.confirm-dialog__spinner{animation:none}}
/*# sourceMappingURL=main.3290cd37.css.map*/