html{background:#f5f6f2;min-width:320px;min-height:100%}body{word-break:keep-all;-webkit-font-smoothing:antialiased;background:#f5f6f2;min-width:320px;min-height:100vh;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,Arial,sans-serif}button,input,textarea,select{font-family:inherit}#root{min-height:100vh}:root{--background:#f5f6f2;--surface:#fff;--surface-soft:#fafaf7;--text-main:#252720;--text-sub:#73776c;--line:#e8eae3;--primary:#45694f;--primary-dark:#31513b;--primary-soft:#edf4ed;--private:#f8e9b5;--private-strong:#e5c65d;--group:#d9eee8;--group-strong:#67a995;--personal:#e8def4;--personal-strong:#9a7cb8;--danger:#dc5c5c;--shadow:0 10px 28px #363e3211}*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{min-height:100vh;color:var(--text-main);padding-bottom:94px}.app-header{justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);min-height:72px;margin:0 auto;display:flex}.brand-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.brand{align-items:center;gap:12px;display:flex}.brand-symbol{background:var(--primary);color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;font-size:19px;font-weight:800;display:grid;box-shadow:0 7px 16px #45694f2e}.brand-copy{flex-direction:column;align-items:flex-start;display:flex}.brand-copy strong{margin-bottom:1px;font-size:20px;line-height:1.2}.brand-copy small{color:var(--text-sub);font-size:13px}.profile-button{border:1px solid var(--line);background:var(--surface);color:var(--text-main);cursor:pointer;border-radius:11px;padding:9px 13px;font-size:14px;font-weight:700}.main-content{width:min(1180px,100% - 40px);margin:0 auto}.welcome-card{color:#fff;min-height:126px;box-shadow:var(--shadow);background:radial-gradient(circle at 92% 10%,#ffffff4d,#0000 35%),linear-gradient(135deg,#557660,#3e634a);border-radius:22px;justify-content:space-between;align-items:center;gap:20px;padding:23px 29px;display:flex}.welcome-copy{min-width:0}.welcome-title-line{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.welcome-title-line h2{letter-spacing:-.04em;margin:0;font-size:clamp(27px,3vw,34px)}.today-inline{color:#ffffffe6;background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800}.welcome-copy p{color:#ffffffc7;margin:8px 0 0;font-size:14px}.today-count{background:#ffffff1a;border:1px solid #ffffff38;border-radius:24px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:78px;display:flex}.today-count strong{font-size:30px;line-height:1}.today-count span{color:#ffffffd6;margin-top:5px;font-size:11px}.shortcut-strip{background:var(--surface);box-shadow:var(--shadow);border:1px solid #e6e8e0d9;border-radius:17px;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;padding:8px;display:grid}.shortcut-strip button{min-height:58px;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;padding:9px 13px;display:flex}.shortcut-strip button:hover{background:var(--surface-soft)}.shortcut-icon{background:var(--primary-soft);width:33px;height:33px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;font-size:17px;font-weight:900;display:grid}.shortcut-strip button>span:last-child{flex-direction:column;min-width:0;display:flex}.shortcut-strip small{color:var(--text-sub);margin-top:2px;display:none}.home-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.65fr);align-items:start;gap:12px;margin-top:12px;display:grid}.panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #e6e8e0d9;border-radius:20px}.today-panel,.check-panel{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.heading-inline,.title-with-english{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:20px}.section-eyebrow,.title-with-english>span{color:var(--primary);letter-spacing:.12em;font-size:12px;font-weight:900}.text-button{color:var(--text-sub);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.lesson-list{gap:7px;display:grid}.lesson-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:49px 4px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:10px 12px;display:grid}.lesson-time{font-size:15px;font-weight:800}.lesson-color{border-radius:999px;width:4px;height:44px}.lesson-color--private{background:var(--private-strong)}.lesson-color--group{background:var(--group-strong)}.lesson-color--personal{background:var(--personal-strong)}.lesson-title-row{align-items:center;gap:7px;display:flex}.lesson-information{min-width:0}.lesson-information h3{margin:0;font-size:15px}.lesson-summary-line{min-width:0;color:var(--text-sub);white-space:nowrap;align-items:center;gap:8px;margin-top:5px;font-size:12px;display:flex;overflow:hidden}.lesson-detail{text-overflow:ellipsis;min-width:0;overflow:hidden}.type-badge{border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:800}.type-badge--private{background:var(--private);color:#745d13}.type-badge--group{background:var(--group);color:#2f6c5c}.type-badge--personal{background:var(--personal);color:#684d84}.pending-dot,.schedule-pending-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #dc5c5c1f}.lesson-actions{align-items:center;gap:4px;display:flex}.lesson-actions button{cursor:pointer;border-radius:8px;min-height:31px;padding:0 9px;font-size:11px;font-weight:800}.complete-button{background:var(--primary);color:#fff;border:0}.sub-button{border:1px solid var(--line);color:var(--text-main);background:#fff}.memo-button{color:var(--text-sub);background:0 0;border:0}.check-total{color:var(--danger);background:#fff0f0;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.check-list{gap:6px;display:grid}.check-list button{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:43px;color:var(--text-main);cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;padding:0 12px;font-size:13px;display:flex}.check-list strong{background:var(--primary-soft);min-width:24px;height:24px;color:var(--primary);border-radius:999px;place-items:center;padding:0 6px;font-size:10px;display:grid}.check-list .danger-count{color:var(--danger);background:#fff0f0}.page-heading{justify-content:space-between;align-items:baseline;gap:20px;margin:9px 0 13px;display:flex}.title-with-english h1{letter-spacing:-.05em;margin:0;font-size:clamp(28px,4vw,36px)}.page-heading p,.students-heading p{color:var(--text-sub);margin:0;font-size:13px}.schedule-panel{overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:18px;min-height:62px;padding:10px 17px;display:flex}.week-arrow{border:1px solid var(--line);background:var(--surface-soft);width:36px;height:36px;color:var(--text-main);cursor:pointer;border-radius:11px;place-items:center;font-size:24px;display:grid}.week-title{justify-content:center;align-items:center;gap:11px;min-width:340px;display:flex}.week-title button,.current-week-badge{background:var(--primary-soft);color:var(--primary);border:0;border-radius:999px;flex-shrink:0;padding:5px 9px;font-size:12px;font-weight:900}.week-title button{cursor:pointer}.current-week-badge{cursor:default}.schedule-legend{border-bottom:1px solid var(--line);min-height:37px;color:var(--text-sub);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:13px;padding:8px 17px;font-size:11px;display:flex}.schedule-legend span{align-items:center;gap:5px;display:flex}.schedule-legend i{border-radius:3px;width:9px;height:9px}.legend-private{background:var(--private)}.legend-group{background:var(--group)}.legend-personal{background:var(--personal)}.legend-pending{background:var(--danger);border-radius:50%!important}.schedule-scroll{background:#fff;width:100%;overflow:auto}.schedule-grid{grid-template-columns:66px repeat(7,minmax(127px,1fr));min-width:1000px;display:grid}.grid-corner,.weekday-header{z-index:4;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcf9;justify-content:center;align-items:center;min-height:48px;display:flex;position:sticky;top:0}.grid-corner{z-index:6;color:var(--text-sub);font-size:10px;font-weight:800;left:0}.weekday-header{flex-direction:row;gap:5px}.weekday-header span{color:var(--text-sub);font-size:11px;font-weight:800}.weekday-header strong{font-size:16px}.weekday-header.is-today{background:var(--primary-soft);color:var(--primary)}.time-cell{z-index:3;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:52px;color:var(--text-sub);text-align:center;background:#fbfcf9;place-items:center;font-size:10px;font-weight:800;display:grid;position:sticky;left:0}.schedule-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:52px;color:inherit;text-align:left;cursor:pointer;background:#fff;flex-direction:column;gap:3px;padding:4px;display:flex}.schedule-cell:hover{background:#f8faf6}.schedule-cell:focus-visible{z-index:2;outline:2px solid var(--primary);outline-offset:-2px;position:relative}.schedule-block{cursor:default;border-radius:8px;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:43px;padding:6px 8px;display:flex;overflow:hidden}.schedule-block--private{background:var(--private);color:#5e4e17}.schedule-block--group{background:var(--group);color:#275e50}.schedule-block--personal{background:var(--personal);color:#60477a}.schedule-block-title{align-items:center;gap:5px;font-size:12px;font-weight:900;display:flex}.schedule-pending-dot{width:6px;height:6px;box-shadow:none}.schedule-block small{color:currentColor;opacity:.78;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.25;display:-webkit-box;overflow:hidden}.students-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:9px 0 13px;display:flex}.students-heading p{margin-top:5px}.primary-action-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:13px;min-height:43px;padding:0 15px;font-size:12px;font-weight:900}.student-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.student-summary>div{border:1px solid var(--line);background:var(--surface);min-height:68px;box-shadow:var(--shadow);border-radius:15px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.student-summary span{color:var(--text-sub);font-size:11px}.student-list-panel{padding:16px}.student-list-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.student-list-toolbar input{border:1px solid var(--line);background:var(--surface-soft);min-height:42px;color:var(--text-main);border-radius:12px;outline:none;flex:1;padding:0 13px}.student-list-toolbar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #45694f1a}.student-list-toolbar>span{color:var(--text-sub);font-size:11px;font-weight:800}.student-list{gap:7px;display:grid}.student-card{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:70px;color:var(--text-main);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 85px 72px 18px;align-items:center;gap:12px;padding:10px 12px;display:grid}.student-card:hover{background:#f7f9f5;border-color:#d8ddd3}.student-avatar{border-radius:14px;place-items:center;width:42px;height:42px;font-size:15px;font-weight:900;display:grid}.student-avatar--private{background:var(--private);color:#745d13}.student-avatar--group{background:var(--group);color:#2f6c5c}.student-main{flex-direction:column;gap:5px;min-width:0;display:flex}.student-name-line{align-items:center;gap:8px;display:flex}.student-main>span{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-count{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.student-count span{color:var(--text-sub);font-size:9px}.payment-badge{text-align:center;border-radius:999px;padding:6px 8px;font-size:12px;font-weight:900}.payment-badge--paid{background:var(--primary-soft);color:var(--primary)}.payment-badge--unpaid{color:var(--danger);background:#fff0f0}.student-arrow{color:#a4aa9e;font-size:22px}.danger-text{color:var(--danger)!important}.placeholder-page{border:1px solid var(--line);background:var(--surface);text-align:center;min-height:430px;box-shadow:var(--shadow);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;margin-top:8px;padding:42px 22px;display:flex}.placeholder-icon{background:var(--primary-soft);width:62px;height:62px;color:var(--primary);border-radius:21px;place-items:center;margin-bottom:15px;font-size:26px;display:grid}.title-with-english--center{justify-content:center}.placeholder-page p{max-width:500px;color:var(--text-sub);margin:10px 0 0;font-size:13px;line-height:1.7}.bottom-navigation{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #e0e3dae6;border-radius:20px;grid-template-columns:repeat(4,1fr);width:min(500px,100% - 26px);min-height:64px;padding:6px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 32px #2e372b26}.bottom-navigation button{color:#8a8f84;cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:800;display:flex}.bottom-navigation button span{font-size:19px;line-height:1}.bottom-navigation button.active{background:var(--primary-soft);color:var(--primary)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f261f7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.schedule-modal{background:#fff;border-radius:22px;width:min(470px,100%);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;box-shadow:0 30px 70px #1a221b40}.student-form-modal,.student-detail-modal{width:min(610px,100%)}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading h2{margin:4px 0 0;font-size:21px}.modal-close{border:1px solid var(--line);background:var(--surface-soft);width:34px;height:34px;color:var(--text-sub);cursor:pointer;border-radius:11px;place-items:center;font-size:21px;display:grid}.selected-time-box{background:var(--primary-soft);color:var(--primary);border-radius:13px;flex-direction:column;gap:3px;margin:17px 0;padding:12px 14px;display:flex}.selected-time-box span{font-size:11px}.form-field{gap:6px;margin-top:13px;display:grid}.form-field>span{font-size:12px;font-weight:800}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--line);background:var(--surface-soft);width:100%;color:var(--text-main);border-radius:12px;outline:none}.form-field input,.form-field select{min-height:43px;padding:0 12px}.form-field textarea{resize:vertical;min-height:88px;padding:11px 12px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #45694f1a}.student-form-grid{grid-template-columns:repeat(2,1fr);gap:0 12px;display:grid}.modal-actions{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:19px;display:grid}.modal-actions button,.student-detail-actions button{cursor:pointer;border-radius:12px;min-height:43px;font-size:12px;font-weight:900}.cancel-button{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-main)}.primary-button{background:var(--primary);color:#fff;border:0}.student-detail-count{background:var(--primary-soft);border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;margin:18px 0 14px;padding:16px;display:grid}.student-detail-count span{color:var(--primary);font-size:12px;font-weight:800}.student-detail-count strong{grid-row:span 2;font-size:26px}.student-detail-count small{color:var(--text-sub);font-size:10px}.student-detail-list{border-top:1px solid var(--line);margin:0}.student-detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:95px 1fr;gap:14px;min-height:45px;padding:10px 2px;display:grid}.student-detail-list dt{color:var(--text-sub);font-size:11px;font-weight:800}.student-detail-list dd{margin:0;font-size:12px;line-height:1.6}.student-detail-actions{grid-template-columns:1fr 1.2fr;gap:8px;margin-top:17px;display:grid}.month-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.55fr);align-items:start;gap:12px;display:grid}.month-calendar-panel,.selected-day-panel{overflow:hidden}.month-toolbar{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:18px;min-height:58px;padding:9px 14px;display:flex}.month-toolbar>button{border:1px solid var(--line);background:var(--surface-soft);width:35px;height:35px;color:var(--text-main);cursor:pointer;border-radius:11px;font-size:24px}.month-toolbar>div{justify-content:center;align-items:center;gap:9px;min-width:190px;display:flex}.month-current-button{background:var(--primary-soft);color:var(--primary);cursor:pointer;border:0;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.month-weekdays,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-weekdays span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:34px;color:var(--text-sub);background:#fbfcf9;place-items:center;font-size:11px;font-weight:900;display:grid}.month-day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:82px;color:var(--text-main);cursor:pointer;background:#fff;flex-direction:column;align-items:flex-start;padding:8px;display:flex;position:relative}.month-day:hover{background:#f8faf6}.month-day.is-outside{color:#b6bbb2;background:#fbfcfa}.month-day.is-selected{box-shadow:inset 0 0 0 2px var(--primary);z-index:1}.month-day.is-today .month-day-number{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.month-day-number{font-size:12px;font-weight:900}.month-day-dots{gap:4px;margin-top:auto;display:flex}.month-dot{border-radius:50%;width:7px;height:7px}.month-dot--private{background:var(--private-strong)}.month-dot--group{background:var(--group-strong)}.month-dot--personal{background:var(--personal-strong)}.month-day small{color:var(--text-sub);margin-top:4px;font-size:9px}.selected-day-panel{padding:17px}.selected-day-heading{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.selected-day-heading span{color:var(--text-sub);font-size:11px}.selected-day-list{gap:7px;margin-top:10px;display:grid}.selected-day-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;grid-template-columns:40px 4px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:8px 9px;display:grid}.selected-day-item time{font-size:11px;font-weight:900}.selected-day-color{border-radius:999px;width:4px;height:32px}.selected-day-color--private{background:var(--private-strong)}.selected-day-color--group{background:var(--group-strong)}.selected-day-color--personal{background:var(--personal-strong)}.selected-day-item div{flex-direction:column;gap:3px;min-width:0;display:flex}.selected-day-item strong{font-size:12px}.selected-day-item small{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.empty-day-message{color:var(--text-sub);text-align:center;margin:0;padding:30px 10px;font-size:12px}@media (width<=850px){.month-layout{grid-template-columns:1fr}.app-header,.main-content{width:min(100% - 24px,700px)}.home-grid{grid-template-columns:1fr}.shortcut-strip{grid-template-columns:repeat(2,1fr)}.page-heading,.students-heading{flex-direction:column;align-items:flex-start;gap:6px}.schedule-panel{border-left:0;border-right:0;border-radius:0;margin-left:calc(-50vw + 50% + 12px);margin-right:calc(-50vw + 50% + 12px)}}@media (width<=580px){.app{padding-bottom:86px}.app-header{min-height:64px}.brand-symbol{border-radius:12px;width:37px;height:37px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:12px}.profile-button{padding:8px 10px;font-size:11px}.welcome-card{border-radius:18px;min-height:112px;padding:18px 17px}.welcome-title-line{gap:7px}.welcome-title-line h2{font-size:25px}.today-inline{padding:5px 8px;font-size:10px}.welcome-copy p{margin-top:6px;font-size:11px}.today-count{border-radius:20px;width:68px;height:66px}.today-count strong{font-size:25px}.today-count span{font-size:9px}.shortcut-strip{grid-template-columns:repeat(2,1fr);gap:4px;padding:6px}.shortcut-strip button{gap:8px;min-height:48px;padding:7px 9px}.shortcut-icon{border-radius:9px;width:29px;height:29px;font-size:15px}.shortcut-strip strong{font-size:14px}.shortcut-strip small{display:none}.today-panel,.check-panel{border-radius:17px;padding:15px}.lesson-card{grid-template-columns:43px 4px minmax(0,1fr);gap:8px;padding:8px 9px}.lesson-time{align-self:start;padding-top:2px;font-size:12px}.lesson-color{align-self:start;height:39px}.lesson-actions{grid-column:3;margin-top:1px}.lesson-actions button{min-height:28px}.page-heading{margin-top:4px}.title-with-english h1{font-size:26px}.page-heading p,.students-heading p{font-size:11px}.schedule-toolbar{gap:8px;min-height:54px;padding:8px 11px}.week-title{flex:1;gap:7px;min-width:0}.week-title strong{font-size:13px}.week-title button,.current-week-badge{padding:4px 7px;font-size:9px}.week-arrow{flex-shrink:0;width:32px;height:32px}.schedule-legend{justify-content:flex-start;gap:9px;padding:7px 11px;font-size:9px}.schedule-grid{grid-template-columns:58px repeat(7,minmax(116px,1fr));min-width:880px}.grid-corner,.weekday-header{min-height:48px}.time-cell,.schedule-cell{min-height:50px}.schedule-block{min-height:41px}.student-summary{grid-template-columns:1fr;gap:6px}.student-summary>div{min-height:48px;padding:9px 12px}.student-card{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:9px}.student-avatar{border-radius:12px;width:38px;height:38px}.student-count{align-items:flex-end}.payment-badge{grid-column:2;width:fit-content}.student-arrow{display:none}.student-form-grid{grid-template-columns:1fr}.schedule-modal{border-radius:18px;padding:18px}.month-calendar-panel{border-left:0;border-right:0;border-radius:0;margin-left:-12px;margin-right:-12px}.month-day{min-height:64px;padding:6px}.month-day-number{font-size:11px}.month-day.is-today .month-day-number{width:22px;height:22px}.month-day small{display:none}}.app-header{min-height:76px}.brand-symbol{width:43px;height:43px;font-size:21px}.brand-copy strong{font-size:21px}.brand-copy small{font-size:13px}.profile-button{font-size:14px}.welcome-title-line h2{font-size:clamp(27px,3vw,35px)}.today-inline{font-size:13px}.welcome-copy p{font-size:14px}.today-count strong{font-size:32px}.today-count span{font-size:12px}.shortcut-strip{grid-template-columns:repeat(3,1fr)}.shortcut-strip button{justify-content:center;min-height:62px}.shortcut-icon{width:36px;height:36px;font-size:19px}.shortcut-strip strong{font-size:16px}.section-heading h2{font-size:21px}.section-eyebrow,.title-with-english>span{font-size:11px}.text-button{font-size:13px}.lesson-card{grid-template-columns:58px 5px minmax(0,1fr) auto;gap:13px;min-height:78px;padding:10px 13px}.lesson-time{font-size:17px}.lesson-color{height:46px}.lesson-information--simple{align-items:center;gap:11px;min-width:0;display:flex}.lesson-information--simple h3{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.lesson-kind-icon{border-radius:10px;flex-shrink:0;place-items:center;min-width:42px;height:30px;padding:0 9px;font-size:12px;font-weight:900;display:inline-grid}.lesson-kind-icon--private{background:var(--private);color:#745d13}.lesson-kind-icon--group{background:var(--group);color:#2f6c5c}.lesson-kind-icon--personal{background:var(--personal);color:#684d84}.lesson-actions button{min-height:34px;padding:0 11px;font-size:11px}.check-list button{min-height:47px;font-size:14px}.check-list strong,.check-total{font-size:12px}.title-with-english h1{font-size:clamp(29px,4vw,38px)}.schedule-view-tabs{border:1px solid var(--line);background:var(--surface);border-radius:13px;align-items:center;gap:3px;padding:4px;display:flex}.schedule-view-tabs button{min-width:72px;min-height:36px;color:var(--text-sub);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:13px;font-weight:900}.schedule-view-tabs button.active{background:var(--primary);color:#fff}.week-title strong{font-size:17px}.week-title button,.current-week-badge,.schedule-legend{font-size:11px}.grid-corner{font-size:12px}.weekday-header{gap:7px}.weekday-header strong{font-size:21px;line-height:1}.weekday-header span{font-size:12px}.time-cell{font-size:13px}.schedule-block-title{text-align:center;justify-content:center;font-size:13px}.schedule-block small{text-align:center;font-size:11px}.students-heading p,.page-heading p{font-size:13px}.primary-action-button{font-size:14px}.student-summary span,.student-list-toolbar>span,.student-main>span{font-size:12px}.student-name-line>strong{font-size:16px}.student-count strong{font-size:17px}.student-pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.student-pagination button{border:1px solid var(--line);background:var(--surface-soft);min-width:68px;min-height:36px;color:var(--text-main);cursor:pointer;border-radius:10px;font-size:12px;font-weight:900}.student-pagination button:disabled{opacity:.4;cursor:default}.student-pagination span{color:var(--text-sub);font-size:12px;font-weight:900}.month-toolbar strong{font-size:20px}.month-weekdays span{font-size:13px}.month-day{min-height:90px;padding:10px}.month-day-number{font-size:17px}.month-day.is-today .month-day-number{width:31px;height:31px}.month-day-status{align-items:center;gap:7px;width:100%;margin-top:auto;display:flex}.month-day-dots{flex-shrink:0;margin-top:0}.month-day-status small{color:var(--text-sub);white-space:nowrap;margin-top:0;font-size:11px;font-weight:800}.month-dot{width:8px;height:8px}.selected-day-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.selected-day-heading>div{flex-direction:column;gap:4px;display:flex}.selected-day-add-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:38px;padding:0 11px;font-size:11px;font-weight:900}.selected-day-heading span{font-size:12px}.selected-day-heading strong{font-size:19px}.selected-day-item time,.selected-day-item strong{font-size:13px}.selected-day-item small{font-size:11px}.form-field>span{font-size:13px}.form-field input,.form-field select{cursor:pointer;min-height:47px;font-size:14px}.clickable-date-input{cursor:pointer}.bottom-navigation button{font-size:11px}.bottom-navigation button span{font-size:21px}@media (width<=850px){.shortcut-strip{grid-template-columns:repeat(3,1fr)}.page-heading{flex-direction:row;align-items:center}}@media (width<=580px){.brand-copy strong{font-size:19px}.brand-copy small{font-size:12px}.welcome-title-line h2{font-size:25px}.today-inline{font-size:11px}.welcome-copy p{font-size:12px}.shortcut-strip{grid-template-columns:repeat(3,1fr)}.shortcut-strip button{text-align:center;flex-direction:column;gap:5px;min-height:58px;padding:7px 5px}.shortcut-icon{width:29px;height:29px}.shortcut-strip strong{font-size:13px}.section-heading h2{font-size:20px}.lesson-card{grid-template-columns:51px 4px minmax(0,1fr);gap:9px}.lesson-time{align-self:center;padding-top:0;font-size:15px}.lesson-color{align-self:center;height:42px}.lesson-information--simple h3{font-size:17px}.lesson-kind-icon{min-width:39px;height:28px;font-size:11px}.lesson-actions{grid-column:3}.title-with-english h1{font-size:28px}.schedule-view-tabs{padding:3px}.schedule-view-tabs button{min-width:58px;min-height:32px;padding:0 8px;font-size:11px}.week-title strong{font-size:14px}.weekday-header strong{font-size:19px}.weekday-header span,.time-cell,.schedule-block-title{font-size:12px}.schedule-block small{font-size:10px}.month-day{min-height:72px;padding:7px}.month-day-number{font-size:15px}.month-day.is-today .month-day-number{width:27px;height:27px}.month-day-status small{font-size:9px;display:inline}.month-dot{width:6px;height:6px}.selected-day-heading{align-items:flex-start}.selected-day-add-button{min-height:34px;padding:0 9px;font-size:10px}}.lesson-information--simple h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;overflow:hidden}.schedule-block{justify-content:center}.schedule-block-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-block small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-day-item{grid-template-columns:52px 5px minmax(0,1fr) auto}.selected-day-manage-button{border:1px solid var(--line);min-height:32px;color:var(--primary);cursor:pointer;background:#fff;border-radius:9px;padding:0 10px;font-size:11px;font-weight:900}.lesson-manager-modal{width:min(560px,100%)}.lesson-manage-summary{border-radius:15px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 5px;padding:15px 16px;display:flex}.lesson-manage-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;overflow:hidden}.lesson-manage-summary span{flex-shrink:0;font-size:11px;font-weight:900}.lesson-manage-summary--private{background:var(--private);color:#695511}.lesson-manage-summary--group{background:var(--group);color:#285f51}.lesson-manage-summary--personal{background:var(--personal);color:#62487c}.lesson-manager-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.lesson-manager-help{color:var(--text-sub);margin:14px 0 0;font-size:12px;line-height:1.6}.lesson-manager-actions{grid-template-columns:.8fr 1.2fr 1.4fr;gap:8px;margin-top:19px;display:grid}.lesson-manager-actions button{cursor:pointer;border-radius:12px;min-height:44px;font-size:12px;font-weight:900}.danger-button{color:var(--danger);background:#fff4f4;border:1px solid #f0cccc}@media (width<=580px){.lesson-information--simple h3{font-size:16px}.selected-day-item{grid-template-columns:45px 4px minmax(0,1fr)}.selected-day-manage-button{grid-column:3;width:fit-content}.lesson-manager-grid,.lesson-manager-actions{grid-template-columns:1fr}}.schedule-block-title--group{letter-spacing:-.05em;text-overflow:clip;white-space:normal;max-width:100%;font-size:10.5px;line-height:1.08;overflow:visible}.schedule-block.is-completed{opacity:.58}.completed-button{background:var(--primary-soft);color:var(--primary);border:1px solid #cdddcf}.month-day-dots{align-items:center;gap:3px;display:flex}.lesson-completion-action{margin-top:16px}.lesson-completion-action button{cursor:pointer;border-radius:12px;width:100%;min-height:46px;font-size:13px;font-weight:900}.completion-open-button{background:var(--primary);color:#fff;border:0}.completion-undo-button{color:var(--danger);background:#fff5f5;border:1px solid #e9caca}.lesson-manager-actions button:disabled,.modal-actions button:disabled{opacity:.45;cursor:default}.lesson-completion-modal{width:min(540px,100%)}.completion-guide{color:var(--text-sub);margin:14px 0;font-size:13px;line-height:1.6}.completion-participant-list{gap:8px;display:grid}.completion-participant{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:54px;color:var(--text-main);text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.completion-participant.is-selected{background:var(--primary-soft);border-color:#abc7b0}.completion-check{width:25px;height:25px;color:var(--primary);background:#fff;border:1px solid #cbd3c8;border-radius:8px;place-items:center;font-size:15px;font-weight:900;display:grid}.completion-participant strong{font-size:15px}.completion-participant small{color:var(--text-sub);font-size:12px;font-weight:800}.completion-empty{background:var(--surface-soft);color:var(--text-sub);text-align:center;border-radius:13px;margin:0;padding:20px;font-size:13px}@media (width<=580px){.schedule-block-title--group{letter-spacing:-.06em;font-size:9.5px}.completion-participant{grid-template-columns:26px minmax(0,1fr) auto;min-height:51px}}.schedule-block-title--group{letter-spacing:0;white-space:nowrap;justify-content:center;align-items:center;gap:4px;width:100%;max-width:100%;font-size:13px;line-height:1;display:flex;overflow:visible}.group-participant-row{letter-spacing:-.08em;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:2px;min-width:0;font-size:clamp(10px,.82vw,13px);line-height:1.05;display:grid}.group-participant-row>span{text-align:center;text-overflow:clip;white-space:nowrap;min-width:0;overflow:hidden}.check-overview-modal{width:min(600px,100%)}.check-overview-summary{background:var(--primary-soft);color:var(--primary);border-radius:14px;justify-content:space-between;align-items:center;margin:17px 0 12px;padding:13px 15px;display:flex}.check-overview-summary span{font-size:12px;font-weight:800}.check-overview-summary strong{font-size:18px}.check-overview-list{gap:7px;display:grid}.check-overview-list>button{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:62px;color:var(--text-main);text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.check-overview-list>button:hover{background:#f6f9f5;border-color:#d6ddd2}.check-overview-list time{color:var(--text-sub);font-size:11px;font-weight:800}.check-overview-list>button>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.check-overview-list>button>span:nth-child(2) strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.check-overview-list>button>span:nth-child(2) small{color:var(--text-sub);font-size:10px}.check-overview-list b{color:var(--primary);white-space:nowrap;font-size:11px}.check-student-icon{border-radius:12px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:900;display:grid}.check-student-icon--private{background:var(--private);color:#745d13}.check-student-icon--group{background:var(--group);color:#2f6c5c}.check-overview-list>button:has(.check-student-icon){grid-template-columns:38px minmax(0,1fr) auto}.check-overview-empty{background:var(--surface-soft);color:var(--text-sub);text-align:center;border-radius:13px;margin:0;padding:28px 16px;font-size:12px}@media (width<=580px){.schedule-block-title--group{font-size:12px}.group-participant-row{gap:1px;font-size:clamp(9px,2.55vw,12px)}.check-overview-list>button{grid-template-columns:82px minmax(0,1fr) auto;gap:9px;min-height:60px;padding:9px 10px}.check-overview-list time{font-size:9px}.check-overview-list>button>span:nth-child(2) strong{font-size:12px}}.schedule-block-title--group{gap:0}.group-participant-row{letter-spacing:-.09em;gap:0;font-size:13px;line-height:1}.group-participant-row>span{text-overflow:clip;overflow:visible}.student-summary>button{border:1px solid var(--line);background:var(--surface);min-height:68px;color:var(--text-main);box-shadow:var(--shadow);cursor:pointer;border-radius:15px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.student-summary>button:hover,.student-summary>button.is-active{background:var(--primary-soft);border-color:#abc7b0}.student-summary>button.is-active span,.student-summary>button.is-active strong:not(.danger-text){color:var(--primary)}.student-filter-empty{background:var(--surface-soft);color:var(--text-sub);text-align:center;border-radius:13px;margin:0;padding:30px 16px;font-size:13px}@media (width<=580px){.group-participant-row{letter-spacing:-.1em;font-size:12.5px}.student-summary>button{min-height:50px;padding:9px 12px}}.schedule-toolbar{grid-template-columns:minmax(120px,1fr) auto minmax(300px,1fr);align-items:center;gap:16px;min-height:62px;display:grid}.schedule-toolbar-spacer{min-width:1px}.schedule-week-navigation{justify-content:center;align-items:center;gap:18px;display:flex}.schedule-toolbar .schedule-legend{white-space:nowrap;border:0;flex-wrap:nowrap;justify-content:flex-end;justify-self:end;gap:12px;min-height:auto;padding:0;font-size:11px}.lesson-empty-state{border:1px dashed var(--line);background:var(--surface-soft);min-height:76px;color:var(--text-sub);border-radius:14px;place-items:center;font-size:13px;font-weight:700;display:grid}.student-card{grid-template-columns:42px minmax(76px,112px) 90px 74px 68px minmax(140px,1fr) 76px 18px;gap:11px;min-height:62px}.student-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-list-time,.student-list-payment-method{color:var(--text-sub);white-space:nowrap;font-size:12px;font-weight:700}.student-list-remaining{color:var(--text-main);white-space:nowrap;justify-self:end;font-size:13px;font-weight:900}.student-card .type-badge,.student-card .payment-badge{white-space:nowrap;justify-self:start}.student-management-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:17px;display:grid}.student-management-grid button,.withdraw-button,.danger-button{cursor:pointer;border-radius:12px;min-height:43px;font-size:12px;font-weight:900}.withdraw-button{width:100%;color:var(--danger);background:#fff7f7;border:1px solid #f0d4d4;margin-top:8px}.danger-button{background:var(--danger);color:#fff;border:0}.schedule-quick-buttons{gap:7px;display:flex}.schedule-quick-buttons button{border:1px solid var(--line);background:var(--surface-soft);min-height:34px;color:var(--primary);cursor:pointer;border-radius:10px;padding:0 11px;font-size:11px;font-weight:900}.regular-time-field{grid-column:1/-1}.modal-note{color:var(--text-sub);background:#f8f9f6;border-radius:11px;margin:14px 0 0;padding:11px 12px;font-size:11px;line-height:1.6}.withdrawal-summary{color:#9f4747;background:#fff5f5}@media (width<=1080px){.schedule-toolbar{grid-template-columns:auto 1fr}.schedule-toolbar-spacer{display:none}.schedule-week-navigation{justify-content:flex-start}.schedule-toolbar .schedule-legend{justify-self:end}.student-list-panel{overflow-x:auto}.student-list-toolbar,.student-list,.student-pagination{min-width:790px}}@media (width<=720px){.schedule-toolbar{grid-template-columns:1fr;gap:8px;padding-top:9px;padding-bottom:9px}.schedule-week-navigation{justify-content:center}.schedule-toolbar .schedule-legend{justify-content:center;justify-self:center;gap:10px;font-size:9px}.student-management-grid{grid-template-columns:1fr}}.shortcut-strip strong{letter-spacing:-.025em;font-size:17px}.schedule-toolbar{justify-content:center;align-items:center;min-height:66px;padding:10px 18px;display:flex;position:relative}.schedule-toolbar-spacer{display:none}.schedule-week-navigation{justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.schedule-toolbar .schedule-legend{justify-content:flex-end;justify-self:auto;margin-left:auto;font-size:12px}.student-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.student-summary>button{min-height:78px;padding:14px 17px}.student-summary span{font-size:15px;font-weight:800}.student-card{align-items:center;gap:12px;min-width:790px;min-height:70px;padding:10px 14px;display:flex}.student-card-primary,.student-card-secondary{align-items:center;display:flex}.student-card-primary{gap:11px;min-width:0}.student-card-secondary{gap:12px;margin-left:auto}.student-list-name{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:19px;font-weight:900;overflow:hidden}.student-card .type-badge,.student-card .payment-badge{flex-shrink:0}.student-list-time,.student-list-payment-method,.student-list-remaining{font-size:14px}.student-list-remaining{justify-self:auto}.retired-inline-badge{color:#74776f;background:#eeeeeb;border-radius:999px;flex-shrink:0;padding:5px 8px;font-size:11px;font-weight:900}.schedule-modal{font-size:15px}.modal-heading h2{font-size:25px}.modal-heading .section-eyebrow{font-size:11px}.selected-time-box strong{font-size:16px}.selected-time-box span,.modal-note,.student-detail-count span,.student-detail-list dt,.student-detail-list dd,.form-field>span{font-size:14px}.form-field input,.form-field select{min-height:48px;font-size:15px}.form-field textarea{min-height:104px;font-size:15px}.student-detail-count strong{font-size:31px}.student-detail-count small{font-size:12px}.student-management-grid button,.withdraw-button,.reactivate-button,.danger-button,.modal-actions button{min-height:47px;font-size:14px}.reactivate-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:10px;font-weight:900}.full-click-date-input{cursor:pointer}@media (width<=1080px){.schedule-toolbar{justify-content:center}.schedule-week-navigation{position:static;transform:none}.schedule-toolbar .schedule-legend{margin-left:auto}.student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.schedule-toolbar{grid-template-columns:1fr;gap:9px;display:grid}.schedule-week-navigation{justify-content:center}.schedule-toolbar .schedule-legend{justify-content:center;margin-left:0}.student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.shortcut-strip strong{font-size:15px}.student-summary>button{min-height:61px;padding:11px 13px}.student-summary span{font-size:13px}.student-summary strong{font-size:20px}.student-list-name{font-size:18px}.schedule-modal{font-size:14px}.modal-heading h2{font-size:23px}}.schedule-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-height:64px;padding:10px 18px;display:grid;position:relative}.schedule-toolbar-spacer{grid-column:1;display:block}.schedule-week-navigation{grid-column:2;justify-self:center;position:static;transform:none}.schedule-toolbar .schedule-legend{grid-column:3;justify-self:end;margin:0}.student-summary{grid-template-columns:repeat(4,minmax(140px,190px));justify-content:start;gap:8px}.student-summary>button{border-radius:13px;min-height:58px;padding:8px 12px}.student-summary span{font-size:16px;line-height:1.2}.student-summary strong{font-size:21px}.settings-heading{margin:9px 0 14px}.settings-heading p{color:var(--text-sub);margin:5px 0 0;font-size:13px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-card{min-height:205px;padding:22px}.settings-card-label{color:var(--primary);letter-spacing:.13em;font-size:10px;font-weight:900}.settings-card h2{letter-spacing:-.035em;margin:10px 0 8px;font-size:21px}.settings-card p{color:var(--text-sub);margin:10px 0 0;font-size:13px;line-height:1.65}.settings-account-row{align-items:center;gap:12px;margin-top:17px;display:flex}.settings-account-avatar{background:var(--primary);color:#fff;border-radius:16px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:20px;font-weight:900;display:grid}.settings-account-row>span:last-child{flex-direction:column;gap:4px;display:flex}.settings-account-row strong{font-size:18px}.settings-account-row small{color:var(--text-sub);font-size:12px}.settings-data-summary{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.settings-data-summary>span{background:var(--surface-soft);color:var(--text-sub);border-radius:999px;padding:7px 10px;font-size:12px}.settings-data-summary strong{color:var(--text-main)}.settings-actions{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;display:grid}.settings-actions button,.backup-upload-button{cursor:pointer;border-radius:12px;place-items:center;min-height:46px;font-size:13px;font-weight:900;display:grid}.backup-upload-button{border:1px solid var(--line);background:var(--surface-soft);color:var(--text-main)}.backup-upload-button input{display:none}.settings-sync-status{color:var(--text-sub);align-items:center;gap:8px;margin-top:20px;font-size:12px;font-weight:800;display:flex}.sync-status-dot{background:#e0a84f;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e0a84f21}.settings-danger-zone{background:snow;border:1px solid #f0d4d4;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:15px 17px;display:flex}.settings-danger-zone>div{flex-direction:column;gap:4px;display:flex}.settings-danger-zone strong{font-size:14px}.settings-danger-zone span{color:var(--text-sub);font-size:12px}.settings-danger-zone button{min-height:40px;color:var(--danger);cursor:pointer;background:#fff;border:1px solid #efc7c7;border-radius:11px;padding:0 13px;font-size:12px;font-weight:900}@media (width<=1040px){.schedule-toolbar{grid-template-columns:1fr;gap:8px}.schedule-toolbar-spacer{display:none}.schedule-week-navigation{grid-column:1}.schedule-toolbar .schedule-legend{grid-column:1;justify-self:center}.student-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.settings-grid{grid-template-columns:1fr}.settings-card{min-height:auto}.student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){.student-summary>button{min-height:54px;padding:8px 10px}.student-summary span{font-size:14px}.student-summary strong{font-size:20px}.settings-card{padding:18px}.settings-actions{grid-template-columns:1fr}.settings-danger-zone{flex-direction:column;align-items:flex-start}}.student-summary{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;width:100%}.lesson-statement-button{background:var(--primary-soft);width:100%;min-height:46px;color:var(--primary);cursor:pointer;border:1px solid #cfd9cf;border-radius:12px;margin-top:16px;font-size:13px;font-weight:900}.lesson-statement-button:hover{border-color:var(--primary);background:#e6f0e6}@media (width<=720px){.student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-button{align-items:center;gap:7px;display:inline-flex}.profile-sync-dot,.sync-status-dot{background:#78a382;border-radius:50%;flex-shrink:0;width:9px;height:9px}.profile-sync-dot--loading,.profile-sync-dot--saving,.sync-status-dot--loading,.sync-status-dot--saving{background:#d5a23f;animation:1.1s ease-in-out infinite syncPulse}.profile-sync-dot--error,.sync-status-dot--error{background:var(--danger)}@keyframes syncPulse{50%{opacity:.35}}.login-page,.loading-page{background:radial-gradient(circle at 18% 8%,#45694f1f,#0000 34%),#f5f6f2;place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:28px;width:min(430px,100%);padding:38px;box-shadow:0 24px 60px #2e372b21}.login-brand-symbol,.loading-symbol{background:var(--primary);color:#fff;border-radius:21px;place-items:center;width:62px;height:62px;margin:0 auto 17px;font-size:27px;font-weight:900;display:grid;box-shadow:0 11px 25px #45694f38}.login-eyebrow{color:var(--primary);letter-spacing:.14em;margin:0;font-size:11px;font-weight:900}.login-card h1{letter-spacing:-.05em;margin:6px 0 7px;font-size:30px}.login-description{color:var(--text-sub);margin:0;font-size:14px}.login-form{text-align:left;gap:14px;margin-top:26px;display:grid}.login-form label{gap:7px;display:grid}.login-form label>span{font-size:13px;font-weight:800}.login-form input{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:50px;color:var(--text-main);border-radius:13px;outline:none;padding:0 14px}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #45694f1c}.login-form button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:13px;min-height:50px;margin-top:2px;font-size:14px;font-weight:900}.login-form button:disabled{cursor:wait;opacity:.65}.login-error{color:var(--danger);margin:-2px 0 0;font-size:12px;font-weight:700}.login-guide{color:var(--text-sub);margin-top:18px;font-size:11px;display:block}.loading-page{align-content:center;gap:10px}.loading-symbol{margin-bottom:4px}.loading-spinner{border:3px solid #dbe3da;border-top-color:var(--primary);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite loadingSpin}.loading-page p{color:var(--text-sub);margin:0;font-size:13px;font-weight:700}@keyframes loadingSpin{to{transform:rotate(360deg)}}.cloud-sync-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:10px 11px;display:flex}.cloud-sync-row strong{flex:1;font-size:11px}.cloud-sync-row button,.settings-logout-button{border:1px solid var(--line);min-height:34px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:9px;padding:0 10px;font-size:10px;font-weight:900}.settings-logout-button{color:var(--danger);margin-top:12px}@media (width<=580px){.login-page{padding:16px}.login-card{border-radius:23px;padding:28px 22px}.login-card h1{font-size:27px}.cloud-sync-row{flex-wrap:wrap;align-items:flex-start}}.settings-admin-danger{background:#fffdfd;border:1px solid #eadede;border-radius:15px;margin-top:14px;overflow:hidden}.settings-admin-danger>summary{color:#8e6262;cursor:pointer;padding:14px 17px;font-size:12px;font-weight:900;list-style-position:inside}.settings-admin-danger[open]>summary{border-bottom:1px solid #f0e3e3}.settings-admin-danger .settings-danger-zone{background:snow;border:0;border-radius:0;margin-top:0}.student-delete-zone{background:snow;border:1px solid #f0d4d4;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:13px 14px;display:flex}.student-delete-zone>div{flex-direction:column;gap:3px;min-width:0;display:flex}.student-delete-zone strong{color:#9c4141;font-size:12px}.student-delete-zone span{color:var(--text-sub);font-size:10px;line-height:1.5}.student-delete-zone button{min-height:38px;color:var(--danger);cursor:pointer;background:#fff;border:1px solid #efc7c7;border-radius:10px;flex-shrink:0;padding:0 12px;font-size:11px;font-weight:900}@media (width<=580px){.settings-admin-danger .settings-danger-zone,.student-delete-zone{flex-direction:column;align-items:stretch}.student-delete-zone button{width:100%}}@media (width<=680px){.schedule-toolbar{gap:6px;min-height:auto;padding:7px 9px}.schedule-week-navigation{gap:10px}.week-arrow{width:29px;height:29px}.schedule-toolbar .schedule-legend{gap:7px;font-size:8px}.schedule-toolbar .schedule-legend i{width:7px;height:7px}.schedule-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-grid{grid-template-columns:36px repeat(7,minmax(0,1fr));width:100%;min-width:540px}.grid-corner,.weekday-header{min-height:39px}.grid-corner{font-size:8px}.weekday-header{flex-direction:column;gap:0;line-height:1.05}.weekday-header strong{font-size:12px}.weekday-header span{font-size:8px}.time-cell,.schedule-cell{min-height:37px}.time-cell{letter-spacing:-.04em;font-size:8px}.schedule-cell{gap:1px;padding:2px}.schedule-block{border-radius:6px;gap:1px;min-height:31px;padding:3px}.schedule-block-title,.schedule-block-title--group{letter-spacing:-.05em;text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-content:center;min-width:0;font-size:9px;line-height:1.05;overflow:hidden}.group-participant-row{letter-spacing:-.11em;gap:1px;font-size:8px;line-height:1}.schedule-block small{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.05;display:block;overflow:hidden}.schedule-pending-dot{flex-shrink:0;width:4px;height:4px}.student-list-panel{padding:12px;overflow-x:hidden}.student-list-toolbar,.student-list,.student-pagination{width:100%;min-width:0}.student-card{grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;min-height:64px;padding:9px;display:grid}.student-avatar{border-radius:11px;width:37px;height:37px;font-size:14px}.student-card-primary{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.student-list-name{flex-basis:100%;width:100%;max-width:100%;font-size:16px;line-height:1.15}.student-list-time,.student-list-payment-method{text-overflow:ellipsis;max-width:100%;font-size:10.5px;line-height:1.2;overflow:hidden}.student-card .type-badge,.student-card .payment-badge,.retired-inline-badge{padding:4px 6px;font-size:9px}.student-card-secondary{flex-direction:column;align-items:flex-end;gap:4px;margin-left:0;display:flex}.student-list-remaining{font-size:11px}.student-arrow{display:none}}@media (width<=390px){.schedule-grid{grid-template-columns:34px repeat(7,minmax(0,1fr));min-width:510px}.student-card{grid-template-columns:35px minmax(0,1fr) auto;gap:7px;padding:8px}.student-avatar{width:35px;height:35px}.student-list-name{font-size:15px}.student-list-time,.student-list-payment-method{font-size:10px}.student-list-remaining{font-size:10.5px}}
