@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-sans-cyrillic-ext-wght-normal.7w74d1lj.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-sans-cyrillic-wght-normal.B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-sans-vietnamese-wght-normal.BhFYcaJr.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-sans-latin-ext-wght-normal.DMEAsnHD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-sans-latin-wght-normal.BWQ3gi2K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#20352a;font-synthesis:none;--ink:#20352a;--muted:#738078;--line:#e6ebe3;--green:#67d83f;--green-dark:#286713;--coral-bg:#fff0eb;--coral:#ea8370;--blue-bg:#eaf7fe;--blue:#59b8df;--purple-bg:#f2edff;--purple:#ab8add;--yellow-bg:#fff9dd;--yellow:#d2ae38;--green-bg:#edf8e8;--green-accent:#79bd61;background:#fafbf7;font-family:Nunito Sans Variable,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a,button{touch-action:manipulation}a{color:var(--green-dark);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #2cb7f5}input:focus,select:focus,textarea:focus{border-color:#2cb7f5;outline:3px solid #b9e6fa}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.3px;font-size:36px;font-weight:850;line-height:1.22}h2{letter-spacing:-.5px;font-size:23px;font-weight:800}h3{font-size:18px}p{line-height:1.55}.small,small{font-size:13px;line-height:1.5}.muted{color:var(--muted)}.eyebrow{color:#6d8262;letter-spacing:1.7px;margin-bottom:10px;font-size:10px;font-weight:850;display:block}.button{color:var(--ink);background:#fff;border:1px solid #dfe7d9;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 18px;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.button:hover{background:#f6f9f3;text-decoration:none}.button.primary{background:var(--green);color:#183f0e;border-color:#59c930;box-shadow:0 3px #4fbd2d}.button.primary:hover{background:#72df4c}.button.primary:active{transform:translateY(2px);box-shadow:0 1px #4fbd2d}.full-width{width:100%}.icon-button{color:var(--ink);background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-button:hover{background:#f1f5ec}.icon-button.bordered{border:1px solid var(--line);background:#fff;width:42px;height:42px}.text-button{color:var(--green-dark);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:750;line-height:1.5;display:inline-flex}.text-button:hover{text-decoration:underline}.small-icon{width:26px;height:26px;margin-left:auto}.notice{color:#315268;background:#f0f7fc;border:1px solid #dce6ef;border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:13px 16px;font-size:14px;line-height:1.5;display:flex}.notice.success{color:#376323;background:#eff9e9;border-color:#d7eacb}.notice.error{color:#9b3f32;background:#fff0ec;border-color:#f3d3ca}.error-text{color:#a64033;font-size:13px}.loading-screen{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.app-shell{min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;flex-shrink:0;width:236px;padding:30px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);letter-spacing:-.7px;align-items:center;gap:11px;font-size:23px;font-weight:850;display:flex}.brand,.brand:hover{text-decoration:none}.brand svg{color:#58c532}.sidebar .brand{margin:0 5px 51px}.sidebar-caption{letter-spacing:1.4px;color:#96a08f;margin:0 13px 13px;font-size:9px;font-weight:800}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav a{color:#4a584e;border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:14px 15px;font-size:15px;font-weight:650;text-decoration:none;display:flex}.sidebar nav a:hover{background:#f7f9f4}.sidebar nav a.is-active{color:#306c1d;background:#f0f9e8;border-color:#bce5a3}.sidebar-tip{background:#f6f9ef;border-radius:14px;margin:46px 5px 24px;padding:18px;font-size:13px;line-height:1.5}.sidebar-tip svg{color:#82ad65;margin-bottom:10px;display:block}.sidebar-tip strong{margin-bottom:6px;font-size:13px;display:block}.sidebar-tip p{color:#7a8871;font-size:12px}.account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding-top:20px;display:flex}.account>div:nth-child(2){flex:1;min-width:0}.account strong{text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.account small{color:var(--muted);font-size:11px;display:block}.avatar{color:#478a2e;background:#e8f7dc;border-radius:50%;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:21px;font-weight:800;display:grid}.main-area{width:calc(100% - 236px);max-width:1800px;margin-left:236px;padding:37px 40px 48px}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-header p{margin-top:8px;font-size:14px}.page-header .button{margin-top:6px}.calendar-page{max-width:1360px;margin:0 auto}.calendar-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px #20352a03}.calendar-toolbar{justify-content:space-between;align-items:center;gap:18px;padding:22px 24px 15px;display:flex}.week-navigation{align-items:center;gap:12px;display:flex}.week-title{min-width:225px;padding:0 6px}.week-title strong{font-size:15px;font-weight:800;display:block}.week-title small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.today-button{min-height:42px;margin-left:5px;padding:8px 15px;font-size:13px}.segmented{background:#f4f6f0;border:1px solid #e9ede4;border-radius:11px;flex-shrink:0;gap:3px;padding:4px;display:flex}.segmented button{color:#7a8475;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:800}.segmented button.active{color:#325b23;background:#fff;box-shadow:0 1px 4px #20352a12}.calendar-meta{color:var(--muted);justify-content:space-between;align-items:center;padding:0 25px 22px;font-size:12px;display:flex}.calendar-meta>span{align-items:center;gap:7px;display:flex}.calendar-meta .text-button{font-size:12px}.calendar-scroll{min-height:400px;max-height:calc(100dvh - 310px);overflow:auto}.calendar-grid{grid-template-columns:62px repeat(var(--days),minmax(95px,1fr));min-width:calc(62px + var(--days)*95px);padding-right:18px;display:grid}.day-heading{z-index:4;border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:#fff;justify-content:center;align-items:center;gap:9px;height:60px;display:flex;position:sticky;top:0}.day-heading span{text-transform:capitalize;color:#74816f;font-size:12px}.day-heading strong{font-size:17px;font-weight:750}.day-heading.is-today strong{color:#183f0e;background:#65d13f;border-radius:11px;place-items:center;width:33px;height:33px;display:grid}.day-heading.is-today span{color:#43812d}.time-heading{border-left:0}.time-axis{background:#fff;position:relative}.time-axis span{color:#8b9488;font-size:11px;position:absolute;right:11px;transform:translateY(10px)}.day-column{border-left:1px solid var(--line);position:relative}.hour-cell{background:#fff;border-bottom:1px dashed #e9ede5;height:80px}.hour-cell.non-working{background:#f9faf7}.lesson{z-index:2;border:0;border-left:3px solid var(--accent);background:var(--tint);color:var(--ink);text-align:left;border-radius:7px;flex-direction:column;justify-content:center;gap:1px;padding:6px 8px;transition:filter .15s,box-shadow .15s;display:flex;position:absolute;left:5px;right:5px;overflow:hidden}.lesson:hover{filter:brightness(.98);box-shadow:0 2px 8px #20352a16}.lesson.selected{outline:2px solid var(--accent)}.lesson strong{font-size:12px;font-weight:850}.lesson span,.lesson strong{white-space:nowrap;text-overflow:ellipsis;line-height:1.15;overflow:hidden}.lesson small,.lesson span{font-size:10px}.lesson small{line-height:1.2}.coral{--tint:var(--coral-bg);--accent:var(--coral)}.blue{--tint:var(--blue-bg);--accent:var(--blue)}.purple{--tint:var(--purple-bg);--accent:var(--purple)}.yellow{--tint:var(--yellow-bg);--accent:var(--yellow)}.green{--tint:var(--green-bg);--accent:var(--green-accent)}.calendar-break{z-index:1;border:0;color:#8b9684;background:#eef1e8cc;border-block:1px dashed #dfe5d9;min-height:0;font-size:11px;position:absolute;left:0;right:0;overflow:hidden}.calendar-footer{border-top:1px solid var(--line);color:#84917c;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;font-size:11px;display:flex}.calendar-footer>span{align-items:center;gap:7px;display:flex}.legend-dot{background:#c1d3b4;border-radius:50%;width:7px;height:7px}.weekend-notice{color:#7a631d;background:#fff9df;border-color:#f0e4ac;flex-wrap:wrap;margin:0 22px 16px}.weekend-notice .text-button{margin-left:auto}.onboarding-banner{background:#f0f7e7;border:1px solid #ddebcf;border-radius:15px;align-items:center;gap:17px;margin-bottom:24px;padding:20px 23px;display:flex}.onboarding-banner>div:nth-child(2){flex:1}.onboarding-banner strong{font-size:15px}.onboarding-banner p{color:#718463;margin-top:4px;font-size:13px}.onboarding-icon{color:#659544;background:#e0efcf;border-radius:15px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.content-page{max-width:1150px;margin:0 auto}.card,.settings-section,.student-card{border:1px solid var(--line);background:#fff;border-radius:17px}.empty-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:310px;padding:70px 25px;display:flex}.empty-state svg{color:#97c480}.empty-state h2{color:var(--ink);font-size:23px}.empty-state p{font-size:14px}.empty-state .button{margin-top:7px}.search-box{border:1px solid var(--line);color:#899681;background:#fff;border-radius:12px;align-items:center;gap:12px;max-width:420px;margin-bottom:25px;padding:0 14px;display:flex}.search-box input{background:0 0;border:0;width:100%;min-height:46px;padding:8px 0;font-size:14px}.search-box input:focus{outline:none}.search-box:focus-within{outline:3px solid #b9e6fa}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.student-card{padding:23px}.student-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.student-avatar{background:var(--tint);width:49px;height:49px;color:var(--ink);border-radius:15px;place-items:center;font-size:22px;font-weight:800;display:grid}.student-card h2{overflow-wrap:anywhere;margin-bottom:9px;font-size:20px}.subject-tag{background:var(--tint);border-radius:7px;padding:4px 9px;font-size:12px;display:inline-block}.student-parent{border-top:1px solid var(--line);margin-top:25px;margin-bottom:20px;padding-top:18px}.student-parent small{color:var(--muted);font-size:11px;display:block}.student-parent strong{overflow-wrap:anywhere;margin-top:4px;font-size:14px;display:block}.student-card .text-button{font-size:12px}.settings-page{max-width:900px;margin:0 auto}.settings-section{margin-bottom:22px;padding:28px 30px}.section-title{align-items:center;gap:15px;margin-bottom:28px;display:flex}.section-title h2{font-size:20px}.section-title p{color:var(--muted);margin-top:5px;font-size:13px}.section-icon{background:var(--tint);color:var(--ink);border-radius:14px;flex-shrink:0;place-items:center;width:47px;height:47px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid+*{margin-top:22px}label{flex-direction:column;gap:8px;font-size:13px;font-weight:750;display:flex}label small{color:var(--muted);font-size:11px;font-weight:450;line-height:1.5}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #dce4d7;border-radius:9px;width:100%;min-width:0;padding:11px 12px;font-size:14px;line-height:1.4}input::placeholder{color:#9aa395}input[type=checkbox],input[type=radio]{accent-color:#54bc31;cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0;padding:0}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:13px;font-size:13px;font-weight:750}.checkbox-label{flex-direction:row;align-items:center;gap:10px;display:flex}.work-week{border-top:1px solid var(--line);margin:26px 0 18px}.work-day{border-bottom:1px solid var(--line);align-items:flex-start;gap:18px;padding:17px 0;display:flex}.day-toggle{flex-direction:row;align-items:center;gap:9px;min-width:155px;min-height:40px;font-size:13px;display:flex}.day-intervals{flex-direction:column;flex:1;gap:9px;display:flex}.work-interval{align-items:center;gap:10px;display:flex}.work-interval input{max-width:135px;padding:9px 10px;font-size:13px}.work-interval>span{color:#9da793}.day-intervals .text-button{font-size:11px}.day-off{font-size:13px;line-height:40px}.choice-row{gap:15px;margin-bottom:15px;display:flex}.choice-card{border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:row;flex:1;align-items:center;gap:11px;padding:15px 17px;font-size:13px;display:flex}.choice-card:has(input:checked){background:#f5faef;border-color:#9edb7d}.choice-card small,.choice-card strong{display:block}.choice-card small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:450}.mode-choices{flex-direction:column;gap:12px;margin-bottom:25px;display:flex}.narrow-field{max-width:200px;margin-top:20px;margin-bottom:15px}.settings-section>.small{margin-top:16px}.settings-save{z-index:3;border-top:1px solid var(--line);background:#fafbf7f5;padding:16px 0 8px;position:sticky;bottom:0}.settings-save>.button{margin-left:auto;display:flex}.settings-save .notice{margin-bottom:12px}.dialog{border:1px solid var(--line);width:calc(100% - 32px);max-width:510px;max-height:calc(100dvh - 50px);color:var(--ink);background:#fff;border-radius:21px;padding:0;overflow:auto;box-shadow:0 24px 100px #1c342633}.dialog.wide{max-width:680px}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e35284f}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:26px 28px 20px;display:flex}.dialog-head h2{font-size:25px}.dialog-head p{margin-top:7px;font-size:13px}.dialog-form{flex-direction:column;gap:19px;padding:24px 28px 28px;display:flex}.dialog-form .notice{margin:0}.dialog-form .form-grid+*{margin-top:0}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:11px;margin-top:5px;padding-top:20px;display:flex}.form-note{color:var(--muted);align-self:center;font-size:12px;line-height:1.5}.form-note strong{font-size:12px;font-weight:650;display:block}.form-note small{margin-top:5px;font-size:11px;display:block}.preview-list{border:1px solid var(--line);border-radius:11px;max-height:330px;overflow:auto}.preview-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;font-size:12px;display:flex}.preview-row:last-child{border-bottom:0}.preview-row.conflicting{background:#fff6f2;flex-wrap:wrap}.available-label{color:#639245;font-size:11px}.lesson-detail-time{align-items:center;gap:14px;display:flex}.lesson-detail-time svg{color:#67a044}.lesson-detail-time strong{font-size:16px;display:block}.lesson-detail-time small{color:var(--muted);margin-top:6px;display:block}.color-field{flex-wrap:wrap;gap:8px;display:flex}.color-option{background:var(--tint);cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.color-option input{width:14px;height:14px}.auth-page{grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-story{background:#f0f7e7;flex-direction:column;justify-content:space-between;gap:65px;min-height:100dvh;padding:45px 9%;display:flex}.auth-story h1{letter-spacing:-1.6px;margin-bottom:23px;font-size:clamp(34px,3.3vw,52px);line-height:1.18}.auth-story>div:nth-child(2)>p{color:#738467;max-width:390px;margin-bottom:45px;font-size:16px}.auth-story .eyebrow{color:#7d9b66;font-size:10px}.auth-benefit{color:#4c6741;align-items:center;gap:13px;margin-top:24px;font-size:14px;display:flex}.auth-benefit svg{color:#6bad45;flex-shrink:0}.auth-story>small{color:#91a281;font-size:12px}.auth-form-wrap{background:#fff;justify-content:center;align-items:center;padding:50px 30px;display:flex}.auth-form{flex-direction:column;gap:22px;width:100%;max-width:350px;display:flex}.auth-form>.eyebrow{color:#91a08a;margin-bottom:-7px}.auth-form>h2{letter-spacing:-.9px;font-size:31px;line-height:1.2}.auth-form>p.muted{margin-top:-12px;font-size:14px}.auth-form label{font-size:13px}.auth-form input{min-height:46px}.auth-form>.button{margin-top:4px}.auth-switch{text-align:center;color:var(--muted)}.auth-switch,.auth-switch .text-button{font-size:13px}.auth-form>p.small{text-align:center;align-self:center;max-width:290px;margin-top:0;font-size:11px}.auth-form>.notice{margin:0}@media (width>=1550px){.main-area{padding-left:55px;padding-right:55px}.calendar-scroll{max-height:calc(100dvh - 330px)}.lesson strong{font-size:13px}.lesson small,.lesson span{font-size:11px}}@media (width<=1200px){.sidebar{width:210px;padding-inline:15px}.sidebar .brand{font-size:21px}.main-area{width:calc(100% - 210px);margin-left:210px;padding:30px 25px}.calendar-toolbar{flex-wrap:wrap;padding:19px 19px 15px}.week-navigation{gap:8px}.week-title{min-width:205px;padding:0 2px}.week-title strong{font-size:13px}.today-button{margin-left:0}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-section{padding:24px}.onboarding-banner .button{padding:10px 12px;font-size:12px}.calendar-footer{padding:13px 18px;font-size:10px}.auth-story{padding-inline:9%}}@media (width<=900px){.sidebar{align-items:center;width:80px;padding:26px 11px 18px}.sidebar .brand{margin:0 0 35px}.account>div:nth-child(2),.sidebar .brand span,.sidebar nav a:not(.is-active) span,.sidebar-caption,.sidebar-tip{display:none}.sidebar .brand svg{width:37px;height:37px}.sidebar nav a{justify-content:center;gap:0;padding:14px 16px;font-size:0}.sidebar nav a svg{width:25px;height:25px}.account{flex-direction:column;gap:12px}.main-area{width:calc(100% - 80px);margin-left:80px;padding:28px 24px}.sidebar nav{gap:11px}.calendar-toolbar{gap:12px}.segmented{margin-left:auto}.onboarding-banner{padding:17px}.onboarding-banner .button{white-space:nowrap}.onboarding-banner p{font-size:12px}.page-header h1{font-size:32px}.auth-story{padding:35px 8%}.auth-story h1{font-size:36px}.auth-form-wrap{padding:35px 25px}.auth-story>div:nth-child(2)>p{font-size:14px}.auth-benefit{gap:10px;font-size:12px}.auth-form>h2{font-size:28px}}@media (width<=650px){h1{font-size:30px}.sidebar{border-right:0;border-top:1px solid var(--line);flex-direction:row;justify-content:center;width:100%;height:68px;padding:6px 12px;top:auto;bottom:0;right:0;box-shadow:0 -2px 15px #20352a05}.sidebar .account,.sidebar .brand,.sidebar>.error-text{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;gap:8px;width:100%}.sidebar nav a{border-radius:10px;flex-direction:column;gap:4px;min-width:90px;padding:5px 10px;font-size:10px;display:flex}.sidebar nav a svg{width:22px;height:22px}.main-area{width:100%;margin-left:0;padding:25px 17px 92px}.page-header{align-items:flex-start;gap:12px;margin-bottom:25px}.page-header .eyebrow{letter-spacing:1.2px;font-size:8px}.page-header h1{font-size:29px}.page-header p{max-width:210px;font-size:12px}.page-header>.button{white-space:nowrap;gap:5px;min-height:41px;margin-top:20px;padding:11px 12px;font-size:11px}.page-header>.button svg{width:16px;height:16px}.onboarding-banner{flex-wrap:wrap;gap:12px;padding:15px}.onboarding-icon{border-radius:11px;width:39px;height:39px}.onboarding-icon svg{width:25px;height:25px}.onboarding-banner>div:nth-child(2){min-width:200px}.onboarding-banner strong{font-size:13px}.onboarding-banner .button{margin-left:51px}.calendar-toolbar{gap:14px;padding:17px 13px 12px}.week-navigation{flex:1;justify-content:space-between;gap:7px}.week-title{flex:1;min-width:0}.week-title strong{font-size:11px}.week-title small{font-size:10px}.week-navigation .bordered{width:32px;height:36px}.today-button{min-height:36px;padding:6px 9px;font-size:10px}.segmented{margin-left:0}.segmented button{padding:7px 12px;font-size:11px}.calendar-meta{gap:9px;padding:0 14px 15px;font-size:10px}.calendar-meta .text-button{font-size:11px}.calendar-scroll{min-height:360px;max-height:580px}.calendar-grid{grid-template-columns:48px repeat(var(--days),minmax(100px,1fr));min-width:calc(48px + var(--days)*100px);padding-right:10px}.time-axis span{font-size:10px;right:7px}.calendar-footer{flex-direction:column;align-items:flex-start;gap:7px;padding:13px}.weekend-notice{margin:0 12px 14px;padding:10px;font-size:12px}.weekend-notice .text-button{font-size:11px}.student-grid{grid-template-columns:1fr;gap:15px}.student-card{padding:20px}.student-card-top{margin-bottom:13px}.student-parent{margin-top:18px;padding-top:15px}.empty-state{padding:45px 18px}.empty-state h2{font-size:20px}.empty-state p{font-size:13px}.settings-section{padding:20px 17px}.section-title{align-items:flex-start;gap:11px}.section-title h2{font-size:18px}.section-title p{font-size:12px}.section-icon{border-radius:12px;width:40px;height:40px}.form-grid{grid-template-columns:1fr;gap:19px}.work-day{flex-direction:column;gap:9px}.day-toggle{min-height:26px}.day-intervals{width:100%;padding-left:27px}.day-off{padding-left:27px;line-height:24px}.work-interval{gap:8px}.work-interval input{max-width:110px;padding:8px}.choice-row{flex-direction:column;gap:10px}.choice-card{padding:13px}.choice-card small{font-size:11px}.settings-save{padding-top:12px;bottom:66px}.settings-save .notice{font-size:12px}.settings-save .button{width:100%}.dialog{border-radius:17px;width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.dialog-head{padding:21px 19px 16px}.dialog-head h2{font-size:22px}.dialog-head p{font-size:12px}.dialog-form{gap:17px;padding:19px}.dialog-actions{gap:8px}.dialog-actions .button{padding:10px 12px;font-size:12px}.preview-row{padding:11px;font-size:11px}.auth-page{background:#fff;flex-direction:column;min-height:100dvh;display:flex}.auth-story{gap:0;min-height:auto;padding:25px 24px}.auth-story .brand{font-size:22px}.auth-story>div:nth-child(2),.auth-story>small{display:none}.auth-form-wrap{flex:1;align-items:flex-start;padding:39px 24px 50px}.auth-form{gap:21px;max-width:390px}.auth-form>h2{font-size:29px}.auth-form>.eyebrow{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mobile-account{display:none}@media (width<=650px){.mobile-account{color:var(--muted);justify-content:space-between;align-items:center;margin-top:-12px;margin-bottom:14px;font-size:11px;display:flex}.mobile-account .icon-button{width:30px;height:30px}}.series-warnings{display:block}.series-warnings summary{cursor:pointer;font-weight:750}.series-warning{border-top:1px solid #f3d3ca;margin-top:12px;padding-top:12px}.series-warning strong{margin-bottom:5px;display:block}.series-warning .text-button{color:#9b3f32;font-size:13px}.family-shell{min-height:100dvh}.family-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;gap:20px;height:94px;padding:0 6%}.family-account,.family-header{align-items:center;display:flex}.family-account{color:var(--muted);gap:18px;font-size:13px}.family-nav{border-bottom:1px solid var(--line);gap:30px;max-width:1100px;margin:0 auto;padding:0 25px;display:flex}.family-nav a{color:#85927a;border-bottom:3px solid #0000;align-items:center;gap:9px;padding:20px 3px 17px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.family-nav a.is-active{color:#42752b;border-color:#67d83f}.family-main{max-width:1100px;margin:auto;padding:37px 25px 70px}.family-page-heading{margin-bottom:29px}.family-page-heading h1{font-size:33px;line-height:1.25}.family-page-heading p{margin-top:10px;font-size:14px}.family-content-grid{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:27px;display:grid}.student-filter{flex-wrap:wrap;gap:8px;margin-bottom:25px;display:flex}.student-filter button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:750}.student-filter button.selected{color:#387021;background:#eff8e8;border-color:#aadc8d}.next-lesson-card{background:#fff;border:1px solid #dce9d2;border-radius:18px;padding:28px}.next-lesson-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:23px;display:flex}.next-lesson-title h2{font-size:29px}.next-lesson-title p{color:var(--muted);margin-top:5px;font-size:14px}.lesson-subject-icon{background:var(--tint);color:var(--accent);border-radius:16px;flex-shrink:0;place-items:center;width:58px;height:58px;display:grid}.next-lesson-meta{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.next-lesson-meta p{flex-wrap:wrap;align-items:center;gap:11px;font-size:16px;display:flex}.next-lesson-meta svg{color:#87937d}.next-lesson-meta .muted{font-size:12px}.next-lesson-actions{gap:12px;margin:23px 0 17px;display:flex}.next-lesson-actions .button{flex:1;padding:12px 14px;font-size:13px}.next-lesson-card>.small{font-size:11px}.family-teacher-card{background:#f1f6ea;border:1px solid #e5ecd9;border-radius:16px;margin-bottom:18px;padding:24px}.family-teacher-card h3{margin-bottom:6px;font-size:19px}.family-teacher-card .eyebrow{letter-spacing:1.3px;font-size:9px}.family-rules{border-top:1px solid #dfe8d5;margin-top:21px;margin-bottom:20px;padding-top:20px}.family-rules strong{font-size:13px}.family-rules p{color:#7b8971;margin-top:10px;font-size:12px}.family-teacher-card>.text-button{font-size:12px}.family-time-note{color:#929e88;align-items:flex-start;gap:8px;padding:0 8px;font-size:11px;display:flex}.family-time-note svg{flex-shrink:0;margin-top:2px}.upcoming-lessons{margin-top:30px}.upcoming-lessons h2{margin-bottom:18px;font-size:20px}.family-lesson-row{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:15px;display:flex}.family-lesson-row:hover{background:#f7faf3;border-color:#cddfc0}.family-lesson-row>div:nth-child(2){flex:1}.family-lesson-row>div>strong{font-size:13px;display:block}.family-lesson-row>div>span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.lesson-date-tile{background:var(--tint);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:46px;height:50px;display:flex}.lesson-date-tile strong{line-height:1.05;font-size:20px!important}.lesson-date-tile span{line-height:1.1;margin-top:2px!important;font-size:9px!important}.family-lesson-row>svg{color:#9fb294}.family-requests{margin-bottom:30px}.family-requests>h2{margin-bottom:16px;font-size:20px}.moved-label{color:#4c942f;margin-top:6px;font-size:10px;display:block}.request-card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:17px;padding:22px}.request-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.request-card-heading>div>strong{font-size:17px;display:block}.request-card-heading>div>span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.status-chip{color:#8b7531;white-space:normal;background:#f5f1df;border-radius:7px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex}.status-chip svg{flex-shrink:0}.status-chip.applied{color:#4b792e;background:#edf7e5}.status-chip.rejected,.status-chip.superseded{color:#8b9485;background:#f2f3ef}.status-chip.proposed{color:#4f829d;background:#eaf5fd}.request-times{border-bottom:1px solid var(--line);align-items:center;gap:18px;margin-bottom:14px;padding-bottom:17px;display:flex}.request-times>div{flex:1}.request-times small,.time-comparison small{color:#8c9686;margin-bottom:6px;font-size:10px;font-weight:650;display:block}.request-times strong{font-size:13px;display:block}.request-times span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.request-times>svg{color:#96b17e;flex-shrink:0}.request-card>p.small{font-size:10px}.request-reason{color:#859078;margin-top:14px;font-size:12px}.request-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.request-actions .button{min-height:40px;padding:10px 14px;font-size:12px}.request-actions>.text-button{font-size:12px}.secondary-text{color:#8a9484}.request-card>.notice{margin:16px 0 0}.request-confirm{background:#f6f9f0;border:1px solid #e3ebd9;border-radius:10px;margin-top:18px;padding:16px}.request-confirm>p{font-size:13px}.request-confirm .request-actions{margin-top:14px}.request-history-toggle{margin-top:24px;margin-bottom:22px}.reschedule-current{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:21px;display:flex}.reschedule-current>svg{color:#8ca17d;flex-shrink:0}.reschedule-current small{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.reschedule-current strong{font-size:14px;display:block}.section-subtitle{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-subtitle h3{font-size:17px}.section-subtitle .small{font-size:11px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-height:320px;padding:3px;display:grid;overflow:auto}.slot-option{color:var(--ink);text-align:left;background:#fff;border:1px solid #dce6d5;border-radius:12px;flex-direction:column;gap:7px;min-height:90px;padding:16px 12px;display:flex}.slot-option:hover{background:#f1f9e9;border-color:#92d36e}.slot-option>strong{font-size:17px;font-weight:800}.slot-option>span{color:var(--muted);font-size:11px}.slot-option>small{color:#9b8033;background:#fcf8e7;border-radius:5px;align-self:flex-start;padding:4px 5px;font-size:9px}.date-picker-row{align-items:flex-end;gap:12px;display:flex}.date-picker-row label{flex:1}.date-picker-row>.button{min-height:43px;font-size:12px}.time-comparison{align-items:center;gap:14px;display:flex}.time-comparison>div{background:#f7f9f3;border-radius:12px;flex:1;min-height:110px;padding:17px 15px}.time-comparison strong{font-size:15px;line-height:1.45;display:block}.time-comparison span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.time-comparison .new-time{background:#edf8e3;border:1px solid #d9ebca}.time-comparison>svg{color:#8cb277;flex-shrink:0}.confirmation-note{font-size:14px;font-weight:700}.result-symbol{color:#64a83f;background:#edf8e4;border-radius:50%;align-self:center;place-items:center;width:73px;height:73px;margin:5px 0;display:grid}.result-symbol.waiting{color:#c4a247;background:#fff7db}.result-lead{text-align:center;align-self:center;max-width:520px;font-size:15px}.history-heading{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:20px;font-size:16px;display:flex}.history-heading svg{color:#859b76}.history-entry{border-left:2px solid #b1d49a;flex-direction:column;gap:8px;padding-left:16px;font-size:13px;display:flex}.history-entry p>small{color:var(--muted);min-width:47px;font-size:11px;display:inline-block}.history-timestamp{color:#9fa995;font-size:10px}.invitation-symbol{color:#60a43b;background:#edf8e5;border-radius:17px;align-self:center;place-items:center;width:63px;height:63px;margin:4px 0;display:grid}.student-card-actions{align-items:flex-start;gap:12px}.join-page,.student-card-actions{flex-direction:column;display:flex}.join-page{align-items:center;min-height:100dvh;padding:40px 22px 65px}.join-page>.brand{margin-bottom:35px}.join-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:100%;max-width:500px;padding:32px}.join-card>h1{letter-spacing:-.9px;margin-bottom:12px;font-size:30px}.join-card>p.muted{font-size:14px}.join-student{background:#f2f8ea;border-radius:13px;align-items:center;gap:12px;margin:25px 0;padding:19px;display:flex}.join-student>svg{color:#6daa49;flex-shrink:0}.join-student strong{font-size:18px;display:block}.join-student small{color:#7d8f70;margin-top:3px;font-size:12px;display:block}.join-card>form{flex-direction:column;gap:21px;display:flex}.join-card>.notice{margin-top:20px}.join-footnote{text-align:center;margin-top:22px;font-size:11px!important}.messages-workspace{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:260px minmax(0,1fr);height:calc(100dvh - 210px);min-height:580px;max-height:780px;display:grid;overflow:hidden}.conversation-list{border-right:1px solid var(--line);background:#fbfcf9;overflow:auto}.conversation-list-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 20px 19px;display:flex}.conversation-list-title h2{font-size:17px}.conversation-list-title>span{color:#91a080;background:#edf2e6;border-radius:5px;padding:3px 6px;font-size:11px}.conversation-item{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:19px 15px;display:flex;position:relative}.conversation-item:hover{background:#f2f7ea}.conversation-item.active{background:#ecf6e4}.conversation-avatar{color:#699548;background:#e0edce;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:grid}.conversation-item>div:nth-child(2){flex:1;min-width:0}.conversation-item strong{font-size:12px;display:block}.conversation-item span:not(.unread-badge){color:#8a977e;margin-top:4px;font-size:10px;display:block}.conversation-item p{color:#7a8870;white-space:nowrap;text-overflow:ellipsis;margin-top:7px;font-size:11px;overflow:hidden}.nav-badge,.unread-badge{color:#244e15;background:#69cb42;border-radius:50%;flex-shrink:0;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-weight:800;display:grid}.conversation-thread{flex-direction:column;min-width:0;display:flex;overflow:hidden}.conversation-thread>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:21px 23px 18px;display:flex}.conversation-thread>header h2{font-size:19px}.conversation-thread>header p{color:var(--muted);margin-top:4px;font-size:11px}.conversation-note{color:#8b9782;border-bottom:1px solid var(--line);background:#f7faf3;align-items:flex-start;gap:7px;padding:11px 20px;font-size:10px;display:flex}.conversation-note svg{flex-shrink:0}.message-list{align-items:flex-start;gap:13px;min-height:0;padding:23px;overflow:auto}.message-empty,.message-list{flex-direction:column;flex:1;display:flex}.message-empty{text-align:center;color:#99ac89;justify-content:center;align-self:center;align-items:center;gap:15px;max-width:300px;padding:25px 15px}.message-empty strong{color:#728965;font-size:16px}.message-empty p{color:#8e9c83;font-size:12px}.message-bubble{overflow-wrap:anywhere;background:#f2f4ef;border-radius:12px 12px 12px 2px;max-width:85%;padding:12px 14px}.message-bubble.mine{background:#eaf6df;border-radius:12px 12px 2px;align-self:flex-end}.message-bubble>strong{color:#799765;margin-bottom:6px;font-size:10px;display:block}.message-bubble>p{white-space:pre-wrap;font-size:13px;line-height:1.5}.message-bubble>small{color:#97a38c;text-align:right;margin-top:8px;font-size:9px;display:block}.message-composer{border-top:1px solid var(--line);align-items:center;gap:12px;padding:17px 19px;display:flex}.message-composer textarea{resize:vertical;flex:1;min-height:66px;max-height:170px;font-size:13px}.message-composer>.button{gap:7px;min-height:44px;padding:11px 12px;font-size:11px}.message-composer svg{width:19px;height:19px}.conversation-thread>.notice{margin:10px 18px 0;padding:10px;font-size:11px}.conversation-placeholder{padding:23px 20px}.mobile-conversation-back{display:none}.earlier-messages{align-self:center;margin:0 0 8px;font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar nav a{position:relative}.sidebar nav .nav-label{flex:1}.sidebar nav .nav-badge{margin-left:auto;font-size:10px}@media (width<=1200px){.messages-workspace{grid-template-columns:225px minmax(0,1fr)}.message-composer>.button>span{display:none}.family-content-grid{grid-template-columns:minmax(0,1fr) 250px;gap:22px}.family-teacher-card{padding:20px}.next-lesson-card{padding:24px}.family-main{padding-top:30px}}@media (width<=900px){.sidebar nav .nav-label{display:none}.sidebar nav .nav-badge{min-width:17px;height:17px;font-size:9px;position:absolute;top:3px;right:2px;display:grid!important}.family-content-grid{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.next-lesson-title h2{font-size:26px}.next-lesson-meta p{font-size:14px}.next-lesson-meta .muted{font-size:10px}.next-lesson-actions{flex-direction:column;gap:10px}.family-rules p{font-size:11px}.messages-workspace{grid-template-columns:205px minmax(0,1fr)}.request-card{padding:20px}.request-times{gap:12px}.request-times strong{font-size:12px}.request-card-heading{gap:10px}.request-card-heading>div>strong{font-size:15px}.status-chip{max-width:180px;font-size:9px}.message-list{padding:18px}.message-bubble{max-width:95%}.message-composer{gap:10px;padding:14px}}@media (width<=650px){.sidebar nav a{flex:1;gap:5px;min-width:0;padding:5px 4px;font-size:8px}.sidebar nav .nav-label{flex:0;display:block}.sidebar nav{gap:3px}.sidebar nav .nav-badge{min-width:14px;height:14px;font-size:8px;top:0;right:8px}.family-header{height:77px;padding:0 20px}.family-header .brand{gap:8px;font-size:21px}.family-header .brand svg{width:30px;height:30px}.family-account{gap:7px}.family-account>span{white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:10px;overflow:hidden}.family-account .icon-button{width:31px;height:31px}.family-nav{z-index:10;border-bottom:0;border-top:1px solid var(--line);background:#fff;justify-content:space-around;gap:20px;height:66px;padding:0 30px;position:fixed;bottom:0;left:0;right:0}.family-nav a{border-top:3px solid #0000;border-bottom:0;flex-direction:column;justify-content:center;gap:5px;min-width:108px;padding:7px 23px;font-size:10px}.family-nav a.is-active{background:#f3f9ec;border-top-color:#67d83f}.family-main{padding:30px 18px 95px}.family-page-heading{margin-bottom:24px}.family-page-heading h1{letter-spacing:-.8px;font-size:28px;line-height:1.2}.family-page-heading p{margin-top:10px;font-size:12px}.family-content-grid{grid-template-columns:1fr;gap:25px}.next-lesson-card{border-radius:16px;padding:22px 20px}.next-lesson-title{margin-bottom:22px}.next-lesson-title h2{font-size:27px}.next-lesson-title p{max-width:220px;font-size:12px}.lesson-subject-icon{border-radius:13px;width:48px;height:48px}.lesson-subject-icon svg{width:28px;height:28px}.next-lesson-meta{gap:14px}.next-lesson-meta p{font-size:14px}.next-lesson-meta .muted{width:100%;margin-left:32px;display:block}.next-lesson-meta p>svg{width:20px;height:20px}.next-lesson-actions{margin-top:22px}.next-lesson-actions .button{min-height:45px}.family-teacher-card{padding:21px}.family-lesson-row{gap:11px;padding:12px}.family-lesson-row>div>strong{font-size:12px}.family-lesson-row>div>span{font-size:10px}.family-lesson-row>svg{flex-shrink:0;width:17px}.family-teacher-card h3{font-size:18px}.family-rules p{font-size:12px}.family-aside{margin-top:2px}.upcoming-lessons>h2{font-size:18px}.student-filter{gap:7px}.student-filter button{padding:9px 12px;font-size:11px}.request-card{padding:18px}.request-card-heading{flex-wrap:wrap;gap:12px}.request-card-heading>div{flex:1}.request-card-heading>div>strong{font-size:15px}.request-card-heading .status-chip{max-width:150px;font-size:9px;line-height:1.5}.request-times{flex-direction:column;align-items:stretch;gap:11px}.request-times>svg{align-self:center;height:17px;transform:rotate(90deg)}.request-times>div{background:#f7f9f2;border-radius:9px;padding:12px}.request-times strong{font-size:12px}.request-times small{font-size:10px}.request-actions{gap:9px}.request-actions .button{flex:1;padding:10px;font-size:11px}.request-actions>.text-button{padding:5px;font-size:11px}.request-confirm{padding:13px}.request-confirm>p{font-size:12px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.slot-option{min-height:88px;padding:13px 10px}.slot-option>strong{font-size:16px}.slot-option>span{font-size:10px}.slot-option>small{font-size:9px}.section-subtitle{flex-wrap:wrap;gap:6px}.section-subtitle h3{font-size:16px}.section-subtitle .small{font-size:10px}.date-picker-row{gap:9px}.date-picker-row>.button{padding:10px 12px;font-size:11px}.reschedule-current{gap:10px;padding-bottom:18px}.reschedule-current strong{font-size:12px}.reschedule-current small{font-size:10px}.time-comparison{flex-direction:column;align-items:stretch;gap:10px}.time-comparison>div{min-height:0;padding:15px}.time-comparison>svg{align-self:center;height:19px;transform:rotate(90deg)}.time-comparison strong{font-size:14px}.confirmation-note{font-size:13px}.result-lead{font-size:14px}.result-symbol{width:62px;height:62px}.join-page{padding:30px 16px 45px}.join-page>.brand{margin-bottom:28px}.join-card{border-radius:18px;padding:26px 22px}.join-card>h1{font-size:28px}.join-card>p.muted{font-size:13px}.join-student{gap:10px;padding:17px}.join-student strong{font-size:17px}.join-student small{font-size:11px}.join-card>form{gap:20px}.messages-workspace{border-radius:14px;height:calc(100dvh - 260px);min-height:410px;max-height:none;display:block;position:relative}.conversation-list{border-right:0;height:100%;display:none}.conversation-thread{height:100%;display:flex}.messages-workspace.show-conversations .conversation-list{display:block}.messages-workspace.show-conversations .conversation-thread{display:none}.mobile-conversation-back{width:29px;height:32px;display:inline-flex}.conversation-thread>header{gap:7px;padding:15px 12px}.conversation-thread>header h2{font-size:16px}.conversation-thread>header p{font-size:10px}.conversation-list-title{padding:20px}.conversation-item{gap:12px;padding:17px 18px}.conversation-item strong{font-size:13px}.conversation-item p{font-size:12px}.conversation-item span:not(.unread-badge){font-size:11px}.conversation-avatar{border-radius:12px;width:40px;height:40px;font-size:20px}.conversation-note{padding:10px 13px;font-size:9px}.message-list{gap:11px;padding:15px}.message-bubble{max-width:91%;padding:11px 12px}.message-bubble>p{font-size:12px}.message-bubble>small{font-size:8px}.message-composer{gap:9px;padding:12px}.message-composer textarea{min-height:59px;font-size:12px}.message-composer .button{min-height:43px;padding:11px}.message-composer .button>span{display:none}.message-empty strong{font-size:15px}.message-empty p{font-size:11px}.family-page .messages-workspace{height:calc(100dvh - 310px)}.request-history-toggle{font-size:12px}}.family-nav a{position:relative}.family-nav a>.nav-badge{min-width:18px;height:18px;font-size:9px}@media (width<=650px){.family-nav a>.nav-badge{min-width:16px;height:16px;font-size:8px;position:absolute;top:8px;right:26px}}.teacher-utility-bar{justify-content:flex-end;min-height:24px;margin:-17px 0 13px;display:flex}.notification-shortcut{color:#7b8b70;align-items:center;gap:7px;padding:4px 0;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.notification-shortcut:hover{color:#3e7725;text-decoration:none}.attention-dot{background:#f2a953;border-radius:50%;width:7px;height:7px;margin-left:2px;display:inline-block}.telegram-card{background:#fff;border:1px solid #dfe9ee;border-radius:16px;margin-bottom:22px;padding:25px;scroll-margin-top:20px}.telegram-card-heading{align-items:center;gap:12px;margin-bottom:19px;display:flex}.telegram-icon{color:#46a7d9;background:#eaf6fd;border-radius:13px;flex-shrink:0;place-items:center;width:45px;height:45px;display:grid}.telegram-card-heading>div:nth-child(2){flex:1;min-width:0}.telegram-card-heading h2{font-size:20px}.telegram-card-heading p{color:#8b9a9d;margin-top:4px;font-size:11px}.telegram-state{color:#5f873c;background:#edf8e5;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:5px 7px;font-size:10px;font-weight:700;display:inline-flex}.telegram-card>p.small{font-size:12px}.telegram-unconfigured{color:#8a9895;background:#f5f8f8;border-radius:11px;gap:11px;padding:16px;display:flex}.telegram-unconfigured>svg{color:#9aa7a1;flex-shrink:0;margin-top:2px}.telegram-unconfigured strong{color:#718278;font-size:13px;font-weight:700}.telegram-unconfigured p{margin-top:7px;font-size:12px;line-height:1.6}.telegram-connection-name{margin-bottom:9px;font-size:14px;font-weight:750}.telegram-card-actions{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:22px;display:flex}.telegram-card-actions .text-button{font-size:12px}.telegram-card>.button{margin-top:19px;font-size:13px}.telegram-link-instructions{background:#f2f8ed;border-radius:10px;margin-top:18px;padding:15px}.telegram-link-instructions>strong{font-size:14px}.telegram-link-instructions>p{color:#839779;margin-top:7px;font-size:12px}.telegram-link-field{margin:17px 0 12px;font-size:11px}.telegram-link-field input{padding:10px;font-size:11px}.telegram-card>.text-button{margin-bottom:14px;font-size:12px}.telegram-card>.notice{margin-top:16px;margin-bottom:0;font-size:12px}.telegram-worker-notice{color:#927834;background:#fff9e8;border-color:#f0e6c3}.telegram-card.compact{padding:22px}.telegram-card.compact .telegram-card-heading{flex-wrap:wrap;gap:10px;margin-bottom:15px}.telegram-card.compact .telegram-card-heading>div:nth-child(2){min-width:130px}.telegram-card.compact .telegram-card-heading h2{font-size:18px}.telegram-card.compact .telegram-card-heading p{font-size:10px}.telegram-card.compact .telegram-icon{border-radius:11px;width:39px;height:39px}.telegram-card.compact .telegram-icon>svg{width:25px;height:25px}.telegram-card.compact .telegram-state{margin-top:-3px;margin-left:49px}.telegram-card.compact .telegram-unconfigured{gap:8px;padding:12px}.telegram-card.compact .telegram-unconfigured>svg{width:17px;height:17px}.telegram-card.compact .telegram-unconfigured p,.telegram-card.compact .telegram-unconfigured strong{font-size:11px}.telegram-card.compact>.button{width:100%;padding:12px;font-size:12px}.telegram-card.compact>p.small{font-size:11px}.telegram-card.compact .telegram-card-actions{gap:14px}.telegram-card.compact .telegram-card-actions .text-button{font-size:11px}.student-telegram-state{color:#a0a999;align-items:center;gap:6px;margin-top:-6px;margin-bottom:19px;font-size:10px;display:flex}.student-telegram-state.connected{color:#599a3b}.student-telegram-state svg{flex-shrink:0}.attendance-confirmed{color:#61913e;align-items:center;gap:7px;margin-top:18px;font-size:12px;display:flex}.next-lesson-actions{flex-wrap:wrap}.next-lesson-actions>.button{white-space:nowrap}.next-lesson-actions>.button:last-child{color:#819173;box-shadow:none;background:#fff;border-color:#edf0e7;flex-grow:0;flex-basis:100%}.notification-intro{color:#7c8e6a;background:#f1f6e9;border:1px solid #e4ecd9;border-radius:12px;align-items:flex-start;gap:11px;margin-bottom:20px;padding:17px 19px;display:flex}.notification-intro>svg{color:#8daf6e;flex-shrink:0;margin-top:1px}.notification-intro p{font-size:12px}.notification-worker-warning{color:#907b35;background:#fff8e1;border-color:#f0e2ab;font-size:12px}.notification-filters{flex-wrap:wrap;gap:9px;margin-bottom:23px;display:flex}.notification-filters>button{border:1px solid var(--line);color:#8e9a84;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:10px 15px;font-size:12px;font-weight:700;display:flex}.notification-filters>button.selected{color:#4d7c35;background:#f0f8e8;border-color:#bbdda7}.notification-filters>button>span{color:#a28a4a;background:#f4e9cf;border-radius:4px;padding:2px 5px;font-size:10px;line-height:1.3}.notification-card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:15px;padding:22px}.notification-card.failed,.notification-card.uncertain{border-color:#ebd4c3}.notification-card-header{align-items:flex-start;gap:12px;display:flex}.notification-kind-icon{color:#96a682;background:#f4f7ee;border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.notification-card.sent .notification-kind-icon{color:#82ad65;background:#eef8e8}.notification-card.failed .notification-kind-icon,.notification-card.uncertain .notification-kind-icon{color:#c39d5b;background:#fff3e3}.notification-title{flex:1;min-width:0}.notification-title h2{overflow-wrap:anywhere;letter-spacing:-.2px;font-size:16px;line-height:1.4}.notification-title p{color:#8f9b87;margin-top:5px;font-size:11px}.notification-status{color:#91a082;background:#f2f5ed;border-radius:6px;flex-shrink:0;max-width:170px;padding:6px 8px;font-size:10px;font-weight:700;line-height:1.3}.notification-status.sent{color:#659144;background:#eaf7e0}.notification-status.failed{color:#b17950;background:#fff0e6}.notification-status.uncertain{color:#a48b3c;background:#fff5d5}.notification-status.suppressed{color:#9b9989;background:#f5f4ee}.notification-timing{color:#a0ab98;margin:14px 0 0;padding-left:52px;font-size:10px}.notification-error{color:#ad7a5d;margin-top:17px;font-size:12px;line-height:1.6}.notification-uncertain{background:#fffae9;border:1px solid #f0e6be;border-radius:10px;margin-top:17px;padding:14px}.notification-uncertain>strong{color:#96823f;font-size:13px;display:block}.notification-uncertain>p{color:#a29262;margin-top:6px;font-size:12px}.notification-muted{color:#96a088;margin-top:16px;font-size:12px}.notification-text{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.notification-text summary{color:#91a181;cursor:pointer;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;list-style:none;display:flex}.notification-text summary::-webkit-details-marker{display:none}.notification-text summary:focus-visible{outline-offset:4px;outline:3px solid #b9e6fa}.notification-text[open] summary svg{transform:rotate(180deg)}.notification-text>p{color:#667758;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:14px;font-size:13px;line-height:1.6}.notification-actions{justify-content:flex-end;margin-top:17px;display:flex}.notification-actions>.button{min-height:39px;padding:10px 13px;font-size:11px}.notification-list-note{color:#a0ad94;margin-top:21px;font-size:11px}.notifications-page>.telegram-card.compact{margin-bottom:22px}.notifications-page>.telegram-card.compact .telegram-state{margin:0}.notifications-page>.telegram-card.compact .telegram-card-heading>div:nth-child(2){min-width:0}.notifications-page .notification-worker-warning svg{flex-shrink:0}@media (width<=1200px){.notification-card{padding:20px}.notification-title h2{font-size:15px}.notification-status{max-width:140px;font-size:9px}.telegram-card.compact{padding:20px}.telegram-card.compact .telegram-card-heading>div:nth-child(2){min-width:115px}}@media (width<=650px){.teacher-utility-bar{min-height:25px;margin:-10px 40px 8px 0}.notification-shortcut{padding:0;font-size:10px}.notification-shortcut>svg{width:18px;height:18px}.teacher-utility-bar+.mobile-account{pointer-events:none;margin:0;position:absolute;top:17px;left:17px;right:17px}.teacher-utility-bar+.mobile-account>span{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:9px;overflow:hidden}.teacher-utility-bar+.mobile-account>.icon-button{pointer-events:auto}.telegram-card{margin-bottom:21px;padding:20px}.telegram-card-heading{flex-wrap:wrap;gap:10px}.telegram-card-heading h2{font-size:19px}.telegram-card-heading p{font-size:10px}.telegram-icon{border-radius:12px;width:41px;height:41px}.telegram-state{font-size:9px}.telegram-unconfigured{gap:9px;padding:14px}.telegram-unconfigured strong{font-size:12px}.telegram-card-actions .text-button,.telegram-card>p.small,.telegram-unconfigured p{font-size:11px}.telegram-card>.button{width:100%;min-height:44px;font-size:12px}.telegram-card.compact{padding:21px}.telegram-card.compact .telegram-card-heading>div:nth-child(2){min-width:140px}.telegram-card.compact .telegram-state{margin-left:0}.telegram-card.compact .telegram-unconfigured strong{font-size:12px}.telegram-card.compact .telegram-unconfigured p{font-size:11px}.telegram-card.compact .telegram-unconfigured{padding:14px}.telegram-card>.notice{font-size:11px}.telegram-link-field input{font-size:10px}.telegram-link-instructions>strong{font-size:13px}.telegram-link-instructions>p{font-size:11px}.family-nav{gap:6px;padding-inline:12px}.family-nav a{flex:1;min-width:0;padding-inline:8px;font-size:9px}.family-nav a>.nav-badge{right:27px}.student-telegram-state{font-size:10px}.notification-card{border-radius:13px;padding:18px}.notification-card-header{flex-wrap:wrap;gap:10px}.notification-kind-icon{border-radius:10px;width:35px;height:35px}.notification-kind-icon svg{width:22px;height:22px}.notification-title{flex:1;min-width:160px}.notification-title h2{font-size:14px}.notification-title p{font-size:10px}.notification-status{max-width:220px;margin-top:-3px;margin-left:45px;font-size:9px}.notification-timing{margin-top:15px;padding-left:0;font-size:10px;line-height:1.6}.notification-filters{flex-wrap:nowrap;gap:7px}.notification-filters>button{gap:5px;padding:9px 10px;font-size:10px}.notification-filters>button>span{padding:1px 4px;font-size:9px}.notification-intro{gap:9px;padding:15px}.notification-error,.notification-intro p,.notification-muted,.notification-uncertain>p{font-size:11px}.notification-uncertain>strong{font-size:12px}.notification-uncertain{padding:13px}.notification-text>p{font-size:12px}.notification-actions>.button{width:100%;font-size:11px}.notification-worker-warning{align-items:flex-start;font-size:11px}.notification-list-note{font-size:10px}.notifications-page .page-header>.button{white-space:normal;max-width:125px;margin-top:20px;font-size:10px}.notifications-workspace .checkbox-label{align-items:flex-start;font-size:12px;line-height:1.6}.notifications-workspace .checkbox-label>input{margin-top:2px}}
