.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:-.013em;border-radius:var(--radius-btn);transition:background-color .17s ease,border-color .17s ease,color .17s ease,opacity .17s ease,transform .17s ease;cursor:pointer;transform:none;will-change:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;box-sizing:border-box;background:var(--field-bg);color:var(--text-main);border:1px solid var(--field-border);padding:var(--spacing-sm) var(--spacing-md);outline:none;position:relative;min-height:40px;min-width:100px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;contain:layout style}.btn:hover:not(:disabled){background:var(--control-hover);border-color:#ffffff12;will-change:transform,background-color}.btn:active:not(:disabled),.btn.btn-active:not(:disabled){transform:scale(.992);outline:none;will-change:transform}.btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #ffffff1a}.btn:disabled{opacity:.45;cursor:not-allowed;background:var(--field-bg)}.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-sm);gap:.375rem;min-height:34px;min-width:0}.btn-md{padding:.5rem 1rem;font-size:var(--font-size-base)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-lg);min-height:44px}.btn-primary{background:var(--btn-action-bg, #f1f1f1);color:var(--btn-action-text, #111);border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:0 24px;font-size:15px;font-weight:600;letter-spacing:-.014em;min-height:44px;min-width:100px}.btn-primary:hover:not(:disabled){background:var(--btn-action-hover, #ffffff);border-color:#ffffff24}.btn-primary:active:not(:disabled){transform:scale(.992)}.btn-primary:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #fff3}.btn-primary:disabled{border:0;background:var(--button-disabled-bg, rgba(255, 255, 255, .1));color:var(--button-disabled-text, rgba(255, 255, 255, .3));cursor:not-allowed;opacity:1}.btn-primary.btn-active{background:var(--btn-action-bg, #f1f1f1);color:var(--btn-action-text, #111)}.btn-primary.btn-active:hover:not(:disabled){background:var(--btn-action-hover, #ffffff)}.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.07);color:var(--text-secondary);border-radius:var(--radius-btn);padding:var(--spacing-sm) var(--spacing-lg);font-weight:var(--font-weight-medium)}.btn-secondary:hover:not(:disabled){border-color:#ffffff1f;color:var(--text-main);background:transparent}.btn-secondary:active:not(:disabled){background:transparent;color:var(--text-main);transform:scale(.992)}.btn-success{background:var(--field-bg);color:var(--text-main);border-color:var(--field-border)}.btn-success:hover:not(:disabled){background:var(--control-hover);border-color:#ffffff12}.btn-success:active:not(:disabled){transform:scale(.992)}.btn-error{background:var(--field-bg);color:var(--text-main);border-color:var(--field-border)}.btn-error:hover:not(:disabled){background:var(--control-hover);border-color:#ffffff12}.btn-error:active:not(:disabled){transform:scale(.992)}.btn-warning{background:var(--field-bg);color:var(--text-main);border-color:var(--field-border)}.btn-warning:hover:not(:disabled){background:var(--control-hover);border-color:#ffffff12}.btn-warning:active:not(:disabled){transform:scale(.992)}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.05);color:var(--text-main)}.btn-outline:hover:not(:disabled){background:var(--field-bg);border-color:#ffffff1a}.btn-outline:active:not(:disabled){transform:scale(.992)}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.07);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--field-bg);border-color:#ffffff1a;color:var(--text-main)}.btn-ghost:active:not(:disabled){transform:scale(.992)}.btn-danger{background:transparent;border:1px solid rgba(224,122,122,.2);color:var(--danger-text, rgba(255, 212, 212, .62));font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-btn)}.btn-danger:hover:not(:disabled){border-color:#e07a7a59;color:var(--danger-text, rgba(255, 212, 212, .62));background:transparent}.btn-danger:active:not(:disabled){background:transparent;color:var(--danger-text, rgba(255, 212, 212, .62));transform:scale(.992)}.btn-full-width{width:100%}.btn-loading{cursor:wait;position:relative}.btn-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-content-loading{opacity:0}.btn-icon{padding:0;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:var(--radius-btn)}.btn-icon-sm{width:2rem;height:2rem;min-width:2rem;min-height:2rem}.btn-icon-lg{width:3.5rem;height:3.5rem;min-width:3.5rem;min-height:3.5rem}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-start-radius:var(--radius-btn);border-bottom-start-radius:var(--radius-btn)}.btn-group .btn:last-child{border-top-end-radius:var(--radius-btn);border-bottom-end-radius:var(--radius-btn)}.btn-group .btn:not(:last-child){border-inline-end:1px solid rgba(255,255,255,.07)}@media (max-width: 768px){.btn{font-size:var(--font-size-sm);white-space:normal;word-break:break-word}.btn-lg{padding:.625rem 1.25rem;font-size:var(--font-size-base)}}@media (max-width: 480px){.btn{padding:.5rem;font-size:.7rem;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.btn-sm{padding:.3rem .4rem;font-size:.65rem}.btn-md{padding:.5rem .75rem}.btn-lg{padding:.625rem 1rem}}.header{background:var(--sidebar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:fixed;width:100%;top:0;z-index:var(--z-sticky);height:var(--header-height);border-bottom:1px solid var(--sidebar-border);transition:all var(--transition-base);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg)}.header-scrolled{background:var(--sidebar-bg);box-shadow:var(--shadow-sm)}.header-left{flex:1;display:flex;justify-content:flex-start}.header-center{flex:1;display:flex;justify-content:center}.header-right{flex:1;display:flex;justify-content:flex-end;gap:var(--spacing-md);align-items:center}.header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto}.header-toggle-btn{background:transparent;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;color:var(--text-main);transition:color var(--transition-fast),background-color var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--border-radius-md)}.header-toggle-btn:hover{color:var(--nav-text-active);background-color:var(--control-hover)}.header-logo{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;transition:all var(--transition-base);border:none;outline:none}.header-logo:focus,.header-logo:focus-visible{outline:none;border:none;box-shadow:none}.header-logo-img{height:40px;width:auto;object-fit:contain;border:none;outline:none;filter:invert(1)}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.header-brand-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--control-hover);border-radius:var(--border-radius-md);color:var(--text-main);font-weight:var(--font-weight-bold);box-shadow:none}.header-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.header-credits{display:flex;align-items:center}.header-nav-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:13px;font-weight:var(--font-weight-medium);color:var(--text-muted);text-decoration:none;transition:all var(--transition-fast);position:relative}.header-nav-item:hover{color:var(--text-main);background-color:var(--card-border)}.header-nav-item.active{color:var(--nav-text-active);background-color:var(--control-hover)}.header-nav-item.active:before{content:"";position:absolute;bottom:0;inset-inline-start:var(--spacing-md);inset-inline-end:var(--spacing-md);height:2px;background:var(--text-muted);border-radius:var(--border-radius-full);pointer-events:none}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.header-auth-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.header-auth-actions .btn{border-radius:var(--radius-card);font-weight:var(--font-weight-medium);font-size:13px;min-height:36px;min-width:auto;padding:.375rem 1rem;letter-spacing:.01em}.header-auth-actions .btn-primary{background:transparent;color:var(--text-main);border:1px solid var(--card-border)}.header-auth-actions .btn-primary:hover:not(:disabled){background:var(--card-border);color:var(--nav-text-active);border-color:var(--field-border-hover)}.header-auth-actions .btn-primary:active:not(:disabled){background:var(--control-hover);color:var(--nav-text-active);border-color:var(--field-border-focus)}.header-auth-actions .btn-secondary{background:var(--btn-action-bg);color:var(--btn-action-text);border:1px solid transparent}.header-auth-actions .btn-secondary:hover:not(:disabled){background:var(--btn-action-hover);color:var(--btn-action-text)}.header-auth-actions .btn-secondary:active:not(:disabled){background:var(--btn-action-hover);color:var(--btn-action-text)}.header-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-lg);font-size:13px;color:var(--text-muted);background:transparent;transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent}.header-user:hover{background:var(--card-border);border-color:var(--control-border)}.header-user-avatar{width:32px;height:32px;border-radius:var(--border-radius-full);background:var(--control-hover);display:flex;align-items:center;justify-content:center;color:var(--text-main);font-weight:var(--font-weight-semibold);font-size:13px}.header-user-info{display:flex;flex-direction:column;align-items:flex-start}.header-user-name{font-weight:var(--font-weight-medium);color:var(--text-main);line-height:1.2;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.header-logout-btn{background:transparent;border:none;cursor:pointer;color:var(--icon-muted);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:44px;min-height:44px;border-radius:var(--border-radius-md);padding:0}.header-logout-icon{width:24px;height:24px;transition:all var(--transition-fast)}.header-logout-btn:hover{color:var(--nav-text-active);background-color:var(--card-border)}.header-logout-btn:hover .header-logout-icon{transform:translate(2px)}.header-user-role{font-size:12px;color:var(--icon-muted);line-height:1.2}.header-divider{width:1px;height:24px;background:#ffffff14}.header-menu-toggle{display:none;width:var(--touch-target-min);height:var(--touch-target-min);border:none;background:none;cursor:pointer;color:var(--text-main);padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.header-menu-toggle:hover{background-color:var(--card-border)}.header-menu-toggle:active{transform:scale(.95)}.header-notification-badge{position:relative}.header-notification-badge:after{content:attr(data-count);position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,var(--color-error) 0%,var(--color-error-dark) 100%);color:var(--text-inverse);border-radius:var(--border-radius-full);font-size:10px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);animation:pulse 1.5s ease-in-out infinite;pointer-events:none}@media (max-width: 768px){.header{position:fixed;width:100%;z-index:var(--z-fixed);padding:0 var(--spacing-md)}.header-content{padding:0 var(--spacing-md);max-width:100%;width:100%}.header-logo{font-size:16px}.header-user-name{display:none}.header-brand-icon{width:28px;height:28px}.header-nav{display:flex;gap:var(--spacing-xs);font-size:13px}.header-user{font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--spacing-xs)}.header-menu-toggle{display:flex;align-items:center;justify-content:center}.header-user-info,.header-divider{display:none}}@media (max-width: 480px){.header-user-name,.header-user-role{display:none}.header-auth-actions{gap:6px}.header-auth-actions .btn{padding:.25rem .6rem;font-size:12px;min-height:32px;white-space:nowrap}}@media (prefers-reduced-motion: reduce){.header,.header-logo,.header-nav-item,.header-user,.header-menu-toggle,.header-notification-badge:after{animation:none!important;transition:none!important}.header-logo:hover{transform:none}}.spinner{display:inline-block;border-radius:50%;position:relative;animation:spin .8s linear infinite;border:3px solid var(--color-gray-200);border-top-color:#ffffffb3;border-right-color:#ffffff4d;border-bottom-color:transparent}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-md{width:2rem;height:2rem;border-width:3px}.spinner-lg{width:3rem;height:3rem;border-width:4px}.spinner-xl{width:4rem;height:4rem;border-width:5px}.spinner-primary{border-color:var(--color-gray-200);border-top-color:#ffffffb3;border-right-color:#ffffff4d}.spinner-secondary{border-color:var(--color-gray-200);border-top-color:var(--color-secondary);border-right-color:var(--color-secondary-light)}.spinner-success{border-color:var(--color-gray-200);border-top-color:var(--color-success);border-right-color:var(--color-success-light)}.spinner-error{border-color:var(--color-gray-200);border-top-color:var(--color-error);border-right-color:var(--color-error-light)}.spinner-white{border-color:var(--text-muted);border-top-color:var(--color-white);border-right-color:var(--nav-text-active)}.spinner-dots{width:2rem;height:2rem;position:relative;border:none;animation:none}.spinner-dots:before,.spinner-dots:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background-color:#ffffffb3;animation:dotPulse 1.4s infinite ease-in-out both}.spinner-dots:before{left:0;animation-delay:-.32s}.spinner-dots:after{right:0;animation-delay:0s}.spinner-dots-sm{width:1.5rem;height:1.5rem}.spinner-dots-sm:before,.spinner-dots-sm:after{width:6px;height:6px}.spinner-dots-lg{width:3rem;height:3rem}.spinner-dots-lg:before,.spinner-dots-lg:after{width:12px;height:12px}.spinner-pulse{border:none;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,var(--color-secondary) 100%);animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.spinner-container{display:flex;align-items:center;justify-content:center;min-height:100px;width:100%}.spinner-container-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--sidebar-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.spinner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--sidebar-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-dropdown);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.spinner-with-text{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.spinner-text{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.spinner-shimmer{background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-100) 50%,var(--color-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border:none;border-radius:var(--border-radius-md)}@media (prefers-reduced-motion: reduce){.spinner,.spinner-dots:before,.spinner-dots:after,.spinner-pulse,.spinner-shimmer{animation-duration:2s}}.register-step2-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:2rem;background:var(--page-bg)}.register-step2-container{width:100%;max-width:600px;animation:slideInUp .6s ease-out}.register-step2-card{background:var(--surface-1);border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--border-mid);padding:36px 32px}.register-step2-header{text-align:center;margin-bottom:28px}.register-step2-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:24px}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:6px}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:620;background:#ffffff0a;color:#ffffff85;border:1px solid rgba(255,255,255,.08);transition:all var(--transition-ui)}.step-label{font-size:12px;color:#ffffff61;transition:color var(--transition-ui)}.step-completed .step-circle{background:#ffffff1a;color:#ffffffdb;border-color:#ffffff26}.step-completed .step-label{color:#ffffff85}.step-active .step-circle{background:#ffffffdb;color:#111;border-color:#ffffffdb}.step-active .step-label{color:#ffffffad;font-weight:540}.step-connector{width:60px;height:1px;background:#ffffff0f;margin:0 8px 24px;transition:background-color var(--transition-ui)}.step-connector-active{background:#ffffff26}.register-step2-title{margin:0 0 8px;font-size:30px;font-weight:620;color:var(--text-main);letter-spacing:-.035em;line-height:1}.register-step2-subtitle{margin:0;font-size:14px;color:#ffffff85;line-height:1.5}.register-step2-content{margin-bottom:16px}.register-step2-actions{display:flex;gap:12px;margin-top:24px}.register-step2-info{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.04);margin-top:20px}.register-step2-info p{margin:0;font-size:13px;color:#ffffff85}.register-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 0;text-align:center;min-height:200px}.register-loading-title{margin:0;font-size:18px;font-weight:620;color:var(--text-main);letter-spacing:-.024em}.register-loading-text{margin:0;font-size:14px;color:#ffffff85}.register-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;text-align:center}.register-error-icon{width:56px;height:56px;border-radius:50%;background:var(--danger-bg);color:var(--danger-color);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:620}.register-error-message{margin:0;font-size:14px;color:#ffffff85;line-height:1.5;max-width:400px}.register-error-actions{display:flex;gap:12px;margin-top:8px}.telegram-link-section{min-height:200px}.telegram-link-block{text-align:center;padding:16px 0}.telegram-link-icon{color:#ffffff85;margin-bottom:16px}.telegram-link-icon svg{width:48px;height:48px}.telegram-link-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0}.telegram-link-loading p{margin:0;color:#ffffff85;font-size:14px}.telegram-link-instructions{display:flex;flex-direction:column;gap:0}.telegram-link-url-block{display:flex;gap:8px;margin-bottom:16px}.telegram-link-url-input{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.05);border-radius:12px;font-size:12px;color:#ffffff85;background:#ffffff04;overflow:hidden;text-overflow:ellipsis;outline:none;min-height:36px}.telegram-link-url-input:focus{border-color:#ffffff1a}.telegram-open-link{display:block;text-decoration:none;margin-bottom:16px}.telegram-open-bot-btn,.telegram-open-bot-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;margin-bottom:16px;font-size:15px;font-weight:600;color:#111;background:#ffffffdb;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:background-color var(--transition-ui),transform var(--transition-ui);min-height:44px;letter-spacing:-.014em}.telegram-open-bot-btn:hover,.telegram-open-bot-link:hover{background:#ffffffeb}.telegram-open-bot-btn:active,.telegram-open-bot-link:active{background:#fff;transform:scale(.992)}.telegram-open-bot-btn-icon{width:20px;height:20px;flex-shrink:0}.telegram-link-waiting{margin:16px 0 0;font-size:13px;color:#ffffff61;animation:pulse 2s ease-in-out infinite}.telegram-reg-step{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;text-align:left}.telegram-reg-step:last-of-type{margin-bottom:0}.telegram-reg-step-number{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ffffffad;display:flex;align-items:center;justify-content:center;font-weight:620;font-size:13px}.telegram-reg-step-content{flex:1}.telegram-reg-step-title{margin:0 0 4px;font-size:14px;font-weight:620;color:var(--text-main);letter-spacing:-.02em}.telegram-reg-step-description{color:#ffffff85;margin:0 0 12px;line-height:1.5;font-size:13px}.telegram-reg-error-banner{background:var(--danger-bg);border:1px solid rgba(224,122,122,.2);border-radius:10px;padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--danger-color);font-size:13px;animation:slideInUp .3s ease-out}.telegram-reg-error-icon{flex-shrink:0;width:18px;height:18px;color:var(--danger-color)}.telegram-open-bot-btn-loading{opacity:.6;cursor:wait}.telegram-open-bot-btn-loading:hover{background:#ffffffdb;transform:none}.telegram-open-bot-btn-retry{background:#ffffffdb}.telegram-success-block{text-align:center;padding:24px 0;animation:slideInUp .4s cubic-bezier(.16,1,.3,1)}.telegram-success-icon{color:#ffffffad;margin-bottom:16px}.telegram-success-icon svg{width:48px;height:48px}.telegram-success-title{margin:0 0 8px;font-size:22px;font-weight:620;color:var(--text-main);letter-spacing:-.03em}.telegram-success-text{margin:0;font-size:14px;color:#ffffff85;line-height:1.5}.telegram-success-username{margin:12px 0 0;font-size:15px;font-weight:540;color:#ffffffad}@media (max-width: 768px){.register-step2-page{padding:16px}.register-step2-card{padding:28px 24px}.register-step2-title{font-size:24px}.register-step2-actions{flex-direction:column}.step-connector{width:40px}.telegram-reg-step{flex-direction:column}.telegram-reg-step-number{align-self:flex-start}}@media (max-width: 480px){.register-step2-card{padding:24px 16px}.register-step2-title{font-size:20px}.register-error-actions{flex-direction:column;width:100%}.telegram-open-bot-btn,.telegram-open-bot-link{min-height:48px;font-size:15px}}@media (prefers-reduced-motion: reduce){.register-step2-container,.telegram-success-block,.telegram-reg-error-banner,.telegram-link-waiting{animation:none}.telegram-open-bot-btn:active,.telegram-open-bot-link:active{transform:none}}.card{background:var(--surface-1, #232323);border-radius:18px;border:1px solid rgba(255,255,255,.04);padding:20px 22px;position:relative;overflow:hidden}.card-hover:hover{border-color:#ffffff12}.card-clickable{cursor:pointer;transition:border-color .17s ease}.card-clickable:active{transform:scale(.998)}.card-elevated{background:var(--surface-2, #272727);box-shadow:0 8px 24px #0000002e}.card-outlined{background:transparent;border:1px solid rgba(255,255,255,.06)}.card-outlined:hover{border-color:#ffffff1a}.card-gradient{background:linear-gradient(180deg,var(--surface-1, #232323) 0%,var(--surface-2, #272727) 100%)}.card-header{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.04);margin-bottom:16px}.card-title{font-size:18px;line-height:1.1;font-weight:610;letter-spacing:-.022em;color:var(--text-main);margin:0}.card-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:6px}.card-body{color:var(--text-main)}.card-footer{padding-top:16px;border-top:1px solid rgba(255,255,255,.04);margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}@media (max-width: 768px){.card{padding:16px 18px}.card-footer{flex-direction:column;align-items:stretch}}.protected-register-step2-container{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem;background:var(--page-bg)}.loading-card{max-width:500px;width:100%;background:var(--surface-1);border-radius:16px;border:1px solid var(--border-mid);box-shadow:var(--shadow-lg)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;text-align:center}.loading-message{font-size:14px;color:#ffffff85;margin:0;font-weight:520}.error-card{max-width:500px;width:100%;background:var(--surface-1);border-radius:16px;border:1px solid rgba(224,122,122,.15);box-shadow:var(--shadow-lg)}.error-content{padding:2rem;text-align:center}.error-title{margin:0 0 1rem;font-size:20px;font-weight:620;color:var(--text-main);letter-spacing:-.03em}.error-message{margin:0 0 2rem;font-size:14px;color:#ffffff85;line-height:1.5}.error-actions{display:flex;gap:1rem}.error-actions a{flex:1;text-decoration:none}@media (max-width: 640px){.protected-register-step2-container{padding:1rem;min-height:50vh}.loading-content{padding:2rem 1.5rem;gap:1.25rem}.loading-message{font-size:13px}.error-card{max-width:100%}.error-content{padding:1.5rem}.error-title{font-size:18px}.error-message{font-size:13px}.error-actions{flex-direction:column;gap:.75rem}.error-actions a{min-height:44px;display:flex;align-items:center;justify-content:center}}.auth-wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px;transform:translateY(-48px)}.auth-logo{display:flex;align-items:center;justify-content:center;margin-bottom:6px}.auth-logo img{display:block;width:auto;max-width:140px;opacity:.96;-webkit-user-select:none;user-select:none;pointer-events:none}.auth-wrap form,.form-fields{display:flex;flex-direction:column;gap:10px}.auth-field{width:100%;min-height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.03);background:#ffffff03;color:#ffffffe0;padding:0 14px;font-size:14px;line-height:1;font-weight:540;letter-spacing:-.012em;outline:none;box-sizing:border-box;font-family:inherit;transition:background-color .17s ease,border-color .17s ease}.auth-field::placeholder{color:#ffffff47}.auth-field:hover{background:#ffffff05;border-color:#ffffff0b}.auth-field:focus{background:#ffffff05;border-color:#ffffff0f}.auth-field:-webkit-autofill,.auth-field:-webkit-autofill:hover,.auth-field:-webkit-autofill:focus{-webkit-text-fill-color:rgba(255,255,255,.88);-webkit-box-shadow:0 0 0 1000px #232323 inset;transition:background-color 5000s ease-in-out 0s}.auth-field-password{position:relative;width:100%}.auth-field-password .auth-field{padding-right:40px}.toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:#ffffff47;border-radius:8px;transition:color .17s ease;line-height:1}.toggle-password:hover{color:#ffffff85}.toggle-password:active{transform:translateY(-50%) scale(.95)}.form-bottom{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:28px}.auth-error{margin-right:auto;margin-left:4px;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;color:#ffaaba00;opacity:0;transition:color .17s ease,opacity .17s ease;white-space:nowrap;pointer-events:none}.auth-error.visible{color:#ffaabac2;opacity:1}.go-btn{min-height:28px;padding:0;border:0;background:transparent;color:#ffffffa3;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;white-space:nowrap;cursor:pointer;transition:color .17s ease,transform .17s ease;display:inline-flex;align-items:center;gap:4px;font-family:inherit}.go-btn:hover:not(:disabled){color:#ffffffdb}.go-btn:active:not(:disabled){transform:scale(.992)}.go-btn:disabled{opacity:.6;cursor:not-allowed}.go-arrow{display:inline-block;transition:transform .17s ease}.go-btn:hover:not(:disabled) .go-arrow{transform:translate(2px)}.go-spinner{width:13px;height:13px;border:1.5px solid rgba(255,255,255,.5);border-right-color:transparent;border-radius:50%;animation:go-spin .6s linear infinite}@keyframes go-spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.auth-wrap{max-width:100%}.auth-field{min-height:44px;font-size:16px}.auth-logo img{max-width:120px}}.login-page{min-height:100vh;background:var(--page-bg, #1e1e1e);display:flex;align-items:center;justify-content:center;padding:20px}.input-container{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-label{font-size:13px;font-weight:560;letter-spacing:-.012em;color:var(--text-muted);transition:color var(--transition-ui)}.input-required{color:var(--danger-color);margin-left:.25rem}.input-field{width:100%;min-height:46px;padding:0 14px;font-size:14px;font-weight:540;letter-spacing:-.012em;color:var(--text-main);background-color:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-field);transition:border-color .17s ease,background-color .17s ease,box-shadow .17s ease;outline:none;position:relative;z-index:1}.input-field::placeholder{color:#ffffff42;transition:color var(--transition-ui)}.input-field:hover:not(:disabled){border-color:var(--field-border-hover)}.input-field:hover::placeholder{color:var(--text-secondary)}.input-focused,.input-field:focus{border-color:#ffffff1a;background-color:#ffffff04;box-shadow:0 0 0 1px #ffffff08;outline:none}.input-error{border-color:var(--danger-color)}.input-error:focus{border-color:var(--danger-color);box-shadow:none}.input-disabled,.input-field:disabled{background-color:var(--field-readonly-bg);cursor:not-allowed;opacity:.5;border-color:#ffffff09;color:var(--text-muted)}.input-error-message{font-size:var(--font-size-sm);color:var(--danger-color);margin-top:-.125rem;display:flex;align-items:center;gap:var(--spacing-xs);animation:slideIn var(--transition-ui)}.input-success{border-color:var(--color-success)}.input-success:focus{border-color:var(--color-success);box-shadow:0 0 0 1px #ffffff08}.input-success-message{font-size:var(--font-size-sm);color:var(--color-success);margin-top:-.125rem;display:flex;align-items:center;gap:var(--spacing-xs);animation:slideIn var(--transition-ui)}.input-helper-text{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:-.125rem}.input-wrapper{position:relative;width:100%}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color var(--transition-ui)}.input-icon-left{left:var(--spacing-md)}.input-icon-right{right:var(--spacing-md)}.input-field.has-icon-left{padding-left:calc(var(--spacing-md) * 2.5)}.input-field.has-icon-right{padding-right:calc(var(--spacing-md) * 2.5)}.input-field:focus~.input-icon{color:var(--text-main)}.modal .input-field{min-height:50px}textarea.input-field{min-height:120px;resize:vertical;padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.input-field-sm{height:2.25rem;padding:.375rem .625rem;font-size:var(--font-size-sm);border-radius:var(--radius-field)}.input-field-lg{height:3.25rem;padding:.75rem 1rem;font-size:var(--font-size-lg);border-radius:var(--radius-field)}.input-field-date,.input-field-time,.input-field-datetime-local{min-width:0;cursor:pointer}.input-field-date::-webkit-calendar-picker-indicator,.input-field-time::-webkit-calendar-picker-indicator,.input-field-datetime-local::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity var(--transition-ui)}.input-field-date:hover::-webkit-calendar-picker-indicator,.input-field-time:hover::-webkit-calendar-picker-indicator,.input-field-datetime-local:hover::-webkit-calendar-picker-indicator{opacity:1}.input-field-number{font-variant-numeric:tabular-nums}.input-field-number::-webkit-inner-spin-button,.input-field-number::-webkit-outer-spin-button{opacity:.7;transition:opacity var(--transition-ui)}.input-field-number:hover::-webkit-inner-spin-button,.input-field-number:hover::-webkit-outer-spin-button{opacity:1}input[type=date].input-field,input[type=time].input-field,input[type=datetime-local].input-field,input[type=number].input-field{appearance:none;-webkit-appearance:none;-moz-appearance:textfield}input[type=number].input-field{-moz-appearance:textfield}@media (max-width: 768px){.input-field{font-size:var(--font-size-base)}.input-field-date,.input-field-time,.input-field-datetime-local{min-height:var(--input-height)}}.telegram-register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg);padding:24px}.telegram-register-container{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1000px;width:100%;animation:slideInUp .6s ease-out}.telegram-register-card{background:var(--surface-1);border-radius:16px;padding:36px 32px;box-shadow:var(--shadow-lg);border:1px solid var(--border-mid)}.register-title{margin:0 0 16px;font-size:30px;font-weight:620;color:var(--text-main);text-align:center;letter-spacing:-.035em;line-height:1}.register-description{color:#ffffff85;text-align:center;margin-bottom:28px;line-height:1.5;font-size:14px}.register-form{margin-bottom:24px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:540;color:#ffffff85;letter-spacing:-.012em}.input-wrapper{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:14px;color:#ffffff61;font-weight:520;font-size:14px}.form-group input{width:100%;min-height:44px;padding:0 14px 0 28px;border:1px solid rgba(255,255,255,.05);border-radius:12px;font-size:14px;font-family:inherit;font-weight:520;transition:border-color var(--transition-ui);background:#ffffff04;color:var(--text-main);outline:none;box-sizing:border-box}.form-group input:hover:not(:disabled){border-color:#ffffff14}.form-group input:focus{outline:none;border-color:#ffffff1a;box-shadow:none}.form-group input:disabled{background:#ffffff04;color:#ffffff4d;cursor:not-allowed;opacity:.6}.input-hint{margin-top:6px;color:#ffffff61;font-size:12px;line-height:1.4}.register-footer{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.04)}.register-footer p{color:#ffffff85;font-size:14px;margin:0}.link-button{background:none;border:none;color:#ffffff8f;cursor:pointer;font-weight:500;font-size:14px;padding:0;text-decoration:none;transition:color var(--transition-ui)}.link-button:hover:not(:disabled){color:var(--text-main)}.link-button:disabled{opacity:.6;cursor:not-allowed}.register-info{display:flex;flex-direction:column;gap:16px}.info-box{background:var(--surface-1);border-radius:16px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-mid)}.info-box h3{margin:0 0 14px;font-size:16px;font-weight:620;color:var(--text-main);letter-spacing:-.024em}.info-box ol{margin:0;padding-left:20px;color:#ffffff85;line-height:1.8}.info-box li{margin-bottom:6px;font-size:13px}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.telegram-register-container{grid-template-columns:1fr;gap:16px}.telegram-register-card{padding:28px 24px}.register-title{font-size:24px}.register-description{font-size:13px}.info-box{padding:20px}.info-box h3{font-size:14px}.info-box li{font-size:13px}}@media (max-width: 480px){.telegram-register-page{padding:16px;align-items:flex-start;padding-top:env(safe-area-inset-top,24px)}.telegram-register-card{padding:24px 16px}.register-title{font-size:20px}.form-group input{min-height:48px;font-size:16px}}@media (prefers-reduced-motion: reduce){.telegram-register-container{animation:none}}.sidebar{position:fixed;top:0;inset-inline-start:0;bottom:0;width:var(--sidebar-width, 260px);min-width:var(--sidebar-width, 260px);height:100vh;background:var(--sidebar-bg, #191919);border-inline-end:1px solid var(--sidebar-border, rgba(255, 255, 255, .035));display:flex;flex-direction:column;padding:16px 14px;z-index:var(--z-sidebar, 100);transition:transform .26s cubic-bezier(.22,1,.36,1)}.sidebar-header{padding:16px 14px;flex-shrink:0}.sidebar-logo-link{display:inline-block;text-decoration:none}.sidebar-logo{display:block;width:120px;height:auto;opacity:.9}.sidebar-nav{flex:1;display:flex;flex-direction:column;min-height:0}.sidebar-nav-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.sidebar-link{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 18px 0 14px;border-radius:var(--radius-btn, 10px);color:var(--text, rgba(255, 255, 255, .68));text-decoration:none;transition:background-color var(--transition, .17s ease),color var(--transition, .17s ease);-webkit-tap-highlight-color:transparent}.sidebar-link:after{content:"";position:absolute;left:0;top:0;bottom:0;right:22px;border-radius:var(--radius-btn, 10px);background:transparent;transition:background-color var(--transition, .17s ease);z-index:0}.sidebar-link:hover{color:#fffc}.sidebar-link:hover:after{background:var(--hover-bg, rgba(255, 255, 255, .018))}.sidebar-link-active{color:var(--text-strong, rgba(255, 255, 255, .95))}.sidebar-link-active:after{background:var(--active-bg, rgba(255, 255, 255, .018))}.sidebar-link-active .sidebar-icon{color:var(--icon-strong, rgba(255, 255, 255, .84))}.sidebar-link:hover .sidebar-icon{color:var(--icon-hover, rgba(255, 255, 255, .6))}.sidebar-link-active:hover .sidebar-icon{color:var(--icon-strong, rgba(255, 255, 255, .84))}.sidebar-link-active .sidebar-label{font-weight:550}.sidebar-link:focus-visible{outline:none}.sidebar-link:focus-visible:after{box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 2px #00423124}.sidebar-icon,.sidebar-label{position:relative;z-index:1}.sidebar-icon{width:20px;height:20px;flex:0 0 20px;display:flex;align-items:center;justify-content:center;color:var(--icon, rgba(255, 255, 255, .48));transition:color var(--transition, .17s ease)}.sidebar-icon svg{width:100%;height:100%;display:block;overflow:visible}.sidebar-label{font-size:var(--font-size-medium, 15px);line-height:1.2;font-weight:500;letter-spacing:-.01em;transform:translateY(-.25px);white-space:nowrap;flex:1}.sidebar-icon.icon-users svg{transform:translate(.35px)}.sidebar-icon.icon-credits svg{transform:translate(-.25px)}.sidebar-icon.icon-calendar svg{transform:translate(.2px)}.sidebar-icon.icon-homework svg{transform:translate(-.1px)}.sidebar-icon.icon-templates svg{transform:translate(-.2px)}.sidebar-icon.icon-telegram svg{transform:translate(.3px) translateY(.2px)}.sidebar-footer{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.sidebar-profile-trigger{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--radius-btn, 10px);text-decoration:none;transition:background-color var(--transition, .17s ease);color:inherit}.sidebar-profile-trigger:hover{background:#ffffff03}.sidebar-profile-meta{min-width:0;display:flex;flex-direction:column}.sidebar-profile-name{font-size:var(--font-size-sm, 14px);line-height:1.2;font-weight:520;letter-spacing:-.01em;color:var(--profile-text, rgba(255, 255, 255, .76));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-role{font-size:9px;line-height:1.2;font-weight:500;color:var(--profile-subtext, rgba(255, 255, 255, .34));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-overlay{display:none}.sidebar-hamburger{position:fixed;top:16px;left:16px;width:32px;height:32px;padding:6px;border:1px solid var(--sidebar-border, rgba(255, 255, 255, .035));border-radius:var(--radius-btn, 10px);background:var(--sidebar-bg, #191919);cursor:pointer;z-index:calc(var(--z-sidebar, 100) + 1);display:flex;flex-direction:column;justify-content:center;gap:5px;transition:background-color var(--transition, .17s ease)}.sidebar-hamburger:hover{background:var(--control-hover, #272727)}.sidebar-hamburger-line{display:block;width:100%;height:2px;background:var(--text-strong, rgba(255, 255, 255, .95));border-radius:var(--radius-btn, 10px);transition:transform var(--transition, .17s ease),opacity var(--transition, .17s ease)}.sidebar-hamburger[aria-expanded=true] .sidebar-hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.sidebar-hamburger[aria-expanded=true] .sidebar-hamburger-line:nth-child(2){opacity:0}.sidebar-hamburger[aria-expanded=true] .sidebar-hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 900px){.sidebar{transform:translate(-100%);width:240px;min-width:240px;z-index:var(--z-sidebar-mobile, 200);will-change:transform;transition:transform .3s cubic-bezier(.32,.72,0,1)}.sidebar.sidebar-open{transform:translate(0)}[dir=rtl] .sidebar{transform:translate(100%)}[dir=rtl] .sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg, rgba(0, 0, 0, .34));z-index:calc(var(--z-sidebar-mobile, 200) - 1);border:none;cursor:default;opacity:1;transition:opacity .3s ease}.sidebar-hamburger{width:44px;height:44px;padding:10px}.sidebar-link,.sidebar-profile-trigger{min-height:44px}.sidebar-label{font-size:var(--font-size-sm, 14px)}}@media (max-width: 480px){.sidebar{width:85vw;min-width:220px;max-width:280px;padding:12px 10px}.sidebar-hamburger{top:12px;left:12px}.sidebar-header{padding:0}.sidebar-link{min-height:48px;padding:0 12px 0 10px}.sidebar-profile-trigger{min-height:48px;padding:0 10px}.sidebar-footer{padding-bottom:env(safe-area-inset-bottom,8px)}}@media (max-width: 360px){.sidebar{width:90vw;min-width:200px;max-width:260px}.sidebar-logo{width:100px}.sidebar-label,.sidebar-profile-name{font-size:13px}}@media (min-width: 901px){.sidebar{transform:none!important}.sidebar-hamburger{display:none!important}}.sidebar-session{margin-top:16px;margin-right:22px;padding:0}.sidebar-session-divider{height:1px;background:#ffffff0d;margin-bottom:16px}.sidebar-session-card{display:flex;flex-direction:column;gap:12px}.sidebar-session-title{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:#ffffff52;text-align:center}.sidebar-session-actions{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center}.session-btn{min-height:36px;border:0;border-radius:12px;font:inherit;cursor:pointer;transition:background-color .17s ease,color .17s ease,transform .17s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.session-btn:active{transform:scale(.992)}.session-btn-primary{width:100%;padding:0 14px;background:#ffffffeb;color:#1a1a1a;font-size:13px;line-height:1;font-weight:600;letter-spacing:-.012em}.session-btn-primary:hover{background:#fff}.session-btn-icon{width:36px;height:36px;min-width:36px;padding:0;background:#ffffffeb;color:#1a1a1a}.session-btn-icon:hover{background:#fff}.session-btn-icon svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:1.8;fill:none}.student-error-boundary-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--page-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.student-error-boundary-content{background:var(--surface-1);border:1px solid rgba(255,104,104,.22);border-radius:18px;box-shadow:0 20px 60px #0006;max-width:800px;width:100%;padding:40px;animation:slideIn var(--transition-slow) ease-out}.student-error-header{text-align:center;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:30px}.student-error-icon{font-size:48px;margin-bottom:20px;display:block;animation:pulse-scale 1.5s ease-in-out infinite}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.student-error-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0 0 12px}.student-error-subtitle{font-size:15px;color:#ffffff85;margin:0;line-height:1.5}.student-error-details{margin-bottom:40px;display:flex;flex-direction:column;gap:24px}.student-error-section{padding:16px;background:var(--surface-2);border-left:3px solid rgba(255,104,104,.4);border-radius:10px}.student-error-section-title{font-size:12px;font-weight:600;color:#ff6868cc;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.student-error-code{display:block;font-family:Courier New,Monaco,Menlo,monospace;font-size:13px;color:var(--text-main);word-break:break-all;white-space:pre-wrap;overflow-x:auto;background:var(--surface-1);padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.03)}.student-error-stack{display:block;font-family:Courier New,Monaco,Menlo,monospace;font-size:12px;color:#fff9;background:var(--surface-1);padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.03);overflow-x:auto;max-height:300px;overflow-y:auto;margin:0;line-height:1.4;white-space:pre-wrap;word-break:break-word}.student-error-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:24px}.student-error-button{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all var(--transition-ui);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-width:200px;justify-content:center}.student-error-button:hover{transform:translateY(-2px)}.student-error-button:active{transform:translateY(0)}.student-error-button-primary{background:#ffffffd1;color:#111}.student-error-button-primary:hover{background:#ffffffe6}.student-error-button-secondary{background:var(--surface-2);color:var(--text-main);border:1px solid rgba(255,255,255,.05)}.student-error-button-secondary:hover{background:#ffffff0a;border-color:#ffffff17}.student-error-footer{padding-top:20px;border-top:1px solid rgba(255,255,255,.05);text-align:center}.student-error-footer-text{font-size:12px;color:#ffffff4d;margin:0;font-style:italic}@media (max-width: 768px){.student-error-boundary-container{min-height:auto;padding:12px}.student-error-boundary-content{padding:24px}.student-error-icon{font-size:40px}.student-error-title{font-size:25px}.student-error-subtitle{font-size:14px}.student-error-actions{flex-direction:column}.student-error-button{min-width:100%}.student-error-header{padding-bottom:20px;margin-bottom:24px}.student-error-details{margin-bottom:24px;gap:16px}.student-error-code,.student-error-stack{font-size:12px}}@media (max-width: 480px){.student-error-boundary-content{padding:16px;border-radius:14px}.student-error-icon{font-size:36px;margin-bottom:16px}.student-error-title{font-size:22px;margin-bottom:8px}.student-error-subtitle{font-size:13px}.student-error-button{padding:10px 16px;font-size:14px;min-width:100%}.student-error-section-title{font-size:12px}}.student-error-button:focus{outline:none}.student-error-button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.student-error-boundary-content,.student-error-icon{animation:none!important}}.student-lesson-card{position:relative;overflow:hidden;width:100%;height:74px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;--surface: var(--card-bg);cursor:default;transition:background-color .18s ease,border-color .18s ease;contain:layout style}.student-lesson-card--clickable{cursor:pointer}.student-lesson-card--clickable:hover{border-color:var(--card-border-hover)}.student-lesson-card.student-lesson-card--enrolled{background:var(--card-bg-enrolled);--surface: var(--card-bg-enrolled)}.student-lesson-card:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:0 2px 2px 0;background:var(--group-color, var(--group-blue));opacity:.95;transition:opacity .18s ease}.student-lesson-card--clickable:hover:before{opacity:1}.student-lesson-card__title{position:absolute;left:15px;top:15px;right:88px;font-size:15px;line-height:1.08;font-weight:515;letter-spacing:-.013em;color:var(--text-card-main);white-space:nowrap;overflow:hidden}.student-lesson-card__title:after{content:"";position:absolute;top:0;right:0;width:30px;height:100%;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,var(--surface) 100%);pointer-events:none}.student-lesson-card__meta{position:absolute;top:15px;right:15px;display:flex;align-items:center;gap:5px;white-space:nowrap}.student-lesson-card__check-slot{width:10px;height:10px;flex:0 0 10px;display:flex;align-items:center;justify-content:center}.student-lesson-card__check{width:10px;height:10px;color:#ffffff61;opacity:0;transition:color .18s ease,opacity .18s ease}.student-lesson-card--clickable:hover .student-lesson-card__check{color:#00ffbf80}.student-lesson-card__check svg{width:100%;height:100%;display:block}.student-lesson-card--enrolled .student-lesson-card__check{opacity:1}.student-lesson-card__time{font-size:15px;line-height:1.08;font-weight:515;letter-spacing:-.013em;color:var(--text-card-time)}.student-lesson-card__teacher{position:absolute;left:15px;right:24px;bottom:15px;font-size:12px;line-height:1.08;font-weight:470;letter-spacing:-.01em;color:var(--text-card-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-lesson-card__status{position:absolute;right:15px;bottom:15px;width:8px;height:8px;border-radius:999px;transition:opacity .18s ease}.student-lesson-card--clickable:hover .student-lesson-card__status{opacity:.92}.student-lesson-card__status--open{background:var(--status-open, #278a4f);box-shadow:0 0 0 2px #2fa15b0a}.student-lesson-card__status--few{background:var(--status-few, #ac882c);box-shadow:0 0 0 2px #bd95300a}.student-lesson-card__status--full{background:var(--status-full, #954141);box-shadow:0 0 0 2px #a94a4a08}.student-lesson-card--modal{height:auto;min-height:92px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:16px;--surface: var(--surface-2);cursor:pointer}.student-lesson-card--modal:before{top:12px;bottom:12px}.student-lesson-card--modal .student-lesson-card__title{position:absolute;left:18px;top:18px;right:118px;font-size:19px;line-height:1.04;font-weight:610;letter-spacing:-.024em;color:var(--text-main);white-space:nowrap;overflow:hidden}.student-lesson-card--modal .student-lesson-card__title:after{content:"";position:absolute;top:0;right:0;width:36px;height:100%;background:linear-gradient(90deg,transparent 0%,var(--surface) 100%);pointer-events:none}.student-lesson-card--modal .student-lesson-card__meta{position:absolute;top:18px;right:18px;display:flex;align-items:center;gap:6px;white-space:nowrap}.student-lesson-card--modal .student-lesson-card__check-slot{width:12px;height:12px;flex:0 0 12px;display:flex;align-items:center;justify-content:center}.student-lesson-card--modal .student-lesson-card__check{width:12px;height:12px;color:var(--check-active, #00ffbf80);opacity:0;transition:color .18s ease,opacity .18s ease}.student-lesson-card--modal .student-lesson-card__check svg{width:100%;height:100%;display:block}.student-lesson-card--modal .student-lesson-card__time{font-size:18px;line-height:1;font-weight:600;letter-spacing:-.022em;color:#ffffffc2}.student-lesson-card--modal .student-lesson-card__teacher{position:absolute;left:18px;right:28px;bottom:18px;font-size:14px;line-height:1.1;font-weight:540;letter-spacing:-.012em;color:#ffffff85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-lesson-card--modal .student-lesson-card__status{position:absolute;right:18px;bottom:18px;width:8px;height:8px;border-radius:999px;transition:opacity .18s ease}.student-lesson-card--filtered{opacity:.38;pointer-events:none;cursor:default}.student-lesson-card--filtered.student-lesson-card--clickable:hover{border-color:var(--card-border)}.student-lesson-card--filtered:before{opacity:.4}.student-lesson-card.card-blue{--group-color: var(--group-blue, #6f84df)}.student-lesson-card.card-teal{--group-color: var(--group-teal, #53a29e)}.student-lesson-card.card-violet{--group-color: var(--group-violet, #966fd1)}.student-lesson-card.card-sand{--group-color: var(--group-sand, #ae9858)}@media (max-width: 768px){.student-lesson-card{width:100%}.student-lesson-card--calendar{height:auto;min-height:68px}.student-lesson-card__title{right:78px;font-size:14px}.student-lesson-card__teacher{font-size:11px}.student-lesson-card__time{font-size:14px}}@media (max-width: 480px){.student-lesson-card{height:auto;min-height:62px;border-radius:10px}.student-lesson-card:before{top:8px;bottom:8px}.student-lesson-card__title{left:12px;top:12px;right:68px;font-size:13px}.student-lesson-card__title:after{width:24px}.student-lesson-card__meta{top:12px;right:12px;gap:4px}.student-lesson-card__time{font-size:13px}.student-lesson-card__teacher{left:12px;right:20px;bottom:12px;font-size:11px}.student-lesson-card__status{right:12px;bottom:12px;width:7px;height:7px}.student-lesson-card--modal{min-height:80px;border-radius:12px}.student-lesson-card--modal .student-lesson-card__title{left:14px;top:14px;right:90px;font-size:16px}.student-lesson-card--modal .student-lesson-card__meta{top:14px;right:14px}.student-lesson-card--modal .student-lesson-card__time{font-size:16px}.student-lesson-card--modal .student-lesson-card__teacher{left:14px;right:24px;bottom:14px;font-size:12px}.student-lesson-card--modal .student-lesson-card__status{right:14px;bottom:14px}}.student-calendar-view{width:100%;min-width:0;display:flex;flex-direction:column;gap:0}.student-calendar-top{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.student-calendar-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:0}.student-calendar-headline-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.student-calendar-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);white-space:nowrap;margin:0}.student-calendar-subtitle{font-size:13px;line-height:1;font-weight:540;letter-spacing:-.012em;color:var(--text-muted);white-space:nowrap}.student-calendar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.student-select{position:relative;display:inline-flex}.student-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 14px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.04);border-radius:999px;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;white-space:nowrap}.student-select-trigger:hover{background:var(--surface-2, #272727);border-color:#ffffff0e;color:var(--accent-text, rgba(255, 255, 255, .84))}.student-select-trigger:active{transform:scale(.992)}.student-select-arrow{display:flex;align-items:center;color:#ffffff57;transition:transform .17s ease}.student-select.is-open .student-select-trigger{background:var(--surface-2, #272727);border-color:#ffffff0e;color:var(--accent-text, rgba(255, 255, 255, .84))}.student-select.is-open .student-select-arrow{transform:rotate(180deg)}.student-select-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown, 100);min-width:100%;padding:6px;background:var(--surface-1);border:1px solid var(--border-soft, rgba(255, 255, 255, .04));border-radius:14px;box-shadow:var(--shadow-dropdown, 0 10px 30px rgba(0, 0, 0, .24));list-style:none;display:none;margin:0}.student-select.is-open .student-select-menu{display:block}.student-select-option{min-height:38px;padding:0 12px;display:flex;align-items:center;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:540;letter-spacing:-.013em;border-radius:10px;cursor:pointer;transition:background .17s ease,color .17s ease;background:none;border:none;width:100%;text-align:left}.student-select-option:hover{background:var(--surface-2);color:var(--accent-text, rgba(255, 255, 255, .84))}.student-select-option.active,.student-select-option[aria-selected=true]{background:#ffffff08;color:var(--text-main)}.student-segmented{display:inline-flex;align-items:center;padding:3px;border-radius:999px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.03);min-height:40px;gap:4px}.student-segmented-btn{padding:0 14px;min-height:32px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.student-segmented-btn:hover{color:var(--text-main)}.student-segmented-btn:active{transform:scale(.992)}.student-segmented-btn.active{background:var(--surface-2, #272727);border-color:#ffffff0a;color:var(--text-main)}.student-credits-link{border:0;background:transparent;padding:0;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;font-family:inherit;white-space:nowrap;cursor:pointer;transition:color .17s ease,transform .17s ease;margin-left:auto}.student-credits-link:hover{color:#ffffffc2}.student-credits-link:active{transform:scale(.992)}.student-calendar-toolbar{display:flex;align-items:flex-end;justify-content:flex-start;gap:24px;margin-bottom:4px}.student-calendar-range-block{display:flex;align-items:flex-start;gap:14px;min-width:0}.student-calendar-range-center{min-width:max-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding-top:6px}.student-calendar-range-label{padding:0;margin:0;min-width:160px;font-size:20px;line-height:1;font-weight:560;letter-spacing:-.018em;color:var(--text-main);white-space:nowrap;text-align:center}.student-calendar-today-btn{min-width:auto;height:auto;padding:0;margin:0;border:0;background:transparent;color:#ffffff75;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.013em;border-radius:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--transition-ui),opacity var(--transition-ui),transform var(--transition-ui);text-align:center}.student-calendar-today-btn:hover{background:transparent;border-color:transparent;color:#ffffffc2}.student-calendar-today-btn:active{transform:scale(.992)}.student-calendar-nav-btn{height:40px;flex:0 0 10px;border:0;background:transparent;color:#ffffff6b;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.student-calendar-nav-btn svg{width:18px;height:18px;display:block}.student-calendar-nav-btn:hover:not(:disabled){border-color:transparent;color:#ffffffb8}.student-calendar-nav-btn:focus-visible{outline:none;background:#ffffff07;color:#ffffffc7}.student-calendar-nav-btn:active:not(:disabled){transform:scale(.992)}.student-calendar-nav-btn:disabled{opacity:.38;cursor:default}.student-calendar-viewport{overflow:hidden;width:100%}.student-calendar-track{display:flex;gap:var(--track-gap, 14px);transition:transform .26s cubic-bezier(.22,1,.36,1);will-change:transform}.student-calendar-day{min-width:0;flex:0 0 auto}.student-calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 0 0 2px}.student-calendar-day-name{font-size:16px;line-height:1.03;font-weight:600;letter-spacing:-.022em;color:#ffffffd6;white-space:nowrap}.student-calendar-date-capsule{display:inline-block;padding:0;min-height:0;border-radius:0;background:transparent;white-space:nowrap;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.014em;color:#ffffff61;flex:0 0 auto}.student-calendar-date-capsule.is-today{padding:6px 10px;min-height:24px;border-radius:999px;background:#ffffff0a;color:#ffffffbd;display:inline-flex;align-items:center;justify-content:center}.student-calendar-day-lessons{margin-top:0;display:flex;flex-direction:column;gap:10px}.student-calendar-empty-day{margin-top:0;height:74px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--helper-surface);color:var(--text-muted);font-size:14px;font-weight:470;letter-spacing:-.012em}.student-calendar-day-name-short{display:none}@media (max-width: 980px){.student-calendar-headline{flex-direction:column;align-items:stretch}.student-calendar-actions{justify-content:flex-start}}@media (max-width: 760px){.student-calendar-view{gap:0}.student-calendar-headline{flex-direction:column;align-items:stretch}.student-select-trigger,.student-segmented-btn{font-size:13px}.student-calendar-title{font-size:25px}.student-calendar-subtitle{font-size:12px}.student-calendar-range-label{font-size:17px}.student-calendar-today-btn{font-size:12px}.student-calendar-day-name-full{display:none}.student-calendar-day-name-short{display:inline}.student-calendar-day-name{font-size:15px}.student-calendar-date-capsule{font-size:12px}.student-calendar-day-header{min-height:42px;gap:8px}.student-calendar-empty-day{height:60px;font-size:13px}}@media (max-width: 640px){.student-calendar-headline{gap:8px}.student-calendar-title{font-size:22px}.student-calendar-subtitle{font-size:11px}.student-calendar-range-label{font-size:16px}}@media (max-width: 480px){.student-calendar-view{gap:0}.student-calendar-title{font-size:20px}.student-calendar-subtitle{font-size:10px;white-space:normal}.student-calendar-range-label{font-size:15px}.student-calendar-nav-btn{height:36px}.student-calendar-nav-btn svg{width:16px;height:16px}.student-calendar-range-block{gap:6px;margin-bottom:8px}.student-calendar-range-center{min-width:180px;padding-top:4px}.student-credits-link{font-size:13px}.student-calendar-day-header{min-height:36px;padding:0}.student-calendar-day-name{font-size:14px}.student-calendar-empty-day{height:52px;font-size:12px;border-radius:10px}}.lesson-side-panel-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#00000075;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .28s cubic-bezier(.22,.8,.24,1);pointer-events:none}.lesson-side-panel-overlay.is-visible{opacity:1;pointer-events:auto}@media (max-width: 900px){.lesson-side-panel-overlay{display:block}}.lesson-side-panel{position:fixed;top:0;right:0;width:470px;height:100vh;background:linear-gradient(180deg,#242424,#222);border-left:1px solid rgba(255,255,255,.03);transform:translate(100%);transition:transform .28s cubic-bezier(.22,.8,.24,1);z-index:30;display:flex;flex-direction:column}.lesson-side-panel.is-open{transform:translate(0)}.lesson-side-panel__scroll{flex:1;min-height:0;overflow:auto;padding:26px 22px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.lesson-side-panel__scroll::-webkit-scrollbar{width:10px}.lesson-side-panel__scroll::-webkit-scrollbar-track{background:transparent}.lesson-side-panel__scroll::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.lesson-side-panel__scroll::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}.lesson-side-panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0 16px}.lesson-side-panel__title{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;color:#ffffffe0}.lesson-side-panel__close{border:0;background:transparent;color:#ffffff6b;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;padding:0;cursor:pointer;transition:color .17s ease,transform .17s ease}.lesson-side-panel__close:hover{color:#ffffffbd}.lesson-side-panel__close:active{transform:scale(.992)}.lesson-side-panel__body{display:flex;flex-direction:column;gap:22px;width:100%;align-items:stretch}.lesson-side-panel__details{display:flex;flex-direction:column;gap:24px;width:100%;align-items:stretch}.lesson-side-panel__section{display:flex;flex-direction:column;gap:14px;width:100%;align-items:stretch;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.03)}.lesson-side-panel__section:last-child{border-bottom:0;padding-bottom:0}.lesson-side-panel__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;width:100%}.lesson-side-panel__section-title{font-size:17px;line-height:1;font-weight:600;letter-spacing:-.02em;color:#ffffffe0}.lesson-side-panel__section-note{font-size:12px;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff4d;white-space:nowrap}.lesson-side-panel__doc-list{display:flex;flex-direction:column;gap:10px;width:100%}.lesson-side-panel__doc-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%}.lesson-side-panel__doc-label{font-size:13px;line-height:1.2;font-weight:600;letter-spacing:-.012em;color:#ffffff4d;white-space:nowrap}.lesson-side-panel__doc-value{text-align:right;font-size:14px;line-height:1.35;font-weight:560;letter-spacing:-.013em;color:#ffffffe0}.lesson-side-panel__homework-text{width:100%;font-size:14px;line-height:1.5;font-weight:520;letter-spacing:-.012em;color:#ffffffc7}.lesson-side-panel__gated-card{width:100%;min-height:88px;border-radius:14px;background:#ffffff04;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:14px;line-height:1.35;font-weight:540;letter-spacing:-.012em;color:#ffffff4d}.lesson-side-panel__file-list{display:flex;flex-direction:column;gap:8px;width:100%}.lesson-side-panel__file-item{width:100%;min-height:40px;border-radius:12px;background:#ffffff04;border:1px solid rgba(255,255,255,.03);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:background-color .17s ease,border-color .17s ease}.lesson-side-panel__file-item:hover{background:#ffffff07;border-color:#ffffff0e}.lesson-side-panel__file-item:active{transform:scale(.995)}.lesson-side-panel__file-left{min-width:0;display:flex;align-items:center;gap:10px}.lesson-side-panel__file-icon{width:16px;height:16px;flex:0 0 16px;color:#ffffff6b;display:block}.lesson-side-panel__file-icon svg{width:100%;height:100%;display:block}.lesson-side-panel__file-name{font-size:13px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-side-panel__file-size{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:#ffffff4d;white-space:nowrap}.lesson-side-panel__footer{flex-shrink:0;padding:22px 22px 28px;display:flex;flex-direction:column;width:100%;border-top:1px solid rgba(255,255,255,.04)}.lesson-side-panel__footer-note{width:100%;margin-bottom:20px}.lesson-side-panel__alert{width:100%;border-radius:14px;padding:12px 14px;background:#9541411f;color:#ffd4d49e;font-size:13px;line-height:1.35;font-weight:560;letter-spacing:-.012em;text-align:center}.lesson-side-panel__footer-actions{display:flex;justify-content:flex-end;width:100%}.lesson-side-panel__primary-btn,.lesson-side-panel__secondary-btn{min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;line-height:1;letter-spacing:-.015em;font:inherit;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease}.lesson-side-panel__primary-btn{border:1px solid rgba(255,255,255,.06);background:#f1f1f1;color:#111;font-weight:600}.lesson-side-panel__primary-btn:hover:not(:disabled){background:#fff}.lesson-side-panel__primary-btn:active:not(:disabled){transform:scale(.992)}.lesson-side-panel__primary-btn:disabled{opacity:.38;cursor:default}.lesson-side-panel__secondary-btn{border:1px solid rgba(255,255,255,.14);background:transparent;color:#ffffffd6;font-weight:560}.lesson-side-panel__secondary-btn:hover:not(:disabled){background:#ffffff08;border-color:#fff3}.lesson-side-panel__secondary-btn:active:not(:disabled){transform:scale(.992)}.lesson-side-panel__secondary-btn:disabled{border-color:#ffffff14;color:#ffffff4d;opacity:1;cursor:default}@media (max-width: 900px){.lesson-side-panel{width:100vw;border-left:none}.lesson-side-panel__scroll{padding:20px}.lesson-side-panel__footer{padding:22px 20px 28px}}.swap-side-panel__available{border-bottom:0;padding-bottom:0}.swap-side-panel__loading{display:flex;justify-content:center;padding:32px}.swap-side-panel__list{display:flex;flex-direction:column;gap:16px;width:100%}.swap-side-panel__item{display:flex;flex-direction:column;width:100%}.swap-side-panel__select-btn{margin-top:10px;width:100%}@media (max-width: 560px){.lesson-side-panel__doc-item{flex-direction:column;align-items:flex-start;gap:4px}.lesson-side-panel__doc-value{text-align:left}.lesson-side-panel__footer-actions{justify-content:stretch}.lesson-side-panel__primary-btn,.lesson-side-panel__secondary-btn{width:100%}}.league-badge-svg{display:block;overflow:visible;flex-shrink:0}.league-badge-orbit{fill:none;stroke:#ffffff24;stroke-width:1.8}.league-badge-glow{fill:currentColor;opacity:.16;filter:blur(2.4px);pointer-events:none}.league-badge-core{fill:currentColor}.league-badge-star4{fill:currentColor;transform-origin:28px 28px;transform:scale(.82)}.league-badge-star8{fill:currentColor;transform-origin:28px 28px;transform:scale(.78)}.league-badge-planet-group{transform-origin:28px 28px;animation:leagueBadgeSpin var(--badge-anim-dur, 18s) linear infinite}.league-badge-planet{fill:currentColor}@keyframes leagueBadgeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.leagues-section{width:100%;margin-top:12px}.leagues-section__title{font-size:24px;line-height:1.05;font-weight:620;letter-spacing:-.03em;margin:0 0 24px;color:var(--text-main)}.leagues-layout{display:grid;grid-template-columns:140px 1px minmax(0,1fr);gap:20px;align-items:start}.leagues-sidebar{min-width:0;display:flex;flex-direction:column}.leagues-sidebar__top{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.leagues-sidebar__label{font-size:13px;line-height:1;color:#ffffff6b;font-weight:560;letter-spacing:-.012em}.leagues-sidebar__help{width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff7a;font-size:12px;line-height:1;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:color .17s ease,border-color .17s ease,background-color .17s ease,transform .17s ease}.leagues-sidebar__help:hover{color:#ffffffc7;border-color:#ffffff24;background:#ffffff05}.leagues-sidebar__help:active{transform:scale(.992)}.leagues-badge-wrap{margin:0 auto;display:inline-flex;flex-direction:column;align-items:center;text-align:center}.leagues-badge__name{margin-top:12px;font-size:14px;line-height:1;font-weight:700;letter-spacing:-.02em;text-transform:uppercase;color:inherit}.leagues-badge__status{margin-top:8px;font-size:12px;line-height:1.3;font-weight:560;letter-spacing:-.012em;color:#ffffff8a;text-align:center}.leagues-divider{width:1px;min-height:100%;background:#ffffff0f;align-self:stretch}.leagues-topics{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:28px 22px;align-items:start}.league-col{min-width:0;padding:0;border:0;background:transparent}.league-col__head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.league-col__title{font-size:15px;line-height:1.1;font-weight:650;letter-spacing:-.018em;margin:0}.league-col__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.league-col__list li{font-size:13px;line-height:1.35;font-weight:520;letter-spacing:-.012em;color:#ffffffad}.league-col--bronze .league-col__title{color:var(--bronze, #b97852)}.league-col--silver .league-col__title{color:var(--silver, #aeb7c2)}.league-col--gold .league-col__title{color:var(--gold, #d6b15a)}.league-col--platinum .league-col__title{color:var(--platinum, #7fc8d6)}.league-col--bronze.is-current .league-col__title{color:#d4916a;font-weight:720}.league-col--silver.is-current .league-col__title{color:#cdd6e0;font-weight:720}.league-col--gold.is-current .league-col__title{color:#e8c87a;font-weight:720}.league-col--platinum.is-current .league-col__title{color:#a3dce8;font-weight:720}.league-col.is-current .league-col__list li{color:#ffffffd1}.league-col.is-future .league-col__title{opacity:.72}.league-col.is-future .league-col__list li{color:#ffffff57}@media (max-width: 1280px){.leagues-layout{grid-template-columns:1fr;gap:22px}.leagues-divider{width:100%;min-height:1px;height:1px}}@media (max-width: 900px){.leagues-topics{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width: 640px){.leagues-section__title{font-size:22px}.leagues-topics{grid-template-columns:1fr}}.student-schedule{width:100%;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:18px;transition:padding-right .26s cubic-bezier(.22,.8,.24,1)}.student-schedule.panel-open{padding-right:470px}@media (max-width: 900px){.student-schedule.panel-open{padding-right:0}}.student-schedule-error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-field);background:var(--danger-bg);border:1px solid var(--status-full);color:var(--danger-text)}.student-schedule-error-banner__text{flex:1;font-size:13px;font-weight:500;line-height:1.4}.student-schedule-error-banner__retry{flex-shrink:0;padding:6px 14px;border:0;border-radius:var(--radius-card);background:var(--status-full);color:var(--text-main);font-size:13px;font-weight:540;cursor:pointer;transition:opacity var(--transition-ui);white-space:nowrap}.student-schedule-error-banner__retry:hover{opacity:.85}.student-schedule-error-message{padding:12px 16px;border-radius:var(--radius-field);background:var(--danger-bg);border:1px solid var(--status-full);color:var(--danger-text);font-size:14px;font-weight:500;line-height:1.4}.student-schedule-loading{display:flex;flex-direction:column;gap:18px}.student-schedule-skeleton-header{display:flex;flex-direction:column;gap:8px}.student-schedule-skeleton-title{width:180px;height:30px;border-radius:var(--radius-card);background:var(--surface-2);animation:scheduleSkeletonPulse 1.5s ease-in-out infinite}.student-schedule-skeleton-subtitle{width:120px;height:13px;border-radius:var(--radius-btn);background:var(--surface-2);animation:scheduleSkeletonPulse 1.5s ease-in-out infinite;animation-delay:.1s}.student-schedule-skeleton-toolbar{display:flex;gap:10px;align-items:center}.student-schedule-skeleton-pill{width:120px;height:40px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border-soft);animation:scheduleSkeletonPulse 1.5s ease-in-out infinite;animation-delay:.2s}.student-schedule-skeleton-pill--wide{width:180px}.student-schedule-skeleton-grid{display:flex;gap:14px}.student-schedule-skeleton-column{flex:1;display:flex;flex-direction:column;gap:10px}.student-schedule-skeleton-day-header{height:52px;border-radius:var(--radius-card);background:var(--surface-2);animation:scheduleSkeletonPulse 1.5s ease-in-out infinite;animation-delay:.3s}.student-schedule-skeleton-card{height:74px;border-radius:var(--radius-field);background:var(--surface-1);border:1px solid var(--card-border);animation:scheduleSkeletonPulse 1.5s ease-in-out infinite;animation-delay:.4s}@keyframes scheduleSkeletonPulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.student-schedule{gap:14px}.student-schedule-skeleton-grid{flex-wrap:wrap}.student-schedule-skeleton-column{flex:0 0 calc(50% - 7px)}.student-schedule-skeleton-toolbar{flex-wrap:wrap;gap:8px}.student-schedule-skeleton-pill{width:100px;height:36px}.student-schedule-skeleton-pill--wide{width:150px}}@media (max-width: 640px){.student-schedule-skeleton-grid{flex-direction:column}.student-schedule-skeleton-column{flex:none}}@media (max-width: 480px){.student-schedule{gap:10px}.student-schedule-error-banner{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.student-schedule-error-banner__text{font-size:12px}.student-schedule-error-banner__retry{align-self:flex-end;padding:6px 12px;font-size:12px}.student-schedule-error-message{padding:10px 12px;font-size:13px}.student-schedule-skeleton-title{width:140px;height:24px}.student-schedule-skeleton-subtitle{width:90px;height:12px}.student-schedule-skeleton-pill{width:80px;height:32px}.student-schedule-skeleton-pill--wide{width:120px}.student-schedule-skeleton-card{height:62px}.student-schedule-skeleton-day-header{height:42px}}.segmented-control{display:inline-flex;align-items:center;background:var(--surface-1);border:1px solid rgba(255,255,255,.03);border-radius:999px;padding:3px;gap:4px;box-sizing:border-box;min-height:40px;flex:0 0 auto;width:auto}.segmented-control-sm{padding:2px;gap:3px;min-height:34px}.segmented-control-lg{padding:4px;gap:4px;min-height:46px}.segmented-control-segment{position:relative;z-index:1;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-family-base);font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;padding:0 14px;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;white-space:nowrap;outline:none;box-sizing:border-box;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px}.segmented-control-sm .segmented-control-segment{font-size:var(--font-size-xs);padding:0 10px;min-height:28px}.segmented-control-lg .segmented-control-segment{font-size:var(--font-size-medium);padding:0 18px;min-height:38px}.segmented-control-segment:hover:not(:disabled){color:var(--text-main)}.segmented-control-segment:active:not(:disabled){transform:scale(.992)}.segmented-control-segment-active{background:var(--surface-2);border-color:#ffffff0a;color:var(--text-main);font-weight:560}.segmented-control-segment-focused{z-index:2}.segmented-control-segment:disabled{cursor:not-allowed;opacity:.5}.segmented-control-disabled{opacity:.6;pointer-events:none}.segmented-control-segment:focus-visible{outline:none;box-shadow:0 0 0 2px var(--field-border-focus)}@media (max-width: 640px){.segmented-control{min-height:36px;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.segmented-control::-webkit-scrollbar{display:none}.segmented-control-segment{padding:0 10px;font-size:var(--font-size-xs);min-height:30px;flex-shrink:0}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.student-lesson-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1050);display:flex;align-items:center;justify-content:center;background:#00000057;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-overlay, .12s ease),visibility var(--transition-overlay, .12s ease)}.student-lesson-modal-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;animation:overlayIn .2s ease-out both}.student-lesson-modal{background:var(--surface-1, #232323);border:1px solid var(--border-soft, rgba(255, 255, 255, .03));border-radius:22px;box-shadow:0 28px 80px #0000006b;max-width:600px;width:calc(100% - 48px);max-height:90vh;overflow-y:auto;transform:translateY(8px) scale(.99);opacity:0;transition:transform var(--transition-modal, .18s ease),opacity var(--transition-modal, .18s ease)}.student-lesson-modal-backdrop.is-open .student-lesson-modal{transform:translateY(0) scale(1);opacity:1;animation:modalSlideIn .2s ease-out both}.student-lesson-modal{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.student-lesson-modal::-webkit-scrollbar{width:10px}.student-lesson-modal::-webkit-scrollbar-track{background:transparent}.student-lesson-modal::-webkit-scrollbar-thumb{background-color:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.student-lesson-modal::-webkit-scrollbar-thumb:hover{background-color:#ffffff1a;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.student-lesson-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 22px 14px}.student-lesson-modal__title{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;color:var(--text-main, rgba(255, 255, 255, .88))}.student-lesson-modal__close{border:0;background:transparent;color:#ffffff6b;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;padding:0;margin-top:-2px;cursor:pointer;transition:color .17s ease,transform .17s ease,opacity .17s ease}.student-lesson-modal__close:hover{color:#ffffffbd}.student-lesson-modal__close:active{transform:scale(.992)}.student-lesson-modal__body{padding:0 22px 22px;display:flex;flex-direction:column;gap:14px;width:100%;align-items:stretch}.student-lesson-modal__details{display:flex;flex-direction:column;gap:16px;width:100%;align-items:stretch}.student-lesson-modal__section{display:flex;flex-direction:column;gap:10px;width:100%;align-items:stretch;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.03)}.student-lesson-modal__section:first-child{padding-top:0}.student-lesson-modal__section:last-child{border-bottom:0;padding-bottom:0}.student-lesson-modal__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;width:100%}.student-lesson-modal__section-title{font-size:17px;line-height:1;font-weight:600;letter-spacing:-.02em;color:var(--text-main, rgba(255, 255, 255, .88))}.student-lesson-modal__section-note{font-size:12px;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff4d;white-space:nowrap}.student-lesson-modal__doc-list{display:flex;flex-direction:column;gap:10px;width:100%}.student-lesson-modal__doc-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%}.student-lesson-modal__doc-label{font-size:13px;line-height:1.2;font-weight:600;letter-spacing:-.012em;color:#ffffff4d;white-space:nowrap}.student-lesson-modal__doc-value{text-align:right;font-size:14px;line-height:1.35;font-weight:560;letter-spacing:-.013em;color:var(--text-main, rgba(255, 255, 255, .88))}.student-lesson-modal__homework-text{width:100%;font-size:14px;line-height:1.5;font-weight:520;letter-spacing:-.012em;color:#ffffffc7}.student-lesson-modal__gated-card{width:100%;min-height:88px;border-radius:14px;background:#ffffff04;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-size:14px;line-height:1.35;font-weight:540;letter-spacing:-.012em;color:#ffffff4d}.student-lesson-modal__file-list{display:flex;flex-direction:column;gap:8px;width:100%}.student-lesson-modal__file-item{width:100%;min-height:40px;border-radius:12px;background:#ffffff04;border:1px solid rgba(255,255,255,.03);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.student-lesson-modal__file-left{min-width:0;display:flex;align-items:center;gap:10px}.student-lesson-modal__file-icon{width:16px;height:16px;flex:0 0 16px;color:#ffffff6b}.student-lesson-modal__file-name{font-size:13px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main, rgba(255, 255, 255, .88));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-lesson-modal__file-size{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:#ffffff4d;white-space:nowrap}.student-lesson-modal__footer{padding:0 22px 28px;display:flex;flex-direction:column;width:100%}.student-lesson-modal__footer-note{width:100%;margin-bottom:20px}.student-lesson-modal__alert{width:100%;border-radius:14px;padding:12px 14px;background:#9541411f;color:#ffd4d49e;font-size:13px;line-height:1.35;font-weight:560;letter-spacing:-.012em;text-align:center}.student-lesson-modal__footer-actions{display:flex;justify-content:flex-end;width:100%}.student-lesson-modal__primary-btn,.student-lesson-modal__secondary-btn{min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;line-height:1;letter-spacing:-.015em;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease}.student-lesson-modal__primary-btn{border:1px solid rgba(255,255,255,.06);background:var(--action-bg, #f1f1f1);color:var(--action-text, #111111);font-weight:600}.student-lesson-modal__primary-btn:hover:not(:disabled){background:var(--action-bg-hover, #ffffff)}.student-lesson-modal__primary-btn:active:not(:disabled){transform:scale(.992)}.student-lesson-modal__primary-btn:disabled{opacity:.38;cursor:default}.student-lesson-modal__secondary-btn{border:1px solid rgba(255,255,255,.14);background:transparent;color:#ffffffd6;font-weight:560}.student-lesson-modal__secondary-btn:hover:not(:disabled){background:#ffffff08;border-color:#fff3}.student-lesson-modal__secondary-btn:active:not(:disabled){transform:scale(.992)}.student-lesson-modal__secondary-btn:disabled{border-color:#ffffff14;color:#ffffff4d;opacity:1;cursor:default}@media (max-width: 560px){.student-lesson-modal-backdrop{align-items:flex-end;padding:0}.student-lesson-modal{max-width:100%;width:100%;max-height:calc(100vh - 32px);border-radius:22px 22px 0 0}.student-lesson-modal__header{padding:26px 16px 16px}.student-lesson-modal__body{padding:6px 16px 16px}.student-lesson-modal__footer{padding:0 16px 16px}.student-lesson-modal__doc-item{flex-direction:column;align-items:flex-start;gap:4px}.student-lesson-modal__doc-value{text-align:left}.student-lesson-modal__footer-actions{justify-content:normal}.student-lesson-modal__primary-btn,.student-lesson-modal__secondary-btn{width:100%}}.homework-view-shell{width:100%;max-width:var(--content-max, 1440px);margin:0 auto}.homework-view-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.homework-view-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);white-space:nowrap;margin:0}.homework-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,550px),1fr));gap:18px;align-items:start}.hw-card{min-width:0;min-height:248px;background:var(--surface-1);border:1px solid rgba(255,255,255,.022);border-radius:18px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:14px}.hw-card-skeleton{min-height:248px;border-radius:18px;background:linear-gradient(90deg,var(--surface-1) 25%,var(--surface-2) 50%,var(--surface-1) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border:1px solid rgba(255,255,255,.022)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.hw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:2px}.hw-head-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.hw-title{font-size:19px;line-height:1.08;font-weight:610;letter-spacing:-.024em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hw-date{font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted);white-space:nowrap}.expand-btn{min-height:28px;padding:0;border:0;background:transparent;color:#ffffffa3;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;white-space:nowrap;cursor:pointer;transition:color .17s ease,transform .17s ease;flex-shrink:0}.expand-btn:hover{color:#ffffffdb}.expand-btn:active{transform:scale(.992)}.hw-text-wrap{min-height:7.5em}.hw-text{font-size:15px;line-height:1.5;font-weight:520;letter-spacing:-.013em;color:#ffffffc7;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:7.5em}.hw-text a{color:var(--color-info);text-decoration:none}.hw-text a:hover{text-decoration:underline}.hw-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.hw-files-area{display:flex;flex-direction:column;gap:6px}.hw-hw-files{display:flex;flex-direction:column;gap:4px;margin-bottom:2px}.file-slot-sm{padding:6px 10px;border-radius:8px;min-height:32px}.file-slot-sm .file-icon{width:14px;height:14px;flex:0 0 14px}.file-slot{width:100%;min-width:0;min-height:40px;border-radius:12px;background:#ffffff03;border:1px solid rgba(255,255,255,.028);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-decoration:none;color:inherit;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}a.file-slot:hover{color:inherit}a.file-slot:focus-visible{outline:2px solid var(--field-border-focus, rgba(255, 255, 255, .1));outline-offset:2px;border-radius:12px}.file-slot:hover{background:#ffffff05;border-color:#ffffff0d}.file-slot:hover .file-name{color:#fffffff0}.file-slot:hover .file-icon{color:#ffffff8f}.file-slot:hover .file-size{color:#fff6}.file-slot:active{background:#ffffff06;border-color:#ffffff0f;transform:scale(.996)}.file-slot.is-empty{background:#ffffff03;border-color:transparent;justify-content:center;padding:0 14px;cursor:default}.file-icon{width:16px;height:16px;flex:0 0 16px;color:#fff6;transition:color .17s ease}.file-name{font-size:13px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .17s ease}.file-size{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:var(--text-muted);white-space:nowrap;flex:0 0 auto;transition:color .17s ease}.done-btn{min-width:124px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffffb8;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.done-btn:hover:not(:disabled){background:#ffffff06;border-color:#ffffff24;color:#ffffffd6}.done-btn:active:not(:disabled){transform:scale(.992)}.done-btn:disabled{opacity:.5;cursor:not-allowed}.done-btn.done-btn-active{border-color:#ffffff1a;color:#ffffffb8}.done-btn.done-btn-active:hover:not(:disabled){background:#ffffff06;border-color:#ffffff24;color:#ffffffd6}.homework-view-top .segmented-control{align-self:flex-start}.homework-view-empty{margin-top:48px;text-align:center;color:var(--text-secondary);font-size:var(--font-size-medium);line-height:1.5}.homework-view-error{padding:40px;text-align:center;color:var(--color-error);font-size:var(--font-size-medium);line-height:1.5}.homework-view-retry{margin-top:16px;padding:10px 20px;border-radius:10px;border:1px solid var(--color-error);background:transparent;color:var(--color-error);font-size:var(--font-size-sm);font-weight:560;cursor:pointer;transition:background-color .17s ease,border-color .17s ease}.homework-view-retry:hover{background:var(--color-error-bg);border-color:var(--color-error)}@media (max-width: 980px){.homework-view-top{flex-direction:column;align-items:flex-start}}@media (max-width: 760px){.homework-view-title{font-size:25px}}@media (max-width: 640px){.hw-card{min-height:0;padding:16px}.hw-title{font-size:18px}.hw-footer{gap:8px}.done-btn{width:100%;min-width:0}}.hw-modal-content{display:flex;flex-direction:column;gap:18px}.hw-modal-meta{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:560;letter-spacing:-.012em;color:#ffffff6b}.hw-modal-meta-sep{color:#ffffff38}.hw-modal-fulltext{font-size:15px;font-weight:520;line-height:1.5;letter-spacing:-.013em;color:#ffffffc7}.hw-modal-fulltext a{color:var(--color-info);text-decoration:none}.hw-modal-fulltext a:hover{text-decoration:underline}.hw-modal-files{display:flex;flex-direction:column;gap:8px}.dark-input-container{display:flex;flex-direction:column;gap:6px;width:100%;box-sizing:border-box}.dark-input-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dark-input-label{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:560;letter-spacing:-.012em;color:var(--text-secondary);transition:var(--transition-ui)}.dark-input-label-uppercase{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.05em}.dark-input-required{color:var(--danger-color);margin-left:2px}.dark-input-info-label{font-size:12px;color:var(--text-muted);font-weight:560;letter-spacing:-.01em}.dark-input{width:100%;height:44px;padding:11px 14px;background:var(--field-bg, rgba(255, 255, 255, .014));border:1px solid var(--field-border, rgba(255, 255, 255, .05));border-radius:var(--radius-field, 12px);color:var(--text-main);font-family:var(--font-family-base);font-size:14px;line-height:1;font-weight:520;transition:border-color .17s ease,background-color .17s ease;outline:none;box-sizing:border-box}.dark-input::placeholder{color:var(--text-muted);transition:var(--transition-ui)}.dark-input:hover:not(:disabled){border-color:var(--field-border-hover, rgba(255, 255, 255, .12))}.dark-input:hover:not(:disabled)::placeholder{color:var(--text-secondary)}.dark-input-focused,.dark-input:focus{border-color:var(--field-border-focus, rgba(255, 255, 255, .1));background:var(--field-bg);outline:none}.dark-input:disabled{cursor:not-allowed;background:var(--field-readonly-bg);border-color:var(--border-color-light);color:var(--text-muted);opacity:.6}.dark-input-error{border-color:var(--color-error)}.dark-input-error:focus{border-color:var(--color-error-light);box-shadow:0 0 0 1px var(--color-error-bg)}.dark-input-error-message{font-size:12px;color:var(--danger-color);margin-top:-2px;display:flex;align-items:center;gap:4px}.dark-input-sm{height:36px;padding:0 12px;font-size:var(--font-size-xs)}.dark-input-md{height:44px;padding:11px 14px;font-size:14px}.dark-input-lg{height:50px;padding:0 16px;font-size:var(--font-size-medium)}.dark-input[type=date],.dark-input[type=time],.dark-input[type=datetime-local],.dark-input[type=number]{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:textfield}.dark-input[type=date]::-webkit-calendar-picker-indicator,.dark-input[type=time]::-webkit-calendar-picker-indicator,.dark-input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:var(--transition-ui);filter:invert(1)}.dark-input[type=date]:hover::-webkit-calendar-picker-indicator,.dark-input[type=time]:hover::-webkit-calendar-picker-indicator,.dark-input[type=datetime-local]:hover::-webkit-calendar-picker-indicator{opacity:.8}.dark-input[type=number]::-webkit-inner-spin-button,.dark-input[type=number]::-webkit-outer-spin-button{opacity:.5;transition:var(--transition-ui);filter:invert(1)}.dark-input[type=number]:hover::-webkit-inner-spin-button,.dark-input[type=number]:hover::-webkit-outer-spin-button{opacity:.8}textarea.dark-input{height:auto;min-height:120px;resize:vertical;padding-top:12px;padding-bottom:12px;line-height:1.5}.dark-input:-webkit-autofill,.dark-input:-webkit-autofill:hover,.dark-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--surface-1) inset;transition:background-color 5000s ease-in-out 0s}.dark-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--surface-1) inset,0 0 0 1px var(--border-color-light)}.dark-input::selection{background-color:var(--color-info-bg);color:var(--text-main)}@media (max-width: 640px){.dark-input{height:48px;padding:0 16px;font-size:16px}.dark-input-sm{height:40px;padding:0 14px;font-size:var(--font-size-medium)}.dark-input-md{height:48px;padding:0 16px;font-size:16px}.dark-input-lg{height:54px;padding:0 18px;font-size:var(--font-size-subtitle)}textarea.dark-input{min-height:100px;padding:14px 16px;font-size:16px}.dark-input-header{flex-direction:column;align-items:flex-start;gap:6px}.dark-input-label{font-size:12px}.dark-input-label-uppercase,.dark-input-info-label,.dark-input-error-message{font-size:11px}}.dark-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:1;font-weight:var(--font-weight-semibold);border:none;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease;cursor:pointer;transform:none;user-select:none;box-sizing:border-box;outline:none;position:relative;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;contain:layout style}.dark-button-sm{min-height:var(--touch-target-min);padding:0 var(--spacing-md);font-size:var(--font-size-xs)}.dark-button-md{min-height:calc(var(--touch-target-min) + var(--spacing-sm));padding:0 var(--spacing-lg);font-size:var(--font-size-sm)}.dark-button-lg{min-height:calc(var(--touch-target-min) + var(--spacing-md));padding:0 var(--spacing-lg);font-size:var(--font-size-base);letter-spacing:-.015em}.dark-button-pill-primary{background:var(--btn-action-bg, #f1f1f1);color:var(--btn-action-text, #111111);border:none;border-radius:999px}.dark-button-pill-primary:hover:not(:disabled){background:var(--btn-action-hover, #ffffff);will-change:transform,background-color}.dark-button-pill-primary:active:not(:disabled){transform:scale(.992);will-change:transform}.dark-button-pill-primary.dark-button-disabled{background:#ffffff1a;color:#ffffff4d;border-color:transparent;cursor:default}.dark-button-rect-primary{background:var(--btn-action-bg, #f1f1f1);color:var(--btn-action-text, #111111);border:none;border-radius:var(--radius-btn, 10px);min-width:calc(var(--touch-target-min) * 2.5)}.dark-button-rect-primary:hover:not(:disabled){background:var(--btn-action-hover, #ffffff)}.dark-button-rect-primary:active:not(:disabled){transform:scale(.992)}.dark-button-rect-primary.dark-button-disabled{background:#ffffff1a;color:#ffffff4d;border-color:transparent;cursor:default}.dark-button-outline{background:transparent;color:var(--text-main);border:1px solid var(--border-color-dark);border-radius:var(--radius-btn, 10px);font-weight:var(--font-weight-semibold)}.dark-button-outline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color-dark)}.dark-button-outline:active:not(:disabled){transform:scale(.992)}.dark-button-outline.dark-button-disabled{background:transparent;border-color:var(--border-color-light);color:var(--text-muted);cursor:default;opacity:1}.dark-button-outline.dark-button-disabled:hover{background:transparent;border-color:var(--border-color-light);transform:none}.dark-button-ghost{background:transparent;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-btn, 10px)}.dark-button-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main)}.dark-button-ghost:active:not(:disabled){transform:scale(.992)}.dark-button-ghost.dark-button-disabled{opacity:.38;cursor:default}.dark-button-danger{background:var(--color-error-bg);color:var(--danger-color);border:1px solid var(--color-error-bg);border-radius:var(--radius-btn, 10px)}.dark-button-danger:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error);color:var(--white, #ffffff)}.dark-button-danger:active:not(:disabled){transform:scale(.992)}.dark-button-danger.dark-button-disabled{opacity:.38;cursor:default}.dark-button-full-width{width:100%}.dark-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--border-color)}.dark-button-outline:focus-visible{box-shadow:0 0 0 2px var(--border-color-dark)}.dark-button-loading{cursor:wait;pointer-events:none}.dark-button-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dark-button-spin .6s linear infinite}.dark-button-content-loading{opacity:0}@keyframes dark-button-spin{to{transform:rotate(360deg)}}.dark-button-disabled{cursor:default;transform:none!important;box-shadow:none!important}.dark-button:active:not(:disabled){transform:scale(.992)}@media (max-width: 640px){.dark-button-sm{min-height:var(--touch-target-min)}.dark-button-md{min-height:calc(var(--touch-target-min) + var(--spacing-sm))}}.student-credits-view{width:100%;max-width:var(--content-max, 1440px);margin:0 auto}.credits-page-top{margin-bottom:28px}h1.credits-page-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0}.credits-top{display:grid;grid-template-columns:140px 1fr;align-items:stretch}.credits-balance-panel{display:flex;flex-direction:column;justify-content:center}.credits-balance-value{font-size:56px;line-height:.95;font-weight:640;letter-spacing:-.05em;color:var(--text-main)}.credits-balance-caption{font-size:14px;line-height:1.35;font-weight:520;letter-spacing:-.012em;color:#ffffff4d;margin-top:6px}.credits-purchase-panel{min-width:0;padding-left:40px;border-left:1px solid rgba(255,255,255,.022);display:flex;flex-direction:column;justify-content:center}h2.credits-section-title{font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0 0 auto}.credits-purchase-row{display:grid;grid-template-columns:124px 152px 132px;column-gap:28px;align-items:end;width:max-content;max-width:100%;margin-top:14px}.dark-input.credits-amount-input{width:100%;height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.028);background:#ffffff03;color:var(--text-main);font-size:14px;font-weight:500;outline:none;transition:border-color .17s ease,background-color .17s ease}.dark-input.credits-amount-input::placeholder{color:#ffffff3d}.dark-input.credits-amount-input:hover{border-color:#ffffff0a}.dark-input.credits-amount-input:focus{border-color:#ffffff14;background:#ffffff04}.credits-purchase-price{width:152px;height:40px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.credits-price-value{width:100%;font-size:30px;line-height:.92;font-weight:620;letter-spacing:-.032em;color:#ffffffd6;white-space:nowrap;text-align:right}.credits-price-note{width:100%;margin-top:1px;font-size:13px;line-height:1;font-weight:520;letter-spacing:-.012em;color:#ffffff4d;white-space:nowrap;text-align:right}.credits-buy-button{width:132px!important;height:40px!important;min-height:40px!important;border-radius:12px!important;border:0!important;background:#ffffffdb!important;color:#111!important;font-size:14px!important;line-height:1!important;font-weight:600!important;letter-spacing:-.013em!important;cursor:pointer;min-width:unset!important;padding:0!important;transition:background-color .17s ease,color .17s ease,transform .17s ease!important}.credits-buy-button:hover:not(:disabled){background:#ffffffeb!important}.credits-buy-button:active:not(:disabled){transform:scale(.992)}.credits-buy-button.dark-button-disabled,.credits-buy-button:disabled{background:#ffffff1a!important;color:#ffffff4d!important;cursor:default;opacity:1!important}.credits-purchase-note{margin-top:14px;font-size:13px;line-height:1.45;font-weight:520;letter-spacing:-.012em;color:#ffffff4d}.credits-purchase-note-link{color:#ffffff8f;text-decoration:underline;text-decoration-color:#ffffff42;text-underline-offset:.18em;transition:color .17s ease,text-decoration-color .17s ease}.credits-purchase-note-link:hover{color:#ffffffc7;text-decoration-color:#ffffff6b}.credits-purchase-unavailable{margin-top:14px;font-size:13px;line-height:1;font-weight:520;letter-spacing:-.012em;color:#ffffff4d}.credits-history-section{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.05)}.credits-history-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}h2.credits-history-title{font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0;flex:0 0 auto}.credits-history-filters{flex:0 0 auto}.credits-history-filters .segmented-control{background:#ffffff04;border-color:#ffffff08}.credits-history-filters .segmented-control-segment{border-radius:999px}.credits-history-filters .segmented-control-segment-active{background:#ffffff0a;border-color:#ffffff0a;border-radius:999px}.credits-history-loading{padding:40px;text-align:center;color:#ffffff4d;font-size:14px}.credits-history-error{padding:20px;background:#ff686812;border:1px solid rgba(255,104,104,.15);border-radius:12px;color:#ff6868e6;font-size:14px;margin-bottom:20px}.credits-error-retry{display:block;margin-top:12px;padding:8px 16px;background:transparent;border:1px solid rgba(255,255,255,.028);border-radius:12px;color:var(--text-main);font-size:13px;font-family:inherit;cursor:pointer;transition:background-color .17s ease,border-color .17s ease}.credits-error-retry:hover:not(:disabled){background:#ffffff05;border-color:#ffffff0d}.credits-error-retry:disabled{opacity:.4;cursor:default}.credits-history-empty{padding:40px;text-align:center;color:#ffffff4d;font-size:14px}.credits-history-table col.col-date,.credits-history-table col.col-type,.credits-history-table col.col-change{width:190px}.credits-history-table col.col-comment{width:auto}.credits-history-table tbody td{padding:12px 32px 12px 0;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.018);font-size:14px;line-height:1.4;color:var(--text-secondary)}.credits-date-main{font-weight:560;color:var(--text-main)}.credits-date-time{margin-top:4px;font-size:13px;line-height:1.2;color:#ffffff4d}.credits-op-type{font-weight:560;color:#ffffffc2}.credits-op-change{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;white-space:nowrap}.credits-op-change.plus{color:#5cc987f5}.credits-op-change.minus{color:#ff6868f5}.credits-comment{color:var(--text-secondary)}@media (max-width: 980px){.credits-top{grid-template-columns:1fr}.credits-balance-panel{padding-bottom:28px}.credits-purchase-panel{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid rgba(255,255,255,.022)}.credits-history-table col.col-date,.credits-history-table col.col-type,.credits-history-table col.col-change,.credits-history-table col.col-comment{width:auto}.credits-purchase-note{padding-left:0;margin-top:16px}}@media (max-width: 760px){h1.credits-page-title{font-size:25px}h2.credits-section-title{font-size:18px;margin-bottom:16px}.credits-balance-value{font-size:46px}.credits-purchase-row{grid-template-columns:1fr;row-gap:16px;width:100%}.credits-purchase-price,.credits-price-value,.credits-price-note{width:100%;text-align:left;align-items:flex-start}.credits-buy-button{width:100%!important}.credits-purchase-note{margin-top:14px}.credits-history-head{flex-direction:column;align-items:flex-start;gap:16px}.credits-history-filters{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.credits-history-filters .segmented-control{width:max-content}.credits-history-table thead{display:none}.credits-history-table,.credits-history-table tbody,.credits-history-table tr,.credits-history-table td{display:block;width:100%}.credits-history-table tbody tr{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.018)}.credits-history-table tbody tr:last-child{border-bottom:0}.credits-history-table tbody td{padding:0 0 10px;border-bottom:0}.credits-history-table tbody td:last-child{padding-bottom:0}}.credits-simulate-button{min-height:44px;padding:0 18px;border-radius:999px;font-size:14px;line-height:1;letter-spacing:-.015em;cursor:pointer;transition:all .17s ease;border:1px solid rgba(76,175,80,.3);background:#4caf501a;color:#81c784e6;font-weight:560}.credits-simulate-button:hover:not(:disabled){background:#4caf5033;border-color:#4caf5080}.credits-simulate-button:active:not(:disabled){transform:scale(.992)}.credits-simulate-button:disabled{opacity:.38;cursor:default}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:32px;background:#00000057;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-overlay),visibility var(--transition-overlay);will-change:opacity}.confirm-modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.confirm-modal-content{background:linear-gradient(180deg,#232323fa,#1f1f1ffa);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-modal);box-shadow:0 28px 80px #0000006b;max-width:560px;width:100%;padding:26px 28px 24px;transform:translateY(8px) scale(.99);transition:transform var(--transition-modal)}.confirm-modal-overlay.is-open .confirm-modal-content{transform:translateY(0) scale(1)}.confirm-modal-head{margin-bottom:14px}.confirm-modal-title{font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0}.confirm-modal-message{font-size:15px;line-height:1.5;font-weight:520;letter-spacing:-.013em;color:#ffffffb8}.confirm-modal-actions{margin-top:24px;display:flex;align-items:center;justify-content:flex-end;gap:18px}.confirm-modal-btn-cancel{border:0;background:transparent;padding:0;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;color:#ffffff75;cursor:pointer;transition:color var(--transition-ui),transform var(--transition-ui)}.confirm-modal-btn-cancel:hover{color:#ffffffc2}.confirm-modal-btn-cancel:active{transform:scale(.992)}.confirm-modal-btn-cancel:disabled{opacity:.4;cursor:not-allowed}.confirm-modal-btn-confirm{border:0;background:transparent;padding:0;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;color:#ffffff75;cursor:pointer;transition:color var(--transition-ui),transform var(--transition-ui)}.confirm-modal-btn-confirm:hover{color:#ffffffc2}.confirm-modal-btn-confirm:active{transform:scale(.992)}.confirm-modal-btn-confirm:disabled{opacity:.4;cursor:not-allowed}.confirm-modal-btn-danger{border:0;background:transparent;padding:0;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;color:#e07a7ae0;cursor:pointer;transition:color var(--transition-ui),transform var(--transition-ui)}.confirm-modal-btn-danger:hover{color:#ee9292f5}.confirm-modal-btn-danger:active{transform:scale(.992)}.confirm-modal-btn-danger:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 760px){.confirm-modal-overlay{padding:16px;align-items:flex-start}.confirm-modal-content{margin-top:8px;padding:22px 18px 20px;border-radius:18px}}@media (max-width: 480px){.confirm-modal-overlay{padding:12px;align-items:center}.confirm-modal-content{margin-top:0;padding:20px 16px 18px;max-width:100%}.confirm-modal-title{font-size:18px}.confirm-modal-message{font-size:14px;word-break:break-word}.confirm-modal-actions{flex-direction:column-reverse;align-items:stretch;gap:10px;margin-top:20px}.confirm-modal-btn-cancel,.confirm-modal-btn-confirm,.confirm-modal-btn-danger{text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;padding:12px 0;font-size:15px}}@media (prefers-reduced-motion: reduce){.confirm-modal-overlay{transition:opacity .01ms ease,visibility .01ms ease}.confirm-modal-content{transition:transform .01ms ease}}.profile-shell{width:100%;max-width:var(--content-max, 1440px);margin:0 auto}.profile-top{margin-bottom:28px}.profile-title{margin:0;font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main)}.profile-layout{display:grid;grid-template-columns:minmax(var(--info-min, 560px),1fr) var(--security-width, 420px);gap:40px;align-items:stretch}.profile-col{min-width:0}.profile-col--security{padding-left:40px;border-left:1px solid var(--border-mid);display:flex;flex-direction:column}.profile-col--security-inner{min-height:100%;display:flex;flex-direction:column}.profile-section-head{margin-bottom:26px}.profile-section-title{margin:0;font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main)}.profile-info-list{display:flex;flex-direction:column}.profile-info-item{display:flex;flex-direction:column;gap:7px;padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid rgba(255,255,255,.022);min-width:0}.profile-info-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.profile-info-label{font-size:12px;line-height:1;font-weight:600;letter-spacing:-.01em;color:#ffffff4d}.profile-info-value{font-size:16px;line-height:1.35;font-weight:560;letter-spacing:-.015em;color:var(--text-main);word-break:break-word}.profile-info-main{min-width:0;display:flex;flex-direction:column;gap:7px}.profile-info-item--action{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.profile-telegram-status{font-size:15px;line-height:1.3;font-weight:540;letter-spacing:-.013em;color:#ffffffbd;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-action-btn{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#ffffff8f;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;flex:0 0 auto;align-self:center;cursor:pointer;white-space:nowrap;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease}.profile-action-btn:hover{background:transparent;border-color:transparent;color:#ffffffd1}.profile-action-btn:active{transform:scale(.992)}.profile-action-btn--danger{color:var(--danger-text, rgba(255, 212, 212, .62))}.profile-action-btn--danger:hover{color:var(--danger-color, rgba(224, 122, 122, 1))}.profile-security-form{width:100%;display:flex;flex-direction:column;gap:24px;flex:1 1 auto}.profile-field{display:flex;flex-direction:column;gap:7px}.profile-field-label{font-size:13px;line-height:1.2;font-weight:560;letter-spacing:-.012em;color:#ffffffb8}.profile-field-label .profile-required{color:#d27878d1}.profile-field-input{width:100%;height:44px;border-radius:12px;border:1px solid var(--input-border, rgba(255, 255, 255, .032));background:var(--input-bg, rgba(255, 255, 255, .012));color:var(--text-main);padding:0 14px;font:inherit;outline:none;transition:border-color .17s ease,background-color .17s ease,color .17s ease,box-shadow .17s ease}.profile-field-input::placeholder{color:var(--text-placeholder)}.profile-field-input:hover{border-color:var(--input-border-hover, rgba(255, 255, 255, .05))}.profile-field-input:focus{border-color:var(--input-border-focus, rgba(255, 255, 255, .1));background:#ffffff04;box-shadow:0 0 0 1px #ffffff08}.profile-field-input:disabled{opacity:.6;cursor:not-allowed}.profile-field-error{font-size:12px;color:var(--danger-color);margin-top:2px}.profile-security-actions{padding-top:6px;margin-top:auto}.profile-primary-btn{min-width:118px;min-height:40px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffffd1;color:#111;font-family:inherit;font-size:14px;line-height:1;font-weight:600;letter-spacing:-.013em;cursor:pointer;white-space:nowrap;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease}.profile-primary-btn:hover:not(:disabled){background:#ffffffe6}.profile-primary-btn:active:not(:disabled){transform:scale(.992)}.profile-primary-btn:disabled{opacity:.38;cursor:not-allowed}.profile-form-message{font-size:13px;padding:10px 14px;border-radius:10px;animation:profileFadeIn .3s ease}.profile-form-success{background:#78c87814;border:1px solid rgba(120,200,120,.15);color:#78c878e0}.profile-form-error{background:#d2787814;border:1px solid rgba(210,120,120,.15);color:#d27878e0}@keyframes profileFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-telegram-loading{display:flex;align-items:center;gap:8px;color:#ffffff4d;font-size:14px}.profile-info-item--league{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.profile-league-row-main{min-width:0;display:flex;flex-direction:column;gap:7px}.profile-league-name{font-size:16px;line-height:1.2;font-weight:560;letter-spacing:-.015em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1120px){.profile-layout{grid-template-columns:1fr;gap:28px}.profile-col--security{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid var(--border-mid);display:flex;flex-direction:column}.profile-col--security-inner{min-height:auto}.profile-security-actions{margin-top:0}}@media (max-width: 760px){.profile-title{font-size:25px}.profile-section-title{font-size:18px}.profile-info-item--league,.profile-info-item--action{flex-direction:column;align-items:flex-start}.profile-action-btn{align-self:flex-start}}@media (max-width: 560px){.profile-primary-btn{width:100%}}.profile-logout-row{display:flex;justify-content:flex-end;margin-top:32px}.profile-logout-btn{padding:0;border:none;border-radius:0;background:transparent;color:var(--danger-color, rgba(224, 122, 122, .88));font-family:inherit;font-size:14px;line-height:1;font-weight:580;letter-spacing:-.013em;cursor:pointer;white-space:nowrap;transition:color .17s ease,transform .17s ease}.profile-logout-btn:hover{color:var(--danger-color, rgba(224, 122, 122, 1))}.profile-logout-btn:active{transform:scale(.992)}@media (max-width: 480px){.profile-field-input{font-size:16px}}._shell_1hdvg_1{width:100%;max-width:1440px;margin:0 auto;padding:28px 32px 32px}._pageTop_1hdvg_8{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}._pageTitle_1hdvg_16{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:#ffffffe0;white-space:nowrap}._topControls_1hdvg_25{display:flex;align-items:center;gap:12px;flex:0 0 auto}._searchWrap_1hdvg_32{position:relative;width:260px;flex:0 0 auto}._search_1hdvg_32{width:100%;min-height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.03);background:#232323;color:#ffffffb8;padding:0 14px 0 38px;outline:none;font-size:13px;font-weight:540;letter-spacing:-.012em;transition:border-color .17s ease,background-color .17s ease}._search_1hdvg_32::placeholder{color:#fff3}._search_1hdvg_32:hover{border-color:#ffffff0b;background:#ffffff05}._search_1hdvg_32:focus{border-color:#ffffff0f;background:#ffffff05}._searchIcon_1hdvg_67{position:absolute;left:14px;top:50%;width:14px;height:14px;color:#ffffff4d;transform:translateY(-50%);pointer-events:none}._grid_1hdvg_78{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;row-gap:12px;align-items:start}._card_1hdvg_86{min-width:0;display:flex;flex-direction:column;gap:14px}._card_1hdvg_86:nth-child(n+5){padding-top:12px}._previewSlot_1hdvg_97{width:100%;aspect-ratio:210 / 297;overflow:hidden;position:relative;cursor:pointer;transition:transform .17s ease}._previewSlot_1hdvg_97:active{transform:scale(.998)}._pdfPage_1hdvg_110{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(180deg,#fffffff7,#f7f7f7f0);box-shadow:0 10px 22px #00000024;overflow:hidden;padding:16px 16px 14px}._pdfLine_1hdvg_120{height:6px;border-radius:999px;background:#00000014;margin-top:8px}._pdfLine_1hdvg_120:first-child{margin-top:0}._pdfBlock_1hdvg_131{margin-top:12px;padding:10px;border-radius:8px;background:#0000000a}._w100_1hdvg_138{width:100%}._w92_1hdvg_139{width:92%}._w84_1hdvg_140{width:84%}._w76_1hdvg_141{width:76%}._w64_1hdvg_142{width:64%}._w42_1hdvg_143{width:42%}._meta_1hdvg_145{display:flex;flex-direction:column;gap:6px;min-width:0}._title_1hdvg_152{font-size:19px;line-height:1.08;font-weight:610;letter-spacing:-.024em;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._subtitle_1hdvg_163{font-size:13px;line-height:1.2;font-weight:560;letter-spacing:-.012em;color:#ffffff4d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._empty_1hdvg_174{text-align:center;color:#ffffff4d;font-size:15px;padding:60px 0}._cardSkeleton_1hdvg_181{aspect-ratio:210 / 297;border-radius:14px;background:#ffffff0a;animation:_pulse_1hdvg_1 1.5s ease-in-out infinite}@keyframes _pulse_1hdvg_1{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 1280px){._grid_1hdvg_78{grid-template-columns:repeat(3,minmax(0,1fr))}._card_1hdvg_86:nth-child(n+5){padding-top:0}._card_1hdvg_86:nth-child(n+4){padding-top:12px}}@media (max-width: 980px){._pageTop_1hdvg_8{flex-direction:column;align-items:flex-start}._topControls_1hdvg_25{width:100%;flex-wrap:wrap}._searchWrap_1hdvg_32{width:100%;max-width:320px}._grid_1hdvg_78{grid-template-columns:repeat(2,minmax(0,1fr))}._card_1hdvg_86:nth-child(n+4){padding-top:0}._card_1hdvg_86:nth-child(n+3){padding-top:12px}}@media (max-width: 760px){._shell_1hdvg_1{padding:20px}._pageTitle_1hdvg_16{font-size:25px}._grid_1hdvg_78{grid-template-columns:1fr}._card_1hdvg_86:nth-child(n+3){padding-top:0}._card_1hdvg_86:nth-child(n+2){padding-top:12px}}body:has(.dashboard){padding-top:0}.dashboard{display:flex;min-height:100vh;background:var(--page-bg, #1e1e1e)}.templates-page{display:flex;flex-direction:column;gap:var(--spacing-6);width:100%}.dashboard-main{flex:1;margin-left:var(--sidebar-width, 260px);min-width:0;padding:28px 32px 32px;background:var(--page-bg, #1e1e1e);color:var(--text-main, rgba(255, 255, 255, .88));box-sizing:border-box}.dashboard-main [class$=-header]>h2[class*=title]{align-self:flex-start}.dashboard-content{background-color:var(--surface-1, #232323);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);border:1px solid var(--card-border, rgba(255, 255, 255, .04));transition:border-color var(--transition-fast)}.dashboard-content:hover{border-color:var(--control-hover)}@media (max-width: 900px){.dashboard{flex-direction:column}.dashboard-main{margin-left:0;padding:72px 20px 20px;width:100%;box-sizing:border-box}.dashboard-content{padding:var(--spacing-md);width:100%;box-sizing:border-box}}@media (max-width: 480px){.dashboard-main{padding:64px 10px 12px}.dashboard-content{padding:var(--spacing-sm);border-radius:var(--border-radius-md, 10px)}}@media (max-width: 360px){.dashboard-main{padding:60px 8px 10px}.dashboard-content{padding:var(--spacing-xs, 8px);border-radius:var(--border-radius-sm, 8px)}}@media print{.dashboard-main{margin-left:0;padding:0}}body:has(.student-dashboard){padding-top:0!important}body.no-header-padding{padding-top:0!important}.student-dashboard .student-error-boundary{background:var(--surface-1);color:var(--text-main);border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:32px;margin:16px}.student-dashboard .student-error-boundary h2{color:var(--text-strong);margin-bottom:16px}.student-dashboard .student-error-boundary p{color:var(--text-secondary);margin-bottom:16px}.student-dashboard .student-error-boundary button{background:var(--button-bg);color:var(--button-text);border:none;padding:10px 20px;border-radius:var(--radius-btn);cursor:pointer;font-weight:500;transition:background var(--transition-ui)}.student-dashboard .student-error-boundary button:hover{background:var(--button-bg-hover)}.student-dashboard .Toastify__toast{background:var(--surface-1);color:var(--text-main);border-radius:var(--radius-card);box-shadow:var(--shadow-md)}.student-dashboard .Toastify__toast--info{background:var(--surface-1);border-left:4px solid var(--color-info)}.student-dashboard .Toastify__toast--success{background:var(--surface-1);border-left:4px solid var(--status-open-bg)}.student-dashboard .Toastify__toast--warning{background:var(--surface-1);border-left:4px solid var(--status-few-bg)}.student-dashboard .Toastify__toast--error{background:var(--surface-1);border-left:4px solid var(--status-full-bg)}.student-dashboard .Toastify__close-button{color:var(--text-secondary)}.student-dashboard .Toastify__close-button:hover{color:var(--text-main)}.student-dashboard .Toastify__progress-bar{background:var(--control-hover)}@media (max-width: 768px){.student-dashboard .student-error-boundary{padding:24px 16px;margin:12px}.student-dashboard .student-error-boundary h2{font-size:18px}}@media (max-width: 480px){.student-dashboard .student-error-boundary{padding:16px 12px;margin:8px;border-radius:12px}.student-dashboard .student-error-boundary h2{font-size:16px;margin-bottom:12px}.student-dashboard .student-error-boundary p{font-size:14px;margin-bottom:12px}.student-dashboard .student-error-boundary button{width:100%;padding:12px 16px;font-size:14px}.student-dashboard .Toastify__toast{margin:8px;border-radius:12px}}.tc-shell{width:100%;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:0}.tc-top{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.tc-headline{display:flex;align-items:flex-start;margin-bottom:0}.tc-headline-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.tc-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);white-space:nowrap;margin:0}.tc-subtitle{font-size:13px;line-height:1;font-weight:540;letter-spacing:-.012em;color:#ffffff61;white-space:nowrap}.tc-toolbar{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:4px}.tc-range-block{display:flex;align-items:flex-start;gap:14px;min-width:0}.tc-range-center{min-width:max-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding-top:6px}.tc-range-label{padding:0;margin:0;font-size:20px;line-height:1;font-weight:560;letter-spacing:-.018em;color:var(--text-main);min-width:160px;white-space:nowrap;text-align:center}.tc-today-btn{min-width:auto;height:auto;padding:0;margin:0;border:0;background:transparent;color:var(--text-muted-strong);font-size:13px;line-height:1;font-weight:560;letter-spacing:-.013em;border-radius:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--transition-ui),opacity var(--transition-ui),transform var(--transition-ui);text-align:center}.tc-today-btn:hover{background:transparent;border-color:transparent;color:var(--text-main)}.tc-today-btn:active{transform:scale(.992)}.tc-nav-btn{height:40px;flex:0 0 10px;border:0;background:transparent;color:#ffffff6b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.tc-nav-btn svg{width:18px;height:18px;display:block}.tc-nav-btn:hover:not(:disabled){color:var(--icon-strong)}.tc-nav-btn:active:not(:disabled){transform:scale(.992)}.tc-nav-btn:focus-visible{outline:none;color:var(--icon-strong)}.tc-nav-btn:disabled{opacity:.38;cursor:default}.tc-state-center{display:flex;align-items:center;justify-content:center;padding:48px 0}.tc-state-error{font-size:14px;font-weight:500;letter-spacing:-.012em;color:var(--text-muted)}.tc-viewport{overflow:hidden;width:100%}.tc-track{display:flex;gap:var(--track-gap, 14px);transition:transform .26s cubic-bezier(.22,1,.36,1);will-change:transform}.tc-day{min-width:0;flex:0 0 auto}.tc-day-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 0 0 2px}.tc-day-name{font-size:16px;line-height:1.03;font-weight:600;letter-spacing:-.022em;color:var(--text-main);white-space:nowrap}.tc-date-capsule{display:inline-block;padding:0;min-height:0;border-radius:0;background:transparent;white-space:nowrap;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.014em;color:var(--text-placeholder);flex:0 0 auto}.tc-date-capsule.is-today{padding:6px 10px;min-height:24px;border-radius:999px;background:var(--surface-3);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center}.tc-day-lessons{margin-top:0;display:flex;flex-direction:column;gap:10px}.tc-empty-day{height:74px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--helper-surface);color:var(--text-muted);font-size:14px;letter-spacing:-.012em}@media (max-width: 980px){.tc-headline{flex-direction:column;align-items:stretch}}@media (max-width: 760px){.tc-shell{gap:0}.tc-title{font-size:25px}.tc-subtitle{font-size:12px}.tc-range-label{font-size:17px}.tc-today-btn{font-size:12px}.tc-range-block{gap:8px}}@media (max-width: 640px){.tc-title{font-size:22px}.tc-range-label{font-size:16px;min-width:130px}}@media (max-width: 480px){.tc-shell{gap:0}.tc-title{font-size:20px}.tc-subtitle{font-size:11px}.tc-range-label{font-size:15px;min-width:110px}.tc-range-block{gap:4px}.tc-nav-btn{height:44px;width:44px;flex:0 0 44px}.tc-today-btn{font-size:12px;min-height:44px;padding:10px 0}.tc-day-header{min-height:44px;padding:0}.tc-day-name{font-size:14px}.tc-date-capsule{font-size:12px}.tc-empty-day{height:60px;font-size:13px;border-radius:10px}.tc-day-lessons{gap:8px}.tc-state-center{padding:32px 0}}.homework-section{display:flex;flex-direction:column;gap:14px;position:relative}.homework-text-section{display:flex;flex-direction:column;gap:8px}.homework-text-header{display:flex;justify-content:space-between;align-items:center}.homework-text-header label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:#ffffff52}.homework-text-input{width:100%;min-height:140px;max-height:140px;resize:none;padding:14px;line-height:1.5;overflow:auto;border:1px solid rgba(255,255,255,.05);border-radius:12px;background:#ffffff04;color:#ffffffe0;font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease,color .17s ease}.homework-text-input::placeholder{color:var(--text-placeholder)}.homework-text-input:focus{border-color:#ffffff0d;outline:none;box-shadow:none}.homework-text-input:disabled,.homework-text-input[readonly]{background:#ffffff03;color:#ffffff85;cursor:not-allowed}.homework-text-display{padding:14px;border:1px solid rgba(255,255,255,.028);border-radius:12px;font-size:14px;font-weight:520;letter-spacing:-.012em;line-height:1.5;background:#ffffff03;color:#ffffffc7;white-space:pre-wrap;word-wrap:break-word}.homework-text-empty{color:#ffffff42;font-style:normal}.homework-link{color:#78b4ffe6;text-decoration:underline;cursor:pointer;transition:color .17s ease;position:relative;z-index:1}.homework-link:hover{color:#a0cdfff2;text-decoration:none}.homework-text-status{font-size:12px;line-height:1;font-weight:520;letter-spacing:-.01em;color:#ffffff52;margin-bottom:6px;min-height:16px}.saving-indicator{color:#78b4ffb8}.saved-indicator{color:#64d28cb8}.attach-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.file-slot{width:100%;min-width:0;min-height:40px;border-radius:12px;background:#ffffff03;border:1px solid rgba(255,255,255,.028);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.file-slot:not(.is-empty){cursor:pointer}.file-slot:not(.is-empty):hover{background:#ffffff05;border-color:#ffffff0d}.file-slot:not(.is-empty):hover .file-name{color:#fffffff0}.file-slot:not(.is-empty):hover .file-icon{color:#ffffff8f}.file-slot:not(.is-empty):hover .file-size{color:#fff6}.file-slot:not(.is-empty):active{background:#ffffff06;border-color:#ffffff0f;transform:scale(.998)}.file-slot.is-empty{background:#ffffff03;border-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 14px;cursor:default}.file-slot.is-empty:hover,.file-slot.is-empty:active{background:#ffffff03;border-color:transparent;transform:none}.file-slot.is-empty .upload-text{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:#ffffff6b;white-space:nowrap;margin:0}.file-slot.is-empty .file-empty{font-size:11px;line-height:1;font-weight:480;letter-spacing:-.009em;color:#ffffff2e;white-space:nowrap}.file-left{min-width:0;display:flex;align-items:center;gap:10px}.file-icon{width:16px;height:16px;flex:0 0 16px;color:#fff6;transition:color .17s ease;display:flex;align-items:center;justify-content:center}.file-icon svg{width:100%;height:100%;display:block}.file-name{font-size:13px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:#ffffffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .17s ease}.file-size{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:#ffffff4d;white-space:nowrap;flex:0 0 auto;transition:color .17s ease}.file-empty{font-size:12px;line-height:1;font-weight:540;letter-spacing:-.01em;color:#ffffff42;white-space:nowrap}.file-details{min-width:0;display:flex;flex-direction:column;gap:3px}.file-meta{font-size:11px;line-height:1;font-weight:480;letter-spacing:-.009em;color:#ffffff47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-slot.is-empty.dragging{border-color:#ffffff38;background:#ffffff08}.attach-btn{min-width:124px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffffb8;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.attach-btn:hover{background:#ffffff06;border-color:#ffffff24;color:#ffffffd6}.attach-btn:active{transform:scale(.992)}.attach-btn:disabled{opacity:.45;cursor:not-allowed}.attach-btn.attach-btn--delete{min-width:40px;max-width:40px;padding:0;border-color:#dc50504d;color:#ff7878cc}.attach-btn.attach-btn--delete:hover{background:#dc3c3c14;border-color:#dc505080;color:#ff8c8ce6}.attach-btn.attach-btn--delete-text{min-width:auto;padding:0 12px;border:none;background:transparent;color:#ff7878cc}.attach-btn.attach-btn--delete-text:hover{background:transparent;border:none;color:#ff8c8c}.homework-error-message{padding:12px 14px;background:#dc503c14;border:1px solid rgba(220,80,60,.22);border-radius:12px;font-size:13px;font-weight:520;color:#ff9682e0;line-height:1.4}.homework-transition-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:#1e1e1ecc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:10;border-radius:12px}.homework-transition-loading span{font-size:13px;font-weight:520;letter-spacing:-.012em;color:#fff6}.homework-section .spinner{margin:24px auto}.hw-subsection{display:flex;flex-direction:column;gap:10px}.hw-subsection-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.hw-subsection-title{font-size:13px;font-weight:560;letter-spacing:-.012em;color:#ffffff85;display:flex;align-items:center;gap:8px}.hw-subsection-hint{font-size:11px;font-weight:480;letter-spacing:-.009em;color:#fff3;white-space:nowrap}.hw-file-counter{font-size:11px;font-weight:540;letter-spacing:-.009em;color:#ffffff47;background:#ffffff0f;border-radius:6px;padding:2px 6px}.hw-divider{height:1px;background:#ffffff0d;margin:2px 0}.hw-file-list{display:flex;flex-direction:column;gap:8px}.hw-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.attach-btn.attach-btn--add{align-self:flex-start;min-width:140px;border-style:dashed;border-color:#ffffff1a;color:#ffffff85}.attach-btn.attach-btn--add:hover:not(:disabled){background:#ffffff06;border-color:#ffffff2e;color:#fffc}.attach-btn.attach-btn--add:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 640px){.attach-row{grid-template-columns:1fr;align-items:stretch}.attach-btn{width:100%;min-width:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:32px;background:#00000057;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-overlay),visibility var(--transition-overlay);will-change:opacity}.modal-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal{background:linear-gradient(180deg,#232323,#1f1f1f);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-modal);box-shadow:0 28px 80px #0000006b;max-width:880px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;padding:26px 28px 28px;transform:translateY(8px) scale(.99);transition:transform var(--transition-modal)}.modal-overlay.is-open .modal{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px}.modal-title{font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0}.modal-close{border:0;background:transparent;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;padding:2px 0 0;font-family:inherit;transition:color var(--transition-ui),transform var(--transition-ui);flex-shrink:0}.modal-close:hover{color:#ffffffc2}.modal-close:active{transform:scale(.992)}.modal-close:disabled{opacity:.4;cursor:not-allowed}.modal-body{flex:1 1 auto;overflow-y:auto}.modal-footer{padding-top:8px;display:flex;justify-content:flex-end;gap:18px;align-items:center}.modal-field{display:flex;flex-direction:column;gap:9px;min-width:0}.modal-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32))}.modal-input,.modal-textarea,.modal-select{width:100%;border:1px solid var(--border-mid);border-radius:var(--radius-field);background:var(--field-bg);color:var(--text-main);font-family:inherit;font-size:14px;line-height:1;font-weight:540;letter-spacing:-.012em;outline:none;box-shadow:none;transition:none}.modal-input,.modal-select{min-height:50px;padding:0 16px}.modal-textarea{min-height:120px;resize:none;padding:14px 16px;line-height:1.5}.modal-input::placeholder,.modal-textarea::placeholder{color:#ffffff3d}.modal-input:focus,.modal-textarea:focus,.modal-select:focus{outline:none;box-shadow:none;border-color:var(--border-mid);background:var(--field-bg)}.modal-input[readonly],.modal-input.is-readonly{background:var(--field-readonly-bg);border-color:#ffffff09;color:#ffffff9e;cursor:default}.modal-input[readonly]:focus,.modal-input.is-readonly:focus{border-color:#ffffff09;background:var(--field-readonly-bg);box-shadow:none;outline:none}input[type=number].modal-input::-webkit-outer-spin-button,input[type=number].modal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].modal-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.modal-select{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:42px}.modal-select option{background:var(--surface-1);color:var(--text-main)}.modal-value-text{min-height:24px;font-size:15px;line-height:1.4;font-weight:540;letter-spacing:-.013em;color:var(--text-main)}.modal-btn-primary{min-height:44px;padding:0 24px;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:var(--action-bg, #f1f1f1);color:var(--action-text, #111111);font-family:inherit;font-size:15px;line-height:1;font-weight:600;letter-spacing:-.014em;cursor:pointer;transition:background-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.modal-btn-primary:hover:not(:disabled){background:var(--action-bg-hover, #ffffff)}.modal-btn-primary:active:not(:disabled){transform:scale(.992)}.modal-btn-primary:disabled{border:none;background:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:default}.modal-btn-cancel{border:0;background:transparent;color:#ffffff75;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;padding:0;transition:color var(--transition-ui),transform var(--transition-ui)}.modal-btn-cancel:hover{color:#ffffffc2}.modal-btn-cancel:active{transform:scale(.992)}.modal-btn-cancel:disabled{opacity:.4;cursor:not-allowed}.modal-btn-danger{border:0;background:transparent;color:#e07a7ae0;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;padding:0;transition:color var(--transition-ui),transform var(--transition-ui)}.modal-btn-danger:hover{color:#ee9292f5}.modal-btn-danger:active{transform:scale(.992)}@media (max-width: 768px){.modal-overlay{padding:0;align-items:stretch}.modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.modal-title{font-size:28px}.modal-header{padding:16px 18px 14px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.modal-body{flex:1;overflow-y:auto;padding:0 18px;-webkit-overflow-scrolling:touch}.modal-footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;flex-direction:column;align-items:stretch;gap:10px}.modal-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.modal-btn-primary{width:100%}.modal-btn-cancel{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}@media (max-width: 480px){.modal-header{padding:14px 16px 12px}.modal-body{padding:0 16px}.modal-footer{padding:12px 16px}.modal-input,.modal-select{min-height:48px;font-size:16px}.modal-textarea{font-size:16px}.modal-btn-primary{min-height:48px;font-size:15px}.modal-btn-cancel,.modal-btn-danger{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.modal-close{min-width:44px;min-height:44px}}@media (prefers-reduced-motion: reduce){.modal-overlay{transition:opacity .01ms ease,visibility .01ms ease}.modal{transition:transform .01ms ease}}.broadcast-section{display:flex;flex-direction:column;gap:20px}.broadcast-subsection-title{font-size:15px;font-weight:560;letter-spacing:-.014em;margin:0 0 12px;color:#ffffffe0}.broadcast-compose{padding:0;background:transparent;border-radius:0;border:none}.broadcast-compose-textarea{margin-bottom:12px}.broadcast-compose-textarea textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.05);border-radius:12px;font-family:inherit;font-size:14px;line-height:1.6;letter-spacing:-.012em;resize:vertical;min-height:120px;background:#ffffff04;color:#ffffffe0;outline:none;transition:border-color .17s ease}.broadcast-compose-textarea textarea::placeholder{color:var(--text-placeholder)}.broadcast-compose-textarea textarea:focus{outline:none;border-color:#ffffff14;background:#ffffff04;box-shadow:none}.broadcast-compose-textarea textarea:disabled{opacity:.4;cursor:not-allowed}.broadcast-compose .broadcast-files-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.broadcast-file-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffff07;border:1px solid rgba(255,255,255,.05);border-radius:10px}.broadcast-file-name{font-size:13px;letter-spacing:-.012em;color:#ffffffbd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.broadcast-file-remove{background:none;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-size:14px;color:#ffffff73;cursor:pointer;padding:1px 7px;line-height:1.4;transition:color .17s ease,border-color .17s ease}.broadcast-file-remove:hover{color:#ffffffb3;border-color:#ffffff59}.broadcast-file-remove:active:not(:disabled){color:#ffffff8c}.broadcast-file-remove:disabled{opacity:.4;cursor:not-allowed}.broadcast-compose-actions{display:flex;gap:10px;justify-content:space-between;align-items:center}.broadcast-attach-btn{padding:8px 20px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#ffffffb8;font-size:13px;font-weight:560;letter-spacing:-.012em;font-family:inherit;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease}.broadcast-attach-btn:hover{background:#ffffff06;border-color:#ffffff24;color:#ffffffd6}.broadcast-attach-btn:disabled{opacity:.45;cursor:not-allowed}.broadcast-send-btn{padding:8px 24px;border-radius:20px;border:none;background:#ffffffe0;color:var(--action-text, #111111);font-size:13px;font-weight:600;letter-spacing:-.012em;font-family:inherit;cursor:pointer;transition:background-color .17s ease,transform .17s ease}.broadcast-send-btn:hover{background:#fffffff2}.broadcast-send-btn:active{transform:scale(.97)}.broadcast-send-btn:disabled{opacity:.35;cursor:not-allowed}.broadcast-history{padding:16px 18px;background:#ffffff04;border-radius:14px;border:1px solid rgba(255,255,255,.05)}.broadcast-empty{padding:32px;text-align:center}.broadcast-empty p{margin:0;font-size:14px;letter-spacing:-.012em;color:#ffffff6b}.broadcast-list{display:flex;flex-direction:column;gap:10px}.broadcast-item{padding:12px 14px;background:#ffffff07;border-radius:12px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background-color .17s ease,border-color .17s ease,transform .17s ease}.broadcast-item:hover{background:#ffffff0a;border-color:#ffffff14;transform:scale(.998)}.broadcast-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.broadcast-status-badge{font-size:11px;font-weight:560;letter-spacing:-.01em;padding:3px 9px;border-radius:6px}.broadcast-status-badge.status-pending{background:#ffffff0d;color:#ffffff6b;border:1px solid rgba(255,255,255,.08)}.broadcast-status-badge.status-sending{background:#64a0ff0f;color:#82b4ffd9;border:1px solid rgba(100,160,255,.14)}.broadcast-status-badge.status-completed{background:#ffffff0d;color:#ffffffbd;border:1px solid rgba(255,255,255,.1)}.broadcast-status-badge.status-failed{background:#ff50500f;color:#ff6e6ee6;border:1px solid rgba(255,80,80,.14)}.broadcast-item-preview{font-size:13px;letter-spacing:-.012em;color:#ffffff8f;margin-bottom:8px;line-height:1.5}.broadcast-date{font-size:12px;letter-spacing:-.01em;color:#ffffff6b}.broadcast-sent-label{font-size:12px;letter-spacing:-.01em;color:#ffffff52;white-space:nowrap}.broadcast-item-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.broadcast-file-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);font-size:12px;letter-spacing:-.01em;color:#ffffff8f}.broadcast-file-chip-icon{flex-shrink:0;opacity:.6}.broadcast-details-content{display:flex;flex-direction:column;gap:14px}.broadcast-details-header{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#ffffff07;border-radius:12px;border:1px solid rgba(255,255,255,.05);font-size:14px;letter-spacing:-.012em;color:#ffffff8f}.broadcast-details-header strong{color:#ffffffe0}.broadcast-details-message,.broadcast-details-files{padding:12px 14px;background:#ffffff07;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.broadcast-details-message h4,.broadcast-details-files h4{margin:0 0 8px;font-size:13px;font-weight:560;letter-spacing:-.012em;color:#ffffff6b}.broadcast-details-text{margin:0;font-size:14px;letter-spacing:-.012em;color:#ffffffe0;white-space:pre-wrap;word-break:break-word}.broadcast-details-files ul{margin:0;padding-left:18px;font-size:13px;letter-spacing:-.012em}.broadcast-details-files li{margin-bottom:4px;color:#ffffff8f}.broadcast-details-files a{color:#82b4ffd9;text-decoration:none}.broadcast-details-files a:hover{color:#b4d2ffe6;text-decoration:underline}.broadcast-error{padding:16px;background:#ff50500f;border:1px solid rgba(255,80,80,.18);border-radius:12px;color:#ff6e6ee6;text-align:center;font-size:14px;letter-spacing:-.012em}@media (max-width: 768px){.broadcast-compose-actions{flex-direction:column}.broadcast-compose-actions button{width:100%}}.notes-section{display:flex;flex-direction:column;gap:14px}.notes-error-message{padding:12px 14px;background:#dc503c14;border:1px solid rgba(220,80,60,.22);border-radius:12px;font-size:13px;font-weight:520;color:#ff9682e0;line-height:1.4}.notes-textarea-wrap{display:flex;flex-direction:column;gap:2px}.notes-status-row{display:flex;justify-content:flex-end;min-height:16px}.notes-save-status{font-size:12px;line-height:1;font-weight:520;letter-spacing:-.01em;color:#ffffff52}.notes-saving{color:#78b4ffb8}.notes-saved{color:#64d28cb8}.notes-textarea{width:100%;min-height:120px;max-height:180px;resize:none;padding:0 0 10px;line-height:1.5;overflow:auto;border:none;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;background:transparent;color:#ffffffe0;font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.notes-textarea::placeholder{color:var(--text-placeholder)}.notes-textarea:focus{border-bottom-color:#ffffff24;outline:none;box-shadow:none}.notes-list{display:flex;flex-direction:column;gap:8px}.note-item{padding:12px 14px;background:#ffffff07;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.note-author{font-weight:560;font-size:14px;letter-spacing:-.012em;color:#ffffffe0}.note-date{font-size:12px;letter-spacing:-.01em;color:#ffffff52}.note-content{margin:0 0 8px;font-size:14px;line-height:1.5;letter-spacing:-.012em;color:#ffffffc7;white-space:pre-wrap;word-wrap:break-word}.note-actions{display:flex;gap:6px}.note-edit-form{display:flex;flex-direction:column;gap:8px}.note-edit-form textarea{width:100%;min-height:100px;padding:12px 14px;border:1px solid rgba(255,255,255,.05);border-radius:12px;font-size:14px;font-weight:540;font-family:inherit;line-height:1.5;resize:vertical;background:#ffffff04;color:#ffffffe0;outline:none}.note-edit-form textarea:focus{outline:none;box-shadow:none;border-color:#ffffff14}.note-edit-form-footer{display:flex;justify-content:flex-end;align-items:center}.note-edit-actions{display:flex;gap:6px}@media (max-width: 768px){.note-header{flex-direction:column;align-items:flex-start;gap:4px}.note-actions{flex-direction:column}.note-actions .btn{width:100%}.note-edit-actions{flex-direction:column}.note-edit-actions .btn{width:100%}}.tlp-shell{width:100%}.tlp-container{width:100%;max-width:1440px;margin:0 auto}.tlp-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px}.tlp-page-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main, rgba(255, 255, 255, .88))}.tlp-back-link{border:0;background:transparent;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;transition:color .17s ease,opacity .17s ease;padding-top:2px;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.tlp-back-link:hover{color:#ffffffc2}.tlp-back-link svg{flex-shrink:0}.tlp-header-actions{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.tlp-done-btn{border:0;background:transparent;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;padding-top:2px;cursor:pointer;flex-shrink:0;font-family:inherit;transition:color .17s ease,opacity .17s ease}.tlp-done-btn:hover:not(:disabled){color:#ffffffc2}.tlp-done-btn:disabled{opacity:.5;cursor:not-allowed}.tlp-complete-error{margin:0 32px 12px;padding:10px 14px;border-radius:10px;background:#dc262624;color:#ffb4b4f5;font-size:14px;line-height:1.35}.tlp-body{padding:0}.tlp-loading{display:flex;align-items:center;justify-content:center;padding:48px 0}.tlp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 0;color:var(--text-muted, rgba(255, 255, 255, .32));font-size:15px;font-weight:540}.tlp-back-btn{border:0;background:#ffffff0f;color:var(--text-main, rgba(255, 255, 255, .88));font-size:14px;font-weight:560;letter-spacing:-.013em;padding:10px 20px;border-radius:10px;cursor:pointer;transition:background .17s ease}.tlp-back-btn:hover{background:#ffffff1a}.tlp-sections{display:flex;flex-direction:column}.tlp-section{padding:28px 0;border-top:1px solid var(--border-soft, rgba(255, 255, 255, .03))}.tlp-section--first{border-top:0;padding-top:8px}.tlp-section--last{padding-bottom:4px}.tlp-section-head{margin-bottom:18px}.tlp-section-title{display:flex;align-items:center;gap:8px;font-size:22px;line-height:1.04;font-weight:610;letter-spacing:-.028em;color:var(--text-main, rgba(255, 255, 255, .88))}.tlp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ffffff12;font-size:12px;line-height:1;font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .52))}.tlp-stack{display:flex;flex-direction:column;gap:14px}.tlp-doc-item{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.tlp-doc-item-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32));white-space:nowrap}.tlp-doc-item-value{font-size:14px;line-height:1.35;font-weight:560;letter-spacing:-.013em;color:var(--text-main, rgba(255, 255, 255, .88));text-align:right}.tlp-student-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tlp-student-list-item{font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main, rgba(255, 255, 255, .88));padding:10px 0;border-bottom:1px solid var(--border-soft, rgba(255, 255, 255, .03))}.tlp-student-list-item:last-child{border-bottom:none}.tlp-empty{font-size:14px;line-height:1.35;font-weight:540;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32));padding:14px 0 2px}@media (max-width: 760px){.tlp-page-title{font-size:28px}}@media (max-width: 600px){.tlp-page-title{font-size:24px}.tlp-section-title{font-size:19px}.tlp-doc-item{flex-direction:column;align-items:flex-start;gap:3px}.tlp-doc-item-value{text-align:left}}@media (max-width: 480px){.tlp-page-title{font-size:22px}.tlp-back-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.tlp-section{padding:20px 0}.tlp-section--first{padding-top:4px}.tlp-section-title{font-size:18px}.tlp-section-head{margin-bottom:14px}.tlp-doc-item{flex-direction:column;align-items:flex-start;gap:3px}.tlp-doc-item-value{text-align:left}.tlp-doc-item-label{font-size:12px}.tlp-doc-item-value{font-size:14px}.tlp-student-list{max-height:200px;overflow-y:auto;-webkit-overflow-scrolling:touch}.tlp-student-list-item{min-height:44px;display:flex;align-items:center;padding:8px 0}.tlp-stack{gap:12px}}@media (max-width: 400px){.tlp-page-header{padding:14px 14px 10px}.tlp-body{padding:0 14px 16px}.tlp-page-title{font-size:20px}.tlp-section-title{font-size:17px}}.custom-select{position:relative;display:inline-block;width:100%;box-sizing:border-box}.custom-select-trigger{width:100%;min-height:46px;padding:0 42px 0 14px;border:1px solid var(--field-border);border-radius:var(--radius-field);background:var(--field-bg);color:var(--text-main);font-family:var(--font-family-base);font-size:14px;line-height:1;font-weight:540;letter-spacing:-.012em;display:flex;align-items:center;text-align:left;cursor:pointer;transition:border-color var(--transition-ui);outline:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.custom-select-trigger:hover:not(:disabled){border-color:#ffffff12}.custom-select-trigger:focus{border-color:#ffffff14;outline:none}.custom-select-open .custom-select-trigger{border-color:#ffffff14;background:#ffffff04}.custom-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.custom-select-trigger:disabled .custom-select-label{color:var(--text-muted)}.custom-select-chevron{position:absolute;top:50%;right:14px;width:14px;height:14px;color:var(--icon-muted);transform:translateY(-50%);pointer-events:none;transition:transform var(--transition-ui),color var(--transition-ui);display:flex;align-items:center;justify-content:center}.custom-select-open .custom-select-chevron{transform:translateY(-50%) rotate(180deg);color:var(--icon-active)}.custom-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:6px;border-radius:14px;border:1px solid var(--border-mid);background:var(--surface-1, #232323);box-shadow:0 18px 36px #00000047;z-index:var(--z-dropdown);max-height:240px;overflow-y:auto}.custom-select-open .custom-select-menu{display:block}.custom-select-option{width:100%;min-height:38px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);text-align:left;padding:0 12px;cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:1;font-weight:540;letter-spacing:-.012em;transition:background-color var(--transition-ui),color var(--transition-ui);outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;display:flex;align-items:center}.custom-select-option:hover,.custom-select-option:focus{background:#ffffff07;color:var(--text-main);outline:none}.custom-select-option-active{background:#ffffff0a;color:var(--text-main)}.custom-select-disabled{opacity:.5;pointer-events:none}.custom-select-trigger:disabled{cursor:not-allowed;background:var(--field-readonly-bg);border-color:var(--field-border-disabled);transform:none!important}.modal .custom-select-trigger{min-height:50px}.modal .custom-select-menu,.modal-body .custom-select-menu{z-index:calc(var(--z-modal, 1000) + 50)}.custom-select-menu::-webkit-scrollbar{width:10px}.custom-select-menu::-webkit-scrollbar-track{background:transparent}.custom-select-menu::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border:2px solid transparent;background-clip:padding-box;border-radius:999px}.custom-select-menu::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border:2px solid transparent;background-clip:padding-box}.custom-select-menu{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-hover) transparent}@media (max-width: 900px){.custom-select-menu{position:fixed;bottom:0;left:0;right:0;top:auto;border-radius:14px 14px 0 0;max-height:50vh;box-shadow:var(--shadow-mobile-dropdown)}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base, var(--surface-1)) 25%,var(--skeleton-highlight, var(--surface-2)) 50%,var(--skeleton-base, var(--surface-1)) 75%);background-size:2000px 100%;animation:skeleton-loading 1.5s linear infinite;border-radius:var(--radius-btn);display:block;margin-bottom:8px}.skeleton-text{height:16px;width:100%}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-card{padding:16px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:var(--radius-card);margin-bottom:16px;background:var(--surface-1, #232323)}.skeleton-card-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, var(--field-border-hover))}.skeleton-calendar-cell{height:60px;margin-bottom:8px}.skeleton-table{width:100%;overflow-x:auto}.skeleton-table table{width:100%;border-collapse:collapse}.skeleton-table th,.skeleton-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.skeleton-table th{background:var(--surface-2, #232323)}.skeleton-calendar{padding:16px;background:var(--surface-1, #232323);border-radius:var(--radius-card);border:1px solid var(--border-color, rgba(255, 255, 255, .08))}.skeleton-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.skeleton-calendar-nav{display:flex;gap:8px}.skeleton-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.skeleton-calendar-day{min-height:150px;padding:8px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:var(--radius-btn)}.skeleton-calendar-cells{margin-top:8px}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-dashboard{padding:24px}.skeleton-dashboard-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.skeleton-dashboard-content{margin-top:24px}@media (prefers-color-scheme: dark){.skeleton{--skeleton-base: var(--surface-1);--skeleton-highlight: var(--surface-2)}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--skeleton-base, var(--surface-1))}}.loading-state{position:relative;min-height:200px}.loading-state.full-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-sidebar);pointer-events:all;cursor:wait}.loading-overlay.transparent{background:transparent}.user-management{width:100%}.user-management-header{padding-bottom:24px}.user-management-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0}.user-management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:18px}.user-management-toolbar-left,.user-management-toolbar-right{display:flex;align-items:center;gap:12px}.user-management-filter-field{display:flex;flex-direction:column;gap:8px;min-width:0}.user-management-filter-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted)}.user-management-filter-field .custom-select{width:180px}.user-management-add-btn{border:0;background:transparent;color:#ffffff8f;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;transition:color .17s ease,transform .17s ease;white-space:nowrap;font-family:inherit;padding:0}.user-management-add-btn:hover{color:#ffffffd1}.user-management-add-btn:active{transform:scale(.992)}.user-management-add-btn:disabled{opacity:.4;cursor:not-allowed}.user-management-table-shell{background:transparent}.user-management-table-header,.user-management-table-row{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(240px,1.2fr) minmax(150px,.9fr) 170px 72px;gap:18px;align-items:center;width:100%}.user-management-table-header{min-height:40px;border-bottom:1px solid rgba(255,255,255,.03);color:#ffffff6b;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em}.user-management-table-body{height:812px;max-height:812px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.user-management-table-row{min-height:58px;border-bottom:1px solid rgba(255,255,255,.03)}.user-management-cell{min-width:0;font-size:14px;line-height:1.25;letter-spacing:-.012em}.user-management-cell--name{color:var(--text-main);font-weight:540}.user-management-cell--email,.user-management-cell--telegram{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-management-cell--role{color:#ffffffbd;text-align:right;font-weight:540}.user-management-cell--actions{display:grid;place-items:center}.user-management-actions{display:flex;align-items:center;justify-content:center}.user-management-cell--right{text-align:right}.user-management-cell--center{text-align:center}.user-management-action-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#ffffffad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.user-management-action-btn:hover{background:#ffffff06;border-color:#ffffff1f;color:#ffffffd6}.user-management-action-btn:active{transform:scale(.992)}.user-management-action-btn svg{width:14px;height:14px;display:block}.user-management-empty{text-align:center;padding:48px 24px;color:var(--text-muted);font-size:14px;font-weight:500}.user-form{display:flex;flex-direction:column;gap:16px}.user-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px}.user-form-actions-right{display:flex;gap:12px;align-items:center;margin-left:auto}.user-form .custom-select{width:100%}.user-form .custom-select-trigger{min-height:50px;padding:0 42px 0 16px}.user-form .custom-select-open{z-index:10}@media (max-width: 900px){.user-form .custom-select-menu{position:absolute;top:calc(100% + 8px);bottom:auto;border-radius:14px;max-height:240px}}.user-management-table-body::-webkit-scrollbar{width:10px}.user-management-table-body::-webkit-scrollbar-track{background:transparent}.user-management-table-body::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.user-management-table-body::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}@media (max-width: 1180px){.user-management-table-header,.user-management-table-row{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.1fr) minmax(140px,.85fr) 140px 56px;gap:14px}}@media (max-width: 860px){.user-management-title{font-size:28px}.user-management-toolbar{flex-direction:column;align-items:flex-start}.user-management-toolbar-right{width:100%;justify-content:flex-end}.user-management-filter-field .custom-select{width:100%}}@media (max-width: 768px){.user-management-table-header{display:none}.user-management-table-body{height:auto;max-height:none}.user-management-table-row{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid rgba(255,255,255,.04);border-radius:14px;margin-bottom:8px;min-height:auto}.user-management-cell{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-management-cell:before{font-size:12px;font-weight:560;color:#ffffff6b;letter-spacing:-.012em;white-space:nowrap;flex-shrink:0}.user-management-cell--name:before{content:"Имя"}.user-management-cell--email:before{content:"Email"}.user-management-cell--telegram:before{content:"Telegram"}.user-management-cell--role{text-align:right}.user-management-cell--role:before{content:"Роль"}.user-management-cell--actions{justify-content:flex-end;padding-top:4px}.user-management-cell--actions:before{content:none}.user-management-toolbar-left,.user-management-filter-field{width:100%}.user-management-add-btn{white-space:nowrap}.user-form-actions{flex-direction:column-reverse;gap:10px}.user-form-actions-right{width:100%;margin-left:0}.user-form-actions-right button,.user-form-actions .modal-btn-danger{width:100%}}@media (max-width: 480px){.user-management-header{padding-bottom:16px}.user-management-title{font-size:24px}.user-management-toolbar{gap:14px;padding-bottom:14px}.user-management-table-row{padding:12px 14px;gap:8px}.user-management-cell{font-size:13px}.user-management-cell--email,.user-management-cell--telegram{white-space:normal;word-break:break-all}}.partial-data-notice{background-color:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-card);padding:12px 16px;margin-bottom:16px;box-shadow:0 2px 4px var(--shadow-md)}.partial-data-header{display:flex;align-items:flex-start;gap:12px}.partial-data-icon{flex-shrink:0;color:var(--color-warning);margin-top:2px}.partial-data-message{flex:1;display:flex;flex-direction:column;gap:4px}.partial-data-message strong{color:var(--text-main);font-size:13px;font-weight:600}.partial-data-summary{color:var(--text-secondary);font-size:12px}.partial-data-toggle{flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);transition:all var(--transition-ui);border-radius:var(--radius-btn)}.partial-data-toggle:hover{background-color:var(--hover-bg);color:var(--text-main)}.partial-data-toggle svg{transition:transform var(--transition-ui);display:block}.partial-data-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--card-border)}.partial-data-list{list-style:none;padding:0;margin:0 0 12px}.partial-data-item{padding:6px 0;font-size:12px;color:var(--text-secondary)}.partial-data-item strong{color:var(--text-main);font-weight:600}.error-message{color:var(--color-error);font-family:Courier New,monospace;font-size:12px}.partial-data-retry-btn{background-color:var(--color-warning);color:#fff;border:none;border-radius:var(--radius-btn);padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-ui);display:inline-flex;align-items:center;gap:8px}.partial-data-retry-btn:hover:not(:disabled){background-color:var(--color-warning);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-md)}.partial-data-retry-btn:disabled{opacity:.6;cursor:not-allowed}.retry-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--text-muted);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.partial-data-notice{padding:10px 12px}.partial-data-header{gap:8px}.partial-data-message strong,.partial-data-summary{font-size:12px}.partial-data-retry-btn{width:100%;justify-content:center}}:root{--lm-border-soft: rgba(255, 255, 255, .03);--lm-border-mid: rgba(255, 255, 255, .05);--lm-text-main: rgba(255, 255, 255, .88);--lm-text-secondary: rgba(255, 255, 255, .52);--lm-text-muted: rgba(255, 255, 255, .32);--lm-field-bg: rgba(255, 255, 255, .014);--lm-transition: .17s ease;--lm-row-height: 58px}.lesson-management{width:100%}.lesson-management-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.lesson-management-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px}.lesson-management-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--lm-text-main);margin:0}.lesson-management-table-wrapper{overflow-x:auto;background:transparent;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.lesson-management-table-wrapper::-webkit-scrollbar{height:6px}.lesson-management-table-wrapper::-webkit-scrollbar-track{background:transparent}.lesson-management-table-wrapper::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}.lesson-management-table{width:100%;border-collapse:collapse;min-width:560px}.lesson-management-table thead{background:transparent}.lesson-management-table th{padding:0 16px;height:40px;text-align:left;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;color:#ffffff6b;border-bottom:1px solid var(--lm-border-soft);white-space:nowrap}.lesson-management-table td{padding:0 16px;height:var(--lm-row-height);border-bottom:1px solid var(--lm-border-soft);font-size:14px;line-height:1.25;letter-spacing:-.012em;color:var(--lm-text-main);vertical-align:middle}.lesson-management-table tbody tr{transition:background-color var(--lm-transition)}.lesson-management-table tbody tr:hover{background-color:#ffffff05}.empty-message{text-align:center;padding:32px 16px!important;color:var(--lm-text-muted);font-size:13px;font-weight:540;letter-spacing:-.012em;height:auto!important}.lesson-datetime{display:flex;flex-direction:column;gap:3px}.lesson-time{font-size:13px;font-weight:540;color:var(--lm-text-secondary);letter-spacing:-.012em}.capacity-indicator{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:13px;font-weight:560;letter-spacing:-.012em;background:#ffffff0d;color:var(--lm-text-main);border:1px solid rgba(255,255,255,.06)}.capacity-indicator.full{background:#ff50501a;color:#ff7878e6;border-color:#ff50501f}.lesson-actions{display:flex;gap:6px;align-items:center}.lesson-actions button{min-width:auto;white-space:nowrap;padding:0 12px;height:40px;min-height:40px;font-size:13px;font-weight:540;letter-spacing:-.012em;border-radius:12px}.lesson-form{display:flex;flex-direction:column;gap:16px}.lesson_management_form__group{display:flex;flex-direction:column;gap:14px}.form-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--lm-text-muted)}.form-select{width:100%;min-height:46px;padding:0 42px 0 14px;border:1px solid var(--lm-border-mid);border-radius:12px;background:var(--lm-field-bg);color:var(--lm-text-main);font-size:14px;font-weight:540;letter-spacing:-.012em;cursor:pointer;outline:none;transition:border-color var(--lm-transition),background-color var(--lm-transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#ffffff14;background:#ffffff04}.form-select option{background:#232323;color:var(--lm-text-main)}.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--lm-border-mid);border-radius:12px;background:var(--lm-field-bg);color:var(--lm-text-main);font-size:14px;font-weight:540;letter-spacing:-.012em;font-family:inherit;resize:vertical;outline:none;transition:border-color var(--lm-transition),background-color var(--lm-transition)}.form-textarea:focus{border-color:#ffffff14;background:#ffffff04}.form-textarea::placeholder{color:var(--text-placeholder)}.lesson-management .lem-segmented{display:inline-flex;align-items:stretch;gap:0;padding:4px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.lesson-management .lem-segmented-btn{border:0;background:transparent;color:#ffffff8f;font-size:13px;font-weight:540;letter-spacing:-.012em;padding:7px 14px;border-radius:7px;cursor:pointer;transition:background-color var(--lm-transition),color var(--lm-transition);min-width:72px}.lesson-management .lem-segmented-btn:hover:not(:disabled):not(.is-active){color:#ffffffdb}.lesson-management .lem-segmented-btn.is-active{background:#ffffff1f;color:#fffffff5}.lesson-management .lem-segmented-btn:disabled{opacity:.5;cursor:not-allowed}.lesson-management .lm-checkbox-line{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--lm-text-main);-webkit-user-select:none;user-select:none}.lesson-management .lm-checkbox-line input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:rgba(255,255,255,.8)}.lesson-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}@media (max-width: 768px){.lesson-management-title{font-size:28px}.lesson-management-header{flex-direction:column;align-items:stretch;gap:14px}.lesson-management-table th,.lesson-management-table td{padding:0 10px}.lesson-form-actions{flex-direction:column-reverse}.lesson-form-actions button{width:100%}}:root{--bm-transition: .17s ease;--bm-row-height: 58px}.booking-management{width:100%}.booking-management-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.booking-management-header{padding-bottom:18px}.booking-management-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0}.booking-management-filters{display:flex;align-items:flex-end;gap:12px;padding-bottom:18px}.filter-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted);white-space:nowrap;padding-bottom:2px}.booking-management__filter-select{min-height:40px;min-width:180px;padding:0 42px 0 14px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-1, #232323);color:var(--text-main);font-size:14px;font-weight:540;letter-spacing:-.012em;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--bm-transition),background-color var(--bm-transition)}.booking-management__filter-select:hover{border-color:#ffffff12}.booking-management__filter-select:focus{border-color:#ffffff14;background:var(--surface-2, #272727)}.booking-management__filter-select option{background:var(--surface-1, #232323);color:var(--text-main)}.booking-management-table-wrapper{overflow-x:auto;background:transparent;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.booking-management-table-wrapper::-webkit-scrollbar{height:6px}.booking-management-table-wrapper::-webkit-scrollbar-track{background:transparent}.booking-management-table-wrapper::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}.booking-management-table{width:100%;border-collapse:collapse;min-width:620px}.booking-management-table thead{background:transparent}.booking-management-table th{padding:0 16px;height:40px;text-align:left;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;color:#ffffff6b;border-bottom:1px solid var(--border-soft);white-space:nowrap}.booking-management-table td{padding:0 16px;height:var(--bm-row-height);border-bottom:1px solid var(--border-soft);font-size:14px;line-height:1.25;letter-spacing:-.012em;color:var(--text-main);vertical-align:middle}.booking-management-table tbody tr{transition:background-color var(--bm-transition)}.booking-management-table tbody tr:hover{background-color:#ffffff05}.empty-message{text-align:center;padding:32px 16px!important;color:var(--text-muted);font-size:13px;font-weight:540;letter-spacing:-.012em;height:auto!important}.booking-lesson-info{display:flex;flex-direction:column;gap:3px}.booking-teacher{font-size:13px;font-weight:540;color:var(--text-secondary);letter-spacing:-.012em}.booking-datetime{display:flex;flex-direction:column;gap:3px}.booking-time{font-size:13px;font-weight:540;color:var(--text-secondary);letter-spacing:-.012em}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:13px;font-weight:560;letter-spacing:-.012em;border:1px solid transparent}.status-active{background:#50c8781a;color:#64d282e6;border-color:#50c8781f}.status-cancelled{background:#ff50501a;color:#ff7878e6;border-color:#ff50501f}.status-completed{background:#ffffff0d;color:var(--text-secondary);border-color:#ffffff0f}.booking-actions{display:flex;gap:6px;align-items:center}.booking-actions button{min-width:auto;white-space:nowrap;padding:0 12px;height:32px;min-height:32px;font-size:13px;font-weight:540;letter-spacing:-.012em;border-radius:10px}@media (max-width: 768px){.booking-management-title{font-size:28px}.booking-management-filters{flex-direction:column;align-items:stretch}.booking-management__filter-select{width:100%}.booking-management-table th,.booking-management-table td{padding:0 10px}}.credits-history{width:100%}.credits-history-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.credits-balance-display{display:flex;align-items:baseline;gap:8px;margin-bottom:18px}.balance-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:#ffffff4d}.balance-value{font-size:32px;line-height:1;font-weight:640;letter-spacing:-.04em;color:var(--text-main)}.credits-history-filters{display:flex;align-items:center;gap:12px;margin-bottom:18px}.filter-label{font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;color:#ffffff4d;flex-shrink:0}.credits-history-segmented{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:3px;border-radius:999px;background:var(--surface-1);border:1px solid rgba(255,255,255,.03)}.credits-history-seg-btn{min-height:32px;padding:0 14px;border-radius:999px;border:1px solid transparent;background:transparent;font-family:inherit;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;color:var(--text-secondary, rgba(255, 255, 255, .52));cursor:pointer;transition:background-color var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.credits-history-seg-btn:hover{color:var(--text-main)}.credits-history-seg-btn.active{background:var(--surface-2);border-color:#ffffff0a;color:var(--text-main)}.credits-history-seg-btn:active{transform:scale(.992)}.filter-loading-indicator{font-size:13px;color:#ffffff4d;margin-left:auto}.credits-history-empty{text-align:center;padding:40px 0;color:#ffffff4d}.credits-history-empty p{margin:0;font-size:14px;line-height:1.5}.credits-history-error{border:1px solid rgba(255,104,104,.2);border-radius:var(--radius-field);padding:12px 16px;color:#ff6868e6;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;background:#ff68680f}.error-retry-btn{background:transparent;border:1px solid rgba(255,104,104,.3);color:#ff6868e6;padding:6px 14px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:560;white-space:nowrap;transition:background-color var(--transition-ui),color var(--transition-ui)}.error-retry-btn:hover:not(:disabled){background:#ff68681a}.error-retry-btn:disabled{opacity:.5;cursor:not-allowed}.credits-history-table-wrapper{overflow-x:auto}.credits-history-table{width:100%;border-collapse:collapse;table-layout:fixed}.credits-history-table col:nth-child(1){width:190px}.credits-history-table col:nth-child(2){width:190px}.credits-history-table col:nth-child(3){width:190px}.credits-history-table col:nth-child(4){width:auto}.credits-history-table thead th{padding:0 32px 16px 0;text-align:left;font-size:13px;line-height:1;font-weight:600;letter-spacing:-.012em;color:#ffffff4d;border-bottom:1px solid rgba(255,255,255,.022)}.credits-history-table tbody td{padding:12px 32px 12px 0;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.018);font-size:14px;line-height:1.4;color:var(--text-secondary, rgba(255, 255, 255, .52))}.credits-history-table tbody tr:last-child td{border-bottom:0}.transaction-date{font-weight:560;color:var(--text-main)}.transaction-time{margin-top:4px;font-size:13px;line-height:1.2;color:#ffffff4d}.transaction-type{font-weight:560;color:#ffffffc2;display:inline;padding:0;border-radius:0;background:transparent;font-size:14px}.type-booking,.type-cancellation,.type-refund,.type-admin_add,.type-add,.type-admin_deduct,.type-deduct{background:transparent;color:#ffffffc2;padding:0;border-radius:0}.transaction-amount{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;white-space:nowrap}.transaction-amount.positive{color:#5cc987f5}.transaction-amount.negative{color:#ff6868f5}.transaction-description{color:var(--text-secondary, rgba(255, 255, 255, .52));font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}@media (max-width: 768px){.credits-history-filters{flex-wrap:wrap;gap:8px}.credits-history-segmented{width:max-content;overflow-x:auto;-webkit-overflow-scrolling:touch}.credits-history-seg-btn{min-height:36px}.credits-history-table thead{display:none}.credits-history-table,.credits-history-table tbody,.credits-history-table tr,.credits-history-table td{display:block;width:100%}.credits-history-table col:nth-child(1),.credits-history-table col:nth-child(2),.credits-history-table col:nth-child(3),.credits-history-table col:nth-child(4){width:auto}.credits-history-table tbody tr{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.018)}.credits-history-table tbody tr:last-child{border-bottom:0}.credits-history-table tbody td{padding:0 0 10px;border-bottom:0;max-width:none}.credits-history-table tbody td:last-child{padding-bottom:0}.transaction-description{white-space:normal;overflow:visible;text-overflow:unset}.error-retry-btn{min-height:44px;padding:8px 18px}}@media (max-width: 480px){.credits-history-segmented{flex-wrap:wrap;width:100%;border-radius:14px}.credits-history-seg-btn{font-size:13px;padding:0 10px;min-height:30px}.balance-value{font-size:26px}.credits-history-table tbody tr{padding:12px 0}.transaction-amount{font-size:18px}.transaction-date,.transaction-type{font-size:13px}.credits-history-table tbody td{padding:0 0 8px;font-size:13px}}.student-info-content{display:flex;flex-direction:column;gap:24px}.student-info-section{display:flex;flex-direction:column;gap:18px}.student-info-field{display:flex;flex-direction:column;gap:6px}.student-info-field--balance{padding-top:8px;border-top:1px solid var(--border-color)}.student-info-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32))}.student-info-value{font-size:15px;line-height:1.4;font-weight:540;letter-spacing:-.013em;color:var(--text-main, rgba(255, 255, 255, .92));word-break:break-word}.student-info-value--balance{font-size:17px;font-weight:600;color:var(--text-main, rgba(255, 255, 255, .92))}.student-info-link{color:var(--text-card-time);text-decoration:none;transition:color var(--transition-ui)}.student-info-link:hover{color:var(--text-main);text-decoration:underline}.student-info-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%}.student-info-footer-actions{display:flex;gap:12px}.student-info-footer-btn{min-height:40px;padding:0 24px;font-size:14px;border-radius:999px}@media (max-width: 768px){.student-info-footer{flex-direction:column;align-items:stretch}.student-info-footer-actions{flex-direction:column}.student-info-footer-btn{width:100%;min-height:44px}}.credits-management{width:100%}.credits-management-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.credits-management__header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px}.credits-management__title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0}.credits-management__table-shell{background:transparent}.credits-management__table-header,.credits-management__table-row{display:grid;grid-template-columns:minmax(300px,1.45fr) minmax(260px,1.15fr) minmax(170px,.9fr) 1fr 90px 140px 126px 148px 108px;gap:12px;align-items:center;width:100%}.credits-management__table-header{min-height:40px;border-bottom:1px solid var(--border-soft);color:#ffffff6b;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em}.credits-management__table-header>:nth-child(1),.credits-management__table-header>:nth-child(2),.credits-management__table-header>:nth-child(3){text-align:left;justify-self:start}.credits-management__table-header>:nth-child(5),.credits-management__table-header>:nth-child(6),.credits-management__table-header>:nth-child(7),.credits-management__table-header>:nth-child(8),.credits-management__table-header>:nth-child(9){text-align:center;justify-self:center}.credits-management__th-center{text-align:center;justify-self:center}.credits-management__th-purchase{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;justify-self:center}.credits-management__table-body{width:100%;overflow:visible;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.credits-management__table-row{min-height:52px;border-bottom:1px solid var(--border-soft)}.credits-management__cell{min-width:0;font-size:14px;line-height:1.25;letter-spacing:-.012em}.credits-management__cell-name{color:var(--text-main);font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits-management__student-link{background:transparent;border:none;color:var(--text-main);font:inherit;font-weight:540;padding:0;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-ui);width:100%}.credits-management__student-link:hover{color:var(--text-card-time);text-decoration:underline}.credits-management__cell-secondary{color:#ffffff8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits-management__cell-balance{min-width:0;text-align:center;justify-self:center;color:var(--text-main);font-weight:560}.credits-management__cell-price{min-width:0;width:100%;display:flex;align-items:center;justify-content:center}.credits-management__price-editor{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.credits-management__price-input{width:70px;min-width:0;min-height:34px;padding:0 12px;border:1px solid var(--border-mid);border-radius:10px;background:var(--field-bg);color:var(--text-main);font:inherit;font-size:14px;outline:none;text-align:right;transition:border-color var(--transition-ui),color var(--transition-ui),opacity var(--transition-ui);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.credits-management__price-input::-webkit-outer-spin-button,.credits-management__price-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.credits-management__price-input:focus{border-color:var(--border-mid);background:var(--field-bg);box-shadow:none;outline:none}.credits-management__price-input::placeholder{color:#ffffff3d}.credits-management__price-input[readonly]{color:#ffffffb3;opacity:.9;cursor:default}.credits-management__edit-toggle{width:32px;height:32px;flex:0 0 32px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#ffffffad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.credits-management__edit-toggle:hover{background:#ffffff06;border-color:#ffffff1f;color:#ffffffd6}.credits-management__edit-toggle:active{transform:scale(.992)}.credits-management__edit-toggle svg{width:14px;height:14px;display:block}.credits-management__cell-actions{min-width:0;width:100%;display:flex;align-items:center;justify-content:center}.credits-management__actions{display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.credits-management__action-btn{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#ffffffad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.credits-management__action-btn:hover{background:#ffffff06;border-color:#ffffff1f;color:#ffffffd6}.credits-management__action-btn:active{transform:scale(.992)}.credits-management__action-btn svg{width:14px;height:14px;display:block}.credits-management__cell-purchase{min-width:0;width:100%;display:flex;align-items:center;justify-content:center}.credits-management__purchase-toggle{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color var(--transition-ui),background-color var(--transition-ui),transform var(--transition-ui)}.credits-management__purchase-toggle svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity var(--transition-ui)}.credits-management__purchase-toggle.is-on{background:#ffffff14;border-color:#ffffff38}.credits-management__purchase-toggle.is-on svg{opacity:1}.credits-management__purchase-toggle:active{transform:scale(.992)}.credits-management__cell-league{min-width:0;width:100%;display:flex;align-items:center;justify-content:center}.cm-league-select{position:relative;width:100%}.cm-league-trigger{width:100%;min-height:34px;padding:0 34px 0 12px;border:1px solid var(--border-mid);border-radius:10px;background:var(--field-bg);color:var(--text-main);display:flex;align-items:center;text-align:left;cursor:pointer;font:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;line-height:1;white-space:nowrap;position:relative;transition:border-color .17s ease,background-color .17s ease}.cm-league-trigger:hover{border-color:#ffffff14;background:#ffffff05}.cm-league-trigger:active{transform:scale(.992)}.cm-league-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-league-chevron{position:absolute;top:50%;right:12px;width:14px;height:14px;color:#fff6;transform:translateY(-50%);pointer-events:none;flex-shrink:0;transition:transform .17s ease,color .17s ease}.cm-league-select--open .cm-league-chevron{transform:translateY(-50%) rotate(180deg);color:#ffffff8f}.cm-league-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:6px;border-radius:14px;border:1px solid var(--border-mid);background:var(--surface-1);box-shadow:0 18px 36px #00000047;z-index:40}.cm-league-option{width:100%;min-height:36px;border:0;border-radius:10px;background:transparent;color:#ffffff8f;text-align:left;padding:0 10px;cursor:pointer;font:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;line-height:1;white-space:nowrap;transition:background-color .17s ease,color .17s ease}.cm-league-option:hover{background:#ffffff07;color:var(--text-main)}.cm-league-option--active{background:#ffffff0a;color:var(--text-main)}.credits-management__empty{min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.credits-management .modal-btn-primary{border-radius:999px;background:var(--action-bg, #f1f1f1);color:var(--action-text, #111111)}.credits-management .modal-btn-primary:hover:not(:disabled){background:var(--action-bg-hover, #ffffff)}.credits-management .modal-btn-primary:disabled{background:#ffffff1a;color:#ffffff4d;border:none}.credits-form{display:flex;flex-direction:column;gap:18px}.credits-form__actions{display:flex;justify-content:flex-end;padding-top:8px}@media (max-width: 1480px){.credits-management__title{font-size:28px}.credits-management__table-header,.credits-management__table-row{grid-template-columns:260px 220px 135px 1fr 72px 128px 126px 120px 82px;gap:10px}}@media (max-width: 1180px){.credits-management__table-header,.credits-management__table-row{grid-template-columns:220px 180px 110px 1fr 64px 116px 110px 110px 76px;gap:8px}}@media (max-width: 860px){.credits-management__title{font-size:28px}}@media (max-width: 768px){.credits-management__header{flex-direction:column;align-items:flex-start;gap:12px}.credits-management__table-header{display:none}.credits-management__table-row{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:12px;margin-bottom:8px;min-height:auto}.credits-management__cell{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.credits-management__cell:before{font-size:12px;font-weight:560;color:#ffffff6b;letter-spacing:-.012em;white-space:nowrap;flex-shrink:0}.credits-management__cell-name{font-size:15px;font-weight:600;order:-1}.credits-management__cell-name:before{content:none}.credits-management__cell-secondary:nth-child(2):before{content:"Email"}.credits-management__cell-secondary:nth-child(3):before{content:"Telegram"}.credits-management__table-row>div:nth-child(4):not([class]){display:none}.credits-management__cell-balance{text-align:right;justify-self:auto}.credits-management__cell-balance:before{content:"Кредиты"}.credits-management__cell-league{justify-content:flex-end}.credits-management__cell-league:before{content:"Лига"}.credits-management__cell-price{justify-content:flex-end}.credits-management__cell-price:before{content:"Цена"}.credits-management__cell-actions{justify-content:flex-start}.credits-management__cell-actions:before{content:none}.credits-management__actions{justify-content:flex-start}.credits-management__cell-purchase{justify-content:flex-end}.credits-management__cell-purchase:before{content:"Покупка"}.credits-management__cell-actions,.credits-management__cell-purchase{width:auto;flex:1}.credits-management__price-editor{justify-content:flex-end}.cm-league-select{width:auto;min-width:120px}.credits-form__actions{flex-direction:column-reverse}.credits-form__actions button{width:100%}}@media (max-width: 480px){.credits-management__title{font-size:24px}.credits-management__table-row{padding:12px 14px;gap:8px}.credits-management__cell{font-size:13px}.credits-management__cell-name{font-size:14px}.credits-management__cell-secondary{white-space:normal;word-break:break-all}.credits-management__action-btn{width:28px;height:28px}.credits-management__action-btn svg{width:12px;height:12px}.credits-management__edit-toggle{width:28px;height:28px;flex:0 0 28px}.credits-management__edit-toggle svg{width:12px;height:12px}.credits-management__price-input{width:60px;min-height:30px;font-size:13px}.cm-league-trigger{min-height:30px;font-size:13px;padding:0 28px 0 10px}.cm-league-chevron{width:12px;height:12px;right:10px}}.admin-lesson-card{position:relative;overflow:hidden;width:100%;height:74px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;--surface: var(--card-bg);cursor:pointer;transition:background-color .18s ease,border-color .18s ease;contain:layout style}.admin-lesson-card:hover{border-color:var(--card-border-hover)}.admin-lesson-card:focus-visible{outline:none}.admin-lesson-card:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:0 2px 2px 0;background:var(--group-color, var(--group-blue));opacity:.95;transition:opacity .18s ease}.admin-lesson-card:hover:before{opacity:1}.admin-lesson-card__title{position:absolute;left:15px;top:15px;right:88px;font-size:15px;line-height:1.08;font-weight:515;letter-spacing:-.013em;color:var(--text-card-main);white-space:nowrap;overflow:hidden}.admin-lesson-card__title:after{content:"";position:absolute;top:0;right:0;width:30px;height:100%;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,var(--surface) 100%);pointer-events:none}.admin-lesson-card__meta{position:absolute;top:15px;right:15px;display:flex;align-items:center;gap:5px;white-space:nowrap}.admin-lesson-card__time{font-size:15px;line-height:1.08;font-weight:515;letter-spacing:-.013em;color:var(--text-card-time)}.admin-lesson-card__teacher{position:absolute;left:15px;right:52px;bottom:15px;font-size:12px;line-height:1.08;font-weight:470;letter-spacing:-.01em;color:var(--text-card-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-lesson-card__warning-dot{position:absolute;right:15px;bottom:15px;width:8px;height:8px;border-radius:999px;transition:opacity .18s ease}.admin-lesson-card:hover .admin-lesson-card__warning-dot{opacity:.92}.admin-lesson-card__warning-dot--green{background:var(--status-open, #278a4f);box-shadow:0 0 0 2px #2fa15b0a}.admin-lesson-card__warning-dot--red{background:var(--status-full, #954141);box-shadow:0 0 0 2px #a94a4a08}.admin-lesson-card__warning-dot--orange{background:var(--status-few, #ac882c);box-shadow:0 0 0 2px #bd95300a}.admin-lesson-card__fill{position:absolute;right:15px;bottom:15px;font-size:12px;line-height:1;font-weight:560;letter-spacing:-.01em;color:var(--text-card-secondary)}.admin-lesson-card__fill--red{color:#dc6464d1}.admin-lesson-card__fill--orange{color:#c8a032d1}.admin-lesson-card.enrolled{background:var(--card-bg-enrolled);--surface: var(--card-bg-enrolled)}.admin-lesson-card--filtered{opacity:.38;pointer-events:none;cursor:default}.admin-lesson-card--warning-red{outline:2px solid rgba(149,65,65,.5);outline-offset:-2px}.admin-lesson-card--warning-orange{outline:2px solid rgba(172,136,44,.4);outline-offset:-2px}.admin-lesson-card.card-blue{--group-color: var(--group-blue, #6f84df)}.admin-lesson-card.card-teal{--group-color: var(--group-teal, #53a29e)}.admin-lesson-card.card-violet{--group-color: var(--group-violet, #966fd1)}.admin-lesson-card.card-sand{--group-color: var(--group-sand, #ae9858)}@media (max-width: 640px){.admin-lesson-card{height:auto;min-height:64px}.admin-lesson-card__title{right:70px;font-size:14px}.admin-lesson-card__teacher{font-size:11px}.admin-lesson-card__time{font-size:14px}}@media (max-width: 480px){.admin-lesson-card{min-height:58px;border-radius:10px}.admin-lesson-card__title{left:12px;top:12px;right:62px;font-size:13px}.admin-lesson-card__meta{top:12px;right:12px}.admin-lesson-card__time{font-size:13px}.admin-lesson-card__teacher{left:12px;right:44px;bottom:12px;font-size:10px}.admin-lesson-card__warning-dot{right:12px;bottom:12px;width:7px;height:7px}.admin-lesson-card__fill{right:12px;bottom:12px;font-size:11px}.admin-lesson-card:before{top:7px;bottom:7px}}.admin-calendar-credits-display{display:inline-flex;align-items:center;padding:5px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:999px;margin:0 8px}.admin-calendar-credits-content{display:flex;align-items:center;gap:6px}.admin-calendar-credits-icon{color:#fff6;flex-shrink:0;width:14px;height:14px}.admin-calendar-credits-label{font-size:13px;font-weight:560;letter-spacing:-.012em;color:var(--text-muted);white-space:nowrap}.admin-calendar-credits-value{font-size:14px;font-weight:620;letter-spacing:-.02em;color:var(--text-main);min-width:20px;text-align:center}.admin-calendar-credits-error{font-size:13px;color:#ff6868cc;font-weight:520;white-space:nowrap}@media (max-width: 768px){.admin-calendar-credits-display{padding:4px 10px;margin:0 4px}.admin-calendar-credits-icon{width:13px;height:13px}.admin-calendar-credits-label{display:none}.admin-calendar-credits-value{font-size:13px}}.student-filter-search-container{position:relative;width:auto}.student-filter-search-input-row{display:flex;align-items:center;gap:8px}.student-filter-search-input-group{display:flex;align-items:center;gap:8px;position:relative}.student-filter-search-input{flex:1;padding:0 14px;border:1px solid rgba(255,255,255,.04);border-radius:999px;background:var(--surface-1, #232323);font-size:14px;font-weight:560;letter-spacing:-.014em;color:var(--text-secondary, rgba(255, 255, 255, .52));cursor:pointer;min-width:160px;height:40px;transition:background-color .17s ease,border-color .17s ease,color .17s ease}.student-filter-search-input:focus{outline:none;background:var(--surface-2, #272727);border-color:#ffffff0e;color:var(--text-main, rgba(255, 255, 255, .88))}.student-filter-search-input:disabled{background-color:var(--surface-2, #272727);cursor:not-allowed;opacity:.6}.student-filter-search-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:var(--surface-1, #232323);border:1px solid var(--border-soft, rgba(255, 255, 255, .04));border-radius:14px;box-shadow:var(--shadow-dropdown, 0 10px 30px rgba(0, 0, 0, .24));max-height:300px;overflow-y:auto;z-index:var(--z-dropdown, 100);min-width:300px;display:flex;flex-direction:column}.student-filter-search-item{display:flex;align-items:center;padding:10px 12px;font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .52));cursor:pointer;transition:background-color var(--transition-ui);white-space:normal;word-wrap:break-word;word-break:break-word}.student-filter-search-item:hover:not(.student-filter-search-loading):not(.student-filter-search-no-results){background-color:#ffffff07}.student-filter-search-item.checked{background-color:#ffffff0a;color:var(--text-main, rgba(255, 255, 255, .88));font-weight:500}.student-filter-search-item.highlighted{background-color:#ffffff0a}.student-filter-search-item.checked.highlighted{background-color:#ffffff0f}.student-filter-search-loading,.student-filter-search-no-results,.student-filter-search-error{padding:10px 12px;text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .52));cursor:default}.student-filter-search-error{color:#e07a7ae0}.student-filter-search-item:first-child{border-radius:14px 14px 0 0}.student-filter-search-item:last-child{border-radius:0 0 14px 14px}.student-filter-search-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background-color:#ffffff0f;color:var(--text-main, rgba(255, 255, 255, .88));border-radius:999px;font-size:13px;font-weight:540;letter-spacing:-.012em;white-space:nowrap;max-width:200px;flex-shrink:0}.student-filter-search-chip>span{overflow:hidden;text-overflow:ellipsis}.student-filter-search-chip:hover{background-color:#ffffff17}.student-filter-search-chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:#ffffff14;border-radius:50%;color:var(--text-secondary, rgba(255, 255, 255, .52));cursor:pointer;font-size:14px;font-weight:600;line-height:1;transition:background-color .17s ease,color .17s ease;flex-shrink:0}.student-filter-search-chip-remove:hover{background:#ffffff24;color:#e07a7ae0}.student-filter-search-chip-remove:disabled{cursor:not-allowed;opacity:.5}@media (max-width: 768px){.student-filter-search-container{width:100%}}@media (max-width: 640px){.student-filter-search-chip{max-width:140px;font-size:12px;padding:4px 8px}.student-filter-search-input-row{gap:6px}}@media (max-width: 480px){.student-filter-search-input{height:36px;padding:0 10px;font-size:13px}}.admin-calendar-view{width:100%;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:0}.admin-calendar-top{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.admin-calendar-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:0}.admin-calendar-headline-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.admin-calendar-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);white-space:nowrap;margin:0}.admin-calendar-subtitle{font-size:13px;line-height:1;font-weight:540;letter-spacing:-.012em;color:var(--text-muted);white-space:nowrap}.admin-calendar-actions{display:flex;gap:10px;align-items:center;min-width:0;flex-wrap:wrap;justify-content:flex-end}.admin-select{position:relative;display:inline-flex}.admin-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 14px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.04);border-radius:999px;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease;white-space:nowrap}.admin-select-trigger:hover{background:var(--surface-2, #272727);border-color:#ffffff0e;color:var(--accent-text, rgba(255, 255, 255, .84))}.admin-select-arrow{display:flex;align-items:center;width:14px;height:14px;color:#ffffff57;transition:transform .17s ease}.admin-select-trigger:active{transform:scale(.992)}.admin-select.is-open .admin-select-trigger{background:var(--surface-2, #272727);border-color:#ffffff0e;color:var(--accent-text, rgba(255, 255, 255, .84))}.admin-select.is-open .admin-select-arrow{transform:rotate(180deg)}.admin-select-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown, 100);min-width:100%;padding:6px;background:var(--surface-1);border:1px solid var(--border-soft);border-radius:14px;box-shadow:var(--shadow-dropdown, 0 10px 30px rgba(0, 0, 0, .24));list-style:none;display:none;margin:0}.admin-select.is-open .admin-select-menu{display:block}.admin-select-option{min-height:38px;padding:0 12px;display:flex;align-items:center;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:540;letter-spacing:-.013em;border-radius:10px;cursor:pointer;transition:background .17s ease,color .17s ease;background:none;border:none;width:100%;text-align:left}.admin-select-option:hover{background:var(--surface-2);color:var(--accent-text, rgba(255, 255, 255, .84))}.admin-select-option.active,.admin-select-option[aria-selected=true]{background:#ffffff08;color:var(--text-main)}.admin-segmented{display:inline-flex;align-items:center;padding:3px;border-radius:999px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.03);min-height:40px;gap:4px;flex:0 0 auto;width:auto;align-self:flex-start}.admin-segmented-btn{padding:0 14px;min-height:32px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.admin-segmented-btn:hover{color:var(--text-main)}.admin-segmented-btn.active{background:var(--surface-2, #272727);border-color:#ffffff0a;color:var(--text-main)}.admin-segmented-btn:active{transform:scale(.992)}.admin-create-lesson-link{border:0;background:transparent;padding:0;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;font-family:inherit;white-space:nowrap;cursor:pointer;transition:color .17s ease,transform .17s ease}.admin-create-lesson-link:hover{color:#ffffffc2}.admin-create-lesson-link:active{transform:scale(.992)}.admin-calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:4px}.admin-calendar-range-block{display:flex;align-items:flex-start;gap:14px;min-width:0}.admin-calendar-range-center{min-width:max-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding-top:6px}.admin-calendar-range-label{padding:0;margin:0;min-width:160px;font-size:20px;line-height:1;font-weight:560;letter-spacing:-.018em;color:var(--text-main);white-space:nowrap;text-align:center}.admin-calendar-today-btn{min-width:auto;height:auto;padding:0;margin:0;border:0;background:transparent;color:#ffffff75;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.013em;border-radius:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .17s ease,opacity .17s ease,transform .17s ease;text-align:center}.admin-calendar-today-btn:hover{background:transparent;border-color:transparent;color:#ffffffc2}.admin-calendar-today-btn:active{transform:scale(.992)}.admin-calendar-nav-btn{height:40px;flex:0 0 10px;border:0;background:transparent;color:#ffffff6b;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease,opacity .17s ease}.admin-calendar-nav-btn svg{width:18px;height:18px;display:block}.admin-calendar-nav-btn:hover:not(:disabled){border-color:transparent;color:#ffffffb8}.admin-calendar-nav-btn:focus-visible{outline:none;background:#ffffff07;color:#ffffffc7}.admin-calendar-nav-btn:active:not(:disabled){transform:scale(.992)}.admin-calendar-nav-btn:disabled{opacity:.38;cursor:default}.admin-calendar-viewport{overflow:hidden;width:100%}.admin-calendar-track{display:flex;gap:var(--track-gap, 14px);transition:transform .26s cubic-bezier(.22,1,.36,1);will-change:transform}.admin-calendar-day{min-width:0;flex:0 0 auto}.admin-calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:0 0 0 2px}.admin-calendar-day-name{font-size:16px;line-height:1.03;font-weight:600;letter-spacing:-.022em;color:#ffffffd6;white-space:nowrap}.admin-calendar-date-capsule{display:inline-block;padding:0;min-height:0;border-radius:0;background:transparent;white-space:nowrap;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.014em;color:#ffffff61;flex:0 0 auto}.admin-calendar-date-capsule.is-today{padding:6px 10px;min-height:24px;border-radius:999px;background:#ffffff0a;color:#ffffffbd;display:inline-flex;align-items:center;justify-content:center}.admin-calendar-day-lessons{margin-top:0;display:flex;flex-direction:column;gap:10px}.admin-calendar-empty-day{height:74px;border-radius:12px;background:var(--helper-surface, #232323);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:470;letter-spacing:-.012em;width:100%}@media (max-width: 1100px){.admin-calendar-headline{flex-direction:column;align-items:stretch}.admin-calendar-actions{justify-content:flex-start}}@media (max-width: 980px){.admin-calendar-actions{flex-wrap:wrap}.admin-segmented{flex-wrap:wrap;border-radius:14px}}@media (max-width: 768px){.admin-calendar-actions{flex-direction:column;align-items:stretch;gap:8px}.admin-select{display:flex;width:100%}.admin-select-trigger{width:100%;justify-content:space-between}.admin-select-menu{min-width:100%;right:0}.admin-segmented{width:100%;justify-content:center}.admin-create-lesson-link{align-self:flex-start}}@media (max-width: 760px){.admin-calendar-view{gap:0}.admin-calendar-title{font-size:25px}.admin-calendar-subtitle{font-size:12px}.admin-calendar-range-label{font-size:17px}.admin-calendar-today-btn{font-size:12px}.admin-calendar-range-block{gap:10px;margin-bottom:16px}.admin-calendar-toolbar{flex-direction:column;align-items:flex-start}.admin-calendar-viewport{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.admin-calendar-viewport::-webkit-scrollbar{display:none}.admin-calendar-day{scroll-snap-align:start}}@media (max-width: 640px){.admin-calendar-headline{gap:12px}.admin-calendar-title{font-size:22px}.admin-calendar-subtitle{font-size:11px}.admin-calendar-range-label{font-size:16px}.admin-calendar-actions{gap:8px}.admin-calendar-day-name{font-size:14px}.admin-calendar-date-capsule{font-size:12px}.admin-calendar-empty-day{height:60px;font-size:13px}}@media (max-width: 480px){.admin-calendar-view{gap:12px}.admin-calendar-headline{gap:8px;margin-bottom:8px}.admin-calendar-title{font-size:20px}.admin-calendar-subtitle{font-size:10px}.admin-calendar-range-center{min-width:180px}.admin-calendar-range-label{font-size:15px}.admin-calendar-today-btn{font-size:11px}.admin-calendar-toolbar{gap:12px;margin-bottom:0}.admin-calendar-range-block{gap:8px;margin-bottom:8px}.admin-segmented-btn{padding:0 10px;font-size:13px;min-height:30px}.admin-select-trigger{height:36px;padding:0 10px;font-size:13px}.admin-calendar-day-header{min-height:40px;gap:8px}.admin-calendar-day-name{font-size:13px}.admin-calendar-date-capsule{font-size:11px}.admin-calendar-day-lessons{gap:8px}.admin-calendar-empty-day{height:52px;font-size:12px;border-radius:10px}}.lem-embedded{display:flex;flex-direction:column;width:100%;min-height:0}.lem-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px}.lem-page-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main, rgba(255, 255, 255, .88))}.lem-close-link{border:0;background:transparent;color:#ffffff75;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;transition:color .17s ease,opacity .17s ease;padding-top:2px;flex-shrink:0}.lem-close-link:hover{color:#ffffffc2}.lem-close-link:disabled{opacity:.5;cursor:not-allowed}.lem-loading{display:flex;justify-content:center;align-items:center;min-height:280px}.lem-body{display:flex;flex-direction:column}.lem-section{padding:28px 0;border-top:1px solid var(--border-soft)}.lem-section:first-child{border-top:0;padding-top:8px}.lem-section-title{font-size:22px;line-height:1.04;font-weight:610;letter-spacing:-.028em;color:var(--text-main);margin:0 0 18px}.lem-stack{display:flex;flex-direction:column;gap:16px}.lem-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lem-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lem-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lem-field{display:flex;flex-direction:column;gap:9px;min-width:0}.lem-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32))}.lem-input,.lem-select{width:100%;min-height:50px;padding:0 16px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.lem-input::placeholder{color:#ffffff3d}.lem-input:focus,.lem-select:focus{outline:none;border-color:var(--border-mid);background:var(--field-bg, rgba(255, 255, 255, .014));box-shadow:none}.lem-input:disabled,.lem-select:disabled{opacity:.5;cursor:not-allowed}.lem-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;color-scheme:dark;background-color:var(--surface-1, #232323);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:42px;cursor:pointer}.lem-select option{background:var(--surface-1, #232323);color:var(--text-main, rgba(255, 255, 255, .88));padding:8px 14px}.lem-input[type=date],.lem-input[type=time]{color-scheme:dark}.lem-input[type=date]::-webkit-calendar-picker-indicator,.lem-input[type=time]::-webkit-calendar-picker-indicator{opacity:.62;filter:invert(1) brightness(.72);cursor:pointer}.lem-input[type=number]::-webkit-outer-spin-button,.lem-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lem-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.lem-textarea{width:100%;min-height:140px;max-height:140px;padding:14px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;line-height:1.5;outline:none;resize:none;overflow:auto;transition:border-color .17s ease;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.lem-textarea::-webkit-scrollbar{width:10px}.lem-textarea::-webkit-scrollbar-track{background:transparent}.lem-textarea::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.lem-textarea::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}.lem-textarea::placeholder{color:#ffffff3d}.lem-textarea:focus{outline:none;border-color:var(--border-mid);box-shadow:none}.lem-textarea:disabled{opacity:.5;cursor:not-allowed}.lem-input.lem-error,.lem-select.lem-error{border-color:#e07a7a80}.lem-form-error{font-size:12px;color:#e07a7ae0;margin-top:2px}.lem-hint{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .32));margin-top:2px}.lem-color-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:16px}.lem-color-field{display:flex;flex-direction:column;gap:9px;min-width:0}.lem-color-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center}.lem-color-palette{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-height:50px;width:100%}.lem-color-swatch{width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:transparent;cursor:pointer;position:relative;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;padding:0}.lem-color-swatch:hover{border-color:#ffffff2e}.lem-color-swatch:active{transform:scale(.96)}.lem-color-swatch.lem-swatch-active{border-color:#ffffff47;box-shadow:0 0 0 1px #ffffff14}.lem-color-swatch:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:999px;background:var(--swatch-bg)}.lem-color-swatch.lem-swatch-transparent:before{background:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent),#ffffff05;background-size:8px 8px}.lem-checklines{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;min-height:50px}.lem-segmented{display:inline-flex;align-items:center;padding:3px;border-radius:999px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.03);min-height:40px;gap:4px;flex:0 0 auto;align-self:flex-start}.lem-segmented-btn{padding:0 14px;min-height:32px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary, rgba(255, 255, 255, .52));font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;cursor:pointer;outline:none;box-shadow:none;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;white-space:nowrap}.lem-segmented-btn:hover:not(:disabled):not(.is-active){color:var(--text-main, rgba(255, 255, 255, .88))}.lem-segmented-btn.is-active{background:var(--surface-2, #272727);border-color:#ffffff0a;color:var(--text-main, rgba(255, 255, 255, .88))}.lem-segmented-btn:active:not(:disabled){transform:scale(.992)}.lem-checkline{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:24px}.lem-checkline input{position:absolute;opacity:0;pointer-events:none}.lem-fake-check{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .17s ease,background-color .17s ease}.lem-fake-check svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity .17s ease}.lem-checkline input:checked+.lem-fake-check{background:#ffffff14;border-color:#ffffff38}.lem-checkline input:checked+.lem-fake-check svg{opacity:1}.lem-checkline input:disabled+.lem-fake-check{opacity:.45}.lem-checkline-text{font-size:14px;line-height:1.1;font-weight:540;letter-spacing:-.012em;color:#ffffff8f}.lem-flags-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.lem-danger-link{border:0;background:transparent;padding:0;color:#e07a7ae0;font-size:14px;line-height:1;font-family:inherit;font-weight:560;letter-spacing:-.013em;white-space:nowrap;cursor:pointer;transition:color .17s ease,transform .17s ease}.lem-danger-link:hover{color:#ee9292f5}.lem-danger-link:active{transform:scale(.992)}.lem-danger-link:disabled{opacity:.45;cursor:not-allowed}.lem-save-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:540;letter-spacing:-.012em;color:#ffffff8f}.lem-save-status.saving{color:var(--color-info)}.lem-save-status.success{color:var(--color-success)}.lem-save-status.error{color:#e07a7ae0;cursor:help}.lem-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.lem-footer-left,.lem-footer-right{display:flex;align-items:center;gap:10px}.lem-search-wrap{margin-bottom:14px}.lem-search-input{width:100%;min-height:50px;padding:0 16px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.lem-search-input::placeholder{color:#ffffff3d}.lem-search-input:focus{outline:none;border-color:var(--border-mid);box-shadow:none}.lem-search-input:disabled{opacity:.5;cursor:not-allowed}.lem-table-shell{background:transparent}.lem-table-header,.lem-table-row{display:grid;grid-template-columns:1.45fr 1.25fr 120px 80px;gap:16px;align-items:center}.lem-table-header{min-height:38px;border-bottom:1px solid var(--border-soft);color:#ffffff6b;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;padding-right:12px}.lem-table-body{height:420px;max-height:420px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.lem-table-body::-webkit-scrollbar{width:10px}.lem-table-body::-webkit-scrollbar-track{background:transparent}.lem-table-body::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.lem-table-body::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}.lem-table-row{min-height:42px;border-bottom:1px solid var(--border-soft);scroll-snap-align:start;cursor:default}.lem-table-row:last-child{border-bottom:none}.lem-table-row.lem-row-removing{opacity:.4}.lem-student-name{min-width:0;font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lem-student-telegram{min-width:0;font-size:14px;line-height:1.2;letter-spacing:-.012em;color:#ffffff8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lem-student-credits{font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap}.lem-student-credits.lem-credits-warn{color:#f59e0be0}.lem-row-check{display:inline-flex;align-items:center;justify-content:flex-start}.lem-row-check-btn{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .17s ease,background-color .17s ease}.lem-row-check-btn svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity .17s ease}.lem-row-check-btn.lem-enrolled{background:#ffffff14;border-color:#ffffff38}.lem-row-check-btn.lem-enrolled svg{opacity:1}.lem-row-check-btn:disabled{opacity:.45;cursor:not-allowed}.lem-table-empty{min-height:80px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted, rgba(255, 255, 255, .32))}.lem-bulk-btn{min-width:124px;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffffb8;font-family:inherit;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.lem-bulk-btn:hover:not(:disabled){background:#ffffff06;border-color:#ffffff24;color:#ffffffd6}.lem-bulk-btn:active:not(:disabled){transform:scale(.992)}.lem-bulk-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 980px){.lem-grid-2,.lem-grid-4,.lem-color-row,.lem-color-wrap{grid-template-columns:1fr}}@media (max-width: 768px){.lem-page-title{font-size:28px}.lem-table-header,.lem-table-row{grid-template-columns:1.2fr 1.1fr 76px 54px;gap:12px}.lem-footer{padding:14px 0;border-top:1px solid rgba(255,255,255,.06);flex-direction:column;align-items:stretch;gap:10px}.lem-footer-left,.lem-footer-right{width:100%;justify-content:space-between}}@media (max-width: 640px){.lem-grid-2,.lem-grid-3,.lem-grid-4{grid-template-columns:1fr}.lem-flags-row{flex-direction:column;align-items:flex-start;gap:14px}.lem-table-header,.lem-table-row{grid-template-columns:1fr 80px 54px;gap:10px}.lem-table-header>:nth-child(2),.lem-table-row>.lem-student-telegram{display:none}.lem-danger-link{min-height:44px;display:inline-flex;align-items:center}.lem-bulk-btn{min-height:44px;min-width:0;width:100%;border-radius:12px}.lem-row-check-btn{width:28px;height:28px}}@media (max-width: 480px){.lem-close-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.lem-table-body{height:auto;max-height:252px}.lem-input,.lem-select{min-height:50px;font-size:16px}.lem-textarea{font-size:16px}}.tlem-table-header,.tlem-table-row{grid-template-columns:1.6fr 1.8fr 80px}@media (max-width: 768px){.tlem-table-header,.tlem-table-row{grid-template-columns:1fr 1.2fr 70px;gap:10px}.tlem-table-row .lem-row-check-btn{width:44px;height:44px;border-radius:10px}.tlem-table-row .lem-row-check-btn svg{width:16px;height:16px}}@media (max-width: 640px){.tlem-table-header,.tlem-table-row{grid-template-columns:1fr 54px}.tlem-table-header>:nth-child(2),.tlem-table-row>.lem-student-telegram{display:none}}@media (max-width: 480px){.tlem-table-header,.tlem-table-row{grid-template-columns:1fr 48px;gap:8px}}.lem-segmented{display:inline-flex;align-items:stretch;gap:0;padding:4px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.lem-segmented-btn{border:0;background:transparent;color:#ffffff8f;font-size:13px;font-weight:560;letter-spacing:-.01em;padding:7px 14px;border-radius:7px;cursor:pointer;transition:background .16s ease,color .16s ease;min-width:72px}.lem-segmented-btn:hover:not(:disabled):not(.is-active){color:#ffffffdb}.lem-segmented-btn.is-active{background:#ffffff1f;color:#fffffff5}.lem-segmented-btn:disabled{opacity:.5;cursor:not-allowed}.template-calendar-view{background:var(--surface-1, #232323);border:1px solid var(--border-mid, rgba(255, 255, 255, .05));border-radius:16px;padding:var(--spacing-4)}.template-calendar-empty,.template-calendar-loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-8);text-align:center;color:var(--text-muted, rgba(255, 255, 255, .32))}.template-calendar-header{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-mid, rgba(255, 255, 255, .05))}.template-calendar-header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3)}.template-calendar-title{font-size:20px;font-weight:610;letter-spacing:-.024em;color:var(--text-main, rgba(255, 255, 255, .88));margin:0 0 var(--spacing-2) 0}.template-calendar-subtitle{font-size:13px;color:var(--text-muted, rgba(255, 255, 255, .32));margin:0}.template-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-mid, rgba(255, 255, 255, .05));border:1px solid var(--border-mid, rgba(255, 255, 255, .05));border-radius:14px;overflow:hidden;min-height:500px}.template-calendar-day{background:var(--surface-1, #232323);display:flex;flex-direction:column;flex:1;min-width:0;width:100%}.template-calendar-day-header{background:var(--surface-2, #272727);padding:var(--spacing-2);border-bottom:1px solid var(--border-mid, rgba(255, 255, 255, .05))}.day-header-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.day-header-content>div{text-align:center;font-weight:600;color:var(--text-main)}.add-lesson-btn{padding:4px 8px;background:var(--btn-action-bg, #f1f1f1);color:var(--btn-action-text, #111111);border:none;border-radius:999px;font-size:11px;font-weight:500;cursor:pointer;transition:background-color var(--transition-ui);white-space:nowrap}.add-lesson-btn:hover{background:var(--btn-action-hover, #ffffff)}.add-lesson-btn:active{transform:scale(.98)}.template-calendar-day-lessons{padding:var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-2);overflow-y:auto;flex:1;justify-content:flex-start}.template-calendar-day-empty{padding:var(--spacing-4);text-align:center;color:var(--text-muted, rgba(255, 255, 255, .32));font-size:var(--font-size-sm);font-style:italic}.lesson-time{font-weight:600;margin-bottom:var(--spacing-1)}.lesson-subject{font-weight:700;font-size:var(--font-size-sm);margin-bottom:var(--spacing-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.3}.lesson-teacher{margin-bottom:var(--spacing-1);font-size:var(--font-size-xs)}.lesson-type-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-btn, 10px);font-size:10px;font-weight:500;margin-bottom:var(--spacing-1)}.lesson-capacity{font-size:10px;margin-bottom:var(--spacing-1)}.lesson-description{font-size:var(--font-size-xs);margin-top:var(--spacing-1);padding-top:var(--spacing-1);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.3}.lesson-actions{display:flex;gap:var(--spacing-1);margin-top:var(--spacing-2);padding-top:var(--spacing-1)}.lesson-action-btn{flex:1;padding:4px 8px;border:none;border-radius:var(--radius-btn, 10px);font-size:10px;font-weight:500;cursor:pointer;transition:background-color var(--transition-ui),color var(--transition-ui),opacity var(--transition-ui)}.lesson-action-btn:hover{opacity:.8}@media (max-width: 1200px){.template-calendar-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1024px){.template-lesson-card{font-size:10px;padding:var(--spacing-1)}.template-calendar-day{min-height:250px}}@media (max-width: 768px){.template-calendar-view{padding:var(--spacing-3)}.template-calendar-header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.template-calendar-grid{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:1px;min-height:auto}.template-calendar-day{min-width:200px;flex-shrink:0;scroll-snap-align:start;min-height:220px}.day-name-full{display:none}.day-name-short{display:inline}.add-lesson-btn{min-height:44px;min-width:44px;padding:8px 12px;font-size:12px}.lesson-action-btn{min-height:44px;padding:8px 12px;font-size:12px}}@media (max-width: 480px){.template-calendar-view{padding:var(--spacing-2)}.template-calendar-grid{flex-direction:column;overflow-x:visible}.template-calendar-day{min-width:unset;width:100%;min-height:auto}.template-calendar-title{font-size:var(--font-size-base)}}.lesson-details-modal{display:flex;flex-direction:column;gap:var(--spacing-4)}.lesson-details-content{display:flex;flex-direction:column;gap:var(--spacing-3)}.lesson-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-2);background:var(--surface-2, #272727);border-radius:var(--radius-field, 12px)}.lesson-detail-label{font-weight:600;color:var(--text-muted, rgba(255, 255, 255, .32));font-size:var(--font-size-sm);flex-shrink:0}.lesson-detail-value{color:var(--text-main);font-size:var(--font-size-sm);text-align:right}.lesson-details-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-3);border-top:1px solid var(--border-mid, rgba(255, 255, 255, .05));justify-content:flex-end}.lesson-details-actions button{min-width:120px}@media (max-width: 480px){.lesson-detail-row{flex-direction:column;gap:var(--spacing-1)}.lesson-detail-value{text-align:left}.lesson-details-actions{flex-direction:column}.lesson-details-actions button{width:100%;min-height:44px}}.day.today{border:1px solid rgba(255,255,255,.22);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin:0 auto}.free-lesson-badge{color:#ffffffad;font-weight:560;font-size:.85em;padding:2px 6px;background:#ffffff0f;border-radius:10px;display:inline-block}.calendar{width:100%;max-width:1800px;margin:0 auto}.calendar-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.calendar-error{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--color-error);padding:var(--spacing-6);background:var(--color-error-bg);border-radius:var(--radius-card);border:1px solid rgba(239,68,68,.15);text-align:center}.calendar-header-wrapper{display:flex;flex-direction:column;gap:18px;margin-bottom:0;background:transparent;border-radius:0;border:none;overflow:visible}.calendar-header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;flex-wrap:wrap}.calendar-header-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}.calendar-header-top-actions .student-schedule-view-toggle{display:flex;gap:8px;align-items:center;margin-left:auto}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:4px}.range-block{display:flex;align-items:flex-start;gap:14px;min-width:0}.range-center{min-width:max-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding-top:6px}.range-label{padding:0;margin:0;font-size:20px;line-height:1;font-weight:560;letter-spacing:-.018em;color:var(--text-main);white-space:nowrap;text-align:center}.today-btn{min-width:auto;height:auto;padding:0;margin:0;border:0;background:transparent;color:#ffffff75;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.013em;font-family:inherit;border-radius:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .17s ease,opacity .17s ease,transform .17s ease;text-align:center}.today-btn:hover{background:transparent;color:#ffffffc2}.today-btn:active{transform:scale(.992)}.today-btn:disabled{opacity:.38;cursor:default}.control-btn{height:40px;flex:0 0 auto;padding:0 10px;border:0;background:transparent;color:#ffffff6b;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:inherit;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.control-btn svg{width:18px;height:18px;display:block;flex-shrink:0}.control-btn:hover{color:#ffffffb8}.control-btn:focus-visible{outline:none;background:#ffffff07;color:#ffffffc7}.control-btn:active{transform:scale(.992)}.control-btn:disabled{opacity:.38;cursor:default}.calendar-date{font-size:20px;font-weight:560;letter-spacing:-.018em;color:var(--text-main);white-space:nowrap;flex-shrink:0;line-height:1}.calendar-filters-group{display:flex;gap:12px;align-items:center;flex-wrap:nowrap;flex-shrink:0}.calendar-teacher-select{flex-shrink:0}.calendar-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;flex-shrink:0}.calendar-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-3);flex-wrap:nowrap;gap:var(--spacing-4);padding:var(--spacing-3);background:var(--surface-1);border-radius:var(--radius-card);border:1px solid var(--card-border)}.calendar-nav{display:flex;gap:var(--spacing-2)}.calendar-nav .btn-secondary{min-width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:13px;line-height:1;font-weight:560;letter-spacing:-.013em;border-radius:0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;outline:none;transition:color var(--transition-ui),transform var(--transition-ui)}.calendar-nav .btn-secondary:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--text-main)}.calendar-nav .btn-secondary:active:not(:disabled){transform:scale(.992)}.calendar-nav .btn-secondary:focus-visible{outline:none;color:var(--text-main)}.calendar-nav .btn-secondary:active,.calendar-nav .btn-secondary:focus,.calendar-nav .btn-secondary:focus-visible,.calendar-nav .btn-secondary:hover{min-width:auto;height:auto;padding:0;border:0;background:transparent;box-sizing:border-box;font-size:13px}.calendar-view-toggle{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:3px;border-radius:999px;background:var(--surface-1);border:1px solid rgba(255,255,255,.03);flex:0 0 auto;width:auto;align-self:flex-start}.calendar-view-toggle .btn{min-height:32px;height:auto;padding:0 16px;border-radius:999px;border:1px solid transparent;background:transparent;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.014em;color:var(--text-secondary);white-space:nowrap;outline:none;box-shadow:none;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease}.calendar-view-toggle .btn:hover:not(:disabled){color:var(--text-main);background:transparent;border-color:transparent}.calendar-view-toggle .btn.btn-active,.calendar-view-toggle .btn.btn-primary{background:var(--surface-2);border-color:#ffffff0a;color:var(--text-main)}.calendar-view-toggle .btn.btn-active:hover:not(:disabled),.calendar-view-toggle .btn.btn-primary:hover:not(:disabled){background:var(--surface-2);border-color:#ffffff0e;color:var(--text-main);opacity:1}.calendar-view-toggle .btn:active{transform:scale(.992)}.calendar-view-toggle .btn:focus-visible{outline:none;box-shadow:none}.calendar-header-actions{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:nowrap;margin-left:auto}.calendar-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);flex-wrap:nowrap;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-3)}.calendar-view-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);text-transform:capitalize;flex:1}.calendar-week-actions{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--card-border);border:1px solid var(--card-border);border-radius:var(--radius-card);overflow:hidden;transition:opacity var(--transition-fast)}.calendar-grid-transitioning{opacity:.6;pointer-events:none}.calendar-grid-month .calendar-day{min-height:120px}.calendar-day-header{background:var(--surface-2);padding:var(--spacing-2);text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day{background:var(--surface-1);padding:var(--spacing-2);min-height:150px;min-width:0;display:flex;flex-direction:column;transition:background-color var(--transition-ui)}.calendar-day-other-month{background:var(--surface-2);opacity:.6}.calendar-day-today{background:#ffffff07;outline:2px solid rgba(255,255,255,.1);outline-offset:-2px}.calendar-day-number{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-2)}.calendar-day-today .calendar-day-number{color:var(--text-main)}.calendar-day-lessons{display:flex;flex-direction:column;gap:var(--spacing-1);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.calendar-day-lessons::-webkit-scrollbar{display:none}.calendar-day-empty{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:470;font-style:italic;padding:var(--spacing-2);text-align:center}.calendar-lesson{position:relative;padding:var(--spacing-2);border-radius:12px;border-left:none;cursor:pointer;font-size:var(--font-size-xs);display:flex;flex-direction:column;gap:var(--spacing-1);min-height:70px;background:#ffffff07;border:1px solid var(--card-border);transition:background-color var(--transition-ui) ease,border-color var(--transition-ui) ease,opacity var(--transition-ui) ease,filter var(--transition-ui) ease}.calendar-lesson:hover:not(.calendar-lesson-filtered){border-color:var(--card-border-hover)}.calendar-lesson-time{font-weight:600;font-size:10px;margin-bottom:var(--spacing-1);letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-card-time);transition:color var(--transition-ui),opacity var(--transition-ui) ease}.calendar-lesson-subject{font-weight:515;font-size:var(--font-size-sm);margin-bottom:var(--spacing-1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.3;color:var(--text-card-main);transition:color var(--transition-ui),opacity var(--transition-ui) ease}.calendar-lesson-teacher{font-size:10px;font-weight:400;color:var(--text-card-secondary);margin-top:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-ui),opacity var(--transition-ui) ease}.calendar-lesson-spots{font-size:10px;font-weight:500;margin-top:var(--spacing-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-card-secondary)}.calendar-lesson-credits{font-size:10px;font-weight:500;margin-top:var(--spacing-1);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-lesson-warning{outline:2px solid var(--color-error)!important;outline-offset:-2px}.calendar-lesson-warning-soon{outline:2px solid var(--color-warning)!important;outline-offset:-2px}.calendar-lesson-owned{border:1px solid;border-left-width:4px;border-color:inherit}.calendar-lesson-filtered{opacity:.6!important;pointer-events:none;cursor:not-allowed;transition:opacity var(--transition-ui),background-color var(--transition-ui) ease,border-color var(--transition-ui) ease;border-left-color:var(--text-secondary)!important;border-color:var(--text-secondary)!important;background-color:var(--surface-3, var(--surface-1))!important;color:var(--text-secondary)!important}.calendar-lesson-filtered .calendar-lesson-time,.calendar-lesson-filtered .calendar-lesson-subject,.calendar-lesson-filtered .calendar-lesson-teacher,.calendar-lesson-filtered .calendar-lesson-spots,.calendar-lesson-filtered .calendar-lesson-credits,.calendar-lesson-filtered .teacher-lesson-subject,.calendar-lesson-filtered .teacher-lesson-time,.calendar-lesson-filtered .teacher-lesson-students,.calendar-lesson-filtered .teacher-lesson-availability,.calendar-lesson-filtered .teacher-lesson-type,.calendar-lesson-filtered .teacher-lesson-capacity{color:var(--text-secondary)!important}.calendar-lesson-filtered.lesson-available,.calendar-lesson-filtered.lesson-almost-full,.calendar-lesson-filtered.lesson-full,.calendar-lesson-filtered.lesson-full-individual,.calendar-lesson-filtered.lesson-booked,.calendar-lesson-filtered.lesson-past{background-color:var(--surface-3, var(--surface-1))!important;border-left-color:var(--text-secondary)!important;border-color:var(--text-secondary)!important;color:var(--text-secondary)!important;opacity:.6!important}.lesson-full{cursor:not-allowed}[data-testid=admin-calendar] .lesson-full{cursor:pointer}[data-testid=admin-calendar] .calendar-lesson-filtered{pointer-events:none!important;cursor:not-allowed!important}.lesson-full-individual{cursor:pointer;pointer-events:auto}.lesson-past{opacity:.75;cursor:pointer}.day-name-short{display:none}@media (max-width: 1200px){.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1024px){.calendar-header,.calendar-header-top{flex-wrap:wrap}.calendar-nav,.calendar-view-toggle,.calendar-header-actions{flex-shrink:0}.calendar-lesson{font-size:10px;padding:var(--spacing-1)}.calendar-day{min-height:100px}.calendar-grid-month .calendar-day{min-height:80px}}@media (max-width: 768px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-name-full{display:none}.day-name-short{display:inline}.calendar-day{border-bottom:1px solid var(--card-border);min-height:200px}.calendar-day-number{font-size:var(--font-size-base)}.calendar-day-today .calendar-day-number{width:32px;height:32px}.calendar-week-header{flex-direction:column;align-items:stretch}.calendar-view-title{text-align:center}.calendar-week-actions{justify-content:center}.calendar-view-toggle .btn{min-width:60px;padding:.5rem .75rem}.calendar-view-toggle .btn:active,.calendar-view-toggle .btn:focus,.calendar-view-toggle .btn:focus-visible,.calendar-view-toggle .btn:hover{padding:.5rem .75rem!important;border:none!important;outline:none!important;box-sizing:border-box!important;transform:none!important;min-width:60px!important;height:40px!important}}@media (max-width: 640px){.calendar-view-toggle .btn{min-width:auto;padding:.5rem;font-size:var(--font-size-xs)}.calendar-view-toggle .btn:active,.calendar-view-toggle .btn:focus,.calendar-view-toggle .btn:focus-visible,.calendar-view-toggle .btn:hover{padding:.5rem!important;border:none!important;outline:none!important;box-sizing:border-box!important;transform:none!important;min-width:auto!important;height:40px!important;font-size:var(--font-size-xs)!important}.calendar-header{gap:var(--spacing-2);padding:var(--spacing-2)}}@media (max-width: 480px){.calendar-grid{grid-template-columns:1fr}.calendar-day{display:block!important;min-height:auto;padding:var(--spacing-2)}.calendar-lesson{padding:var(--spacing-2);margin-bottom:var(--spacing-2)}.calendar-nav .btn-primary,.calendar-view-toggle .btn{height:44px}.calendar-nav .btn-primary:active,.calendar-nav .btn-primary:focus,.calendar-nav .btn-primary:focus-visible,.calendar-nav .btn-primary:hover,.calendar-view-toggle .btn:active,.calendar-view-toggle .btn:focus,.calendar-view-toggle .btn:focus-visible,.calendar-view-toggle .btn:hover{padding:.5rem!important;border:none!important;outline:none!important;box-sizing:border-box!important;transform:none!important;min-width:auto!important;height:44px!important;font-size:var(--font-size-xs)!important}}.template-selection-content{display:flex;flex-direction:column;gap:var(--spacing-md);min-height:200px}.week-info{padding:var(--spacing-3);background:var(--surface-1, #232323);border-radius:var(--radius-field, 12px);font-size:var(--font-size-sm);color:var(--text-main)}.template-selection-loading,.template-selection-empty,.template-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6);gap:var(--spacing-2);color:var(--text-muted, rgba(255, 255, 255, .32))}.template-select-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.template-select-group label{font-weight:500;color:var(--text-main);font-size:var(--font-size-sm)}.template-select{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--field-border, rgba(255, 255, 255, .05));border-radius:var(--radius-field, 12px);font-size:var(--font-size-base);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);cursor:pointer;transition:border-color var(--transition-ui);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:42px}.template-select option{background:var(--surface-1, #232323);color:var(--text-main)}.template-select:hover:not(:disabled){border-color:var(--field-border-hover, rgba(255, 255, 255, .12))}.template-select:focus{outline:none;border-color:var(--field-border-focus, rgba(255, 255, 255, .1));background:var(--field-focus-bg, rgba(255, 255, 255, .016))}.template-select:disabled{background:var(--surface-2, #272727);cursor:not-allowed;opacity:.5}.template-preview{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--surface-1, #232323);border-radius:var(--radius-field, 12px);border:1px solid var(--border-mid, rgba(255, 255, 255, .06))}.template-preview h4{margin:0;font-size:16px;font-weight:600;color:var(--text-main);border-bottom:1px solid var(--border-soft, rgba(255, 255, 255, .03));padding-bottom:var(--spacing-2)}.preview-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.preview-section strong{color:var(--text-main);font-size:var(--font-size-sm)}.students-list{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-1)}.student-credit-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2);background:var(--surface-2, #272727);border-radius:var(--radius-field, 12px);border:1px solid var(--border-mid, rgba(255, 255, 255, .06));transition:all var(--transition-ui)}.student-credit-item.insufficient-credits{background:#9541411f;border-color:#e07a7a4d;border-width:1px}.student-name{font-size:var(--font-size-sm);color:var(--text-main);flex-shrink:0}.student-name.insufficient{color:#e07a7ae0;font-weight:600}.credit-details{display:flex;gap:var(--spacing-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}.credit-deduction{font-size:var(--font-size-sm);font-weight:600;color:#e07a7ae0}.credit-skip{font-size:var(--font-size-xs);color:#f59e0be0;font-style:italic;padding:2px 6px;background:#f59e0b14;border-radius:var(--radius-btn, 10px)}.credit-zero{font-size:var(--font-size-xs);color:var(--text-muted, rgba(255, 255, 255, .32))}.credit-insufficient{font-size:var(--font-size-sm);font-weight:600;color:#e07a7ae0;padding:4px 8px;background:#9541411f;border-radius:var(--radius-btn, 10px)}.preview-warning{padding:var(--spacing-3);background:#f59e0b14;border:1px solid rgba(245,158,11,.24);border-radius:var(--radius-field, 12px);font-size:var(--font-size-sm);color:#f59e0be0}.preview-warning strong{display:block;margin-bottom:var(--spacing-1)}.validating-credits{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);color:var(--text-muted, rgba(255, 255, 255, .32));font-size:var(--font-size-sm)}.template-selection-error{padding:var(--spacing-3);background:#9541411f;border:1px solid rgba(224,122,122,.3);border-radius:var(--radius-field, 12px);color:#e07a7ae0;font-size:var(--font-size-sm);font-weight:500;animation:inlineFadeInUp .4s cubic-bezier(.16,1,.3,1)}.template-selection-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);width:100%}.template-selection-footer .btn{white-space:nowrap;padding-left:var(--spacing-3);padding-right:var(--spacing-3)}@media (max-width: 768px){.template-selection-content{gap:var(--spacing-3)}.template-preview{padding:var(--spacing-3)}.template-select{min-height:44px;font-size:var(--font-size-base)}.student-credit-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-1);padding:var(--spacing-3)}.credit-details{justify-content:flex-start;width:100%}.template-selection-footer{flex-direction:column}.apply-actions{flex-direction:column;width:100%}.template-selection-footer .btn{width:100%;min-width:unset;min-height:44px}}@media (max-width: 480px){.template-selection-content{gap:var(--spacing-2)}.week-info{padding:var(--spacing-2);font-size:var(--font-size-xs)}.template-preview h4{font-size:14px}.preview-section strong{font-size:var(--font-size-xs)}.student-credit-item{padding:var(--spacing-2)}.student-name{font-size:var(--font-size-xs)}.preview-warning,.preselected-template-info{padding:var(--spacing-2);font-size:var(--font-size-xs)}}.preselected-template-info{padding:12px 14px;background:#3b82f614;border:1px solid rgba(59,130,246,.24);border-radius:var(--radius-field, 12px);font-size:var(--font-size-sm);color:#60a5fa;margin-bottom:16px}.apply-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.preview-warning--replace{background-color:#f59e0b14;border:1px solid rgba(245,158,11,.24);border-radius:var(--radius-btn, 10px);padding:10px 14px;font-size:var(--font-size-xs);color:#f59e0be0;margin-top:8px}.template-apply-section{background-color:var(--surface-1, #232323);border:1px solid var(--card-border, rgba(255, 255, 255, .04));border-radius:var(--radius-card, 18px);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.template-apply-section h3{margin-top:0;margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:600;color:var(--text-main, rgba(255, 255, 255, .88))}.template-apply-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-md)}.template-apply-date-picker{flex:1;min-width:200px}.template-apply-controls .btn{white-space:nowrap}.template-apply-week-info{background-color:var(--surface-2, #272727);border:1px solid var(--card-border, rgba(255, 255, 255, .04));border-radius:var(--radius-field, 12px);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary, rgba(255, 255, 255, .52))}.template-apply-week-info strong{color:var(--text-main, rgba(255, 255, 255, .88));margin-right:var(--spacing-2)}.template-apply-info{background-color:#3b82f614;border:1px solid rgba(59,130,246,.24);border-radius:var(--radius-field, 12px);padding:11px 14px;margin-bottom:var(--spacing-md);color:#60a5fa;font-size:14px}.template-apply-info strong{display:block;margin-bottom:4px;font-weight:560}.template-apply-warning{background-color:#f59e0b14;border:1px solid rgba(245,158,11,.24);border-radius:var(--radius-field, 12px);padding:11px 14px;margin-bottom:var(--spacing-md);color:#f59e0be0;font-size:14px}.template-apply-warning strong{display:block;margin-bottom:4px;font-weight:560}@media (max-width: 768px){.template-apply-section{padding:16px}.template-apply-controls{flex-direction:column;align-items:stretch}.template-apply-date-picker,.template-apply-controls .btn{width:100%}.template-apply-section h3{font-size:16px}.template-apply-info,.template-apply-warning{font-size:13px;padding:10px 12px}}@media (max-width: 480px){.template-apply-section{padding:14px;margin-bottom:14px}.template-apply-controls{gap:12px}.template-apply-week-info{padding:10px 12px;font-size:13px}.template-apply-info,.template-apply-warning{font-size:13px;padding:10px 12px}}.template-management{width:100%;padding:var(--spacing-6);margin:0 auto}.template-management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-6);gap:var(--spacing-4);flex-wrap:wrap}.template-management-title{font-size:30px;font-weight:620;letter-spacing:-.035em;color:var(--text-main, rgba(255, 255, 255, .88));margin:0 0 var(--spacing-2) 0;line-height:1}.template-management-subtitle{font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .56));margin:0}.template-management-actions{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.template-management-actions .btn{min-width:180px;white-space:normal;text-align:center;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.template-management-placeholder{background:var(--surface-2, #272727);border:1px dashed rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-8);text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .56));font-size:14px;margin-top:var(--spacing-4)}.template-management-empty{background:var(--surface-2, #272727);border:1px dashed rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-8);text-align:center;color:var(--text-secondary, rgba(255, 255, 255, .56));font-size:14px}.template-apply-form,.template-rollback-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.template-apply-description{font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .56));margin:0;padding:var(--spacing-3);background:#ffffff07;border-left:2px solid rgba(255,255,255,.12);border-radius:10px}.template-rollback-description{font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .56));margin:0;padding:var(--spacing-3);background:#e07a7a0f;border-left:2px solid rgba(224,122,122,.32);border-radius:10px}.template-apply-actions,.template-rollback-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.template-apply-actions .btn,.template-rollback-actions .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:100px;padding-left:var(--spacing-3);padding-right:var(--spacing-3)}@media (max-width: 1024px){.template-management{padding:var(--spacing-4)}.template-management-header{flex-direction:column;align-items:stretch}.template-management-actions{justify-content:stretch}.template-management-actions .btn{flex:1}}@media (max-width: 768px){.template-management{padding:var(--spacing-3)}.template-management-title{font-size:22px}.template-management-actions{flex-direction:column}.template-management-actions .btn{width:100%;min-width:unset;min-height:44px;font-size:13px}.template-apply-actions,.template-rollback-actions{flex-direction:column}.template-apply-actions .btn,.template-rollback-actions .btn{width:100%;min-height:44px}.template-management-placeholder,.template-management-empty{padding:var(--spacing-4);font-size:13px}}@media (max-width: 480px){.template-management{padding:var(--spacing-2)}.template-management-header{margin-bottom:var(--spacing-3);gap:var(--spacing-2)}.template-management-title{font-size:20px}.template-management-subtitle{font-size:12px}.template-management-actions .btn{padding:var(--spacing-3)}}.template-create-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.template-create-description{font-size:13px;color:var(--text-secondary, rgba(255, 255, 255, .56));margin:0;line-height:1.5;padding:var(--spacing-3);background:#ffffff07;border-left:2px solid rgba(255,255,255,.12);border-radius:10px}.form-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.input-label{font-size:13px;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32));margin-bottom:var(--spacing-1)}.template-description-textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--border-mid, rgba(255, 255, 255, .05));border-radius:12px;font-size:14px;font-weight:540;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .17s ease;background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main, rgba(255, 255, 255, .88));outline:none}.template-description-textarea:focus{outline:none;border-color:#ffffff1a;box-shadow:none}.template-description-textarea:disabled{background:var(--surface-2, #272727);cursor:not-allowed;opacity:.5}.template-description-textarea::placeholder{color:var(--text-placeholder)}.error-text{color:#e07a7ae0;font-size:13px;margin-top:var(--spacing-1)}.char-count{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .32));text-align:right;margin-top:var(--spacing-1)}.template-create-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-4)}.template-create-actions .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:100px;padding-left:var(--spacing-3);padding-right:var(--spacing-3)}@media (max-width: 768px){.template-create-actions{flex-direction:column-reverse}.template-create-actions .btn{width:100%}}.template-list-container{width:100%}.template-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);flex-wrap:wrap;gap:var(--spacing-4)}.template-list-title{font-size:30px;font-weight:620;letter-spacing:-.035em;color:var(--text-main, rgba(255, 255, 255, .88));margin:0;line-height:1}.template-list-loading{text-align:center;padding:var(--spacing-8);color:var(--text-muted, rgba(255, 255, 255, .32));font-size:14px}.template-list-empty{background:var(--surface-2, #272727);border:1px dashed rgba(255,255,255,.08);border-radius:16px;padding:var(--spacing-8);text-align:center}.template-list-empty p{color:var(--text-secondary, rgba(255, 255, 255, .56));font-size:14px;margin:0 0 var(--spacing-2) 0}.template-list-empty-hint{color:var(--text-muted, rgba(255, 255, 255, .32));font-size:13px}.template-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-4)}.template-card{background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.04);border-radius:16px;padding:var(--spacing-4);cursor:pointer;transition:border-color .17s ease,background-color .17s ease,transform .17s ease}.template-card:hover{border-color:#ffffff1a;background:var(--surface-2, #272727);transform:translateY(-1px);outline:none}.template-card:focus,.template-card:focus-visible{outline:none;border-color:#ffffff1a}.template-card-selected{border-color:#ffffff24;background:#ffffff07}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.template-card-name{font-size:16px;font-weight:600;letter-spacing:-.018em;color:var(--text-main, rgba(255, 255, 255, .88));margin:0;flex:1;word-break:break-word}.template-card-description{color:var(--text-secondary, rgba(255, 255, 255, .56));font-size:13px;margin:0 0 var(--spacing-3) 0;line-height:1.5}.template-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-3);border-top:1px solid var(--border-soft, rgba(255, 255, 255, .03));font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .32))}.template-card-lessons{font-weight:600;color:var(--text-secondary, rgba(255, 255, 255, .56))}.template-card-date{color:var(--text-muted, rgba(255, 255, 255, .32))}.template-delete-confirmation{display:flex;flex-direction:column;gap:var(--spacing-4)}.template-delete-confirmation p{margin:0;color:var(--text-secondary, rgba(255, 255, 255, .56))}.template-delete-warning{color:#e07a7ae0;font-size:13px;padding:var(--spacing-3);background:#e07a7a0f;border-left:2px solid rgba(224,122,122,.32);border-radius:10px}.template-delete-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.template-card-header .btn,.template-delete-actions .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:80px;padding-left:var(--spacing-3);padding-right:var(--spacing-3)}@media (max-width: 768px){.template-list-container{padding:var(--spacing-4)}.template-list-header{flex-direction:column;align-items:stretch}.template-list-header .btn{width:100%}.template-list-title{font-size:22px}.template-list-grid{grid-template-columns:1fr}.template-card-header{flex-direction:column;gap:var(--spacing-2)}.template-card-header .btn{width:100%}.template-delete-actions{flex-direction:column}.template-delete-actions .btn{width:100%}}.set-search-wrap{margin-bottom:14px}.set-search-input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.set-search-input::placeholder{color:#ffffff3d}.set-search-input:focus{outline:none;border-color:var(--border-mid);box-shadow:none}.set-search-input:disabled{opacity:.5;cursor:not-allowed}.set-table-shell{background:transparent}.set-table-header,.set-table-row{display:grid;grid-template-columns:1.45fr 1.25fr 120px 80px;gap:16px;align-items:center}.set-table-header{min-height:38px;border-bottom:1px solid var(--border-soft);color:#ffffff6b;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;padding-right:12px}.set-table-body{height:420px;max-height:420px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.set-table-body::-webkit-scrollbar{width:10px}.set-table-body::-webkit-scrollbar-track{background:transparent}.set-table-body::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.set-table-body::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}.set-table-row{min-height:42px;border-bottom:1px solid var(--border-soft);scroll-snap-align:start;cursor:default}.set-table-row:last-child{border-bottom:none}.set-table-row.set-row-removing{opacity:.4}.set-student-name{min-width:0;font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-student-name-credits{font-weight:460;color:#ffffff6b}.set-student-secondary{min-width:0;font-size:14px;line-height:1.2;letter-spacing:-.012em;color:#ffffff8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-student-credits{font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap}.set-student-credits.set-credits-warn{color:#f59e0be0}.set-row-check{display:inline-flex;align-items:center;justify-content:flex-start}.set-row-check-btn{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .17s ease,background-color .17s ease}.set-row-check-btn svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity .17s ease}.set-row-check-btn.set-enrolled{background:#ffffff14;border-color:#ffffff38}.set-row-check-btn.set-enrolled svg{opacity:1}.set-row-check-btn:disabled{opacity:.45;cursor:not-allowed}.set-table-empty{min-height:80px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted, rgba(255, 255, 255, .32))}@media (max-width: 768px){.set-table-header,.set-table-row{grid-template-columns:1.2fr 1.1fr 76px 54px;gap:12px}}@media (max-width: 640px){.set-table-header,.set-table-row{grid-template-columns:1fr 80px 54px;gap:10px}.set-table-header>:nth-child(2),.set-table-row>.set-student-secondary{display:none}.set-row-check-btn{width:28px;height:28px}}@media (max-width: 480px){.set-table-body{height:auto;max-height:252px}}.alp-page{width:100%;max-width:1440px;margin:0 auto}.alp-loading{display:flex;align-items:center;justify-content:center;padding:48px 0}.alp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 0;color:var(--text-muted, rgba(255, 255, 255, .32));font-size:15px;font-weight:540}.alp-back-btn{border:0;background:#ffffff0f;color:var(--text-main, rgba(255, 255, 255, .88));font-size:14px;font-weight:560;letter-spacing:-.013em;padding:10px 20px;border-radius:10px;cursor:pointer;transition:background .17s ease}.alp-back-btn:hover{background:#ffffff1a}.lcm-embedded{display:flex;flex-direction:column;width:100%;min-height:0}.lcm-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px}.lcm-page-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main, rgba(255, 255, 255, .88))}.lcm-page-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.lcm-cancel-link,.lcm-create-link{border:0;background:transparent;font-size:14px;line-height:1;font-weight:560;letter-spacing:-.013em;cursor:pointer;transition:color .17s ease,opacity .17s ease;padding-top:2px;flex-shrink:0}.lcm-cancel-link{color:#ffffffb3}.lcm-cancel-link:hover{color:#ffffffe6}.lcm-create-link{color:#ffffffb3}.lcm-create-link:hover{color:#ffffffe6}.lcm-cancel-link:disabled,.lcm-create-link:disabled{opacity:.5;cursor:not-allowed}.lcm-loading{display:flex;justify-content:center;align-items:center;min-height:280px}.lcm-body{display:flex;flex-direction:column}.lcm-section{padding:28px 0;border-top:1px solid var(--border-soft)}.lcm-section:first-child{border-top:0;padding-top:8px}.lcm-section-title{font-size:22px;line-height:1.04;font-weight:610;letter-spacing:-.028em;color:var(--text-main);margin:0 0 18px}.lcm-stack{display:flex;flex-direction:column;gap:14px}.lcm-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lcm-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lcm-field{display:flex;flex-direction:column;gap:9px;min-width:0}.lcm-label{font-size:13px;line-height:1.1;font-weight:560;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32))}.lcm-input,.lcm-select{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.lcm-input::placeholder{color:#ffffff3d}.lcm-input:focus,.lcm-select:focus{outline:none;border-color:var(--border-mid);background:var(--field-bg, rgba(255, 255, 255, .014));box-shadow:none}.lcm-input:disabled,.lcm-select:disabled{opacity:.5;cursor:not-allowed}.lcm-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;color-scheme:dark;background-color:var(--surface-1, #232323);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:42px;cursor:pointer}.lcm-select option{background:var(--surface-1, #232323);color:var(--text-main)}.lcm-input[type=date],.lcm-input[type=time]{color-scheme:dark}.lcm-input[type=date]::-webkit-calendar-picker-indicator,.lcm-input[type=time]::-webkit-calendar-picker-indicator{opacity:.62;filter:invert(1) brightness(.72);cursor:pointer}.lcm-input[type=number]::-webkit-outer-spin-button,.lcm-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lcm-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.lcm-input.lcm-error,.lcm-select.lcm-error{border-color:#e07a7a80}.lcm-form-error{font-size:12px;color:#e07a7ae0;margin-top:2px}.lcm-form-error--block{margin-top:8px;display:block}.lcm-hint{font-size:12px;color:var(--text-muted, rgba(255, 255, 255, .32));margin-top:2px}.lcm-color-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.lcm-color-field{display:flex;flex-direction:column;gap:9px;min-width:0}.lcm-color-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center}.lcm-color-palette{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-height:50px;width:100%}.lcm-color-swatch{width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:transparent;cursor:pointer;position:relative;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;padding:0}.lcm-color-swatch:hover{border-color:#ffffff2e}.lcm-color-swatch:active{transform:scale(.96)}.lcm-color-swatch.lcm-swatch-active{border-color:#ffffff47;box-shadow:0 0 0 1px #ffffff14}.lcm-color-swatch:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:999px;background:var(--swatch-bg)}.lcm-color-swatch.lcm-swatch-transparent:before{background:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent),#ffffff05;background-size:8px 8px}.lcm-segmented{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:var(--surface-1, #232323);border:1px solid rgba(255,255,255,.05);flex:0 0 auto;align-self:flex-start}.lcm-segmented-btn{border:1px solid transparent;background:transparent;color:#ffffff85;font-size:14px;font-weight:560;letter-spacing:-.014em;padding:0 14px;min-height:32px;border-radius:999px;cursor:pointer;transition:background-color .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;white-space:nowrap}.lcm-segmented-btn:hover:not(:disabled):not(.is-active){color:#ffffffe0}.lcm-segmented-btn.is-active{background:var(--surface-2, #272727);border-color:#ffffff0a;color:#ffffffe0}.lcm-segmented-btn:active:not(:disabled){transform:scale(.992)}.lcm-segmented-btn:disabled{opacity:.5;cursor:not-allowed}.lcm-checklines{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;min-height:50px}.lcm-checkline{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:24px}.lcm-checkline input{position:absolute;opacity:0;pointer-events:none}.lcm-fake-check{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .17s ease,background-color .17s ease}.lcm-fake-check svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity .17s ease}.lcm-checkline input:checked+.lcm-fake-check{background:#ffffff14;border-color:#ffffff38}.lcm-checkline input:checked+.lcm-fake-check svg{opacity:1}.lcm-checkline input:disabled+.lcm-fake-check{opacity:.45}.lcm-checkline-text{font-size:14px;line-height:1.1;font-weight:540;letter-spacing:-.012em;color:var(--text-secondary)}.lcm-flags-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.lcm-section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.lcm-section-title-row .lcm-section-title{margin-bottom:0}.lcm-enrolled-count{font-size:13px;line-height:1;font-weight:540;letter-spacing:-.012em;color:var(--text-muted, rgba(255, 255, 255, .32));white-space:nowrap}.lcm-search-wrap{margin-bottom:14px}.lcm-search-input{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--border-mid);border-radius:var(--radius-field, 12px);background:var(--field-bg, rgba(255, 255, 255, .014));color:var(--text-main);font-family:inherit;font-size:14px;font-weight:540;letter-spacing:-.012em;outline:none;transition:border-color .17s ease}.lcm-search-input::placeholder{color:#ffffff3d}.lcm-search-input:focus{outline:none;border-color:var(--border-mid);box-shadow:none}.lcm-search-input:disabled{opacity:.5;cursor:not-allowed}.lcm-table-shell{background:transparent}.lcm-table-header,.lcm-table-row{display:grid;grid-template-columns:1.45fr 1.25fr 120px 80px;gap:16px;align-items:center}.lcm-table-header{min-height:38px;border-bottom:1px solid var(--border-soft);color:#ffffff6b;font-size:13px;line-height:1;font-weight:560;letter-spacing:-.012em;padding-right:12px}.lcm-table-body{height:420px;max-height:420px;overflow:auto;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.lcm-table-body::-webkit-scrollbar{width:10px}.lcm-table-body::-webkit-scrollbar-track{background:transparent}.lcm-table-body::-webkit-scrollbar-thumb{background:#ffffff14;border:2px solid transparent;background-clip:padding-box;border-radius:999px}.lcm-table-body::-webkit-scrollbar-thumb:hover{background:#ffffff1a;border:2px solid transparent;background-clip:padding-box}.lcm-table-row{min-height:42px;border-bottom:1px solid var(--border-soft);scroll-snap-align:start;cursor:default}.lcm-table-row:last-child{border-bottom:none}.lcm-student-name{min-width:0;font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcm-student-name-credits{font-weight:460;color:#ffffff6b}.lcm-student-email{min-width:0;font-size:14px;line-height:1.2;letter-spacing:-.012em;color:#ffffff8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcm-student-credits{font-size:14px;line-height:1.2;font-weight:540;letter-spacing:-.012em;color:var(--text-main);white-space:nowrap}.lcm-student-credits.lcm-credits-warn{color:#f59e0be0}.lcm-row-check{display:inline-flex;align-items:center;justify-content:flex-start}.lcm-row-check-btn{width:16px;height:16px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .17s ease,background-color .17s ease}.lcm-row-check-btn svg{width:11px;height:11px;color:#ffffffe6;opacity:0;transition:opacity .17s ease}.lcm-row-check-btn.lcm-enrolled{background:#ffffff14;border-color:#ffffff38}.lcm-row-check-btn.lcm-enrolled svg{opacity:1}.lcm-row-check-btn:disabled{opacity:.45;cursor:not-allowed}.lcm-table-empty{min-height:80px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-muted, rgba(255, 255, 255, .32))}.lcm-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}@media (max-width: 980px){.lcm-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.lcm-color-row,.lcm-color-wrap{grid-template-columns:1fr}}@media (max-width: 768px){.lcm-body{padding:0 18px}.lcm-section{padding:20px 0}.lcm-section-title{font-size:19px;margin-bottom:14px}.lcm-table-header,.lcm-table-row{grid-template-columns:1.2fr 1.1fr 76px 54px;gap:12px}.lcm-footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.06);flex-direction:column;align-items:stretch;gap:10px;margin:0 -18px}}@media (max-width: 640px){.lcm-grid-2,.lcm-grid-4,.lcm-color-row{grid-template-columns:1fr}.lcm-flags-row{flex-direction:column;align-items:flex-start;gap:14px}.lcm-table-header,.lcm-table-row{grid-template-columns:1fr 80px 54px;gap:10px}.lcm-table-header>:nth-child(2),.lcm-table-row>.lcm-student-email{display:none}.lcm-row-check-btn{width:28px;height:28px}}@media (max-width: 480px){.lcm-body{padding:0 16px}.lcm-section{padding:16px 0}.lcm-section-title{font-size:17px;margin-bottom:12px}.lcm-footer{padding:12px 16px;margin:0 -16px}.lcm-table-body{height:auto;max-height:252px}.lcm-input,.lcm-select{min-height:50px;font-size:16px}}.mcv{width:100%;max-width:var(--content-max, 1440px);margin:0 auto}.mcv-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.mcv-page-top{margin-bottom:28px}.mcv-page-title{font-size:30px;line-height:1;font-weight:620;letter-spacing:-.035em;color:var(--text-main);margin:0}.mcv-students-section{width:100%}.mcv-templates-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-mid)}.mcv-section-head{margin-bottom:18px}.mcv-section-title{font-size:20px;line-height:1.05;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0}.mcv-templates-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.mcv-table{width:100%;border-collapse:collapse;table-layout:fixed}.mcv-col-name{width:auto}.mcv-col-email{width:240px}.mcv-col-balance{width:160px}.mcv-col-actions{width:80px}.mcv-col-count{width:180px}.mcv-th{padding:0 32px 16px 0;text-align:left;font-size:13px;line-height:1;font-weight:600;letter-spacing:-.012em;color:#ffffff6b;border-bottom:1px solid var(--border-soft);white-space:nowrap}.mcv-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.mcv-th-sortable:hover,.mcv-th-active{color:var(--text-main)}.mcv-sort-indicator{margin-left:4px;font-size:13px}.mcv-tr:last-child .mcv-td{border-bottom:0}.mcv-td{padding:12px 32px 12px 0;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.03);font-size:14px;line-height:1.4;color:var(--text-secondary)}.mcv-td-actions{text-align:left}.mcv-td-empty{text-align:center;padding:40px 0;color:var(--text-muted);font-size:14px}.mcv-name{font-weight:560;color:var(--text-main)}.mcv-secondary{color:var(--text-secondary)}.mcv-balance{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;color:var(--text-main);white-space:nowrap}.mcv-free-count{font-size:22px;line-height:1;font-weight:620;letter-spacing:-.03em;color:var(--op-plus);white-space:nowrap}.mcv-history-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius-btn);color:var(--text-muted);cursor:pointer;transition:color var(--transition-ui),background-color var(--transition-ui)}.mcv-history-btn svg{width:18px;height:18px;flex-shrink:0}.mcv-history-btn:hover{color:var(--text-main);background-color:#ffffff0f}.mcv-history-btn:active{transform:var(--transform-scale-active)}@media (max-width: 980px){.mcv-col-email{width:180px}.mcv-col-balance{width:120px}.mcv-col-count{width:140px}.mcv-th{padding:0 16px 16px 0}.mcv-td{padding:12px 16px 12px 0}}@media (max-width: 768px){.mcv-page-title{font-size:25px}.mcv-table thead{display:none}.mcv-table,.mcv-table tbody,.mcv-table tr,.mcv-table td{display:block;width:100%}.mcv-table tbody tr{padding:14px 12px;border:1px solid var(--card-border);border-radius:14px;margin-bottom:8px}.mcv-table tbody tr:last-child{margin-bottom:0}.mcv-table tbody td{padding:0 0 10px;border-bottom:0}.mcv-table tbody td:last-child{padding-bottom:0}.mcv-name{font-size:16px;font-weight:600}.mcv-balance,.mcv-free-count{font-size:24px}.mcv-secondary{font-size:13px;word-break:break-all}.mcv-td-actions{text-align:left}.mcv-history-btn{width:44px;height:44px}.mcv-history-btn svg{width:20px;height:20px}.mcv-td-empty{padding:32px 0}.mcv-templates-section{margin-top:24px;padding-top:18px}.mcv-section-title{font-size:18px}}@media (max-width: 480px){.mcv-page-top{margin-bottom:20px}.mcv-page-title{font-size:22px}.mcv-table tbody tr{padding:12px 10px}.mcv-name{font-size:15px}.mcv-balance,.mcv-free-count{font-size:22px}.mcv-secondary{font-size:12px}}.chat-list{display:flex;flex-direction:column;height:100%;background-color:var(--page-bg);border-right:1px solid var(--sidebar-border);overflow:hidden}.chat-list-loading{display:flex;align-items:center;justify-content:center;height:100%}.chat-list-header{padding:20px 16px;background-color:var(--surface-1);border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.chat-list-title{font-size:20px;font-weight:610;letter-spacing:-.026em;color:var(--text-main);margin:0}.chat-rooms-section,.chat-users-section{flex-shrink:0}.chat-section-header{padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:-.01em;background-color:var(--surface-1);border-bottom:1px solid var(--sidebar-border)}.chat-rooms-list,.chat-users-list{overflow-y:auto;flex:1}.chat-room-item,.chat-user-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color var(--transition-ui);border-bottom:1px solid var(--card-border)}.chat-room-item:hover,.chat-user-item:hover{background-color:var(--hover-bg)}.chat-room-selected{background-color:var(--surface-3)!important}.chat-room-avatar,.chat-user-avatar{width:48px;height:48px;border-radius:50%;background:var(--surface-2);border:1px solid rgba(255,255,255,.06);color:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.chat-room-info,.chat-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chat-room-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.chat-room-name,.chat-user-name{font-size:var(--font-size-medium);font-weight:560;letter-spacing:-.012em;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-time{font-size:11px;color:var(--text-muted);flex-shrink:0}.chat-room-last-message{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-user-role{font-size:12px;color:var(--text-muted)}.chat-user-creating{flex-shrink:0;display:flex;align-items:center}.chat-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 16px;text-align:center;color:var(--text-muted)}.chat-list-empty-icon{font-size:var(--font-size-3xl);margin-bottom:12px}.chat-list-empty p{font-size:var(--font-size-sm);margin:0}.chat-rooms-list::-webkit-scrollbar,.chat-users-list::-webkit-scrollbar{width:6px}.chat-rooms-list::-webkit-scrollbar-track,.chat-users-list::-webkit-scrollbar-track{background:var(--surface-2)}.chat-rooms-list::-webkit-scrollbar-thumb,.chat-users-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:var(--radius-btn)}.chat-rooms-list::-webkit-scrollbar-thumb:hover,.chat-users-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media (max-width: 768px){.chat-list-header{padding:16px 12px}.chat-list-title{font-size:var(--font-size-lg)}.chat-room-item,.chat-user-item{padding:10px 12px}.chat-room-avatar,.chat-user-avatar{width:44px;height:44px;font-size:var(--font-size-lg)}.chat-room-name,.chat-user-name{font-size:var(--font-size-sm)}.chat-room-last-message{font-size:12px}}.message{display:flex;margin-bottom:12px;animation:messageFadeIn var(--transition-base) ease-in}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-own{justify-content:flex-end}.message-other{justify-content:flex-start}.message-bubble{max-width:70%;padding:10px 14px;border-radius:var(--radius-field);word-wrap:break-word;overflow-wrap:break-word}.message-own .message-bubble{background-color:#ffffff07;color:var(--text-main);border:1px solid rgba(255,255,255,.05);border-bottom-right-radius:4px}.message-other .message-bubble{background-color:transparent;color:var(--text-main);border:1px solid rgba(255,255,255,.04);border-bottom-left-radius:4px}.message-sender-name{font-size:12px;font-weight:560;letter-spacing:-.012em;color:#ffffff6b;margin-bottom:4px}.message-text{font-size:15px;line-height:1.55;font-weight:520;letter-spacing:-.012em;color:#ffffffc7;white-space:pre-wrap}.message-attachments{margin-top:8px;display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background-color:#ffffff04;border:1px solid rgba(255,255,255,.03);border-radius:10px;transition:background-color var(--transition-ui)}.message-own .attachment-item{background-color:#ffffff07}.attachment-item:hover{background-color:#ffffff08}.message-own .attachment-item:hover{background-color:#ffffff0a}.attachment-icon{font-size:20px;flex-shrink:0}.attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-filename{font-size:var(--font-size-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main)}.attachment-size{font-size:11px;opacity:.7;color:var(--text-muted)}.attachment-download-btn{flex-shrink:0;background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;padding:4px;border-radius:var(--radius-btn);color:var(--text-muted);transition:background-color var(--transition-ui)}.attachment-download-btn:hover:not(:disabled){background-color:var(--control-hover)}.attachment-download-btn:disabled{cursor:not-allowed;opacity:.5}.message-footer{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:11px;opacity:.7;color:var(--text-muted)}.message-time{white-space:nowrap}.message-status{display:flex;align-items:center;gap:3px;font-size:10px;padding:2px 6px;border-radius:var(--radius-btn);white-space:nowrap}.status-pending{background-color:#f59e0b1f;color:var(--color-warning)}.status-delivered{background-color:#10b9811f;color:var(--color-success)}.status-blocked{background-color:#ef44441f;color:var(--color-error)}@media (max-width: 768px){.message-bubble{max-width:85%}.message-text{font-size:var(--font-size-sm)}.attachment-filename{font-size:12px}}.chat-window{display:flex;flex-direction:column;height:100%;background-color:var(--page-bg);border-left:1px solid var(--sidebar-border)}.chat-window-empty{display:flex;align-items:center;justify-content:center;height:100%;background-color:var(--surface-1)}.chat-empty-message{text-align:center;color:var(--text-muted)}.chat-empty-icon{font-size:var(--font-size-4xl);margin-bottom:16px}.chat-empty-message h3{font-size:20px;font-weight:500;margin-bottom:8px;color:var(--text-main)}.chat-empty-message p{font-size:var(--font-size-sm);color:var(--text-muted)}.chat-window-header{display:flex;align-items:center;padding:16px 20px;background-color:var(--surface-1);border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.chat-participant-info{display:flex;align-items:center;gap:12px}.chat-participant-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-2);border:1px solid rgba(255,255,255,.06);color:#ffffffb3;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;flex-shrink:0}.chat-participant-details{display:flex;flex-direction:column;gap:2px}.chat-participant-name{font-size:16px;font-weight:560;letter-spacing:-.012em;color:var(--text-main)}.chat-participant-role{font-size:12px;color:var(--text-muted)}.chat-messages-container{flex:1;overflow-y:auto;padding:16px;background-color:var(--surface-1)}.chat-loading{display:flex;align-items:center;justify-content:center;height:100%}.chat-no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.chat-no-messages-icon{font-size:var(--font-size-3xl);margin-bottom:12px}.chat-no-messages p{margin:4px 0;font-size:var(--font-size-sm)}.chat-no-messages-hint{font-size:12px;color:var(--text-muted)}.chat-messages-list{display:flex;flex-direction:column}.chat-input-container{flex-shrink:0;background-color:var(--page-bg);border-top:1px solid var(--sidebar-border);padding:12px 16px}.chat-selected-files{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chat-selected-file-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background-color:var(--surface-3);border-radius:var(--radius-card);font-size:var(--font-size-xs);color:var(--text-main)}.chat-file-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-file-remove{background:none;border:none;font-size:var(--font-size-lg);line-height:1;cursor:pointer;color:var(--text-muted);padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color var(--transition-ui)}.chat-file-remove:hover{background-color:var(--control-hover)}.chat-input-form{display:flex;align-items:flex-end;gap:8px}.chat-attach-btn{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-btn);border:1px solid var(--input-border);background-color:var(--input-bg);color:#ffffff6b;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-ui),border-color var(--transition-ui),color var(--transition-ui)}.chat-attach-btn:hover:not(:disabled){background-color:#ffffff04;border-color:var(--input-border-hover);color:#fff9}.chat-attach-btn:disabled{cursor:not-allowed;opacity:.5}.chat-input-textarea{flex:1;min-height:42px;max-height:120px;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--radius-field);background-color:var(--input-bg);color:var(--text-main);font-size:var(--font-size-sm);font-family:inherit;resize:none;overflow-y:auto;outline:none;transition:border-color var(--transition-ui),background-color var(--transition-ui)}.chat-input-textarea::placeholder{color:#ffffff3d}.chat-input-textarea:hover:not(:disabled){border-color:var(--input-border-hover)}.chat-input-textarea:focus{border-color:var(--input-border-focus);background-color:#ffffff04}.chat-input-textarea:disabled{background-color:var(--surface-2);cursor:not-allowed;opacity:.5}.chat-send-btn{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-btn);border:0;background-color:#ffffff14;color:#ffffffd1;font-size:var(--font-size-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-ui),color var(--transition-ui),transform var(--transition-ui)}.chat-send-btn:hover:not(:disabled){background-color:#ffffff1f;color:#ffffffeb}.chat-send-btn:active:not(:disabled){transform:scale(.992)}.chat-send-btn:disabled{background-color:#ffffff0d;color:#ffffff3d;cursor:not-allowed}.chat-messages-container::-webkit-scrollbar{width:8px}.chat-messages-container::-webkit-scrollbar-track{background:var(--surface-2)}.chat-messages-container::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:var(--radius-btn)}.chat-messages-container::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media (max-width: 768px){.chat-window-header{padding:12px 16px}.chat-participant-avatar{width:36px;height:36px;font-size:16px}.chat-participant-name{font-size:var(--font-size-medium)}.chat-messages-container{padding:12px}.chat-input-container{padding:10px 12px}.chat-file-name{max-width:150px}}.chat-page{display:flex;flex-direction:column;height:100%;background-color:var(--page-bg)}.chat-page-container{display:flex;height:100%;overflow:hidden}.chat-page-list{width:350px;flex-shrink:0;border-right:1px solid var(--sidebar-border);background-color:var(--page-bg);overflow:hidden}.chat-page-window{flex:1;display:flex;flex-direction:column;background-color:var(--surface-1);overflow:hidden}.chat-page-mobile-back{display:none}@media (max-width: 768px){.chat-page{height:calc(100vh - 56px)}.chat-page-container{position:relative}.chat-page-list{width:100%;border-right:none;transition:transform var(--transition-ui)}.chat-page-list-hidden{transform:translate(-100%);position:absolute;top:0;left:0;bottom:0;z-index:0}.chat-page-window{position:absolute;top:0;left:0;right:0;bottom:0;transform:translate(100%);transition:transform var(--transition-ui);z-index:1}.chat-page-window-visible{transform:translate(0)}.chat-page-mobile-back{display:block;padding:8px 12px;background-color:var(--surface-2);border-bottom:1px solid var(--sidebar-border)}.chat-back-button{background:none;border:none;font-size:14px;font-weight:500;color:var(--text-main);cursor:pointer;padding:8px 12px;border-radius:var(--radius-btn);transition:background-color var(--transition-ui)}.chat-back-button:hover{background-color:var(--control-hover)}}@media (max-width: 480px){.chat-page{height:calc(100vh - 48px)}}.payment-success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:var(--page-bg)}.payment-success-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);max-width:420px;width:100%;padding:48px 32px;background:var(--surface-1);border-radius:var(--radius-card);border:1px solid var(--border-mid);box-shadow:var(--shadow-lg);text-align:center;animation:fadeInScale .3s cubic-bezier(.16,1,.3,1) forwards}.payment-success-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-success-bg);color:var(--color-success-light);font-size:24px;font-weight:700}.payment-success-title{margin:0;font-size:22px;font-weight:620;color:var(--text-primary);letter-spacing:-.025em;line-height:1.2}.payment-success-text{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.payment-success-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;background:var(--color-secondary);color:var(--color-text-light);border-radius:var(--radius-btn);font-size:14px;font-weight:540;text-decoration:none;transition:opacity var(--transition-ui);margin-top:var(--spacing-xs)}.payment-success-link:hover{opacity:.85}:root{--color-primary: #004231;--color-primary-light: rgba(0, 66, 49, .1);--color-primary-dark: #003220;--color-primary-hover: rgba(0, 66, 49, .9);--color-secondary: #8b5cf6;--color-secondary-light: #a78bfa;--color-secondary-dark: #7c3aed;--color-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-success-bg: rgba(16, 185, 129, .12);--color-error: #ef4444;--color-error-light: #f87171;--color-error-dark: #dc2626;--color-error-bg: rgba(239, 68, 68, .12);--color-error-bg-light: rgba(248, 113, 113, .2);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-warning-bg: rgba(245, 158, 11, .12);--color-warning-bg-light: rgba(251, 191, 36, .2);--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-dark: #2563eb;--color-info-bg: rgba(59, 130, 246, .12);--color-info-bg-light: rgba(96, 165, 250, .2);--color-bg-dark: #1e1e1e;--color-text-light: #ffffff;--color-gray-50: #232323;--color-gray-100: #272727;--color-gray-200: rgba(255, 255, 255, .06);--color-gray-300: rgba(255, 255, 255, .08);--color-gray-400: rgba(255, 255, 255, .3);--color-gray-500: rgba(255, 255, 255, .52);--color-gray-600: rgba(255, 255, 255, .6);--color-gray-700: rgba(255, 255, 255, .7);--color-gray-800: rgba(255, 255, 255, .8);--color-gray-900: rgba(255, 255, 255, .88);--toastify-color-success: #004231;--toastify-color-error: #660000;--toastify-icon-color-success: #004231;--toastify-icon-color-error: #660000;--bg-primary: #1e1e1e;--bg-secondary: #232323;--bg-tertiary: #272727;--bg-hover: var(--surface-2);--bg-active: #333333;--text-primary: rgba(255, 255, 255, .88);--text-secondary: rgba(255, 255, 255, .52);--text-tertiary: rgba(255, 255, 255, .3);--text-inverse: #1e1e1e;--text-link: var(--color-success-light);--border-color: rgba(255, 255, 255, .06);--border-color-light: rgba(255, 255, 255, .022);--border-color-dark: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .022);--border-mid: rgba(255, 255, 255, .05);--border-radius-sm: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--border-radius-xl: .75rem;--border-radius-2xl: 1rem;--border-radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--font-family-base: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-hero: 1.375rem;--font-size-mega: 1.563rem;--font-size-subtitle: 1.063rem;--font-size-caption: 1.188rem;--font-size-medium: .938rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-520: 520;--font-weight-540: 540;--font-weight-560: 560;--font-weight-semibold: 600;--font-weight-610: 610;--font-weight-620: 620;--font-weight-640: 640;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .7), 0 10px 10px -5px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--transition-fast: .17s ease;--transition-base: .17s ease;--transition-slow: .3s ease;--z-toast: 1100;--z-sidebar: 100;--z-sidebar-mobile: 200;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-overlay: 100;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--header-height: 64px;--sidebar-width: 260px;--content-max-width: 1280px;--input-height: 2.75rem;--input-padding-x: .75rem;--input-padding-y: .5rem;--input-border-width: 1px;--input-focus-ring: 0 0 0 2px rgba(255, 255, 255, .12);--touch-target-min: 44px;--primary: var(--color-primary);--primary-light: var(--color-primary-light);--primary-dark: var(--color-primary-dark);--primary-hover: var(--color-primary-hover);--secondary: var(--color-secondary);--secondary-light: var(--color-secondary-light);--secondary-dark: var(--color-secondary-dark);--white: #ffffff;--black: #1e1e1e;--gray-50: var(--color-gray-50);--gray-100: var(--color-gray-100);--gray-200: var(--color-gray-200);--gray-300: var(--color-gray-300);--gray-400: var(--color-gray-400);--gray-500: var(--color-gray-500);--gray-600: var(--color-gray-600);--gray-700: var(--color-gray-700);--gray-800: var(--color-gray-800);--gray-900: var(--color-gray-900);--success: var(--color-success);--error: var(--color-error);--warning: var(--color-warning);--info: var(--color-info);--border-radius: var(--border-radius-md);--page-bg: #1e1e1e;--surface-1: #232323;--surface-2: #272727;--surface-3: rgba(255, 255, 255, .04);--text-main: rgba(255, 255, 255, .88);--text-muted: rgba(255, 255, 255, .3);--text-placeholder: rgba(255, 255, 255, .26);--control-bg: var(--surface-1, #232323);--control-hover: var(--surface-2, #272727);--control-border: rgba(255, 255, 255, .04);--field-bg: rgba(255, 255, 255, .014);--field-border: rgba(255, 255, 255, .05);--field-border-hover: rgba(255, 255, 255, .08);--field-border-focus: rgba(255, 255, 255, .1);--field-focus-bg: rgba(255, 255, 255, .016);--field-border-disabled: var(--card-border, rgba(255, 255, 255, .04));--field-readonly-bg: rgba(255, 255, 255, .028);--card-bg: var(--surface-1, #232323);--card-bg-enrolled: var(--surface-2, #272727);--card-border: rgba(255, 255, 255, .04);--card-border-hover: rgba(255, 255, 255, .065);--helper-surface: var(--surface-1, #232323);--capsule-bg: var(--surface-2, #272727);--text-card-main: rgba(255, 255, 255, .86);--text-card-secondary: rgba(255, 255, 255, .4);--text-card-time: rgba(255, 255, 255, .7);--track-gap: 14px;--green: #2fa15b;--status-open: #278a4f;--status-few: #ac882c;--status-full: #954141;--status-open-bg: #278a4f;--status-few-bg: #ac882c;--status-full-bg: #954141;--group-blue: #6f84df;--group-teal: #53a29e;--group-violet: #966fd1;--group-sand: #ae9858;--accent-green: #00624a;--modal-overlay-bg: rgba(0, 0, 0, .34);--modal-backdrop: blur(6px);--modal-radius: 22px;--radius-modal: 22px;--modal-shadow: 0 28px 80px rgba(0, 0, 0, .42);--radius-field: 12px;--radius-card: 18px;--radius-btn: 10px;--btn-action-bg: #f1f1f1;--btn-action-text: #111111;--btn-action-hover: #ffffff;--danger-color: rgba(224, 122, 122, .88);--danger-text: rgba(255, 212, 212, .62);--danger-bg: rgba(149, 65, 65, .12);--button-bg: rgba(255, 255, 255, .86);--button-bg-hover: rgba(255, 255, 255, .92);--button-text: #111111;--button-disabled-bg: rgba(255, 255, 255, .1);--button-disabled-text: rgba(255, 255, 255, .3);--op-plus: rgba(92, 201, 135, .96);--op-minus: rgba(255, 104, 104, .96);--hover-bg: rgba(255, 255, 255, .018);--active-bg: rgba(255, 255, 255, .018);--check-active: #00ffbf80;--text-strong: rgba(255, 255, 255, .95);--text: rgba(255, 255, 255, .68);--accent-text: rgba(255, 255, 255, .84);--text-muted-strong: rgba(255, 255, 255, .46);--icon: rgba(255, 255, 255, .48);--icon-hover: rgba(255, 255, 255, .6);--icon-strong: rgba(255, 255, 255, .84);--input-bg: rgba(255, 255, 255, .012);--input-border: rgba(255, 255, 255, .032);--input-border-hover: rgba(255, 255, 255, .05);--input-border-focus: rgba(255, 255, 255, .1);--brand-muted: rgba(255, 255, 255, .34);--transition-ui: .17s ease;--transition-modal: .18s ease;--transition-overlay: .12s ease;--sidebar-bg: #191919;--sidebar-border: rgba(255, 255, 255, .035);--nav-text: rgba(255, 255, 255, .68);--nav-text-active: #ffffff;--nav-icon: rgba(255, 255, 255, .48);--nav-icon-active: rgba(255, 255, 255, .9);--nav-active-bg: rgba(255, 255, 255, .06);--profile-text: rgba(255, 255, 255, .76);--profile-subtext: rgba(255, 255, 255, .34);--icon-muted: rgba(255, 255, 255, .4);--icon-active: rgba(255, 255, 255, .56);--option-hover-bg: rgba(255, 255, 255, .028);--option-active-bg: rgba(255, 255, 255, .038);--scrollbar-thumb-bg: rgba(255, 255, 255, .08);--scrollbar-thumb-hover: rgba(255, 255, 255, .1);--radius-menu: 14px;--radius-option: 10px;--radius-mobile-top: 14px 14px 0 0;--shadow-dropdown: 0 18px 36px rgba(0, 0, 0, .28);--shadow-mobile-dropdown: 0 -4px 20px rgba(0, 0, 0, .6);--transform-scale-active: scale(.992);--margin-inline-start: 0;--margin-inline-end: 0;--padding-inline-start: 0;--padding-inline-end: 0;--border-inline-start-width: 1px;--border-inline-end-width: 1px;--text-align-start: left;--text-align-end: right}*:focus-visible{outline:none;outline-offset:0}*:focus:not(:focus-visible){outline:none}[dir=rtl]{--text-align-start: right;--text-align-end: left;--margin-inline-start: var(--margin-right, 0);--margin-inline-end: var(--margin-left, 0);--padding-inline-start: var(--padding-right, 0);--padding-inline-end: var(--padding-left, 0)}:root{--opacity-disabled: .6;--opacity-subtle: .7;--opacity-medium: .8;--opacity-prominent: .9;--opacity-faded: .3;--radius-rounded: 999px;--radius-sharp: 9999px;--radius-large: 8px;--radius-small: 4px;--letter-spacing-tight: -.035em;--letter-spacing-medium: -.024em;--letter-spacing-normal: -.02em;--letter-spacing-loose: -.012em;--letter-spacing-subtle: -.01em;--z-base: 1;--z-notification: 1100}@supports (backdrop-filter: blur(6px)) or (-webkit-backdrop-filter: blur(6px)){.modal-backdrop,.header,.spinner-overlay,.credits-counter{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)){.credits-counter{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@supports (backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px)){.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}@supports (backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px)){.homework-section,.spinner-overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@supports (backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px)){.spinner-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}:root{--toastify-color-light: var(--text-main);--toastify-color-dark: var(--text-main);--toastify-color-info: var(--color-info);--toastify-color-success: var(--status-open-bg);--toastify-color-warning: var(--status-few-bg);--toastify-color-error: var(--status-full-bg);--toastify-toast-background: var(--surface-1);--toastify-text-color-light: var(--text-main);--toastify-text-color-dark: var(--text-main);--toastify-color-progress-light: rgba(255, 255, 255, .2);--toastify-color-progress-dark: rgba(255, 255, 255, .2);--content-max: 1440px;--grid-gap: 18px;--card-min: 550px;--amount-width: 124px;--price-width: 152px;--buy-btn-width: 132px;--control-height: 40px;--security-width: 420px;--info-min: 560px;--card-width: 292px;--card-height: 74px;--pad-x: 15px;--status-offset: 15px;--modal-pad-x: 22px;--modal-pad-y: 22px;--footer-note-gap: 20px;--track-gap: 14px;--section-border: var(--card-border);--border-strong: rgba(255, 255, 255, .08);--action-bg: #f1f1f1;--action-bg-hover: #ffffff;--action-text: #111111}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-btn, 10px)}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::selection{background:#6f84df4d;color:var(--text-main)}::-moz-selection{background:#6f84df4d}@media (max-width: 640px){:root{--modal-pad-x: 16px;--modal-pad-y: 18px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}html{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}:root{--animation-duration-instant: .1ms;--animation-duration-fast: .2s;--animation-duration-normal: .3s;--animation-duration-notification: .5s;--animation-duration-slow: 1s;--animation-duration-modal-backdrop: .2s;--animation-duration-modal-content: .3s;--animation-duration-card: .3s;--animation-easing-bounce: cubic-bezier(.215, .61, .355, 1);--animation-easing-spring: cubic-bezier(.68, -.55, .265, 1.55);--animation-easing-ease-in: ease-in;--animation-easing-ease-out: ease-out;--animation-easing-ease-in-out: ease-in-out;--animation-easing-linear: linear;--animation-notification: var(--animation-duration-notification) var(--animation-easing-bounce);--animation-modal: var(--animation-duration-modal-content) var(--animation-easing-spring);--animation-card: var(--animation-duration-card) var(--animation-easing-ease-out)}@media (prefers-reduced-motion: reduce){:root{--animation-duration-instant: .01ms;--animation-duration-fast: .01ms;--animation-duration-normal: .01ms;--animation-duration-notification: .01ms;--animation-duration-slow: .01ms;--animation-duration-modal-backdrop: .01ms;--animation-duration-modal-content: .01ms;--animation-duration-card: .01ms;--animation-easing-bounce: linear;--animation-easing-spring: linear}}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes inlineFadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutSlide{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dotPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.6}}@keyframes skeleton-loading{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes collapseHeight{0%{max-height:1000px;opacity:1}to{max-height:0;opacity:0}}@keyframes progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.animate-bounce-in-right{animation:bounceInRight .5s cubic-bezier(.215,.61,.355,1) both}.animate-bounce-out-right{animation:bounceOutRight .5s cubic-bezier(.215,.61,.355,1) both forwards}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-out{animation:scaleOut .2s cubic-bezier(.4,0,1,1) forwards}.animate-fade-in{animation:fadeIn var(--transition-base) ease-in forwards}.animate-fade-out{animation:fadeOut var(--transition-base) ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .3s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-out-slide{animation:fadeOutSlide .2s cubic-bezier(.4,0,1,1) forwards}.animate-spin{animation:spin .8s linear infinite}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-dot-pulse{animation:dotPulse 1.4s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite}.animate-skeleton-loading{animation:skeleton-loading 1.5s linear infinite}.animate-fade-in-up{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.animate-inline-fade-in-up{animation:inlineFadeInUp .4s cubic-bezier(.16,1,.3,1) both}.animation-paused{animation-play-state:paused!important}.animation-running{animation-play-state:running!important}.animation-disabled{animation:none!important}.btn-disabled{cursor:not-allowed;opacity:var(--opacity-disabled, .6);pointer-events:none}.btn-hover{transition:var(--transition-ui)}.btn-active{transform:var(--transform-scale-active, scale(.992));transition:transform var(--transition-ui)}.state-disabled{cursor:not-allowed;opacity:var(--opacity-disabled, .6);pointer-events:none}.state-hover{transition:var(--transition-ui)}.state-hover:hover:not(:disabled){cursor:pointer}.state-active{transform:var(--transform-scale-active, scale(.992))}.state-active:active:not(:disabled){transform:var(--transform-scale-active, scale(.992))}.d-flex{display:flex}.d-flex-col{flex-direction:column}.gap-2{gap:var(--spacing-2, 8px)}.gap-4{gap:var(--spacing-4, 16px)}.p-4{padding:var(--spacing-4, 16px)}.px-4{padding-left:var(--spacing-4, 16px);padding-right:var(--spacing-4, 16px)}.py-2{padding-top:var(--spacing-2, 8px);padding-bottom:var(--spacing-2, 8px)}.mb-4{margin-bottom:var(--spacing-4, 16px)}.mt-auto{margin-top:auto}.text-main{color:var(--text-main)}.text-muted{color:var(--text-muted)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family-base);font-size:14px;font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-main, rgba(255, 255, 255, .88));background:var(--page-bg, #1e1e1e);min-height:100vh;overflow-x:hidden;padding-top:var(--header-height)}#root{min-height:100vh;width:100%;max-width:100vw;display:flex;flex-direction:column;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-620);line-height:var(--line-height-tight);color:var(--text-main);letter-spacing:-.035em}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-620);color:var(--text-main);margin-bottom:var(--spacing-lg);line-height:1}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-620);color:var(--text-main);margin-bottom:var(--spacing-md);line-height:1}h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}h4{font-size:18px;margin-bottom:var(--spacing-sm)}h5{font-size:16px;margin-bottom:var(--spacing-sm)}h6{font-size:14px;margin-bottom:var(--spacing-xs)}p{margin:0;line-height:var(--line-height-relaxed)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast);position:relative}a:hover{color:var(--text-main)}a:focus-visible{outline:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible{outline:none}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}input:focus,textarea:focus,select:focus{outline:none}:focus-visible{outline:none}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-lg)}.container-fluid{width:100%;padding:0 var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gradient{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-xs{font-size:12px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-primary{color:var(--text-main)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;border-radius:var(--border-radius-full);font-size:12px;font-weight:var(--font-weight-semibold);line-height:1;transition:all var(--transition-fast)}.badge-student{background:linear-gradient(135deg,var(--color-info-bg) 0%,var(--color-info-light) 100%);color:var(--color-info-dark)}.badge-teacher{background:linear-gradient(135deg,var(--color-success-bg) 0%,var(--color-success-light) 100%);color:var(--color-success-dark)}.badge-admin{background:linear-gradient(135deg,var(--color-error-bg) 0%,var(--color-error-light) 100%);color:var(--color-error-dark)}.badge-success{background:linear-gradient(135deg,var(--color-success-bg) 0%,var(--color-success-light) 100%);color:var(--color-success-dark)}.badge-error{background:linear-gradient(135deg,var(--color-error-bg) 0%,var(--color-error-light) 100%);color:var(--color-error-dark)}.badge-warning{background:linear-gradient(135deg,var(--color-warning-bg) 0%,var(--color-warning-light) 100%);color:var(--color-warning-dark)}.badge-info{background:linear-gradient(135deg,var(--color-info-bg) 0%,var(--color-info-light) 100%);color:var(--color-info-dark)}.fade-in{animation:fadeIn var(--transition-base)}.fade-out{animation:fadeOut var(--transition-base)}.slide-in{animation:slideIn var(--transition-base)}.slide-up{animation:slideUp var(--transition-base)}.slide-in-left{animation:slideInLeft var(--transition-base)}.slide-in-right{animation:slideInRight var(--transition-base)}.scale-in{animation:scaleIn var(--transition-base)}.pulse{animation:pulse 1.5s ease-in-out infinite}.bounce{animation:bounce 1s infinite}.shake{animation:shake .5s}table{border-collapse:collapse;width:100%}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.divider{height:1px;background:var(--border-mid);margin:var(--spacing-lg) 0}.divider-vertical{width:1px;height:auto;background:var(--border-mid);margin:0 var(--spacing-md)}.skeleton{background:linear-gradient(90deg,var(--surface-1) 0%,var(--bg-tertiary) 50%,var(--surface-1) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius-md)}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-circle{border-radius:var(--border-radius-full)}@media (max-width: 1024px){.container{padding:0 var(--spacing-md)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}@media (max-width: 768px){body{overflow-x:hidden}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:18px}.container,.container-fluid{padding:0 var(--spacing-sm);max-width:100%;width:100%}table{display:block;overflow-x:auto}.card-grid{grid-template-columns:1fr}.hide-mobile{display:none!important}.show-mobile{display:block!important}}@media (max-width: 640px){h1{font-size:2rem}h2{font-size:1.625rem}h3{font-size:1.25rem}h4{font-size:16px}}@media (max-width: 480px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.125rem}h4{font-size:1rem}.gap-lg{gap:var(--spacing-md)}.gap-xl{gap:var(--spacing-lg)}}@media (min-width: 769px){.hide-desktop{display:none!important}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}a{text-decoration:underline}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}@media (prefers-contrast: high){:root{--border-color: rgba(255, 255, 255, .2);--text-secondary: var(--nav-text-active)}}
