:root{--color-paper: #FDFCF6;--color-ink: #4A4A4A;--color-mustard: #E8AA42;--color-mustard-hover: #D69931;--color-sunset: #EDAE91;--bg-color: var(--color-paper);--text-primary: var(--color-ink);--text-secondary: #757575;--primary-accent: var(--color-mustard);--primary-accent-hover: var(--color-mustard-hover);--secondary-accent: var(--color-sunset);--border-color: #E5E7EB;--card-bg: #FFFFFF;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-hand: "Playpen Sans", cursive;--grid-max-width: 1200px;--sidebar-width: 260px;--top-bar-height: 64px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar,html::-webkit-scrollbar,body::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background-color:var(--primary-accent-hover)}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;position:relative;padding-top:var(--top-bar-height)}body.body-lock{overflow:hidden!important}.notebook-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;background-color:#f9fafb}.container{max-width:var(--grid-max-width);margin:0 auto;padding:0 24px}.container-fluid{width:100%;padding:0 32px}h1,h2,h3{color:var(--text-primary);font-weight:600;line-height:1.2;font-family:var(--font-main)}.brand-accent{color:var(--primary-accent)}h1{font-size:24px;font-weight:600;margin-bottom:24px;color:var(--text-primary)}h2{font-size:18px;font-weight:500;margin-bottom:16px;color:var(--text-primary)}p{color:var(--text-secondary);font-size:14px;font-weight:400;margin-bottom:24px}.brand-accent{color:var(--primary-accent);font-weight:600}.navbar{position:fixed;top:0;left:0;right:0;height:var(--top-bar-height);background-color:#fff;border-bottom:1px solid #E5E7EB;z-index:1500;padding:0}.navbar .container,.navbar .container-fluid{display:flex;justify-content:space-between;align-items:center;height:100%}.logo-link{height:100%;display:flex;align-items:center;padding:0}.logo-img{height:calc(var(--top-bar-height) * .95);width:auto;display:block}.header-breadcrumb{display:flex;align-items:center;font-family:var(--font-main);white-space:nowrap}.footer-logo-img{height:96px;width:auto;opacity:.8}.nav-links{display:flex;gap:20px;align-items:center}.nav-main-links,.nav-auth-group{display:flex;align-items:center;gap:inherit}.nav-links a{text-decoration:none;color:var(--text-primary);font-weight:500;transition:all .2s}.nav-links .desktop-link{color:var(--text-secondary);font-weight:500;font-size:.95rem;padding:8px 12px;border-radius:var(--radius-md)}.nav-links .desktop-link:hover{color:var(--text-primary);background-color:#0000000d}.header-left{display:flex;align-items:center;gap:8px}.nav-divider{width:1px;height:24px;background-color:var(--border-color);margin:0 4px}@media(max-width:768px){.nav-divider{display:none}}.profile-pill{display:flex;align-items:center;padding:8px 20px;background-color:#f3f4f6;border-radius:var(--radius-full);text-decoration:none!important;transition:background-color .2s,transform .1s;border:1px solid transparent}.profile-pill:hover{background-color:#e5e7eb}.profile-pill:active{transform:scale(.98)}.profile-name{color:var(--primary-accent);font-weight:700;font-size:.95rem;line-height:1}.btn-logout{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;padding:8px 12px;transition:all .2s;border-radius:var(--radius-md);margin-left:4px}.btn-logout:hover{color:var(--text-primary);background-color:#0000000d}.btn-logout svg{opacity:.7;transition:opacity .2s}.btn-logout:hover svg{opacity:1}.btn-login-text{color:var(--text-primary);font-weight:600;font-size:.95rem;text-decoration:none;padding:8px 12px;transition:all .2s;border-radius:var(--radius-md)}.btn-login-text:hover{color:var(--primary-accent);background-color:#0000000d}.btn-signup-pill{display:inline-flex;align-items:center;padding:10px 24px;background-color:var(--primary-accent);color:#fff!important;border-radius:var(--radius-full);font-weight:700;font-size:.95rem;text-decoration:none!important;transition:all .2s;box-shadow:0 4px 12px #e8aa4233}.btn-signup-pill:hover{background-color:var(--primary-accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px #e8aa424d}.btn-signup-pill:active{transform:translateY(0)}.btn-nav{padding:10px 24px;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#fff;color:var(--text-primary);transition:all .2s;cursor:pointer;font-weight:500}.btn-nav:not(.primary):hover{background-color:#f3f4f6;border-color:#d1d5db;color:var(--text-primary)}.btn-nav.primary{background-color:var(--primary-accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;transition:background-color .2s}.btn-nav.primary:hover{background-color:var(--primary-accent-hover);color:#fff}.btn-primary{background-color:var(--primary-accent);color:#fff;font-family:var(--font-main);font-size:1rem;font-weight:600;letter-spacing:.2px;text-transform:none;border:none;border-radius:var(--radius-md);padding:12px 24px;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{background-color:var(--primary-accent-hover)}.btn-primary:active{transform:scale(.98)}.cta-wrapper{position:relative;display:inline-block}.accent-arrow{position:absolute;left:105%;top:50%;width:50px;height:auto;transform:translateY(-50%) rotate(-10deg);pointer-events:none;opacity:.9;mix-blend-mode:multiply}.hero{padding:40px 0 60px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-content{position:relative}.hero-sub{max-width:90%}.highlight-container{position:relative;display:inline-block}.accent-underline{display:none}.hero-image{display:flex;justify-content:center;align-items:center}.hero-image img{max-width:100%;height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.05))}.features{padding:40px 0}.features .container{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.feature-card{padding:32px;border-radius:var(--radius-xl);text-align:center}.icon-wrapper{position:relative;display:inline-block;margin-bottom:24px}.feature-icon{width:120px;height:auto;display:block}.feature-card h3{font-size:1.25rem;margin-bottom:12px}.feature-card p{font-size:1rem;margin-bottom:0}.footer{padding:40px 0;border-top:1px solid rgba(0,0,0,.05);margin-top:40px}.footer-content{display:flex;flex-direction:column;align-items:center;gap:24px}.footer-logo{font-weight:700;font-size:1.25rem;color:var(--text-primary)}.footer-links{display:flex;gap:24px}.footer-links a{text-decoration:none;color:var(--text-secondary);font-size:.9rem;transition:color .2s}.footer-links a:hover{color:var(--primary-accent)}.pricing{padding:20px 0 60px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.pricing-card{background:#fffc;border:3px solid var(--text-primary);border-radius:var(--radius-md);padding:40px 32px;position:relative;transition:transform .2s;display:flex;flex-direction:column;color:var(--text-primary);box-shadow:2px 5px 15px #0000000d}.pricing-card h3,.pricing-card .price,.pricing-card .plan-desc,.pricing-card li{color:var(--text-primary)}.pricing-card ul{list-style:none;padding-left:0}.pricing-card li:before{content:"•";color:var(--primary-accent);font-weight:700;display:inline-block;width:1em;margin-left:-1em}.pricing-card:hover{transform:translateY(-5px) rotate(.5deg);box-shadow:4px 10px 20px #0000001a}.pricing-card.popular{transform:scale(1.05);background:#fff;border-color:var(--primary-accent);border-width:4px;z-index:1;box-shadow:0 15px 40px #e8aa4226}.pricing-card.popular:hover{transform:scale(1.05) translateY(-5px)}.popular-tag{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:var(--primary-accent);color:#fff;padding:4px 16px;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;z-index:2}.pricing-card h3{font-size:1.5rem;margin-bottom:16px;text-align:center}.price{font-size:3rem;font-weight:700;text-align:center;margin-bottom:16px;color:var(--text-primary)}.price span{font-size:1rem;color:var(--text-secondary);font-weight:400}.plan-desc{text-align:center;margin-bottom:32px;font-size:.95rem}.features-list{list-style:none;padding:0;margin:0 0 24px;flex-grow:1}.features-list li{padding:12px 0;border-bottom:1px dashed rgba(0,0,0,.1);text-align:center;color:var(--text-primary)}.features-list li:last-child{border-bottom:none}.pricing-card button{margin-top:auto;width:100%}.pricing-card-horizontal{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding:32px 40px;margin-bottom:24px}.horizontal-header{flex:1;display:flex;flex-direction:column;align-items:flex-start}.horizontal-header h3,.horizontal-header .price{text-align:left;margin-bottom:8px}.horizontal-header .plan-desc{text-align:left;margin-bottom:0}.pricing-card-horizontal .horizontal-features{flex:2;margin-bottom:0}.horizontal-features li{text-align:left;border-bottom:none;padding:6px 0}.horizontal-action{flex:1;display:flex;justify-content:flex-end}.horizontal-action .btn-nav{width:auto;margin-top:0}@media(max-width:768px){.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.pricing-card-horizontal{flex-direction:column;align-items:stretch;gap:24px;padding:24px;text-align:center;max-width:400px;margin-left:auto;margin-right:auto}.horizontal-header{align-items:center}.horizontal-header h3,.horizontal-header .price,.horizontal-header .plan-desc{text-align:center}.horizontal-features li{text-align:center;border-bottom:1px dashed rgba(0,0,0,.1);padding:12px 0}.horizontal-features li:last-child{border-bottom:none}.horizontal-action{justify-content:center}.horizontal-action .btn-nav{width:100%;margin-top:auto}}.copyright{font-size:.875rem;color:#aaa;margin-bottom:0}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1100}.hamburger span{display:block;width:26px;height:3px;background-color:var(--text-primary);border-radius:3px;transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.calendar-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.mobile-day-selector,#mobile-week-toggle,.nav-view-btn{display:none}@media(max-width:1024px){.school-content-sheet{padding:24px}.school-header h1{font-size:2.4rem}.school-actions{flex-wrap:wrap;gap:12px}.view-label{width:140px}#feedback-modal .modal-content{width:95%}}@media(max-width:768px){.hamburger{display:flex!important;position:relative;z-index:1100}.nav-links{display:flex!important;position:fixed;top:0;right:0;bottom:0;width:290px;background-color:#fff;border-left:1px solid #E5E7EB;box-shadow:-10px 0 40px #00000014;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:90px 24px 32px;gap:20px;z-index:1050;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav-links.open{transform:translate(0)}.nav-links .nav-main-links{display:flex;flex-direction:column;gap:8px}.nav-links .nav-auth-group{display:flex;flex-direction:column;gap:12px;margin-top:auto}.nav-links .desktop-link{display:flex!important;align-items:center;gap:10px;color:#374151!important;font-family:var(--font-main);font-weight:500;font-size:1.05rem;padding:12px 16px;border-bottom:none;background-color:transparent!important;transition:color .2s,background-color .2s,transform .1s;text-align:left;border-radius:var(--radius-md)}.nav-links .desktop-link:hover{color:var(--primary-accent)!important;background-color:#f9fafb!important}.nav-links .desktop-link:active{background-color:#eceff1!important;color:var(--primary-accent)!important;transform:scale(.98)}.nav-links .nav-divider{display:none!important}.nav-links .btn-login-text{display:flex!important;align-items:center;color:#374151!important;font-family:var(--font-main);font-weight:500;font-size:1.05rem;padding:12px 16px;border-bottom:none;background-color:transparent!important;transition:color .2s,background-color .2s,transform .1s;border-radius:var(--radius-md)}.nav-links .btn-login-text:hover{color:var(--primary-accent)!important;background-color:#f9fafb!important}.nav-links .btn-login-text:active{background-color:#eceff1!important;color:var(--primary-accent)!important;transform:scale(.98)}.nav-links .btn-signup-pill{display:inline-flex!important;justify-content:center;align-items:center;width:100%;padding:14px 24px;font-family:var(--font-main);font-size:.95rem;background-color:var(--primary-accent)!important;color:#fff!important;border-radius:var(--radius-full);text-align:center;font-weight:600;box-shadow:0 4px 12px #ca8a0433;transition:all .2s,transform .1s}.nav-links .btn-signup-pill:hover{opacity:.95;transform:translateY(-1px)}.nav-links .btn-signup-pill:active{transform:translateY(0) scale(.96);opacity:.9}.nav-links .profile-pill{display:flex!important;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#f9fafb;border-radius:var(--radius-md);border:1px solid #E5E7EB;transition:background-color .2s,transform .1s}.nav-links .profile-pill:hover{background-color:#e5e7eb}.nav-links .profile-pill:active{transform:scale(.98)}.nav-links .profile-name{font-family:var(--font-main);font-size:.95rem;font-weight:600;color:#111827;line-height:1.2}.nav-links .btn-logout{display:flex!important;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:0 auto;padding:8px 16px;font-family:var(--font-main);font-size:.9rem;background-color:transparent!important;color:#9ca3af!important;border:none!important;font-weight:500;transition:all .2s,transform .1s}.nav-links .btn-logout:hover{color:#ef4444!important;background-color:#ef44440d!important;border-radius:var(--radius-md)!important}.nav-links .btn-logout:active{transform:scale(.96);background-color:#ef44441a!important;color:#dc2626!important}.btn-nav{padding:8px 16px;font-size:.9rem}.hero-grid{display:flex;flex-direction:column;grid-template-columns:1fr;text-align:center;gap:20px}.hero-content{display:block}.hero-content h1{margin-bottom:10px}.hero-content .hero-sub{margin:0 auto 20px}.hero-image{display:block!important;text-align:center;margin-bottom:20px;order:2;width:100%;height:auto}.hero-content .cta-wrapper{margin-top:10px;margin-bottom:20px}h1{font-size:2.2rem}.accent-arrow{display:block;width:40px;left:105%;top:50%}.features .container{grid-template-columns:1fr}.footer-links{flex-wrap:wrap;justify-content:center;gap:16px}.footer-logo-img{height:64px}.auth-card{padding:24px 20px;border-radius:var(--radius-xl)}.form-row{flex-direction:column;gap:0}.school-details-container{padding:1rem}.school-header h1{font-size:1.6rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.02em}#school-badge-container{margin-top:-4px}.school-tabs{overflow-x:visible;padding-left:0;gap:0;width:100%;align-items:flex-end}.tab-button{flex:1;white-space:nowrap;padding:0;font-size:.75rem!important;min-width:0;text-align:center;border-radius:var(--radius-lg) 12px 0 0;margin-right:-1px;height:100px;display:flex;align-items:center;justify-content:center}.tab-button .tab-full{display:block;writing-mode:vertical-rl;transform:rotate(180deg);width:100%}.tab-button .tab-short{display:none}.tab-button.active{padding-bottom:0;z-index:10;position:relative;background-color:var(--bg-color);height:110px}.school-content-sheet{padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:0 4px 12px #0000000d}.school-actions{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:8px}.school-actions .btn-primary{margin-left:0!important;width:100%;text-align:center;justify-content:center}.calendar-nav{flex-wrap:nowrap;justify-content:space-between;gap:8px;width:100%;background:#f9fafb;padding:8px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.calendar-nav .nav-arrow{width:36px;height:36px;min-width:36px;font-size:1.2rem;border:1px solid var(--border-color);background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000d}.calendar-nav .nav-date-display{flex:1;width:auto;font-size:.85rem;padding:6px 10px;border:none;background:transparent;font-weight:700;color:var(--text-primary)}.calendar-nav .nav-today-btn{padding:6px 14px;font-size:.8rem;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);font-weight:600;box-shadow:0 1px 2px #0000000d}#mobile-week-toggle.nav-view-btn{display:block!important;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;padding:5px 12px;margin:-8px 0 6px auto;font-size:.75rem;font-weight:700;color:var(--text-primary);cursor:pointer;text-align:center;width:fit-content;font-family:var(--font-main);letter-spacing:.5px;text-transform:uppercase;transition:all .2s ease;line-height:1.2}#mobile-week-toggle.nav-view-btn:hover{background:#f9fafb;border-color:var(--border-color-hover);color:var(--primary-accent)}#mobile-week-toggle.nav-view-btn:active{transform:scale(.97);background:#f3f4f6}#mobile-week-toggle.nav-view-btn.active{background:#f9fafb;color:var(--primary-accent);border-color:var(--primary-accent);box-shadow:0 1px 2px #ca8a041a;font-weight:700}#mobile-week-toggle.nav-view-btn.active:hover{background:#f3f4f6;opacity:.95}.mobile-day-selector{display:flex;gap:0;padding:0;background:#f9fafb;border-bottom:1px solid var(--border-color);width:100%;box-sizing:border-box;overflow:hidden}.mobile-day-selector::-webkit-scrollbar{display:none}.day-pill{flex:1;min-width:0;padding:10px 2px;border:none;border-right:1px solid var(--border-color);border-bottom:3px solid transparent;background:transparent;font-family:var(--font-main);font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;text-align:center;transition:all .2s ease;line-height:1.2;border-radius:0;box-shadow:none;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.day-pill:last-child{border-right:none}.day-pill .pill-date{display:block;font-size:.65rem;font-weight:500;color:var(--text-secondary);margin-top:1px}.day-pill.active{background:#fff;color:var(--primary-accent);border-bottom-color:var(--primary-accent);font-weight:700;box-shadow:none;transform:none}.day-pill.active .pill-date{color:var(--primary-accent);font-weight:600}.day-pill.today-pill{color:var(--primary-accent)}.day-pill.today-pill:not(.active){background:#ca8a0408}.calendar-grid.mobile-week-mode .mobile-day-selector{display:none!important}.calendar-grid{overflow-x:visible}.calendar-header-row{display:none!important}.calendar-week-grid{display:grid!important;grid-template-columns:60px 1fr!important;min-width:0!important;width:100%!important}.calendar-week-grid .day-column{display:none!important}.calendar-week-grid .day-column[data-mobile-active=true],.calendar-week-grid .time-column{display:block!important}.calendar-grid.mobile-week-mode .calendar-header-row{display:grid!important;grid-template-columns:60px repeat(7,1fr);min-width:700px;font-size:.8rem}.calendar-grid.mobile-week-mode .calendar-week-grid{grid-template-columns:60px repeat(7,1fr)!important;min-width:700px!important;overflow-x:auto}.calendar-grid.mobile-week-mode .calendar-week-grid .day-column{display:block!important}.calendar-grid.mobile-week-mode{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-grid-header{display:none!important}.student-grid-row:not(.student-grid-header){display:flex!important;flex-direction:column;gap:4px;padding:14px 12px!important;border-bottom:2px dashed rgba(0,0,0,.1);position:relative}.student-grid-row:not(.student-grid-header)>div:first-child{display:none!important}.student-grid-row:not(.student-grid-header)>div:nth-child(2){font-weight:700;font-size:1.1rem;color:var(--text-primary)}.student-grid-row:not(.student-grid-header)>div:nth-child(3),.student-grid-row:not(.student-grid-header)>div:nth-child(4){font-size:.9rem;color:var(--text-secondary)}.student-grid-row:not(.student-grid-header)>div:last-child{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.teacher-grid-header{display:none!important}.teacher-grid-row:not(.teacher-grid-header){display:flex!important;flex-direction:column;gap:4px;padding:14px 12px!important;border-bottom:2px dashed rgba(0,0,0,.1)}.teacher-grid-row:not(.teacher-grid-header)>div:first-child{display:none!important}.teacher-grid-row:not(.teacher-grid-header)>div:nth-child(2){font-weight:700;font-size:1.1rem;color:var(--text-primary)}.teacher-grid-row:not(.teacher-grid-header)>div:nth-child(3){font-size:.9rem;color:var(--text-secondary)}.feedback-grid-header{display:none!important}.feedback-grid-row:not(.feedback-grid-header){display:grid!important;grid-template-columns:50px 1fr auto;grid-template-areas:"date title rating" "date student rating";gap:2px 12px;padding:12px;align-items:center}.feedback-grid-row:not(.feedback-grid-header) .feedback-cell-date{grid-area:date;font-size:.8rem;color:var(--text-secondary);font-weight:500;text-align:left}.feedback-grid-row:not(.feedback-grid-header) .feedback-cell-title{grid-area:title;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-grid-row:not(.feedback-grid-header) .feedback-cell-student{grid-area:student;font-size:.85rem;color:var(--text-secondary)}.feedback-grid-row:not(.feedback-grid-header) .feedback-cell-rating{grid-area:rating;justify-self:end}#feedback-modal .modal-content .modal-body{flex-direction:column!important}#feedback-modal .modal-content .modal-body>div:first-child{width:100%!important;border-right:none!important;border-bottom:2px dashed #eee;padding-right:0!important;padding-bottom:12px;margin-bottom:12px}#feedback-modal .modal-content .modal-body>div:first-child .checklist-container{display:flex;flex-wrap:wrap;gap:8px}.rating-row{flex-direction:column!important;align-items:flex-start!important;gap:4px}.modal-overlay{align-items:flex-end}.modal-content{width:100%!important;max-width:none!important;padding:24px 20px!important;border-radius:24px 24px 0 0!important;max-height:92vh;overflow-y:auto;position:fixed;bottom:0;margin:0!important;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -10px 40px #00000026;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}.modal-overlay.visible .modal-content{transform:translateY(0)}.modal-title{font-size:1.5rem;font-weight:800;text-align:left;margin-bottom:20px}.view-row{flex-direction:column;gap:4px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.view-row:last-child{border-bottom:none}.view-label{width:auto;font-size:.85rem}.dashboard-layout{display:block;margin-top:0}.dashboard-sidebar{display:none!important}.dashboard-main{margin-left:0!important;padding:12px 12px 100px;background-color:var(--bg-color);width:100%!important}.school-details-container{padding:0}.school-content-sheet{padding:16px;border-radius:var(--radius-md)}.dashboard-greeting{font-size:1.8rem;margin-bottom:24px}.school-card-grid{grid-template-columns:1fr;gap:20px}.pagination-controls{gap:12px;padding:8px;font-size:.9rem}}@media(max-width:480px){h1{font-size:1.7rem}.hero{padding:20px 0 30px}.container{padding:0 16px}.btn-primary{font-size:.95rem;padding:10px 24px}.school-header h1{font-size:1.5rem}.tab-button{padding:6px 2px;font-size:.68rem}.school-content-sheet{padding:12px}.calendar-nav{gap:4px}.calendar-nav .nav-arrow{width:28px;height:28px;min-width:28px;font-size:1rem}.calendar-nav .nav-date-display{font-size:.78rem;padding:5px 6px}.calendar-nav .nav-today-btn{padding:4px 10px;font-size:.75rem}.modal-content{padding:16px!important}.modal-title{font-size:1.2rem}.input-standard,select.input-standard{font-size:.95rem;padding:10px 12px}}.auth-section{padding:40px 0;display:flex;justify-content:center}.auth-container{display:flex;justify-content:center;width:100%}.auth-card{background:#fff9;padding:40px;border-radius:24px;box-shadow:0 10px 40px #0000000d;border:1px solid rgba(0,0,0,.05);width:100%;max-width:480px;text-align:center;position:relative}.auth-card h2{font-size:2rem;margin-bottom:8px;color:var(--text-primary)}.auth-sub{color:var(--text-secondary);margin-bottom:32px}.auth-form{text-align:left}.form-row{display:flex;gap:16px}.form-group label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #eee;border-radius:var(--radius-lg);font-family:Outfit,sans-serif;font-size:1rem;transition:border-color .2s;background:#fdfdfd}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-accent);background:#fff}.auth-footer{margin-top:24px;font-size:.9rem;color:var(--text-secondary)}.auth-footer a{color:var(--primary-accent);font-weight:600;text-decoration:none}.checklist-item{display:flex;align-items:center;padding:6px 8px;margin-bottom:4px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s}.checklist-item:hover{background-color:#f0f0f0}.checklist-item input[type=checkbox]{width:auto!important;margin-right:12px;cursor:pointer;transform:scale(1.2)}.checklist-item label{cursor:pointer;font-size:.95rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.visible{opacity:1;pointer-events:auto}.modal-card{background:#fffef8;padding:40px;border-radius:24px;max-width:90%;width:450px;text-align:center;box-shadow:0 20px 60px #00000026;border:3px dashed var(--primary-accent);transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.modal-overlay.active .modal-card{transform:scale(1) translateY(0)}.modal-icon{font-size:3.5rem;margin-bottom:24px;display:flex;justify-content:center;align-items:center;width:100%;line-height:1}.modal-title{font-size:1.75rem;color:var(--text-primary);margin-bottom:12px;font-weight:700;font-family:var(--font-main)}.modal-message{color:var(--text-secondary);margin-bottom:32px;font-size:1.1rem;line-height:1.6;white-space:pre-wrap}.school-details-container{max-width:100%;margin:0;padding:0;position:relative;font-family:var(--font-main)}.school-header h1{font-family:var(--font-main);font-weight:800;font-size:3.5rem;margin-top:0;margin-bottom:2rem;line-height:1.1;background:linear-gradient(135deg,#ca8a04,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.dashboard-layout{display:flex;min-height:calc(100vh - var(--top-bar-height))}.dashboard-sidebar{width:var(--sidebar-width);height:calc(100vh - var(--top-bar-height));position:fixed;left:0;top:var(--top-bar-height);background-color:#fff;border-right:1px solid #E5E7EB;z-index:900;padding-top:24px;transition:width .3s ease;display:flex;flex-direction:column}.dashboard-layout.collapsed .dashboard-sidebar{width:80px}.dashboard-main{flex:1;margin-left:var(--sidebar-width);padding:12px 24px 24px;background-color:#f9fafb;min-width:0;transition:margin-left .3s ease}.dashboard-layout.collapsed .dashboard-main{margin-left:80px}.school-tabs{display:flex;flex-direction:column;gap:4px;padding:0 12px;margin-bottom:0;position:relative}.tab-button{background:transparent;border:none;border-radius:var(--radius-md);padding:12px 16px;font-family:var(--font-main);font-weight:500;font-size:14px;cursor:pointer;background-color:transparent;color:#6b7280;transition:all .2s;position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left}@media(min-width:769px){.tab-button .tab-short{display:none}.tab-button .tab-full{display:inline;transition:opacity .2s}.dashboard-layout.collapsed .tab-button .tab-full{display:none}.dashboard-layout.collapsed .tab-button{justify-content:center;padding:12px 0}.dashboard-layout.collapsed .toggle-icon{transform:rotate(180deg)}}.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 2s infinite linear;border-radius:var(--radius-md);position:relative;overflow:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text{height:1em;margin-bottom:.5em;width:100%}.skeleton-text.short{width:60%}.skeleton-text.title{height:1.5em;margin-bottom:1em}.skeleton-lesson-block{position:absolute;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:var(--radius-md);animation:shimmer 2.5s infinite linear}.skeleton-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background-color:#00000008}.skeleton-info{flex:1;display:flex;flex-direction:column;gap:6px}.tab-button.active{background-color:#fefce8;color:#ca8a04;font-weight:600;z-index:15}.tab-button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background-color:var(--primary-accent);border-radius:0 4px 4px 0}.tab-button:hover:not(.active){background-color:#f3f4f6;color:#111827}.school-content-sheet{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;min-height:calc(100vh - 120px);box-shadow:0 1px 3px #0000001a;position:relative;z-index:10}.school-actions{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px;align-items:center}.calendar-nav{display:flex;align-items:center;gap:12px}.nav-arrow{background:#fff;border:1px solid var(--border-color);border-radius:6px;width:34px;height:34px;font-size:1rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-family:var(--font-main)}.nav-arrow:hover{background:#f3f4f6;border-color:#d1d5db}.nav-date-display{font-family:var(--font-main);font-size:.9rem;font-weight:600;color:var(--text-primary);width:220px;text-align:center;padding:8px 12px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.nav-today-btn{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:8px 20px;font-family:var(--font-main);font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.nav-today-btn:hover{background:#f3f4f6;border-color:#d1d5db}.nav-today-btn:active{transform:scale(.95)}.nav-date-display{cursor:pointer;transition:all .2s}.nav-date-display:hover{border-color:var(--primary-accent);background:#e8aa421a}.date-picker-content{max-width:360px;padding:24px}.date-picker-body{margin-top:20px}.picker-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.picker-arrow{background:transparent;border:2px solid var(--text-primary);border-radius:50%;width:32px;height:32px;font-size:1.2rem;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.picker-arrow:hover{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff}.picker-month-year{font-family:var(--font-main);font-size:1.1rem;font-weight:600;color:var(--text-primary)}.mini-calendar{border:2px solid var(--text-primary);border-radius:var(--radius-lg);overflow:hidden}.mini-cal-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f0eee6;border-bottom:2px solid var(--text-primary);padding:8px 0;text-align:center;font-weight:600;font-size:.85rem;color:var(--text-secondary)}.mini-cal-body{display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.mini-cal-day{padding:10px 4px;text-align:center;font-size:.9rem;cursor:pointer;transition:all .15s;border-bottom:1px solid #eee}.mini-cal-day:hover{background:#e8aa4226}.mini-cal-day.other-month{color:#ccc}.mini-cal-day.today{font-weight:700;color:var(--primary-accent)}.mini-cal-day.selected-week{background:#e8aa4240}.mini-cal-day.week-start{border-radius:var(--radius-md) 0 0 8px}.mini-cal-day.week-end{border-radius:0 8px 8px 0}.mini-cal-row{display:contents}.mini-cal-row:hover .mini-cal-day:not(.other-month){background:#e8aa4233}.tab-content{display:none;animation:fadeIn .4s ease-out}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calendar-grid{display:flex;flex-direction:column;width:100%;border:1px solid var(--border-color);border-radius:var(--radius-xl);background:#fff;overflow:hidden;box-shadow:0 4px 20px #00000008}.calendar-header-row{display:grid;grid-template-columns:60px repeat(7,1fr);text-align:center;font-family:var(--font-main);font-weight:600;font-size:.95rem;background-color:#f9fafb;border-bottom:1px solid var(--border-color);padding:12px 0;line-height:1.2;color:var(--text-secondary)}.header-date{display:block;font-size:.8rem;font-weight:400;color:var(--text-secondary);margin-top:2px}.calendar-week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);position:relative;background-color:#fff;background-image:none;background-size:none}.time-column{border-right:1px solid var(--border-color);background-color:#f9fafb;display:flex;flex-direction:column;height:100%}.time-marker{height:60px;color:var(--text-secondary);font-size:.8rem;font-weight:700;text-align:right;padding-right:8px;display:flex;align-items:flex-start;justify-content:flex-end}.day-column{border-right:1px solid rgba(0,0,0,.1);position:relative;height:100%;background:transparent}.day-column:last-child{border-right:none}.day-col.today{background-color:var(--primary-accent);color:#fff;border-radius:5px}.day-column.today{background-color:#e8aa4226}.day-column.non-working-day{background-color:#f3f4f6;background-image:repeating-linear-gradient(135deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 11px);pointer-events:none;opacity:.5}.calendar-now-line{position:absolute;left:0;right:0;height:2px;background-color:#ef4444;z-index:10;pointer-events:none}.calendar-now-line:after{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;background-color:#ef4444;border-radius:var(--radius-full)}.lesson-block{position:absolute;left:1px;right:1px;background-color:var(--primary-accent);color:#fff;font-family:var(--font-main);font-size:.8rem;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4px;border-radius:var(--radius-md);z-index:1;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 4px #0000001a;overflow:hidden}.lesson-block:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 12px #00000026;z-index:20}.lesson-block.is-cancelled{opacity:.85}.lesson-block.is-cancelled:after{content:"✕";position:absolute;top:4px;right:4px;font-size:1.1rem;font-weight:900;color:#e74c3c;text-shadow:0 0 2px white;pointer-events:none;z-index:10}.lesson-block.is-completed{border:2px dashed rgba(255,255,255,.7)}.lesson-time{font-size:.85rem;font-weight:700;display:block;opacity:.9;margin-bottom:2px}.lesson-title{font-family:var(--font-main);font-weight:600;font-size:.95rem;line-height:1.1}.empty-state-text{padding:40px;text-align:center;color:var(--text-secondary);font-style:italic}.dashboard-greeting{font-family:var(--font-main);font-size:2.5rem;font-weight:600;color:var(--text-primary);margin-bottom:40px;margin-top:20px}.school-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-bottom:40px}.school-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;transition:all .2s ease;display:flex;flex-direction:column;justify-content:center;min-height:160px;box-shadow:0 1px 3px #0000001a;text-decoration:none;cursor:pointer}.school-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:var(--primary-accent)}.school-name{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.2}.school-role{font-size:1rem;font-weight:400;color:var(--text-secondary)}.no-schools{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic;grid-column:1 / -1}.btn-create-school{background-color:var(--primary-accent);color:#fff;font-family:var(--font-main);font-weight:600;font-size:1rem;padding:12px 24px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-create-school:hover{background-color:var(--primary-accent-hover)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#11182780;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.visible{opacity:1;pointer-events:all}.modal-content{background-color:#fff;padding:32px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;overflow-x:hidden;position:relative;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:translateY(10px);transition:all .3s ease}.modal-overlay.visible .modal-content{transform:translateY(0)}.modal-title{font-family:var(--font-main);font-weight:800;font-size:1.8rem;color:var(--text-primary);margin-bottom:25px;text-align:center;text-transform:uppercase;letter-spacing:.5px}.form-group{margin-bottom:20px}.form-group label{font-family:var(--font-main);font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.input-standard,input.input-standard,textarea.input-standard,select.input-standard{width:100%;padding:10px 14px;font-family:var(--font-main);font-size:.95rem;background-color:#fff;border:1px solid var(--border-color);border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:var(--text-primary)}.input-standard:focus,input.input-standard:focus,textarea.input-standard:focus,select.input-standard:focus{border-color:var(--primary-accent);box-shadow:0 0 0 3px #ca8a041a}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1}.color-picker{display:flex;gap:15px;align-items:center;height:46px}.color-option{cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center}.color-option input{display:none}.swatch{display:block;width:30px;height:30px;border-radius:50%;border:2px solid transparent;transition:transform .2s}.color-option input:checked+.swatch{transform:scale(1.2);border-color:var(--text-primary);box-shadow:0 0 0 2px #fff inset}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-text{background:transparent;border:none;color:var(--text-secondary);font-weight:500;padding:8px 12px;cursor:pointer;transition:all .2s;font-family:var(--font-main);font-size:.9rem}.btn-text:hover{color:var(--text-primary);background-color:#f3f4f6;border-radius:6px}.hidden{display:none!important}.custom-select-wrapper{position:relative;display:inline-block;vertical-align:middle}.custom-select-wrapper.settings-select,.custom-select-wrapper.settings-select-sm,.custom-select-wrapper.input-standard{border:none!important;padding:0!important;background:transparent!important;box-shadow:none!important}.custom-select{position:relative;width:100%}.custom-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-family:var(--font-main);font-size:.95rem;color:var(--text-primary);background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.custom-select-trigger:hover{border-color:var(--text-secondary)}.custom-select-trigger:after{content:"";width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280' stroke-width='2.5' 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:center;margin-left:10px;transition:transform .2s}.custom-select.open .custom-select-trigger{border-color:var(--primary-accent);box-shadow:0 0 0 3px #ca8a041a}.custom-select.open .custom-select-trigger:after{transform:rotate(180deg)}.bg-white{background-color:#fff!important}.custom-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:2000;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:all .2s ease-out;max-height:250px;overflow-y:auto}.custom-select.open .custom-options{opacity:1;visibility:visible;pointer-events:all;transform:translateY(0)}.custom-option{position:relative;display:block;padding:10px 15px;font-family:var(--font-main);font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .2s;border-bottom:1px solid var(--border-color)}.custom-option:last-child{border-bottom:none}.custom-option:hover{background-color:#f9fafb;color:var(--primary-accent)}.custom-option.selected{background-color:var(--primary-accent);color:#fff}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:16px 24px;min-height:64px;border-bottom:1px solid var(--border-color)}.modal-header .modal-title{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);text-align:left;flex:1;padding-right:16px;line-height:1.2}.modal-header-actions{display:flex;align-items:center;gap:8px;z-index:20;flex-shrink:0}.modal-header-actions .close-modal-lesson,.modal-header-actions .close-modal-student,.modal-header-actions .close-modal-teacher,.modal-header-actions .close-feedback-modal,.modal-header-actions .close-date-picker,.modal-header-actions .close-btn,.modal-header-actions .icon-btn,.modal-header-actions .close-history-modal{position:static!important;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s;transform:none!important}.modal-header-actions .close-modal-lesson:hover,.modal-header-actions .close-modal-student:hover,.modal-header-actions .close-modal-teacher:hover,.modal-header-actions .close-feedback-modal:hover,.modal-header-actions .close-date-picker:hover,.modal-header-actions .close-btn:hover,.modal-header-actions .icon-btn:hover,.modal-header-actions .close-history-modal:hover{background-color:#f3f4f6;color:var(--text-primary)}.modal-header-actions .icon-btn:hover{color:var(--primary-accent)}.close-modal-lesson,.close-modal-student,.close-modal-teacher,.close-feedback-modal,.close-date-picker,.close-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-secondary);transition:color .2s,background-color .2s;line-height:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;z-index:10}.close-modal-lesson:hover,.close-modal-student:hover,.close-modal-teacher:hover,.close-feedback-modal:hover,.close-date-picker:hover,.close-btn:hover{color:var(--text-primary);background-color:#f3f4f6;border-radius:50%}.view-row{display:flex;margin-bottom:15px;align-items:baseline}.view-label{font-family:var(--font-main);font-weight:700;color:var(--text-secondary);width:180px;flex-shrink:0}.view-value{font-family:var(--font-main);font-size:1.1rem;color:var(--text-primary);font-weight:600}.lesson-block{cursor:grab;transition:transform .1s,box-shadow .2s;-webkit-user-select:none;user-select:none}.lesson-block.dragging{opacity:.8;cursor:grabbing;box-shadow:0 10px 20px #0003!important;pointer-events:none;z-index:1000!important}.resize-handle{position:absolute;bottom:0;left:0;right:0;height:12px;background:transparent;cursor:ns-resize;border-radius:0 0 4px 4px;z-index:10}.resize-handle:hover{background:#0000001a}#custom-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#2d343680;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease}#custom-modal.active{opacity:1;pointer-events:all}#custom-modal .modal-card{background-color:var(--bg-color);padding:30px;width:90%;max-width:400px;border:3px solid var(--text-primary);border-radius:var(--radius-md);box-shadow:10px 10px #0000001a;text-align:center;transform:scale(.9);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}#custom-modal.active .modal-card{transform:scale(1)}.modal-icon{font-size:3rem;display:block;margin-bottom:10px}#custom-modal .modal-title{font-family:var(--font-main);font-size:1.5rem;margin-bottom:15px;color:var(--text-primary)}#custom-modal .modal-message{font-family:var(--font-main);font-size:1rem;color:var(--text-secondary);margin-bottom:25px;line-height:1.5}.student-grid-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr 1fr 120px;gap:var(--space-sm);align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);transition:background-color .2s}.student-grid-row:hover:not(.student-grid-header){background-color:#f9fafb}.student-grid-header{background-color:#f9fafb;font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.teacher-grid-row{display:grid!important;grid-template-columns:35px 1fr 1fr 1fr!important;gap:10px;align-items:center;padding:12px 16px!important;border-bottom:1px solid var(--border-color);transition:background-color .2s}.teacher-grid-row:hover:not(.teacher-grid-header){background-color:#f9fafb}.teacher-grid-header{background-color:#f9fafb!important;font-weight:600!important;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.student-grid-row>div:first-child,.student-grid-row>div:last-child{display:flex!important;justify-content:center!important;align-items:center!important}.student-action-btn{width:24px;height:24px;padding:0!important;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;text-decoration:none!important;font-size:1rem;transition:transform .2s}.student-action-btn:hover{transform:scale(1.1);text-decoration:none!important}.hover-indicator{position:absolute;left:0;width:100%;background-color:#e8aa420d;pointer-events:none;z-index:1;border-top:1px solid rgba(232,170,66,.2);border-bottom:1px solid rgba(232,170,66,.2);display:flex;align-items:center;justify-content:center;color:var(--primary-accent);font-weight:800;font-size:.75rem;font-family:var(--font-main)}.lesson-block{z-index:20}.notification-wrapper{position:relative;display:inline-flex;align-items:center;margin-right:5px;height:32px}.icon-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:50%;transition:background-color .2s;position:relative;display:flex;align-items:center;justify-content:center;height:32px;width:32px}.icon-btn:hover{background-color:#0000000d;color:var(--primary-accent)}.notification-badge{position:absolute;top:-5px;right:-5px;background-color:#ff6b6b;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;box-shadow:1px 1px 2px #0003;border:2px solid var(--bg-color);font-family:var(--font-main);transform:none}.notification-badge.hidden{display:none}.feedback-grid-row{display:grid;grid-template-columns:2fr 2fr 1.5fr 1fr;padding:12px 16px;border-bottom:1px solid var(--border-color);align-items:center;cursor:default;transition:background-color .2s}.feedback-grid-row:last-child{border-bottom:none}.feedback-grid-row:hover:not(.feedback-grid-header){background-color:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 12px #00000008}.feedback-grid-header{font-family:var(--font-main);font-weight:600;background-color:#f9fafb;border-bottom:1px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:12px 16px}.feedback-grid-header:hover{background-color:transparent;transform:none;box-shadow:none}.feedback-cell-title{font-family:var(--font-main);font-weight:600;font-size:1rem;color:var(--text-primary)}.feedback-cell-student{font-family:var(--font-main);font-size:1rem;color:var(--text-primary)}.feedback-cell-date{font-family:var(--font-main);font-size:.85rem;color:var(--text-secondary);font-weight:500}.feedback-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ca8a041a;color:var(--primary-accent);border-radius:20px;font-weight:700;font-size:.85rem}.section-title{font-family:var(--font-main);font-size:1.4rem;font-weight:800;margin-bottom:1.5rem;color:var(--text-primary);border-bottom:none;padding-bottom:0;display:flex;align-items:center;gap:12px;letter-spacing:-.02em}.section-title:before{content:"";display:block;width:4px;height:24px;background-color:var(--primary-accent);border-radius:var(--radius-sm);transform:none}.btn-secondary-sm{background-color:#fff;color:var(--text-primary);font-family:var(--font-main);font-weight:600;font-size:.85rem;padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.btn-secondary-sm:hover{background-color:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.pagination-controls{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:32px;font-family:var(--font-main);background:#fff;padding:8px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-color);display:inline-flex;box-shadow:0 1px 3px #0000000d}.btn-text{background:none;border:none;font-family:var(--font-main);font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-weight:600;padding:6px 12px;border-radius:6px}.btn-text:hover:not(:disabled){color:var(--text-primary);background-color:#f3f4f6}.btn-text:disabled{color:#ddd;cursor:not-allowed;text-decoration:none}.calendar-body::-webkit-scrollbar{width:6px}.calendar-body::-webkit-scrollbar-track{background:transparent}.calendar-body::-webkit-scrollbar-thumb{background-color:var(--primary-accent);border-radius:20px;border:2px solid #fff}.notification-dot{position:absolute;top:5px;right:5px;width:10px;height:10px;background-color:#e74c3c;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 2px #0003}.notification-dropdown{position:absolute;top:100%;right:0;width:320px;background:#fff;border:1px solid #eee;box-shadow:0 4px 12px #0000001a;border-radius:var(--radius-md);z-index:1000;padding:10px 0;margin-top:10px}.notification-dropdown.hidden{display:none}.dropdown-header{padding:5px 15px 10px;border-bottom:1px solid #f0f0f0;font-weight:600;font-size:.95rem;color:var(--text-primary)}.notif-item{padding:12px 15px;border-bottom:1px solid #f9f9f9;cursor:pointer;transition:background .2s}.notif-item:hover{background-color:#f5f5f5}.notif-item:last-child{border-bottom:none}.notif-footer{padding:10px 15px 5px;text-align:center;border-top:1px solid #f0f0f0}.notif-view-all{background:none;border:none;color:var(--primary-accent);font-weight:500;cursor:pointer;font-size:.9rem}.notif-view-all:hover{text-decoration:underline}.mobile-bottom-nav,.fab-btn{display:none}@media(max-width:768px){.school-tabs{display:none!important}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;width:100%;height:68px;background:#fff;box-shadow:0 -4px 20px #0000000f;z-index:1000;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-color)}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9ca3af;padding:6px 2px;flex:1;min-width:0;cursor:pointer;transition:all .2s ease}.nav-item.active{color:var(--primary-accent)}.nav-item.active .nav-icon{transform:translateY(-1px)}.nav-icon{width:20px;height:20px;transition:transform .2s ease}.nav-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.01em;font-family:var(--font-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fab-btn{display:flex;position:fixed;bottom:80px;right:20px;width:50px;height:50px;border-radius:50%;background-color:var(--primary-accent);box-shadow:var(--shadow-lg);border:none;z-index:1000;cursor:pointer;align-items:center;justify-content:center;color:#fff;font-size:24px;transition:transform .2s}.fab-btn:active{transform:scale(.9)}.school-content-sheet{padding-bottom:100px!important;margin-top:0;border-radius:var(--radius-lg) 12px 0 0!important;min-height:80vh}.school-header h1{font-size:1.6rem;margin-bottom:.5rem;text-align:left;padding-left:4px}.school-header{padding:20px 20px 0}.school-tabs{display:none}.school-details-container{padding:0!important}#new-lesson-btn,.student-grid-header,.teacher-grid-header,.student-grid-row.student-grid-header,.teacher-grid-row.teacher-grid-header{display:none!important}.student-grid-row,.teacher-grid-row{display:flex!important;flex-direction:column!important;align-items:flex-start!important;padding:16px!important;margin-bottom:16px;background:#fff;border:1px solid var(--border-color)!important;border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000000d;gap:8px!important}.student-grid-row>div:first-child,.teacher-grid-row>div:first-child{display:none!important}.student-grid-row>div:nth-child(2),.teacher-grid-row>div:nth-child(2){font-size:1.15rem!important;font-weight:800!important;color:var(--text-primary);margin-bottom:8px;width:100%;text-align:center;letter-spacing:-.02em}.student-grid-row>div:nth-child(3):before,.teacher-grid-row>div:nth-child(3):before{content:"Имейл:";font-weight:600;color:var(--text-primary);margin-right:8px}.student-grid-row>div:nth-child(3),.teacher-grid-row>div:nth-child(3){font-size:.9rem!important;color:var(--text-secondary);width:100%;display:flex;justify-content:space-between}.student-grid-row>div:nth-child(4):before{content:"Родител:";font-weight:600;color:var(--text-primary);margin-right:8px}.student-grid-row>div:nth-child(5):before,.teacher-grid-row>div:nth-child(4):before{content:"Телефон:";font-weight:600;color:var(--text-primary);margin-right:8px}.teacher-grid-row>div:nth-child(4){font-size:.9rem!important;color:var(--text-secondary);width:100%;display:flex;justify-content:space-between}.student-grid-row>div:nth-child(4),.student-grid-row>div:nth-child(5){font-size:.9rem!important;color:var(--text-secondary);width:100%;display:flex;justify-content:space-between}.student-grid-row>div:empty:after{content:"-";color:#ccc}.student-grid-row>div:last-child,.teacher-grid-row>div:last-child{position:static!important;transform:none!important;width:100%!important;margin-top:0!important;right:auto!important;top:auto!important;text-align:left!important}}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.chalk-loader{width:60px;height:60px;border:6px solid rgba(0,0,0,.1);border-top-color:var(--primary-accent);border-radius:50%;animation:spin 1s linear infinite;border-style:solid;mask-image:url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");box-shadow:0 0 15px #e8aa424d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loading-screen .loading-text{font-family:var(--font-main);font-size:1.5rem;color:var(--text-secondary);font-weight:600;letter-spacing:1px;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.date-trigger{background-color:#fff;padding:10px 14px;font-family:var(--font-main);font-size:1.1rem;color:var(--text-primary);border:2px solid #ccc;border-radius:var(--radius-md);transition:all .2s}.date-trigger:hover{background-color:#f9f9f9;border-color:var(--primary-accent)}.date-like-input{background-color:#fff!important;border:2px solid #ccc!important;border-radius:var(--radius-md)!important;font-family:var(--font-main)!important}.date-like-input:hover{background-color:#f9f9f9!important;border-color:var(--primary-accent)!important}.date-like-input:focus{border-color:var(--primary-accent)!important}#date-picker-modal{z-index:3000}@media(max-width:768px){.form-row.date-time-row{flex-direction:row!important;gap:10px!important}.form-row.date-time-row .form-group{flex:1}}input[type=time].input-standard{padding:10px 14px}input[type=time].input-standard:focus{outline:none}input[type=time].input-standard::-webkit-calendar-picker-indicator{cursor:pointer}input[type=time].input-standard::-moz-focus-inner{border:0}input[type=number].input-standard::-webkit-outer-spin-button,input[type=number].input-standard::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].input-standard{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.duration-selector{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.duration-chip{background:none;border:2px solid #ccc;border-radius:var(--radius-md);padding:5px 10px;font-family:var(--font-main);font-size:1rem;cursor:pointer;transition:all .2s ease;color:#757575}.duration-chip:hover{border-color:var(--primary-accent);color:var(--primary-accent);transform:rotate(-1deg)}.duration-chip.selected{border-color:var(--primary-accent);background-color:var(--primary-accent);color:#fff;font-weight:700;transform:rotate(1deg);box-shadow:2px 2px #0000001a}#custom-duration-btn{width:35px;height:35px;display:flex;justify-content:center;align-items:center;font-size:1.2rem}#custom-duration-btn.selected{display:none!important}#custom-duration-input:not(.hidden){border-color:var(--primary-accent)!important;background-color:var(--primary-accent)!important;color:#fff!important;font-weight:700;transform:rotate(1deg);box-shadow:2px 2px #0000001a}#custom-duration-input::placeholder{color:#fffc!important;font-weight:400}#custom-duration-input.hidden+.custom-duration-suffix{display:none}.custom-duration-suffix{position:absolute;right:18px;top:50%;transform:translateY(-50%) rotate(1deg);color:#fff;font-weight:700;font-size:1rem;pointer-events:none;font-family:var(--font-main)}.pricing-content-wrapper.blurred{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.maintenance-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:990;width:calc(100% - 40px);max-width:600px;padding:40px;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:24px;box-shadow:0 20px 50px #0000001a;text-align:center;border:1px solid var(--border-color)}.maintenance-overlay .brand-accent{font-weight:700}.maintenance-overlay h2{font-size:2rem;margin-bottom:16px;color:var(--text-primary)}.maintenance-overlay p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:32px;line-height:1.6}.maintenance-overlay .btn-primary{padding:16px 32px;font-size:1.1rem}@media(max-width:768px){.maintenance-overlay{width:90%;padding:30px 20px}.maintenance-overlay h2{font-size:1.5rem}.maintenance-overlay p{font-size:1rem}}.demo-badge{display:inline-flex!important;align-items:center;justify-content:center;background-color:var(--primary-accent)!important;color:#fff!important;font-family:Inter,sans-serif!important;font-size:13px!important;font-weight:800!important;text-transform:uppercase;padding:4px 12px!important;border-radius:6px!important;box-shadow:0 2px 8px #00000026;white-space:nowrap!important;line-height:1!important;border:2px solid #ffffff!important;flex-shrink:0;min-width:fit-content;height:auto;opacity:1!important;visibility:visible!important}.settings-layout{display:flex;gap:32px;min-height:400px}.settings-subnav{display:flex;flex-direction:column;gap:4px;min-width:180px;border-right:1px solid var(--border-color);padding-right:24px}.settings-subnav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:none;border-radius:var(--radius-md);font-family:var(--font-main);font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:left;white-space:nowrap}.settings-subnav-item:hover:not(.disabled){background:#f3f4f6;color:var(--text-primary)}.settings-subnav-item.active{background:#ca8a0414;color:var(--primary-accent);font-weight:600}.settings-subnav-item.disabled{opacity:.4;cursor:not-allowed}.settings-content{flex:1;max-width:640px}.settings-section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--border-color)}.settings-section:last-of-type{border-bottom:none}.settings-section-title{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.settings-section-title svg{color:var(--primary-accent);flex-shrink:0}.settings-section-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.settings-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.settings-separator{font-size:1.2rem;color:var(--text-secondary);padding-bottom:10px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.settings-select{font-family:var(--font-main);font-size:.95rem;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);cursor:pointer;min-width:120px;transition:border-color .2s}.settings-select:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 3px #ca8a041a}.settings-day-toggles{display:flex;gap:8px;flex-wrap:wrap}.day-toggle{width:48px;height:48px;border-radius:var(--radius-lg);border:2px solid var(--border-color);background:#fff;font-family:var(--font-main);font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.day-toggle:hover{border-color:var(--primary-accent);color:var(--primary-accent)}.day-toggle.active{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff;box-shadow:0 2px 8px #ca8a0440}.settings-color-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.settings-color-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fafafa;border-radius:var(--radius-md);border:1px solid var(--border-color);transition:box-shadow .2s}.settings-color-row:hover{box-shadow:0 2px 8px #0000000f}.color-hex-input{width:36px;height:36px;border:2px solid var(--border-color);border-radius:var(--radius-md);padding:2px;cursor:pointer;background:none;flex-shrink:0}.color-hex-input::-webkit-color-swatch-wrapper{padding:0}.color-hex-input::-webkit-color-swatch{border:none;border-radius:5px}.color-label-input{flex:1}.settings-input-sm{font-family:var(--font-main);font-size:.9rem;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);transition:border-color .2s}.btn-secondary-sm{padding:6px 12px;font-size:.85rem;border-radius:var(--radius-md);background-color:#f3f4f6;color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s;font-family:var(--font-main);display:inline-flex;align-items:center;gap:6px}.btn-secondary-sm:hover{background-color:#e5e7eb;color:var(--text-primary)}.settings-input-sm:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 3px #ca8a041a}.settings-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.settings-icon-btn:hover{background:#fee2e2;color:#dc2626}.settings-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:none;font-family:var(--font-main);font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.settings-add-btn:hover{border-color:var(--primary-accent);color:var(--primary-accent);background:#ca8a040a}.settings-duration-list,.settings-color-palette{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:20px}.settings-actions{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--border-color);margin-top:8px}@media(max-width:768px){.settings-layout{flex-direction:column;gap:16px}.settings-subnav{flex-direction:row;min-width:0;border-right:none;border-bottom:1px solid var(--border-color);padding-right:0;padding-bottom:12px;overflow-x:auto}.settings-subnav-item{padding:8px 12px;font-size:.8rem}.settings-content{max-width:100%}.settings-row{flex-direction:column;align-items:stretch}.settings-separator{display:none}.day-toggle{width:40px;height:40px;font-size:.8rem}}.settings-color-palette{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:8px 0}.color-swatch-wrapper{position:relative;width:44px;height:44px}.color-swatch{width:100%;height:100%;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--border-color);cursor:pointer;transition:all .2s;display:block;padding:0}.color-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 1px var(--text-secondary)}.color-swatch-remove{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid #fff;opacity:0;transition:opacity .2s;z-index:5;box-shadow:0 2px 4px #0000001a}.color-swatch-wrapper:hover .color-swatch-remove{opacity:1}.color-swatch-add{width:44px;height:44px;border-radius:50%;border:2px dashed var(--border-color);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.color-swatch-add:hover{border-color:var(--primary-accent);color:var(--primary-accent);background-color:var(--bg-color)}.hidden-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.duration-pill{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border:1px solid var(--border-color);border-radius:50%;font-size:.8rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;text-align:center;line-height:1.1;padding:0}.duration-label{display:block;width:100%}.duration-pill:hover{border-color:var(--text-secondary);transform:scale(1.1)}.duration-pill.is-default{background:var(--primary-accent);border-color:var(--primary-accent);color:#fff;box-shadow:0 4px 6px -1px #ca8a044d}.duration-pill-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff;opacity:0;transition:opacity .2s;z-index:5}.duration-pill:hover .duration-pill-remove{opacity:1}.duration-add-inline{display:flex;align-items:center;justify-content:center;background:#fff;border:2px dashed var(--border-color);border-radius:50%;width:48px;height:48px;position:relative;transition:all .2s}.duration-add-inline:focus-within{border-color:var(--primary-accent);border-style:solid;width:80px;border-radius:24px}.duration-input-minimal{border:none;outline:none;width:0;font-size:.85rem;font-weight:600;color:var(--text-primary);background:transparent;transition:width .2s;text-align:center}.duration-add-inline:focus-within .duration-input-minimal{width:40px}.duration-add-btn-minimal{width:32px;height:32px;border-radius:50%;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border:none;outline:none}.duration-add-inline:focus-within .duration-add-btn-minimal{background:transparent;color:var(--primary-accent)}.duration-add-btn-minimal:hover{color:var(--primary-accent);transform:scale(1.1)}.lessons-dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.lessons-status-filters{display:flex;gap:8px;background:#f3f4f6;padding:4px;border-radius:var(--radius-full)}.status-pill{padding:8px 16px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.status-pill.active{background:#fff;color:var(--text-primary);box-shadow:0 2px 4px #0000000d}.lessons-dashboard-grid{display:block;padding-bottom:40px}.lesson-grid-header{display:grid;grid-template-columns:6px 1.5fr 1fr 120px 100px 120px 40px;gap:16px;padding:12px 24px;background:#f9fafb;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;align-items:center}.lesson-meta-group{display:contents}.lesson-row{display:grid;grid-template-columns:6px 1.5fr 1fr 120px 100px 120px 40px;gap:16px;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid var(--border-color);transition:all .2s;cursor:pointer;position:relative}.lesson-row:hover{background:#f9fafb}.lesson-row:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:4px;background:var(--accent-color, var(--primary-accent));border-radius:0 4px 4px 0}.lesson-row-title{font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-row-teacher{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text-primary)}.lesson-row-time,.lesson-row-students,.lesson-row-type{font-size:.85rem;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:6px}.lesson-row-action{display:flex;justify-content:flex-end;color:var(--primary-accent);font-weight:700;font-size:1.2rem}@media(max-width:1024px){.lesson-grid-header,.lesson-row{grid-template-columns:6px 1.5fr 1fr 100px 80px 40px}.lesson-grid-header .lesson-type-col,.lesson-row .lesson-row-type{display:none}}@media(max-width:768px){.lesson-grid-header{display:none}.lesson-row{grid-template-columns:6px 1fr 30px;grid-template-areas:"accent title action" "accent teacher action" "accent meta action";padding:12px 16px;gap:6px 12px;background:#fff;border-bottom:1px solid var(--border-color)}.lesson-row:before{grid-area:accent;top:8px;bottom:8px;width:4px;border-radius:var(--radius-full)}.lesson-row-title{grid-area:title;font-size:.95rem;font-weight:700;color:var(--text-primary)}.lesson-row-teacher{grid-area:teacher;font-size:.8rem;display:flex;align-items:center;gap:6px}.lesson-meta-group{grid-area:meta;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.lesson-row-time,.lesson-row-students,.lesson-row-type{display:flex!important;align-items:center;gap:4px;font-size:.72rem;color:var(--text-secondary);background:#f3f4f6;padding:3px 8px;border-radius:var(--radius-md);border:1px solid var(--border-color);font-weight:600;width:fit-content}.lesson-row-action{grid-area:action;display:flex!important;align-items:center;justify-content:flex-end;font-size:1.2rem;color:var(--primary-accent);font-weight:700}}@media(max-width:768px){.lessons-dashboard-header{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:16px;margin-bottom:16px}.lessons-status-filters{justify-content:space-between;width:100%;background:#f3f4f6;padding:3px;border-radius:var(--radius-full);box-sizing:border-box}.status-pill{flex:1;padding:6px 4px;font-size:.8rem;text-align:center}.lessons-dashboard-header .lessons-search-wrapper input{max-width:100%!important}}.attendance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;width:100%;margin-top:4px}.attendance-card{background:#f9fafb;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s;cursor:pointer;position:relative;text-align:center}.attendance-card:hover{border-color:var(--primary-accent);background:#fff}.attendance-card.present{border-color:#10b981;background:#ecfdf5}.attendance-card.absent{border-color:#ef4444;background:#fef2f2}.attendance-card.late{border-color:#f59e0b;background:#fffbeb}.attendance-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.attendance-status-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.attendance-card.present .attendance-status-label{color:#059669}.attendance-card.absent .attendance-status-label{color:#dc2626}.attendance-card.late .attendance-status-label{color:#d97706}.attendance-badge{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--primary-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;border:2px solid white;box-shadow:0 2px 4px #0000001a}.status-pill[data-status=deleted].active{background-color:#ef4444;border-color:#dc2626}.lesson-row.is-deleted{opacity:.7;background-color:#f9fafb}.status-tag.deleted{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;background:#fee2e2;color:#b91c1c;margin-left:8px;border:1px solid #FECACA}#restore-lesson-btn:hover{color:var(--primary-accent-hover);text-decoration:underline}#delete-lesson-btn:hover{text-decoration:underline}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e5e7eb;transition:.3s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;box-shadow:0 1px 3px #0000001a}input:checked+.slider{background-color:var(--primary-accent)}input:focus+.slider{box-shadow:0 0 1px var(--primary-accent)}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.upsell-card,.requested-card,.active-management-card{animation:fadeInDashboard .4s ease-out}@keyframes fadeInDashboard{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
