:root,[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#ffffff08;--bg-card-hover:#ffffff0f;--border:#ffffff14;--text-primary:#fff;--text-secondary:#fff9;--text-muted:#fff6;--accent:#6366f1;--accent-hover:#818cf8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--ios-native-safe-top:0px;--bg-lesson-pending:#c4b5fd1a;--gradient:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-card:#00000005;--bg-card-hover:#0000000a;--border:#00000014;--text-primary:#1a1a2e;--text-secondary:#1a1a2eb3;--text-muted:#1a1a2e80;--accent:#4f46e5;--accent-hover:#6366f1;--success:#10b981;--warning:#f59e0b;--danger:#dc2626;--bg-lesson-pending:var(--bg-primary);--gradient:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=pink]{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-card:#00000005;--bg-card-hover:#0000000a;--border:#ec489926;--text-primary:#1a1a2e;--text-secondary:#1a1a2eb3;--text-muted:#1a1a2e80;--accent:#ec4899;--accent-hover:#f472b6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--bg-lesson-pending:#fff9fc;--gradient:linear-gradient(135deg,#ec4899 0%,#f472b6 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;overflow-x:clip}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;position:relative;overflow-x:clip}.app{flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1rem}.nav{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.nav-logo{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.nav-links{gap:.5rem;display:flex}.nav-link{color:var(--text-secondary);border-radius:.375rem;justify-content:center;align-items:center;padding:.375rem 1rem;font-size:.875rem;text-decoration:none;transition:all .2s;display:inline-flex;position:relative}.nav-link-with-counter{overflow:visible}.nav-link-counter{background:var(--accent);color:#fff;border:1px solid var(--bg-secondary);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;font-size:.64rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-.28rem;right:-.22rem}.nav-link-counter.hidden{opacity:0;visibility:hidden}.nav-link:hover,.nav-link.active{background:var(--bg-card);color:var(--text-primary)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;flex-direction:column;padding:1.25rem;transition:all .2s;display:flex}.card-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.card:hover{background:var(--bg-card-hover);border-color:#ffffff1f}.card-interactive:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-title{font-size:1rem;font-weight:600}.card-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.teacher-card{border-color:var(--border)}.teacher-card-header{justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:.75rem}.teacher-photo-slot{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-top:4px;font-size:1rem;font-weight:700;display:inline-flex}.teacher-card-body{padding-top:0}.teacher-badges-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.teacher-badge{color:var(--accent);border:1px solid var(--accent);background:var(--bg-card);padding:.4rem .8rem;font-size:.8rem;font-weight:650}.student-sub-card-link{color:inherit;text-decoration:none;display:block}@media (max-width:768px){.teacher-photo-slot{width:46px;height:46px;margin-top:3px;font-size:.92rem}.teacher-badge{font-size:.76rem}}.btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-link{cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;text-decoration:none;transition:opacity .2s}.btn-link:hover{opacity:.8}.btn-primary{background:var(--gradient);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-card-hover)}.btn-icon{border-radius:.5rem;width:2.5rem;height:2rem;padding:0}.btn-success{background:var(--success);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-cancel{color:var(--warning);border:1px solid var(--warning);background:0 0}.btn-cancel:hover{background:var(--warning);color:#fff}.btn-telegram{color:#fff;background-color:#24a1de;border:none}.btn-telegram:hover{color:#fff;background-color:#1b8bbf;transform:translateY(-1px)}.btn-telegram-outline{color:#24a1de;background-color:#0000;border:1px solid #24a1de}.btn-telegram-outline:hover{background-color:#24a1de1a;transform:translateY(-1px)}.segmented-control{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.segmented-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem .9rem;font-size:.875rem;font-weight:600;transition:all .2s}.segmented-button:hover{color:var(--text-primary)}.segmented-button.active{background:var(--gradient);color:#fff}.segmented-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented-button-with-count{align-items:center;gap:.35rem;display:inline-flex}.tab-count{border:1px solid color-mix(in srgb,var(--accent)45%,var(--border));background:var(--bg-card);min-width:1.2rem;height:1.2rem;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.segmented-button.active .tab-count{color:#fff;background:#fff3;border-color:#ffffff59}.students-tabs-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.students-tabs-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;min-width:0;max-width:100%;overflow-x:auto}.students-tabs-scroll::-webkit-scrollbar{display:none}.students-tabs-scroll .segmented-control{flex-wrap:nowrap;min-width:max-content}.students-tabs-scroll .segmented-button{white-space:nowrap;flex:none}.students-archive-btn{margin-left:auto}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.form-input{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;transition:border-color .2s}.form-input:focus{border-color:var(--accent);outline:none}.form-input::placeholder{color:var(--text-muted)}.multi-select{flex-direction:column;gap:.5rem;display:flex}.multi-select-input{border:1px solid var(--border);background:var(--bg-primary);cursor:text;border-radius:.75rem;min-height:44px;padding:.5rem .75rem;transition:border-color .2s,background .2s}.multi-select-input.is-open{border-color:var(--accent)}.multi-select-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.multi-select.is-disabled .multi-select-input{background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.multi-select-placeholder{color:var(--text-muted);font-size:.9rem}.multi-select-chips{flex-wrap:wrap;gap:.35rem;display:flex}.multi-select-chip{background:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:.25rem;max-width:100%;padding:.2rem .55rem;font-size:.8rem;display:inline-flex}.multi-select-chip-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multi-select-chip-remove{color:#ffffffd9;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.multi-select-chip-remove:disabled{cursor:not-allowed;opacity:.6}.multi-select-panel{border:1px solid var(--border);background:var(--bg-primary);border-radius:.75rem;flex-direction:column;gap:.25rem;max-height:240px;padding:.5rem;display:flex;overflow-y:auto}.multi-select-search{margin-bottom:.25rem}.multi-select-empty{color:var(--text-muted);padding:.5rem;font-size:.85rem}.multi-select-option{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.65rem;align-items:center;gap:.5rem;padding:.5rem .6rem;transition:background .15s;display:flex}.multi-select-option:hover{background:var(--bg-card-hover)}.multi-select-option.selected{background:var(--accent);color:#fff}.multi-select-option:disabled{cursor:not-allowed;opacity:.6}.multi-select-option-check{margin-left:auto;font-size:.85rem}input[type=date],input[type=time]{text-align:left;box-sizing:border-box;height:42px}.modal-body input[type=date],.modal-body input[type=time]{appearance:none;background-color:var(--bg-secondary);background-position:right .5rem center;background-repeat:no-repeat;background-size:16px 16px;padding-right:2rem}.modal-body input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23bbb' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3C/svg%3E")}[data-theme=dark] .modal-body input[type=date]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/%3E%3C/svg%3E")}.modal-body input[type=time]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23bbb' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z'/%3E%3C/svg%3E")}[data-theme=dark] .modal-body input[type=time]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z'/%3E%3C/svg%3E")}@media (min-width:641px){.modal-body input[type=date],.modal-body input[type=time]{appearance:auto;background-image:none;padding-right:1rem}}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 1.5rem center;background-repeat:no-repeat;padding-right:3rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-input-invalid{border-color:var(--danger)!important}.form-hint{color:var(--text-muted);margin-top:.375rem;font-size:.75rem}.form-hint-error{color:var(--danger)}.badge{border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{color:var(--success);background:#22c55e26}.badge-warning{color:var(--warning);background:#f59e0b26}.badge-muted{background:var(--bg-card);color:var(--text-muted);white-space:nowrap}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-title{font-size:1.5rem;font-weight:700}.schedule-page{--schedule-green:#10b981;--schedule-green-soft:#10b98114;--schedule-green-border:#10b98180;--schedule-green-strong:#10b98133;--success:var(--schedule-green);--schedule-pending-border:#6366f1}[data-theme=light] .schedule-page{--schedule-pending-border:#4f46e5}[data-theme=pink] .schedule-page{--schedule-pending-border:#ec4899}.schedule-day{margin-bottom:2rem}.schedule-date{color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;scroll-margin-top:60px;font-size:.875rem;font-weight:600}.schedule-date.today{color:var(--accent);font-weight:800}.lesson-time{color:var(--accent);font-size:.875rem;font-weight:600}.lesson-student{font-weight:600}.lesson-subject{color:var(--text-secondary);font-size:.875rem}.lesson-price{color:var(--text-muted);font-size:.875rem}.lesson-actions{gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.card .lesson-actions{flex-wrap:nowrap}.card .lesson-actions .btn{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.lesson-status{flex-wrap:wrap;gap:.5rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:3rem 1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:1rem;flex-direction:column;width:100%;max-width:600px;max-height:calc(100dvh - 8rem);display:flex;overflow:hidden}.modal form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{white-space:nowrap;text-overflow:ellipsis;margin-right:.5rem;font-size:1.125rem;font-weight:600;overflow:hidden}.modal-body{flex:1;min-height:0;padding:1rem 1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem;display:flex}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.25rem;font-size:1.75rem;line-height:1;transition:background .15s,color .15s;display:flex}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.empty-state-icon{margin-bottom:1rem;font-size:3rem}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:.75rem;padding:.75rem}.stat-value{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.65rem}.schedule-mobile-header,.schedule-week-nav{display:none}.schedule-week-nav-inline{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.5rem 0;display:flex}.schedule-date-range{text-align:center;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;justify-content:center;align-items:center;min-width:110px;padding:.375rem 1.25rem;font-size:1rem;font-weight:600;display:inline-flex}.month-nav-arrow-btn,.schedule-nav-arrow-btn{border-radius:.5rem;width:3rem;height:auto;padding:.625rem .75rem}.mobile-only{display:none!important}.desktop-only{display:flex}.week-strip,.month-days-strip{display:none}.month-days-strip::-webkit-scrollbar{display:none}.month-days-strip-day{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:.5rem;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:42px;padding:.5rem .375rem;transition:all .2s;display:flex}.month-days-strip-day:hover{background:var(--bg-card-hover);border-color:var(--accent)}.month-days-strip-day.selected{background:var(--accent);border-color:var(--accent);color:#fff}.month-days-strip-day.selected .month-days-strip-day-name,.month-days-strip-day.selected .month-days-strip-day-number{color:#fff}.month-days-strip-day.today:not(.selected){border-color:var(--accent);background:0 0}.toast-container{z-index:3000;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:10px;min-width:280px;max-width:400px;padding:12px 20px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#22c55e0d;border-color:#22c55e33}.toast-success:before{content:"✓";background:var(--success);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.toast-error{background:#ef44440d;border-color:#ef444433}.toast-error:before{content:"✕";background:var(--danger);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.toast-info{border-color:var(--border);background:var(--bg-secondary)}.toast-info:before{content:"i";background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-family:serif;font-size:12px;font-style:italic;font-weight:700;display:flex}@media (max-width:640px){.toast-container{align-items:center;bottom:20px;left:20px;right:20px}.toast{justify-content:flex-start;width:100%}}.month-days-strip-day-name{color:var(--text-muted);text-transform:uppercase;font-size:.625rem;font-weight:500}.month-days-strip-day-number{color:var(--text-primary);font-size:1rem;font-weight:600}.month-days-strip-day.selected .month-days-strip-day-name{color:#fffc}.schedule-day,.schedule-date{scroll-margin-top:80px}@media (max-width:640px){.form-row{grid-template-columns:1fr}.stats{display:none}.page-header{flex-direction:column;align-items:stretch;padding-top:1rem}.nav-container{flex-direction:column;gap:.75rem}.nav-links{justify-content:center;width:100%}.schedule-desktop-header{display:none!important}.schedule-mobile-header{z-index:60;background:var(--bg-primary);border-bottom:1px solid var(--border);will-change:transform;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;margin:-1rem -1rem 1rem;padding:.75rem 1rem;transition:transform .16s,opacity .16s;display:flex;position:sticky;top:0}.schedule-page{--schedule-mobile-header-height:52px;--month-days-strip-top:var(--schedule-mobile-header-height);--schedule-date-top:var(--month-days-strip-top)}html:not([data-runtime-platform=ios-native]) .schedule-page.mobile-header-hidden{--month-days-strip-top:0px;--schedule-date-top:0px}.schedule-mobile-header.is-hidden{opacity:0;pointer-events:none;transform:translateY(-110%)}.schedule-mobile-header .page-title{margin:0}.schedule-mobile-header .btn-primary{white-space:nowrap;min-height:32px;padding:.375rem .625rem;font-size:.75rem}.schedule-week-nav-inline{background:0 0;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.25rem 0;display:flex}.month-days-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;top:var(--month-days-strip-top,52px);z-index:50;background:var(--bg-primary);border-bottom:1px solid var(--border);gap:.25rem;margin-left:-1rem;margin-right:-1rem;padding:.5rem;position:sticky;overflow-x:auto;display:flex!important}html:not([data-runtime-platform=ios-native]) .schedule-mobile-header{transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .22s}html:not([data-runtime-platform=ios-native]) .month-days-strip,html:not([data-runtime-platform=ios-native]) .schedule-date{transition:top .26s cubic-bezier(.22,.61,.36,1)}html:not([data-runtime-platform=ios-native]) .schedule-page.mobile-header-hidden .schedule-mobile-header{opacity:0;pointer-events:none;transform:translateY(-110%)}html:not([data-runtime-platform=ios-native]) .schedule-page.mobile-header-hidden .month-days-strip{top:var(--month-days-strip-top)!important}.month-days-strip::-webkit-scrollbar{display:none}.month-days-strip-day{flex-shrink:0;min-width:calc(14.2857vw - .357143rem);max-width:calc(14.2857vw - .357143rem);padding:.375rem .125rem}.schedule-nav-arrow-btn{width:3rem!important;min-width:3rem!important;font-size:1rem!important}.schedule-date-range{text-align:center;color:var(--text-primary);font-size:1rem;font-weight:600}.schedule-date{background:var(--bg-primary);top:var(--schedule-date-top,var(--month-days-strip-top,52px));z-index:40;border-radius:.5rem;position:sticky;color:var(--text-primary)!important;border:none!important;margin-bottom:.75rem!important;padding:.75rem .5rem!important;font-size:1rem!important;font-weight:700!important}html[data-runtime-platform=ios-native] .schedule-mobile-header{top:var(--ios-native-safe-top,0px)}html[data-runtime-platform=ios-native] .schedule-page{position:relative}html[data-runtime-platform=ios-native] .schedule-page:before{content:"";height:var(--ios-native-safe-top,0px);background:var(--bg-primary);z-index:55;pointer-events:none;position:fixed;top:0;left:0;right:0}html[data-runtime-platform=ios-native] .schedule-page{--month-days-strip-top:calc(var(--ios-native-safe-top,0px) + var(--schedule-mobile-header-height))}html[data-runtime-platform=ios-native] .schedule-mobile-header+.month-days-strip{top:var(--month-days-strip-top)!important}html[data-runtime-platform=ios-native] .schedule-mobile-header.is-hidden+.month-days-strip{top:var(--ios-native-safe-top,0px)!important}html[data-runtime-platform=ios-native] .schedule-date{top:var(--month-days-strip-top)}.schedule-day{scroll-margin-top:120px}.schedule-date.today{-webkit-text-fill-color:var(--accent);background:var(--bg-primary)!important;color:var(--accent)!important;font-weight:800!important}.share-page .schedule-date{background:0 0;position:static}.schedule-list .card{border-left:4px solid var(--border)!important;padding:.75rem .875rem .75rem 1rem!important}.schedule-list .card.lesson-completed{border-left-color:var(--success)!important}.schedule-list .card.lesson-cancelled{border-left-color:var(--danger)!important}.schedule-list .card:not(.lesson-completed):not(.lesson-cancelled){border-left-color:var(--accent)!important}.schedule-list .card-header{margin-bottom:.25rem!important}.schedule-list .lesson-time{font-size:1rem!important;font-weight:700!important}.schedule-list .lesson-student{margin-top:.125rem!important;font-size:1rem!important;font-weight:600!important}.schedule-list .lesson-status{display:none!important}.schedule-list .lesson-actions{gap:.375rem!important;padding-top:.5rem!important}.schedule-list .lesson-actions .btn-icon{width:2rem!important;height:2rem!important;padding:0!important;font-size:.75rem!important}.modal-overlay{touch-action:none;background:#000c;align-items:center;padding:1rem;overflow-y:auto}.modal{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden;border-radius:1.25rem!important;width:100%!important;max-width:480px!important}.modal form{flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important;overflow:hidden!important}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:1rem 1.5rem}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:1rem 1.5rem 2rem;overflow-y:auto}.modal-body .form-group{min-width:0;margin-bottom:1rem}.modal-body .form-input,.modal-body select.form-input,.modal-body textarea.form-input{box-sizing:border-box;border-radius:.75rem;width:100%;min-width:0;padding:.875rem 1rem;font-size:16px}.modal-body select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 1.5rem center;background-repeat:no-repeat;padding-right:3rem}.modal-body .form-row{grid-template-columns:1fr 1fr!important;gap:.5rem!important;display:grid!important}.modal-body .form-row .form-group{min-width:0;margin-bottom:0;overflow:hidden}.modal-body .form-row .form-input{text-align:left;width:100%;min-width:0;padding:.75rem .5rem;font-size:16px;line-height:normal}.modal-body input[type=date]::-webkit-date-and-time-value{text-align:left;margin-top:-1px}.modal-body input[type=time]::-webkit-date-and-time-value{text-align:left;margin-top:-1px}.mobile-submit-container{padding-bottom:max(.25rem,env(safe-area-inset-bottom));gap:.5rem;margin-top:1rem;display:flex}.mobile-submit-container .btn{border-radius:.75rem;padding:.75rem;font-size:.875rem}.modal-footer.desktop-only{display:none!important}.mobile-only{display:flex!important}.desktop-only,.hide-on-mobile{display:none!important}.swipe-container{will-change:transform;touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden}.month-calendar{overflow:hidden}.recurring-block{padding:1.25rem!important}.recurring-block label{gap:1rem!important;min-height:48px!important}.recurring-block input[type=checkbox]{width:24px!important;height:24px!important}.month-nav.month-nav-with-filter{justify-content:space-between;align-items:center;gap:.5rem;flex-flow:row!important;display:flex!important}.month-nav.month-nav-with-filter>div:first-child{display:none}.month-nav.month-nav-with-filter .month-nav-center{flex:1;align-items:center;gap:.25rem;width:auto;min-width:0;display:flex}.month-nav-title-btn{white-space:nowrap;text-overflow:ellipsis;text-align:center;overflow:hidden;flex:auto!important;width:auto!important;min-width:0!important;height:2rem!important;padding:0 .25rem!important;font-size:.875rem!important}.month-nav-arrow-btn{justify-content:center;align-items:center;flex:0 0 3.5rem!important;width:3.5rem!important;min-width:3.5rem!important;height:2rem!important;padding:0!important;display:flex!important}.month-nav.month-nav-with-filter .calendar-student-filter{appearance:none;background-color:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:#0000;-webkit-tap-highlight-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1.25rem;border-radius:.5rem;font-size:0;overflow:hidden;flex:0 0 2.5rem!important;width:2.5rem!important;min-width:2.5rem!important;height:2.5rem!important;padding:0!important;transition:none!important;animation:none!important}.month-nav.month-nav-with-filter .calendar-student-filter:focus{border-color:var(--border);box-shadow:none!important;outline:none!important}.month-nav.month-nav-with-filter .calendar-student-filter:not(.filter-active):focus{border-color:var(--border)!important}.month-nav.month-nav-with-filter .calendar-student-filter.filter-active{background-color:#6366f11a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E");border-color:var(--accent)!important;transition:none!important}.multi-select-input{border-radius:.85rem;min-height:52px;padding:.75rem 1rem}.multi-select-chip{padding:.35rem .75rem;font-size:.85rem}.multi-select-sheet-overlay{z-index:2100;touch-action:none;background:#000000b3;align-items:flex-end;display:flex;position:fixed;inset:0}.multi-select-sheet{background:var(--bg-primary);border-top-left-radius:1.25rem;border-top-right-radius:1.25rem;flex-direction:column;width:100%;height:100dvh;display:flex;box-shadow:0 -12px 30px #0006}.multi-select-sheet-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.multi-select-sheet-title{font-size:1rem;font-weight:600}.multi-select-sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;padding:1rem 1.25rem;overflow-y:auto}.multi-select-sheet-search{z-index:2;background:var(--bg-primary);padding-bottom:.75rem;position:sticky;top:0}.multi-select-sheet-selected{margin-bottom:.75rem}.multi-select-sheet-selected .multi-select-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.multi-select-sheet-selected .multi-select-chips::-webkit-scrollbar{display:none}.multi-select-sheet-selected .multi-select-chip{flex-shrink:0}.multi-select-sheet-list{flex-direction:column;gap:.35rem;display:flex}.multi-select-sheet-footer{padding:.75rem 1.25rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.multi-select-sheet-footer .btn{width:100%}.multi-select-option{min-height:48px;padding:.75rem;font-size:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{animation:.3s ease-out fadeIn}.search-input{max-width:300px}.students-search-input-wrap{align-items:center;display:flex;position:relative}.students-search-icon{color:var(--text-muted);pointer-events:none;z-index:1;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.students-search-input-wrap.active .students-search-trigger{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)35%,transparent)}.students-search-input-wrap .students-search-trigger{max-width:100%;padding-left:2.75rem;padding-right:2.75rem}.students-search-controls{align-items:center;gap:.5rem;display:flex}.students-search-submit{min-height:40px}.students-search-clear-btn{width:1.95rem;height:1.95rem;min-height:1.95rem;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.students-search-panel{opacity:0;pointer-events:none;background:0 0;border:none;border-radius:0;max-height:0;margin-bottom:1.5rem;padding:0;transition:max-height .3s,opacity .24s,transform .24s;overflow:hidden;transform:translateY(-8px)}.students-search-panel.open{opacity:1;pointer-events:auto;max-height:85dvh;margin-top:.4rem;padding:0;transform:translateY(0)}.students-search-global-list{gap:.6rem;max-height:calc(100dvh - 240px);padding-bottom:1rem;padding-right:.15rem;display:grid;overflow:hidden auto}.search-result-card-compact{border:1px solid color-mix(in srgb,var(--accent)30%,var(--border));background:var(--bg-card);border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.search-result-main{gap:.2rem;min-width:0;display:grid}.search-result-title{font-size:.94rem;font-weight:600;line-height:1.3}.search-result-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.search-result-actions{gap:.35rem;min-width:108px;display:grid}.search-result-actions .btn{min-height:32px;padding:.3rem .55rem;font-size:.76rem;font-weight:600}.search-link-btn{background:var(--bg-card);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent)45%,var(--border))}.search-link-btn:hover{background:color-mix(in srgb,var(--accent)12%,var(--bg-secondary));border-color:color-mix(in srgb,var(--accent)65%,var(--border))}.search-link-select-wrap{grid-column:1/-1}.search-link-select-wrap .form-input{min-height:38px;font-size:.86rem}.requests-list{gap:1rem;margin-bottom:1.5rem;display:grid}.requests-section{gap:.65rem;display:grid}.requests-section .card-title{margin-bottom:0}.request-row{flex-direction:column;gap:.65rem;display:flex}.request-main{gap:.2rem;min-width:0;display:grid}.request-name{font-size:.94rem;font-weight:600;line-height:1.3}.request-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.request-actions{margin-top:0;padding-top:0}.request-header{margin-bottom:0}.request-link-action{display:inline-flex;position:relative}.search-result-actions .request-link-action{width:100%;display:flex}.search-result-actions .request-link-action .btn{flex:1}.request-link-action .btn{pointer-events:none}.request-link-select-native{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.request-link-select-native:disabled{cursor:not-allowed}@media (max-width:768px){.students-tabs-row{grid-template-columns:1fr;align-items:start;gap:.5rem;display:grid}.students-tabs-row .students-tabs-scroll{justify-self:start;max-width:100%}.students-archive-btn{border-radius:999px;justify-self:start;min-height:34px;margin-left:0;padding:.35rem .75rem;font-size:.78rem}.students-search-controls{gap:.35rem}.students-search-submit{white-space:nowrap;min-height:38px;padding:.4rem .6rem;font-size:.78rem}.students-search-trigger{font-size:16px}.students-search-panel{border-radius:0;margin-bottom:1rem;padding:0}.students-search-panel.open{max-height:min(72dvh,100dvh - 8.5rem);padding:0}.search-result-card-compact{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;padding:.55rem .65rem}.search-result-actions{min-width:98px}.search-result-actions .btn{white-space:nowrap;min-height:30px;padding:.25rem .45rem;font-size:.72rem}.search-link-select-wrap .form-input{font-size:16px}.request-row{gap:.5rem}.request-actions{width:100%}}.lesson-completed{background:#22c55e0d;border-color:#22c55e80}.lesson-completed:hover{border-color:var(--success);background:#22c55e1a}.lesson-cancelled{opacity:.6;background:#9ca3af0d;border-color:#9ca3af33}.lesson-cancelled:hover{opacity:.7;background:#9ca3af1a;border-color:#9ca3af66}.lesson-cancelled .lesson-student,.lesson-cancelled .lesson-time,.lesson-cancelled .lesson-price{color:var(--text-muted);text-decoration:line-through}.badge-cancelled{color:#9ca3af;background:#9ca3af26}.month-calendar{flex-direction:column;gap:1rem;display:flex}.month-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.month-nav.month-nav-centered{justify-content:center;gap:.5rem}.month-nav-buttons{align-items:center;gap:.5rem;display:flex}.month-nav-title{text-transform:capitalize;font-size:1.125rem;font-weight:600}.month-nav-title-btn{text-align:center;min-width:160px;font-size:1rem;font-weight:600}.calendar-filter{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.month-nav.month-nav-with-filter{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;width:100%;display:grid}.month-nav.month-nav-with-filter .month-nav-center{justify-content:center;align-items:center;gap:.5rem;display:flex}.month-nav.month-nav-with-filter .calendar-student-filter{justify-self:end}.calendar-student-filter{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:.5rem;min-width:140px;max-width:200px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;overflow:hidden}.calendar-student-filter:hover{border-color:var(--accent)}.calendar-student-filter:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #8b5cf633}.calendar-student-filter option{background:var(--bg-secondary);color:var(--text-primary)}.month-header{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.25rem;display:grid}.month-header-day{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.5rem;font-size:.75rem;font-weight:600}.month-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.day-cell{background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;min-height:100px;display:flex;overflow:hidden}.day-cell.empty{background:0 0;border-color:#0000}.day-cell.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-cell.drag-over{background:var(--bg-card-hover);box-shadow:inset 0 0 0 2px var(--accent)}.day-cell-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.375rem .5rem;display:flex}.day-cell-date{font-size:.875rem;font-weight:600}.day-cell.is-today .day-cell-date{color:var(--accent)}.day-cell-add{cursor:pointer;border:1px solid var(--border);width:1.25rem;height:1.25rem;color:var(--text-muted);background:0 0;border-radius:.25rem;justify-content:center;align-items:center;font-size:.875rem;transition:all .2s;display:flex}.day-cell-add:hover{background:var(--accent);border-color:var(--accent);color:#fff}.day-cell-lessons{flex-direction:column;flex:1;gap:.25rem;padding:.25rem;display:flex;overflow:hidden}.day-cell-lessons.mode-full{gap:.25rem}.day-cell-lessons.mode-medium,.day-cell-lessons.mode-compact{gap:.125rem}.month-lesson.full{background:var(--bg-card-hover);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;padding:.375rem;font-size:.75rem;transition:all .2s}.month-lesson.full .month-lesson-time{color:var(--accent);font-size:.7rem;font-weight:700;line-height:1.2}.month-lesson.full .month-lesson-student{white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:500;line-height:1.2;overflow:hidden}.month-lesson.medium{background:var(--bg-card-hover);border:1px solid var(--border);cursor:pointer;border-radius:.25rem;padding:.25rem;transition:all .2s}.month-lesson.medium .month-lesson-header-row{align-items:center;gap:.25rem;display:flex}.month-lesson.medium .month-lesson-time{color:var(--accent);font-size:.6rem;font-weight:700;line-height:1}.month-lesson.medium .month-lesson-student{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.6rem;font-weight:500;line-height:1;overflow:hidden}.month-lesson.medium .month-lesson-actions-inline{gap:.125rem;margin-top:.125rem;display:flex}.month-lesson.medium .btn-mini{width:1rem;height:1rem;font-size:.55rem}.month-lesson{cursor:pointer;transition:all .2s}.month-lesson.compact{background:var(--bg-card-hover);border:1px solid var(--border);cursor:pointer;border-radius:.25rem;padding:.125rem .25rem;transition:all .2s}.month-lesson.compact .month-lesson-header-row{align-items:center;gap:.25rem;display:flex}.month-lesson.compact .month-lesson-time{color:var(--accent);font-size:.55rem;font-weight:700;line-height:1}.month-lesson.compact .month-lesson-student{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.55rem;font-weight:500;line-height:1;overflow:hidden}.month-lesson.compact .month-lesson-badges .mini-badge{width:4px;height:4px}.month-lesson:hover{border-color:var(--accent);transform:translateY(-1px)}.month-lesson.completed{background:#22c55e0d;border-color:#22c55e80}.month-lesson.cancelled{opacity:.6;background:#9ca3af0d;border-style:dashed;border-color:#9ca3af33}.month-lesson.cancelled .month-lesson-student,.month-lesson.cancelled .month-lesson-time{color:var(--text-muted);text-decoration:line-through}.month-lesson.dragging{opacity:.5;cursor:grabbing}.month-lesson-header-row{align-items:center;gap:.25rem;width:100%;display:flex}.month-lesson-time{color:var(--accent);font-size:.65rem;font-weight:700;line-height:1}.month-lesson-student{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.65rem;font-weight:500;line-height:1;overflow:hidden}.month-lesson-badges{gap:.125rem;display:flex}.mini-badge{border-radius:50%;width:5px;height:5px}.mini-badge.done{background:var(--success)}.mini-badge.pending{background:var(--text-muted)}.mini-badge.paid{background:var(--success)}.mini-badge.unpaid{background:var(--text-muted)}.status-icon{justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.status-icon.done{color:var(--success)}.status-icon.pending{color:var(--text-muted);font-size:8px}.status-icon.paid{color:var(--success)}.status-icon.unpaid{color:var(--text-muted);opacity:.5}.month-lesson-actions{border-top:1px solid var(--border);justify-content:space-between;gap:.25rem;margin-top:.375rem;padding-top:.375rem;display:flex}.month-lesson.compact .month-lesson-actions{border-top:1px dashed #ffffff0d;gap:.125rem;margin-top:.125rem;padding-top:.125rem}.btn-mini{cursor:pointer;background:var(--bg-card);width:1.25rem;height:1.25rem;color:var(--text-secondary);border:1px solid #0000;border-radius:.125rem;justify-content:center;align-items:center;padding:0;font-size:.65rem;transition:all .2s;display:flex}.btn-mini:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border)}.btn-mini.btn-success{color:var(--success);background:#22c55e1a;border-color:#22c55e33}.btn-mini.btn-success:hover{background:var(--success);color:#fff}.btn-mini.btn-warning{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b33}.btn-mini.btn-warning:hover{background:var(--warning);color:#fff}.btn-mini.btn-danger{color:var(--danger);border-color:#ef444433}.btn-mini.btn-danger:hover{background:var(--danger);color:#fff}.mini-badge.cancelled{background:#9ca3af}.more-lessons-btn{background:var(--bg-card);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;text-align:center;border-radius:.25rem;padding:.125rem .25rem;font-size:.6rem;font-weight:600;transition:all .2s}.more-lessons-btn:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--accent)}@media (max-width:900px){.month-grid{grid-template-columns:repeat(7,1fr)}.day-cell{min-height:80px}.day-cell-lessons{max-height:100px}.month-lesson-student{font-size:.65rem}}@media (max-width:640px){.month-grid{grid-template-columns:repeat(7,1fr)}.day-cell{min-height:60px}.day-cell-header{padding:.25rem}.day-cell-date{font-size:.75rem}.day-cell-add{width:1rem;height:1rem;font-size:.75rem}.day-cell-lessons{max-height:80px;padding:.125rem}.month-lesson{padding:.25rem}.month-lesson-time,.month-lesson-student{font-size:.6rem}.month-header-day{padding:.25rem;font-size:.6rem}.month-nav.month-nav-with-filter{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.month-nav.month-nav-with-filter>div:first-child{display:none}.month-nav.month-nav-with-filter .month-nav-center{flex-shrink:0;gap:.25rem;display:flex}.month-nav-arrow-btn{width:2rem!important;min-width:2rem!important;padding:.375rem!important;font-size:.875rem!important}.month-nav-title-btn{min-width:auto!important;padding:.375rem .5rem!important;font-size:.75rem!important}.calendar-student-filter{min-width:90px!important;max-width:110px!important;padding:.375rem .5rem!important;font-size:.75rem!important}}.auth-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:1.5rem;width:100%;max-width:400px;padding:2rem;box-shadow:0 25px 50px -12px #00000040}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:.875rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-error{color:var(--danger);text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem}.auth-test-notice{color:var(--success);text-align:center;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem}.code-input{text-align:center;letter-spacing:.5rem;font-weight:600;font-size:1.5rem!important}.auth-btn{cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.75rem;width:100%;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.auth-btn svg{flex-shrink:0}.auth-btn-yandex{color:#fff;background:#fc3f1d}.auth-btn-yandex:hover{background:#e53512}.auth-btn-vk{color:#fff;background:#07f}.auth-btn-vk:hover{background:#06d}.auth-btn-apple{color:#fff;background:#000}.auth-btn-apple:hover{background:#333}[data-theme=light] .auth-btn-apple,[data-theme=pink] .auth-btn-apple{color:#fff;background:#000}.auth-btn-phone{background:var(--gradient);color:#fff;text-decoration:none}.auth-btn-phone:hover{opacity:.9}.auth-btn-email{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);text-decoration:none}.auth-btn-email:hover{background:var(--bg-hover)}.auth-divider{text-align:center;color:var(--text-muted);align-items:center;margin:.5rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border);flex:1}.auth-divider span{padding:0 .75rem}.auth-footer{text-align:center;color:var(--text-primary);margin-top:1.5rem;font-size:.875rem;font-weight:500}.auth-link{color:var(--accent);margin-left:.25rem;font-weight:600;text-decoration:none}.auth-link:hover{color:var(--accent-hover);text-decoration:underline}.telegram-instructions{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0;display:flex}.telegram-icon{color:var(--accent);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.telegram-instructions h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.instructions-list{text-align:left;width:100%;max-width:320px;color:var(--text-secondary);margin:0;padding-left:1.5rem;font-size:.875rem;line-height:1.8}.instructions-list li{margin-bottom:.5rem}.instructions-list strong{color:var(--text-primary);font-weight:600}.telegram-btn{color:#fff!important;background:#08c!important}.telegram-btn:hover{background:#069!important}.telegram-hint{color:var(--text-muted);background:var(--bg-card);border-radius:.5rem;justify-content:center;align-items:center;margin:-.5rem 0 .5rem;padding:.5rem;font-size:.75rem;display:flex}.attempts-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;display:flex}.auth-error-blocked{font-weight:600;background:#ef444426!important;border-color:#ef444466!important}.telegram-login-wrapper{justify-content:center;align-items:center;min-height:48px;margin:.5rem 0;display:flex}.telegram-login-container{justify-content:center;align-items:center;display:flex}.telegram-login-container iframe{border-radius:8px!important}.profile-page{max-width:600px;margin:0 auto}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;margin-bottom:1rem;padding:1.25rem}@media (max-width:480px){.profile-card{border-radius:.75rem;margin-bottom:.75rem;padding:1rem}}.profile-card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem;font-weight:600}.profile-info{flex-direction:column;gap:.75rem;display:flex}.profile-info-item{justify-content:space-between;align-items:center;display:flex}.profile-info-label{color:var(--text-secondary);font-size:.875rem}.profile-info-value{font-weight:500}.theme-options{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.theme-option{background:var(--bg-secondary);border:2px solid var(--border);cursor:pointer;border-radius:.75rem;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;transition:all .2s;display:flex}.theme-option:hover{border-color:var(--accent)}.theme-option.active{border-color:var(--accent);background:#6366f11a}.theme-preview{border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;display:flex;overflow:hidden}.theme-preview.dark{background:linear-gradient(135deg,#0a0a0f,#12121a);border:1px solid #ffffff1a}.theme-preview.light{background:linear-gradient(135deg,#f5f7fa,#fff);border:1px solid #0000001a}.theme-preview.pink{background:linear-gradient(135deg,#fff5f8,#fce7f3);border:1px solid #ec489933}.theme-preview.system{background:linear-gradient(90deg,#1a1a2e 10%,#ec4899 90%);border:none}.theme-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.nav-user{align-items:center;gap:.5rem;display:flex}.nav-user-name{color:var(--text-secondary);font-size:.875rem}.nav-user-avatar{background:var(--gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:600;display:flex}@media (max-width:480px){.main{padding:.75rem}.nav{padding:.75rem;position:sticky;top:0}.nav-container{gap:.5rem}.nav-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;gap:.5rem;width:100%;padding-bottom:4px;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;background:var(--bg-card);border:1px solid var(--border);flex-shrink:0;padding:.5rem .75rem;font-size:.8rem}.nav-link-counter{min-width:1rem;height:1rem;font-size:.6rem;top:-.22rem;right:-.16rem}.nav-link.active{background:var(--gradient);color:#fff;border-color:#0000}.page-header{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.375rem;margin-bottom:.75rem}.page-title{text-align:left;flex:auto;order:0;font-size:1rem}.page-header>.btn-primary,.page-header>button.btn-primary{white-space:nowrap;min-height:32px;padding:.375rem .625rem;font-size:.75rem;flex:none!important;order:0!important;width:auto!important;margin:0!important}.page-header>div[style*="display: flex"]{order:1;justify-content:center;align-items:center;width:100%;margin-top:.25rem;flex-wrap:nowrap!important;gap:.25rem!important}.page-header>div[style*="display: flex"] span{width:auto!important;margin:0!important;font-size:.75rem!important}.page-header>div[style*="display: flex"] .btn{width:auto;min-width:32px;min-height:32px;padding:.25rem .5rem;font-size:.7rem}.page-header>div[style*="display: flex"] .btn-icon{width:28px;height:28px;min-height:28px;padding:0}.card{border-radius:.75rem;padding:.875rem}.card-header{flex-direction:row;align-items:flex-start;gap:.5rem}.lesson-status{gap:.375rem;margin-top:.5rem}.badge{padding:.25rem .5rem;font-size:.75rem}.card .lesson-actions .btn-secondary,.card .lesson-actions .btn-danger{min-width:2.75rem;padding:.625rem .875rem}.lesson-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.lesson-actions .btn{flex:none;justify-content:center;align-items:center;min-width:40px;height:40px;padding:.5rem;display:flex}.lesson-actions .btn:first-child{flex:1;min-width:100px}.lesson-price{color:var(--accent);font-size:.875rem;font-weight:600}.btn{min-height:40px;padding:.5rem .875rem;font-size:.875rem}.btn-icon{width:40px;height:40px}.stats{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:.5rem;margin-bottom:2rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.stats::-webkit-scrollbar{display:none}.stat-card{text-align:center;flex:none;min-width:100px;padding:.75rem}.stat-card:first-child{margin-left:auto}.stat-card:last-child{margin-right:auto}.stat-value{margin-bottom:.125rem;font-size:1.125rem}.stat-label{margin-top:0;font-size:.65rem}.month-grid{gap:2px}.day-cell{min-height:65px}.month-header-day{padding:.25rem;font-size:.65rem}.month-lesson .month-lesson-badges,.month-lesson .month-lesson-actions,.month-lesson .month-lesson-actions-inline{display:none!important}.day-cell.lessons-1 .month-lesson .month-lesson-header-row,.day-cell.lessons-2 .month-lesson .month-lesson-header-row{flex-direction:column;align-items:flex-start;gap:.05rem}.day-cell.lessons-1 .month-lesson .month-lesson-student,.day-cell.lessons-2 .month-lesson .month-lesson-student{max-width:100%;font-size:.5rem}.day-cell.lessons-3 .month-lesson .month-lesson-student,.day-cell.lessons-4 .month-lesson .month-lesson-student{display:none!important}.month-lesson.full,.month-lesson.medium,.month-lesson.compact{padding:.1rem .2rem}.month-lesson .month-lesson-time{font-size:.55rem;font-weight:600}.month-nav{gap:.5rem;margin-bottom:.5rem}.month-nav-title{text-align:center;order:-1;width:100%;margin-bottom:.25rem;font-size:1rem}.month-nav-buttons{justify-content:space-between;gap:.5rem;width:100%}.month-nav-buttons .btn{flex:0 auto;min-width:auto;padding:.5rem .75rem}.month-nav-buttons .btn:nth-child(2){flex:1}.modal-overlay{touch-action:none;background:#000c;align-items:flex-end;padding:0;overflow:hidden}.modal{border-radius:1.25rem 1.25rem 0 0;flex-direction:column;max-height:85dvh;animation:.3s ease-out slideUp;display:flex;overflow:hidden;width:100%!important;max-width:100%!important}.modal form{flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important;overflow:hidden!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:1rem}.modal-title{font-size:1rem}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:1rem 1rem 1.5rem;overflow-y:auto}.modal-footer{padding:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.modal-footer .btn{padding:.625rem .75rem;font-size:.875rem}.form-row{grid-template-columns:1fr;gap:.75rem}.form-group{margin-bottom:.75rem}.form-input{box-sizing:border-box;width:100%;max-width:100%;padding:.75rem;font-size:1rem}.form-label{margin-bottom:.375rem;font-size:.75rem}.empty-state{padding:2rem 1rem}.empty-state-icon{font-size:3rem}}.btn-share-link{text-align:center;justify-content:center;min-width:150px}.mobile-nav{background:var(--bg-secondary);border-top:1px solid var(--border);padding:.25rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);z-index:1000;-webkit-backdrop-filter:blur(10px);margin-top:auto;display:none;position:sticky;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--accent);opacity:.7;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;padding:.125rem .5rem;text-decoration:none;transition:opacity .15s;display:flex;position:relative}.mobile-nav-item:hover,.mobile-nav-item:active{opacity:1}html[data-runtime-platform=ios-native] .mobile-nav,html[data-runtime-platform=ios-native] .mobile-nav *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html[data-runtime-platform=ios-native] .mobile-nav{-webkit-backdrop-filter:none}html[data-runtime-platform=ios-native] .mobile-nav-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-nav-icon{width:1.4rem;height:1.4rem;color:inherit}.mobile-nav-label{text-align:center;color:inherit;font-size:.6rem;font-weight:500;line-height:1}.mobile-nav-item-with-counter{overflow:visible}.mobile-nav-counter{background:var(--accent);color:#fff;border:1px solid var(--bg-secondary);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:1rem;height:1rem;padding:0 .22rem;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:.05rem;right:.4rem}.mobile-nav-counter.hidden{opacity:0;visibility:hidden}@media (max-width:640px){.nav-desktop{display:none}.mobile-nav{justify-content:space-around;align-items:center;display:flex;bottom:0;left:0;right:0;position:fixed!important}.main{padding-top:env(safe-area-inset-top);padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.main:has(.schedule-page){padding-bottom:1rem}}.skeleton-page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.skeleton-page-header-actions{align-items:center;gap:.5rem;display:inline-flex}.skeleton-block{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem}.skeleton-line{display:block}.skeleton-card{border:1px solid var(--border);background:var(--card-bg,var(--bg-secondary));border-radius:1rem;padding:1rem}.skeleton-detail-page{flex-direction:column;gap:1rem;display:flex}.skeleton-detail-tabs{gap:.5rem;display:flex;overflow:hidden}.skeleton-schedule-frame{min-height:420px;padding:0 1rem}.calendar-skeleton-shell{flex-direction:column;gap:1rem;display:flex}.calendar-skeleton-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.calendar-skeleton-cell{border:1px solid var(--border);background:var(--card-bg,var(--bg-secondary));border-radius:.75rem;min-height:74px;padding:.5rem}.calendar-skeleton-cell .skeleton-block{width:1.5rem;height:.875rem}@media (prefers-reduced-motion:reduce){.skeleton-block,.skeleton-card{animation:none!important;transform:none!important}}.card-dragging{opacity:.6;box-shadow:0 4px 12px #0003;border:2px solid var(--accent)!important;cursor:grabbing!important}.schedule-day-drop-zone.drag-over{outline:2px dashed var(--accent);outline-offset:-2px;background:#6366f114;border-radius:1rem}[data-theme=light] .schedule-day-drop-zone.drag-over{background:#4f46e514}[data-theme=pink] .schedule-day-drop-zone.drag-over{background:#ec489914}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;width:90%;max-width:400px;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}@media (max-width:768px){.toast-container{bottom:5.5rem}.toast{cursor:pointer}}.toast{pointer-events:auto;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem 1rem;animation:.3s ease-out forwards toast-in;display:flex;box-shadow:0 10px 25px #0003}.toast-message{font-size:.875rem;font-weight:500}@keyframes toast-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.toast.hiding{animation:.3s ease-in forwards toast-out}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.btn-label-text{display:inline}.btn-label-icon{display:none}@media (max-width:768px){.btn-label-text{display:none}.btn-label-icon{font-size:1.25rem;line-height:1;display:inline}}.lesson-list-item{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:.75rem;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;min-height:auto;padding:.75rem 1rem;transition:all .2s;display:flex}.lesson-list-item:hover{background:var(--bg-card-hover);border-color:var(--accent)}.lesson-list-item.completed{background:#22c55e0d;border-color:#22c55e80}.lesson-list-item.cancelled{opacity:.6;background:#9ca3af0d;border-color:#9ca3af33}.lesson-list-item.cancelled .lesson-list-student-name,.lesson-list-item.cancelled .lesson-list-time{color:var(--text-muted);text-decoration:line-through}.lesson-list-header{align-items:center;gap:.75rem;min-width:0;display:flex}.lesson-list-time{color:var(--accent);flex-shrink:0;font-size:1rem;font-weight:700}.lesson-list-student{flex:1;min-width:0;font-size:.9rem;font-weight:600}.lesson-list-student-name{font-weight:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lesson-list-subscription{color:var(--accent);margin-top:2px;font-size:.75rem;font-weight:600}.lesson-list-actions{border-top:none;gap:.25rem;margin-top:0;padding-top:0;display:flex}.lesson-list-btn{cursor:pointer;background:var(--bg-secondary);width:auto;min-width:44px;color:var(--text-primary);border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.lesson-list-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.lesson-list-btn.btn-success{color:var(--success);background:#22c55e26}.lesson-list-btn.btn-success:hover{background:var(--success);color:#fff}.lesson-list-btn.btn-warning{color:var(--warning);background:#f59e0b26}.lesson-list-btn.btn-warning:hover{background:var(--warning);color:#fff}.lesson-list-btn.lesson-list-btn-icon{border-radius:.5rem;width:36px;min-width:36px;height:36px;padding:0;font-size:1rem}.lesson-list-btn.btn-danger-muted{color:#ef4444;background:#ef44441a}.lesson-list-btn.btn-danger-muted:hover{color:#fff;background:#ef4444}@keyframes highlight-pulse{0%{filter:brightness();box-shadow:0 0 0 0 var(--accent);transform:scale(1)}50%{filter:brightness(1.2);box-shadow:0 0 20px var(--accent);transform:scale(1.02)}to{filter:brightness();box-shadow:0 0 0 0 var(--accent);transform:scale(1)}}.highlight-animation{animation:2s ease-out highlight-pulse}.student-list-card,.group-list-card{gap:0;padding:.875rem}.student-list-card .card-header,.group-list-card .card-header{margin-bottom:.5rem}.student-list-card .card-subtitle,.group-list-card .card-subtitle{margin-top:.15rem;font-size:.7rem}.student-list-card .badge,.group-list-card .badge{padding:.2rem .4rem;font-size:.7rem}.student-list-card .lesson-actions,.group-list-card .lesson-actions{margin-top:0;padding-top:.5rem}.student-list-card .lesson-actions .btn,.group-list-card .lesson-actions .btn{padding:.4rem .6rem;font-size:.75rem}.student-list-card .card-notes,.group-list-card .card-notes{margin-top:0;margin-bottom:.5rem;font-size:.8rem}
