:root{color:#262722;font-synthesis:none;--ink:#202124;--muted:#8a8f98;--line:#e8eaed;--paper:#fff;--white:#fff;--sage:#667085;--sage-light:#f1f3f5;--walnut:#202124;--sidebar:#fff;--shadow:0 7px 24px #181c2409;--font-display:34px;--font-page-title:28px;--font-section-title:20px;--font-body:14px;--font-secondary:12px;--font-meta:11px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{background:#f7f8fa;min-width:1100px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #607d7038}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);height:100vh;color:var(--ink);flex-direction:column;padding:30px 18px 22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:13px;height:54px;padding:0 12px;display:flex}.brand>span:last-child{gap:2px;display:grid}.brand b{letter-spacing:.16em;font:700 24px/1 Noto Serif SC,serif}.brand small{color:#9aa0a6;letter-spacing:.18em;font-size:10px}.brand-logo-image{object-fit:contain;flex:0 0 38px;width:38px;height:38px}.brand-mark{border:1px solid #d9dce1;border-radius:3px;align-items:flex-end;gap:2px;width:37px;height:38px;padding:5px 4px;display:flex}.brand-mark i{background:#33363b;border-radius:1px;width:4px;display:block}.brand-mark i:first-child,.brand-mark i:nth-child(5){height:17px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(4){height:25px}.brand-mark i:nth-child(3){background:var(--accent);height:20px}.sidebar nav{gap:7px;margin-top:46px;display:grid}.sidebar nav>p{color:#a0a4aa;letter-spacing:.14em;margin:0 12px 8px;font-size:12px}.sidebar nav button,.sidebar-bottom>button{color:#6f747c;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:13px;width:100%;height:45px;padding:0 13px;transition:all .18s;display:flex}.sidebar nav button svg,.sidebar-bottom>button svg{width:18px;height:18px}.sidebar nav button span,.sidebar-bottom>button span{flex:1;font-size:15px}.sidebar nav button em{color:#777d86;background:#f0f1f3;border-radius:10px;place-items:center;min-width:23px;height:21px;padding:0 6px;font-size:12px;font-style:normal;display:grid}.sidebar nav button:hover,.sidebar-bottom>button:hover{color:var(--ink);background:#f7f8fa}.sidebar nav button.active,.sidebar-bottom>button.active{color:var(--accent-deep);background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.sidebar nav button.active em{color:var(--accent-deep);background:#fff}.sidebar-bottom{gap:16px;margin-top:auto;display:grid}.storage{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:15px 14px;display:grid}.storage span{gap:3px;display:grid}.storage span b{color:#4e5258;font-size:13px}.storage small{color:#a0a4aa;font-size:11px}.storage>i{background:#eceef1;border-radius:3px;grid-area:2/1/auto/-1;height:3px;overflow:hidden}.storage>i em{background:var(--accent);opacity:.68;width:64%;height:100%;display:block}.storage>button{color:#666c75;background:0 0;border:0;grid-area:1/2;align-self:center;font-size:12px}main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;height:74px;padding:0 42px;display:flex}.search{border:1px solid var(--line);width:310px;height:38px;color:var(--muted);background:#f8f9fa;border-radius:8px;align-items:center;gap:9px;padding:0 11px;display:flex}.search svg{width:16px}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search kbd{color:#999c93;background:#fff;border:1px solid #dfe1db;border-radius:4px;padding:3px 5px;font-size:11px;box-shadow:0 1px #e3e4df}.top-actions{align-items:center;gap:8px;display:flex}.appearance-wrap{position:relative}.appearance-trigger{border:1px solid var(--line);color:#656a72;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:142px;height:40px;padding:0 10px;display:flex}.appearance-trigger:hover,.appearance-trigger[aria-expanded=true]{background:#fafbfc;border-color:#d7dae0}.appearance-trigger>svg:first-child{width:16px;color:var(--accent)}.appearance-trigger>svg:last-child{color:#a0a4ab;width:13px;margin-left:1px}.appearance-trigger>span{flex:1;gap:1px;display:grid}.appearance-trigger small{color:#9a9fa7;font-size:10px}.appearance-trigger b{color:#4c5057;font-size:12px}.appearance-trigger>i{border:2px solid #fff;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 1px #d9dce1}.appearance-panel{z-index:70;background:#fff;border:1px solid #e2e4e8;border-radius:12px;width:376px;animation:.18s ease-out panel-in;position:absolute;top:48px;right:0;overflow:hidden;box-shadow:0 20px 55px #161b2324}.appearance-panel>header{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:68px;padding:0 18px;display:flex}.appearance-panel>header small{color:var(--accent);letter-spacing:.08em;font-size:10px}.appearance-panel h2{margin:3px 0 0;font-size:17px}.appearance-note{color:#8d929a;margin:0;padding:13px 18px 11px;font-size:11px;line-height:1.55}.preset-grid{grid-template-columns:1fr 1fr;gap:7px;padding:0 14px 14px;display:grid}.preset-grid button{color:#53575e;text-align:left;background:#fff;border:1px solid #e7e9ed;border-radius:8px;grid-template-columns:24px 1fr 15px;align-items:center;gap:8px;min-height:53px;padding:8px 10px;display:grid}.preset-grid button:hover{background:#fafbfc;border-color:#d5d8de}.preset-grid button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .08)}.preset-grid button>i{border:4px solid #fff;border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 1px #e0e2e6}.preset-grid button>span{gap:2px;display:grid}.preset-grid button b{font-size:12px}.preset-grid button small{color:#9a9fa6;font-size:10px}.preset-grid button>svg{width:14px;color:var(--accent)}.custom-theme{background:#fafbfc;border:1px solid #e7e9ed;border-radius:9px;margin:0 14px 14px;padding:13px}.custom-theme.active{border-color:var(--accent);background:var(--accent-soft)}.custom-heading{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.custom-heading>span{gap:3px;display:grid}.custom-heading b{color:#4d5158;font-size:12px}.custom-heading small{color:#999ea6;font-size:10px}.custom-heading em{color:var(--accent-deep);background:#fff;border-radius:8px;padding:3px 6px;font-size:10px;font-style:normal}.custom-controls{grid-template-columns:36px 1fr 53px;gap:7px;display:grid}.color-picker{cursor:pointer;background:#fff;border:1px solid #dfe2e6;border-radius:6px;place-items:center;width:36px;height:34px;display:grid;overflow:hidden}.color-picker input{opacity:0;width:1px;height:1px;position:absolute}.color-picker span{border-radius:4px;width:20px;height:20px;box-shadow:inset 0 0 0 1px #00000014}.custom-controls>input{color:#4c5057;letter-spacing:.04em;background:#fff;border:1px solid #dfe2e6;border-radius:6px;outline:0;width:100%;height:34px;padding:0 9px;font-size:12px}.custom-controls>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08)}.custom-controls>input.invalid{border-color:#d66c64}.apply-color{background:var(--accent);color:#fff;border:0;border-radius:6px;height:34px;font-size:11px}.apply-color:disabled{cursor:not-allowed;background:#d8dbe0}.color-error{color:#c55750;margin:7px 0 0;font-size:10px}.appearance-panel>footer{background:#fafbfc;border-top:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:47px;padding:0 18px;display:flex}.appearance-panel>footer button{color:var(--accent);background:0 0;border:0;font-size:10px}.saved-indicator{color:#9a9fa6;align-items:center;gap:4px;font-size:10px;display:flex}.saved-indicator svg{width:11px;color:var(--accent)}@keyframes panel-in{0%{opacity:0;transform:translateY(-5px)}}.top-divider{background:var(--line);width:1px;height:27px;margin:0 7px}.icon-button{color:#777b72;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid;position:relative}.icon-button:hover{color:var(--ink);background:#eff0ec}.icon-button svg{width:18px;height:18px}.icon-button.small{width:30px;height:30px}.icon-button.small svg{width:16px}.has-dot:after{content:"";background:#d05c54;border:2px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:8px}.account{text-align:left;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:3px 2px 3px 4px;display:flex}.account>span:nth-child(2){gap:2px;display:grid}.account small{color:var(--muted);font-size:11px}.account>svg{width:15px;color:var(--muted)}.avatar{border-radius:50%;place-items:center;width:38px;height:38px;font:600 15px Noto Serif SC,serif;display:grid}.avatar-owner{color:#555a62;background:#f0f1f3;width:32px;height:32px}.page-intro{background:#fff;justify-content:space-between;align-items:flex-end;min-height:172px;padding:37px 42px 30px;display:flex}.page-intro p{color:var(--accent);letter-spacing:.04em;margin:0 0 9px;font-size:13px;font-weight:600}.page-intro h1{letter-spacing:.01em;margin:0;font:600 30px/1.45 Noto Serif SC,serif}.page-intro h1 em{color:var(--accent);font-style:normal}.page-intro>div>span{color:var(--muted);margin-top:6px;font-size:14px;display:block}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 17px;font-size:14px;font-weight:600;display:inline-flex}.button svg{width:16px}.button.primary{background:var(--accent);color:#fff;box-shadow:0 5px 14px rgba(var(--accent-rgb), .2)}.button.primary:hover{background:var(--accent-deep);transform:translateY(-1px)}.button.ghost{border-color:var(--line);color:#686c64;background:#fff}.page-content{padding:22px 42px 44px}.metric-strip{border:1px solid var(--line);background:var(--white);min-height:128px;box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);display:grid}.metric-strip article{border-right:1px solid var(--line);align-items:flex-start;gap:15px;padding:23px 25px;display:flex}.metric-strip article:last-child{border:0}.metric-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:0 0 34px;place-items:center;display:grid}.metric-icon svg{width:16px}.metric-strip article>div{display:grid}.metric-strip small{color:var(--muted);font-size:12px}.metric-strip strong{color:#292a26;letter-spacing:-.02em;margin:6px 0 5px;font-size:26px}.metric-strip strong em{font-size:15px;font-style:normal;font-weight:600}.metric-strip p{color:var(--muted);margin:0;font-size:11px}.metric-strip p b{color:var(--accent);margin-right:3px}.metric-strip p.quiet{color:#a0a39b}.content-grid{grid-template-columns:minmax(610px,1.62fr) minmax(325px,.88fr);align-items:start;gap:20px;margin-top:20px;display:grid}.surface{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow)}.section-head{border-bottom:1px solid #ecece7;justify-content:space-between;align-items:center;min-height:75px;padding:0 22px;display:flex}.section-head h2{margin:0 0 4px;font-size:16px}.section-head p{color:var(--muted);margin:0;font-size:11px}.date-tools{align-items:center;gap:3px;display:flex}.today-button{border:1px solid var(--line);color:#686c64;background:#fff;height:28px;padding:0 10px;font-size:12px}.week-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);padding:13px 16px;display:grid}.week-strip button{min-width:0;height:65px;color:var(--muted);background:0 0;border:0;border-right:1px solid #eff0eb;align-content:center;place-items:center;gap:2px;display:grid}.week-strip button:last-child{border:0}.week-strip small,.week-strip span{font-size:11px}.week-strip strong{color:#5f635b;font-size:17px}.week-strip button.active{background:var(--accent);color:#ffffffc7;box-shadow:0 6px 13px rgba(var(--accent-rgb), .2);border:0;border-radius:8px;margin:-3px 6px}.week-strip button.active strong{color:#fff}.lesson-list{padding-left:42px;position:relative}.piano-rail{border-right:1px solid var(--line);background:#f6f6f2;grid-template-rows:repeat(12,1fr);width:30px;display:grid;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.piano-rail i{background:#fff;border-bottom:1px solid #dfe1db;display:block}.piano-rail i.black{z-index:1;background:#333730;border:0;width:19px;height:62%;box-shadow:1px 2px 3px #00000024}.lesson-row{border-bottom:1px solid #eeefea;grid-template-columns:62px 4px minmax(150px,1fr) 135px 58px 30px;align-items:center;gap:13px;min-height:76px;padding:0 15px;display:grid}.lesson-row:hover{background:#fafbf8}.lesson-row time{font-size:15px;font-weight:600;display:grid}.lesson-row time small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400}.lesson-accent{background:var(--accent);border-radius:4px;width:4px;height:36px}.lesson-accent.sand{background:color-mix(in srgb, var(--accent) 72%, #d5b379)}.lesson-accent.blue{background:color-mix(in srgb, var(--accent) 72%, #83a8b4)}.lesson-accent.rose{background:color-mix(in srgb, var(--accent) 65%, #d796a0)}.lesson-title{gap:5px;display:grid}.lesson-title small{color:var(--muted);font-size:11px}.lesson-meta{color:#777a72;gap:13px;font-size:11px;display:flex}.lesson-status{color:#8f928a;text-align:center;font-size:11px}.lesson-status.checked{background:var(--accent-soft);height:23px;color:var(--accent-deep);border-radius:12px;place-items:center;display:grid}.see-all{color:#70746c;background:#fafbf8;border:0;justify-content:center;align-items:center;gap:5px;width:100%;height:44px;font-size:12px;display:flex}.see-all svg{width:13px}.side-stack{gap:20px;display:grid}.goal{padding:23px 22px 20px}.goal-copy{align-items:center;gap:20px;display:flex}.goal-copy>strong{letter-spacing:-.05em;font-size:37px}.goal-copy>strong em{font-size:17px;font-style:normal}.goal-copy>span{border-left:1px solid var(--line);gap:3px;padding-left:20px;display:grid}.goal-copy small{color:var(--muted);font-size:11px}.progress{background:#eceee9;border-radius:5px;height:7px;margin:20px 0 12px;overflow:hidden}.progress i{background:var(--accent);border-radius:5px;width:71%;height:100%;display:block}.goal>p{color:var(--accent-deep);align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.goal>p svg{width:13px}.text-button{color:var(--accent);background:0 0;border:0;padding:4px;font-size:11px}.follow-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #efefeb;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;width:100%;min-height:64px;padding:8px 22px;display:grid}.follow-list button:hover{background:#fafbf8}.follow-list .avatar{width:34px;height:34px;font-size:13px}.tone-a{background:var(--accent-soft);color:var(--accent-deep)}.tone-b{background:color-mix(in srgb, var(--accent-soft) 72%, #f3f4f6);color:var(--accent-deep)}.tone-c{background:color-mix(in srgb, var(--accent-soft) 55%, #e9ecf1);color:var(--accent-deep)}.follow-list button>span:nth-child(2){gap:4px;display:grid}.follow-list b{font-size:13px}.follow-list small{color:var(--muted);font-size:11px}.follow-list em{color:#aaa9a1;align-self:start;margin-top:6px;font-size:10px;font-style:normal}.new-follow{color:#69716b;background:#fafbf8;border:0;justify-content:center;align-items:center;gap:5px;width:100%;height:43px;font-size:11px;display:flex}.new-follow svg{width:13px}.tip-card{border:1px solid var(--line);color:#60656d;background:#fff;grid-template-columns:28px 1fr 20px;align-items:start;gap:10px;min-height:82px;padding:17px 18px;display:grid}.tip-card>svg{width:18px}.tip-card b{font-size:12px}.tip-card p{color:#8b9097;margin:4px 0 0;font-size:11px;line-height:1.65}.tip-card button{color:#9e9387;background:0 0;border:0;padding:0}.tip-card button svg{width:14px}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c1f1b85;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;width:min(610px,100vw - 48px);animation:.2s ease-out modal-in;box-shadow:0 30px 90px #16191547}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:83px;padding:0 24px;display:flex}.modal>header small{color:var(--accent);letter-spacing:.08em;font-size:11px}.modal h2{margin:4px 0 0;font:600 22px Noto Serif SC,serif}.modal-body{grid-template-columns:1fr 1fr;gap:18px;padding:24px;display:grid}.field{gap:7px;display:grid}.field-wide{grid-column:1/-1}.field>span{color:#575a53;font-size:12px;font-weight:600}.field input,.field textarea,.select-control{width:100%;height:41px;color:var(--ink);text-align:left;background:#fff;border:1px solid #dfe1db;border-radius:6px;outline:0;padding:0 12px}.select-control{justify-content:space-between;align-items:center;display:flex}.select-control svg{width:15px;color:var(--muted)}.field textarea{resize:none;height:76px;padding-top:11px}.field input:focus,.field textarea:focus,.select-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .09)}.modal>footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:9px;min-height:70px;padding:0 24px;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}.search-wrap,.header-action-wrap{position:relative}.search-results{z-index:80;background:#fff;border:1px solid #e1e4e8;border-radius:10px;width:330px;padding:6px;position:absolute;top:45px;left:0;box-shadow:0 16px 42px #191e2621}.search-results button{color:#5d626a;text-align:left;background:#fff;border:0;border-radius:7px;grid-template-columns:20px 1fr 16px;align-items:center;gap:8px;width:100%;min-height:55px;padding:8px 10px;display:grid}.search-results button:hover{background:#f7f8fa}.search-results svg{color:#a0a5ad;width:14px}.search-results span{gap:3px;display:grid}.search-results b{color:#3f4349;font-size:12px}.search-results small{color:#969ba3;font-size:10px}.search-results p{color:#92979f;text-align:center;margin:0;padding:19px;font-size:12px}.utility-popover{z-index:75;background:#fff;border:1px solid #e1e4e8;border-radius:11px;width:292px;padding:7px;animation:.18s ease-out panel-in;position:absolute;top:45px;right:0;box-shadow:0 18px 48px #191e2624}.utility-popover>header{border-bottom:1px solid #eef0f2;justify-content:space-between;align-items:center;min-height:45px;padding:0 7px 5px 10px;display:flex}.utility-popover>header b{font-size:14px}.utility-popover>button{color:#6a6f77;text-align:left;background:#fff;border:0;border-radius:7px;grid-template-columns:24px 1fr 16px;align-items:center;gap:8px;width:100%;min-height:55px;padding:8px 9px;display:grid}.utility-popover>button:hover{background:#f7f8fa}.utility-popover>button>svg{width:15px}.utility-popover>button>span{gap:3px;display:grid}.utility-popover>button b{color:#484c53;font-size:12px}.utility-popover>button small{color:#9ba0a7;font-size:10px}.notification-panel{width:334px}.notification-panel>header>div{gap:2px;display:grid}.notification-panel>header small{color:#a0a5ac;font-size:10px}.notification-panel>header>button{color:var(--accent);background:0 0;border:0;font-size:10px}.notification-panel>button{grid-template-columns:8px 1fr auto}.notification-panel>button>i{background:var(--accent);border-radius:50%;width:6px;height:6px}.notification-panel>button>em{color:#a3a7ae;align-self:start;font-size:9px;font-style:normal}.account-panel{width:250px}.account-summary{border-bottom:1px solid #eef0f2;align-items:center;gap:9px;margin:4px;padding:11px 8px 14px;display:flex}.account-summary>span:last-child{gap:3px;display:grid}.account-summary b{font-size:13px}.account-summary small{color:#999ea6;font-size:10px}.account-panel>button{grid-template-columns:22px 1fr 15px;min-height:43px}.account-security-modal{width:min(820px,100vw - 48px)}.account-security-body{gap:18px;display:grid}.account-security-error{color:#a74d3f;background:#fff5f2;border:1px solid #efc2ba;margin:0;padding:11px 13px}.account-phone-section,.account-password-form,.account-session-section{border:1px solid var(--line);background:#fff;gap:16px;padding:18px;display:grid}.account-security-heading{grid-template-columns:38px 1fr auto;align-items:center;gap:11px;display:grid}.account-security-heading>span{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-deep);border-radius:9px;place-items:center;display:grid}.account-security-heading>span svg{width:18px}.account-security-heading>div{gap:2px;display:grid}.account-security-heading b{font-size:17px}.account-security-heading small{color:#8b9199;font-size:14px}.account-password-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.account-password-form>.button{justify-self:end}.account-phone-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.account-phone-form>.button{min-width:112px}.account-code-control{grid-template-columns:minmax(0,1fr) 112px;display:grid}.account-code-control>input{border-radius:6px 0 0 6px}.account-code-control>button{border:1px solid var(--line);background:var(--accent-soft);min-height:42px;color:var(--accent-deep);border-left:0;border-radius:0 6px 6px 0}.account-code-control>button:disabled{cursor:not-allowed;opacity:.55}.account-session-list{border-top:1px solid var(--line)}.account-session-list>p{color:#8b9199;margin:0;padding:18px 4px}.account-session-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;display:flex}.account-session-list article>div{gap:3px;display:grid}.account-session-list article b{font-size:16px}.account-session-list article small{color:#8b9199;font-size:14px}.account-session-list article>span{color:var(--accent-deep);font-size:14px}.account-session-list article>button{border:1px solid var(--line);color:#6a7078;background:#fff;min-height:34px;padding:0 12px}.account-session-list article>button:hover{border-color:var(--accent);color:var(--accent-deep)}.toast{z-index:160;color:#fff;background:#272b2f;border-radius:20px;align-items:center;gap:7px;min-height:40px;padding:0 16px;font-size:12px;animation:.2s ease-out toast-in;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #14181e33}.toast svg{color:#8fd0ac;width:15px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.module-page{gap:20px;display:grid}.module-heading{justify-content:space-between;align-items:flex-end;min-height:84px;display:flex}.module-heading>div:first-child{gap:5px;display:grid}.module-heading p{color:var(--accent);letter-spacing:.08em;margin:0;font-size:11px;font-weight:600}.module-heading h2{margin:0;font:600 26px Noto Serif SC,serif}.module-heading span{color:#8d929a;font-size:12px}.module-heading>div:last-child{gap:8px;display:flex}.module-card{overflow:hidden}.module-toolbar{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:66px;padding:0 20px;display:flex}.module-toolbar>div:first-child{align-items:center;gap:5px;display:flex}.module-toolbar h3{margin:0 0 3px;font-size:15px}.module-toolbar small{color:#999ea6;font-size:10px}.module-toolbar .date-tools b{margin:0 8px;font-size:12px}.module-toolbar>label{border:1px solid #e0e3e7;border-radius:6px;align-items:center;gap:7px;min-width:150px;height:34px;padding:0 9px;display:flex}.module-toolbar>label svg{color:#9398a0;width:14px}.module-toolbar select,.filter-bar select{color:#646a72;background:#fff;border:0;outline:0;flex:1;font-size:11px}.view-switch{background:#f1f3f5;border-radius:7px;padding:3px;display:flex}.view-switch button{color:#8e939a;background:0 0;border:0;border-radius:5px;height:28px;padding:0 12px;font-size:11px}.view-switch button.active{color:var(--accent-deep);background:#fff;box-shadow:0 1px 4px #14191e14}.filter-bar{border-bottom:1px solid #eceef1;align-items:center;gap:9px;min-height:54px;padding:0 20px;display:flex}.filter-bar label{border:1px solid #e2e4e8;border-radius:6px;align-items:center;gap:5px;width:125px;height:32px;padding:0 8px;display:flex}.filter-bar svg{color:#969ba3;width:13px}.filter-bar>span{color:#a0a4ab;margin-left:auto;font-size:10px}.data-table{width:100%}.table-row{color:#62676f;border-bottom:1px solid #eef0f2;align-items:center;gap:12px;min-height:61px;padding:0 20px;font-size:11px;display:grid}.table-row:last-child{border:0}.table-row:hover:not(.table-head){background:#fbfcfd}.table-head{color:#8b9098;background:#fafbfc;min-height:43px;font-weight:600}.table-row>span{min-width:0}.table-row>span:first-child:not(.person-cell):not(.portal-student-cell){gap:3px;display:grid}.table-row>span:first-child small{color:#a0a4ab}.schedule-table .table-row{grid-template-columns:.9fr 1.05fr 1.3fr .75fr .78fr .68fr .65fr .42fr}.schedule-table .table-row>strong{color:#4d535b;font-size:11px}.schedule-table .table-row>strong small{color:#a0a4ab;margin-top:3px;font-size:9px;font-weight:400;display:block}.schedule-table .table-row>strong.entitlement-ok{color:var(--accent-deep)}.schedule-table .table-row>strong.entitlement-missing{color:#a36d52}.student-table .table-row{grid-template-columns:1.15fr 1.05fr 1.15fr .8fr .65fr .7fr .65fr}.finance-table .table-row{grid-template-columns:1fr .75fr 1.6fr .8fr .75fr .7fr .45fr}.table-action{color:var(--accent);background:0 0;border:0;justify-self:start;padding:5px 2px;font-size:11px}.status-pill{color:#777c84;background:#f1f2f4;border-radius:11px;width:max-content;padding:4px 8px;font-size:10px;font-style:normal}.status-pill.done{background:var(--accent-soft);color:var(--accent-deep)}.status-pill.warn{color:#b66f38;background:#fff3ea}.person-cell{align-items:center;gap:8px;display:flex}.person-cell .avatar{flex:0 0 30px;width:30px;height:30px;font-size:11px;font-style:normal}.person-cell b{color:#454950}.danger-text{font-weight:600;color:#c55f57!important}.module-search{border:1px solid #e0e3e7;border-radius:7px;align-items:center;gap:7px;width:275px;height:35px;padding:0 10px;display:flex}.module-search svg{color:#969ba3;width:14px}.module-search input{background:0 0;border:0;outline:0;flex:1;font-size:11px}.summary-chips{display:flex;gap:7px!important}.summary-chips span{color:#7c8189;background:#f3f4f6;border-radius:12px;padding:6px 9px;font-size:10px}.empty-state{color:#a0a5ac;align-content:center;place-items:center;gap:6px;min-height:230px;display:grid}.empty-state svg{width:28px}.empty-state b{color:#6c7178;font-size:13px}.empty-state p{margin:0;font-size:11px}.week-board{grid-template-columns:repeat(7,1fr);gap:8px;min-height:430px;padding:14px;display:grid}.week-board>section{background:#fbfcfd;border:1px solid #e8eaed;border-radius:7px;padding:8px}.week-board section>header{justify-content:space-between;align-items:center;height:36px;display:flex}.week-board header b{font-size:11px}.week-board header small{color:#9ba0a7;font-size:10px}.week-board section>button{border:0;border-left:3px solid var(--accent);background:var(--accent-soft);width:100%;min-height:68px;color:var(--accent-deep);text-align:left;border-radius:5px;gap:3px;margin-bottom:7px;padding:8px;display:grid}.week-board button time{font-size:10px}.week-board button small{color:#8e949a;font-size:9px}.teacher-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.teacher-card{padding:19px}.teacher-card>header{grid-template-columns:42px 1fr auto;align-items:center;gap:11px;display:grid}.teacher-card header>div{gap:3px;display:grid}.teacher-card h3{margin:0;font-size:15px}.teacher-card p{color:#8f949c;margin:0;font-size:11px}.teacher-card>div{border-top:1px solid #eceef1;border-bottom:1px solid #eceef1;grid-template-columns:1fr 1fr;margin:18px 0 14px;padding:13px 0;display:grid}.teacher-card>div span{gap:4px;display:grid}.teacher-card>div span+span{border-left:1px solid #eceef1;padding-left:18px}.teacher-card small{color:#999ea6;font-size:10px}.teacher-card>p{align-items:center;gap:6px;display:flex}.teacher-card>p svg{width:13px}.teacher-card>footer{border-top:1px solid #eceef1;grid-template-columns:1fr 1fr;margin:15px -19px -19px;display:grid}.teacher-card footer button{color:#71767e;background:#fff;border:0;justify-content:center;align-items:center;gap:5px;height:42px;font-size:11px;display:flex}.teacher-card footer button+button{color:var(--accent);border-left:1px solid #eceef1}.teacher-card footer svg{width:12px}.finance-summary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.finance-summary article{grid-template-columns:32px 1fr;align-content:center;column-gap:10px;min-height:116px;padding:19px;display:grid}.finance-summary article>span{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;grid-row:1/4;place-items:center;display:grid}.finance-summary svg{width:15px}.finance-summary small{color:#91969e;font-size:10px}.finance-summary strong{margin:4px 0;font-size:23px}.finance-summary p{color:#969ba3;margin:0;font-size:10px}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-section{padding:20px}.settings-section>header{align-items:flex-start;gap:10px;min-height:45px;display:flex}.settings-section>header>svg{width:18px;color:var(--accent)}.settings-section header h3{margin:0 0 4px;font-size:14px}.settings-section header p{color:#999ea6;margin:0;font-size:10px}.settings-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;display:grid}.settings-form input{border:1px solid #e0e3e7;border-radius:6px;outline:0;width:100%;height:38px;padding:0 10px}.cloud-sync-section{grid-column:1/-1}.cloud-sync-section>header{align-items:center}.cloud-sync-live{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:7px 11px;font-weight:700;display:inline-flex}.cloud-sync-live i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);border-radius:50%}.cloud-sync-grid{border-top:1px solid var(--line);grid-template-columns:.9fr .7fr 1.5fr;margin-top:16px;padding-top:16px;display:grid}.cloud-sync-grid>span{gap:5px;min-width:0;padding:0 20px;display:grid}.cloud-sync-grid>span:first-child{padding-left:28px}.cloud-sync-grid>span+span{border-left:1px solid var(--line)}.cloud-sync-grid small{color:var(--muted)}.cloud-sync-grid b{color:var(--ink);font-size:var(--font-body)}.brand-settings-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;display:grid}.brand-settings-form .field-wide{grid-column:1/-1}.logo-settings-body{align-items:center;gap:14px;margin-top:10px;display:flex}.logo-preview{border:1px solid var(--accent-soft);background:linear-gradient(145deg, var(--accent-soft), #fff);border-radius:14px;flex:0 0 70px;place-items:center;width:70px;height:70px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;background:#fff;width:100%;height:100%}.logo-preview span{border:2px solid var(--accent);width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;font-family:serif;font-size:23px;display:grid}.logo-settings-body>div:last-child{gap:5px;min-width:0;display:grid}.logo-settings-body b{font-size:13px}.logo-settings-body small{color:#90969e;font-size:10px;line-height:1.55}.logo-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.logo-upload{cursor:pointer;background:var(--accent);color:#fff;border-radius:6px;align-items:center;height:30px;padding:0 11px;font-size:11px;display:inline-flex}.logo-upload input{display:none}.logo-actions .button{min-height:30px;padding:0 11px;font-size:11px}.settings-themes{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.settings-themes button{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:7px;grid-template-columns:20px 1fr 13px;align-items:center;gap:6px;min-height:53px;padding:7px;display:grid}.settings-themes button.active{border-color:var(--accent);background:var(--accent-soft)}.settings-themes i{border-radius:50%;width:18px;height:18px}.settings-themes span{gap:2px;display:grid}.settings-themes small{color:#a0a4ab;font-size:9px}.settings-themes svg{width:12px;color:var(--accent)}.setting-switches{display:grid}.setting-switches button{text-align:left;background:#fff;border:0;border-top:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:56px;display:flex}.setting-switches span{gap:3px;display:grid}.setting-switches small{color:#999ea6;font-size:10px}.setting-switches i{background:#d9dce1;border-radius:12px;width:34px;height:19px;position:relative}.setting-switches i:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:all .18s;position:absolute;top:3px;left:3px}.setting-switches i.on{background:var(--accent)}.setting-switches i.on:after{left:18px}.backup-section{justify-content:space-between;align-items:center;display:flex}.backup-section>header{flex:1}.detail-layout,.upgrade-content{grid-column:1/-1;width:100%}.detail-hero,.person-summary{border:1px solid #e6e8ec;border-radius:8px;align-items:center;gap:12px;min-height:86px;padding:15px;display:flex}.detail-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.detail-icon svg{width:20px}.detail-hero>div{gap:4px;display:grid}.detail-hero h3,.person-summary h3{margin:0;font-size:16px}.detail-hero p,.person-summary p{color:#92979f;margin:0;font-size:11px}.person-summary>div{flex:1}.detail-grid{background:#f7f8fa;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;padding:15px;display:grid}.detail-grid span{gap:4px;display:grid}.detail-grid small{color:#969ba3;font-size:10px}.receipt-total{background:var(--accent-soft);border-radius:8px;align-content:center;place-items:center;gap:5px;min-height:100px;display:grid}.receipt-total small{color:#858b93;font-size:10px}.receipt-total strong{color:var(--accent-deep);font-size:29px}.upgrade-content{text-align:center;justify-items:center;display:grid}.upgrade-content>svg{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);box-sizing:content-box;border-radius:50%;padding:10px}.upgrade-content h3{margin:12px 0 2px;font-size:18px}.upgrade-content p{color:#8e939b;max-width:430px;margin:0;font-size:11px;line-height:1.65}.upgrade-content ul{text-align:left;background:#f7f8fa;border-radius:8px;gap:9px;width:320px;margin:18px 0 0;padding:13px 18px;list-style:none;display:grid}.upgrade-content li{color:#666b73;align-items:center;gap:8px;font-size:11px;display:flex}.upgrade-content li svg{width:13px;color:var(--accent)}.payment-modal{width:min(780px,100vw - 48px)}.payment-body{grid-template-columns:minmax(0,1.65fr) minmax(220px,.75fr);gap:22px;padding:24px;display:grid}.payment-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.payment-form select,.payment-form input{color:#444950;background:#fff;border:1px solid #dfe2e6;border-radius:6px;outline:0;width:100%;height:42px;padding:0 11px;font-size:15px}.payment-form select:focus,.payment-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .09)}.payment-package-preview{border:1px solid rgba(var(--accent-rgb), .18);background:var(--accent-soft);border-radius:8px;grid-column:1/-1;align-items:flex-start;gap:11px;min-height:72px;padding:12px 14px;display:flex}.payment-package-preview>span{width:34px;height:34px;color:var(--accent);background:#fff;border-radius:7px;flex:0 0 34px;place-items:center;display:grid}.payment-package-preview svg{width:17px}.payment-package-preview>div{gap:3px;display:grid}.payment-package-preview b{color:var(--accent-deep);font-size:14px}.payment-package-preview small,.payment-package-preview p{color:#7d8584;margin:0;font-size:12px;line-height:1.55}.suffix-input,.money-input{background:#fff;border:1px solid #dfe2e6;border-radius:6px;align-items:center;height:42px;display:flex;overflow:hidden}.suffix-input:focus-within,.money-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .09)}.suffix-input input,.money-input input{border:0;min-width:0;height:40px;box-shadow:none!important}.suffix-input span{color:#9398a0;white-space:nowrap;padding-right:11px;font-size:13px}.money-input>span{color:#5a6068;padding-left:11px;font-size:15px;font-weight:600}.money-input>small{color:#9398a0;white-space:nowrap;padding-right:10px;font-size:12px}.money-input.readonly{background:#f7f8f9}.money-input.readonly input{color:var(--accent-deep);background:0 0;font-weight:700}.money-input.invalid{border-color:#d76961}.payment-summary{background:#fafbfc;border:1px solid #e4e7eb;border-radius:9px;align-content:start;justify-items:center;padding:19px;display:grid}.payment-summary-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.payment-summary-icon svg{width:18px}.payment-summary>small{color:#8e949c;font-size:13px}.payment-summary>strong{color:var(--accent-deep);margin:5px 0 16px;font-size:29px}.payment-summary dl{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;gap:10px;width:100%;margin:0;padding:12px 0;display:grid}.payment-summary dl div{justify-content:space-between;gap:12px;display:flex}.payment-summary dt{color:#92979f;font-size:13px}.payment-summary dd{color:#4d5259;text-align:right;margin:0;font-size:13px;font-weight:600}.receipt-check{cursor:pointer;align-items:flex-start;gap:8px;width:100%;margin-top:14px;display:flex}.receipt-check input{accent-color:var(--accent);margin-top:3px}.receipt-check span{gap:3px;display:grid}.receipt-check b{font-size:13px}.receipt-check small{color:#989da5;font-size:12px}.payment-note{background:var(--accent-soft);min-height:44px;color:var(--accent-deep);border-radius:7px;align-items:center;gap:7px;margin:0 24px 20px;padding:0 12px;font-size:13px;display:flex}.payment-note svg{width:15px}.button:disabled{color:#fff;box-shadow:none;cursor:not-allowed;background:#d8dbe0;transform:none}.student-modal{width:min(650px,100vw - 48px)}.student-create-body select{color:#444950;background:#fff;border:1px solid #dfe2e6;border-radius:6px;outline:0;width:100%;height:42px;padding:0 11px;font-size:15px}.student-create-body select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .09)}.student-create-body .invalid-control{background:snow;border-color:#d76961}.student-form-note{background:var(--accent-soft);min-height:52px;color:var(--accent-deep);border-radius:7px;grid-column:1/-1;align-items:center;gap:9px;padding:10px 12px;display:flex}.student-form-note>svg{flex:0 0 17px;width:17px}.student-form-note>span{gap:3px;display:grid}.student-form-note b{font-size:14px}.student-form-note small{color:#7f8887;font-size:13px}.student-form-note.conflict{color:#b65f46;background:#fff0eb}.package-entitlement{border:1px solid rgba(var(--accent-rgb), .18);border-left:3px solid var(--accent);background:linear-gradient(100deg, var(--accent-soft), #fff 76%);border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.package-entitlement>span{gap:4px;display:grid}.package-entitlement>span b{color:var(--accent-deep);font-size:15px}.package-entitlement>span small{color:#858b91;font-size:12px}.package-entitlement dl{gap:20px;margin:0;display:flex}.package-entitlement dl div{text-align:right;gap:3px;display:grid}.package-entitlement dt{color:#92979d;font-size:11px}.package-entitlement dd{color:#40464d;margin:0;font-size:14px;font-weight:700}.course-resource-match{border:1px dashed rgba(var(--accent-rgb), .28);min-height:48px;color:var(--accent);background:#fbfcfc;border-radius:7px;grid-column:1/-1;align-items:center;gap:9px;padding:9px 12px;display:flex}.course-resource-match>svg{flex:0 0 17px;width:17px}.course-resource-match>span{gap:3px;display:grid}.course-resource-match b{color:#535a60;font-size:13px}.course-resource-match small{color:#8b9197;font-size:12px}.package-empty{text-align:center;grid-column:1/-1;align-content:center;place-items:center;gap:9px;min-height:220px;display:grid}.package-empty>svg{width:30px;color:var(--accent)}.package-empty h3,.package-empty p{margin:0}.package-empty p{color:#8f959c;font-size:14px}.auto-schedule-modal{flex-direction:column;width:min(980px,100vw - 48px);max-height:calc(100vh - 48px);display:flex}.auto-schedule-modal>header h2{align-items:center;gap:8px;display:flex}.auto-schedule-modal>header h2 svg{width:19px;color:var(--accent)}.auto-schedule-body{grid-template-columns:minmax(330px,.82fr) minmax(380px,1.18fr);gap:22px;min-height:0;padding:22px 24px;display:grid;overflow:auto}.auto-config{grid-template-columns:1fr 1fr;align-content:start;gap:14px;display:grid}.auto-config select,.auto-config input{color:#454b52;background:#fff;border:1px solid #dfe2e6;border-radius:6px;outline:0;width:100%;height:40px;padding:0 10px;font-size:14px}.auto-config select:focus,.auto-config input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .09)}.ai-generate{background:linear-gradient(105deg, var(--accent-deep), var(--accent));color:#fff;min-height:44px;box-shadow:0 8px 20px rgba(var(--accent-rgb), .18);border:0;border-radius:7px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.ai-generate svg{width:17px}.ai-generate:disabled{opacity:.45;cursor:not-allowed}.teacher-assignment-map{border:1px solid rgba(var(--accent-rgb), .18);background:linear-gradient(110deg, var(--accent-soft), #fff);border-radius:8px;grid-column:1/-1;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.teacher-assignment-map>span{width:30px;height:30px;color:var(--accent);background:#fff;border-radius:50%;flex:0 0 30px;place-items:center;display:grid}.teacher-assignment-map>span svg{width:15px}.teacher-assignment-map>div{flex:1;gap:6px;min-width:0;display:grid}.teacher-assignment-map b{color:var(--accent-deep);font-size:13px}.teacher-assignment-map p{justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.teacher-assignment-map p span{color:#70777d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.teacher-assignment-map p em{color:#4f565c;white-space:nowrap;font-size:11px;font-style:normal;font-weight:700}.ai-rules{background:#f7f9f8;border-radius:7px;grid-column:1/-1;gap:7px;padding:11px 12px;display:grid}.ai-rules span{color:#737a80;align-items:center;gap:7px;font-size:12px;display:flex}.ai-rules svg{width:12px;color:var(--accent)}.auto-preview{background:#fafbfc;border:1px solid #e2e5e8;border-radius:9px;min-height:370px;overflow:hidden}.auto-preview>header{background:#fff;border-bottom:1px solid #e6e8eb;justify-content:space-between;align-items:center;min-height:66px;padding:0 17px;display:flex}.auto-preview>header small{color:var(--accent);font-size:11px}.auto-preview>header h3{margin:3px 0 0;font-size:16px}.auto-preview>header em{background:var(--accent-soft);color:var(--accent-deep);border-radius:12px;padding:5px 8px;font-size:11px;font-style:normal}.ai-slot-list{max-height:390px;padding:7px 14px;overflow:auto}.ai-slot-list article{border-bottom:1px solid #e6e8eb;grid-template-columns:28px minmax(0,1fr) 90px 18px;align-items:center;gap:10px;min-height:58px;padding:9px 3px;display:grid}.ai-slot-list article>span{color:#b1b6bc;font:600 12px ui-monospace,monospace}.ai-slot-list article>div{gap:4px;display:grid}.ai-slot-list article b{color:#444a51;font-size:13px}.ai-slot-list article small{color:#8a9097;font-size:11px}.ai-slot-list article>p{color:#5d646b;gap:3px;margin:0;font-size:12px;display:grid}.ai-slot-list article>svg{width:15px;color:var(--accent)}.ai-preview-empty{text-align:center;align-content:center;place-items:center;gap:12px;height:300px;padding:40px;display:grid}.ai-preview-empty svg{width:28px;color:rgba(var(--accent-rgb), .55)}.ai-preview-empty p{color:#92989f;max-width:260px;margin:0;font-size:13px;line-height:1.7}.role-mode-switch{background:#f6f7f8;border:1px solid #e2e5e7;border-radius:7px;grid-template-columns:1fr 1fr;gap:3px;margin:18px 18px 8px;padding:3px;display:grid}.role-mode-switch button{color:#8a9096;background:0 0;border:0;border-radius:5px;height:29px;font-size:12px}.role-mode-switch button.active{color:var(--accent-deep);background:#fff;font-weight:700;box-shadow:0 2px 7px #1f252214}.report-summary,.teacher-work-summary,.course-summary,.student-portal-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.report-summary article,.teacher-work-summary article,.course-summary article,.student-portal-summary article{min-height:105px;padding:18px 19px;position:relative}.report-summary article>span,.student-portal-summary article>span{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.report-summary article>span svg,.student-portal-summary article>span svg{width:15px}.report-summary small,.teacher-work-summary small,.course-summary small,.student-portal-summary small{color:#8c9299;font-size:12px}.report-summary strong,.teacher-work-summary strong,.course-summary strong,.student-portal-summary strong{color:#353b42;margin-top:5px;font:600 27px Noto Serif SC,serif;display:block}.report-summary p,.teacher-work-summary p,.course-summary p,.student-portal-summary p{color:#9aa0a6;margin:5px 0 0;font-size:11px}.teacher-responsibility{overflow:hidden}.teacher-responsibility>header,.recent-schedule-report>header,.my-schedule-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:0 18px;display:flex}.teacher-responsibility>header small,.recent-schedule-report>header small,.my-schedule-panel>header small{color:var(--accent);font-size:11px}.teacher-responsibility>header h3,.recent-schedule-report>header h3,.my-schedule-panel>header h3{margin:3px 0 0;font-size:16px}.teacher-duty-grid{grid-template-columns:repeat(4,1fr);gap:11px;padding:16px;display:grid}.teacher-duty-grid>article{border:1px solid #e4e7e9;border-radius:8px;grid-template-columns:34px 1fr;gap:9px;padding:14px;display:grid}.teacher-duty-grid .avatar{width:34px;height:34px}.teacher-duty-grid>article>div{align-content:center;gap:3px;display:grid}.teacher-duty-grid>article>div small{color:#969ca2;font-size:10px}.teacher-duty-grid dl{border-top:1px solid #edf0f1;border-bottom:1px solid #edf0f1;grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:4px 0 0;padding:10px 0;display:grid}.teacher-duty-grid dl div{text-align:center;gap:3px;display:grid}.teacher-duty-grid dt{color:#9aa0a6;font-size:10px}.teacher-duty-grid dd{color:#4a5157;margin:0;font-size:13px;font-weight:700}.teacher-duty-grid>article>button{color:var(--accent);text-align:left;background:0 0;border:0;grid-column:1/-1;padding:3px 0 0;font-size:11px}.report-filters{gap:8px;display:flex}.report-filters select,.module-toolbar>select{color:#646b72;background:#fff;border:1px solid #dde1e4;border-radius:6px;height:34px;padding:0 30px 0 10px;font-size:12px}.report-table .table-row{grid-template-columns:.75fr .8fr 1.3fr .72fr 1fr .65fr .52fr}.report-package-cell{gap:3px;min-width:0;display:grid}.report-package-cell b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.report-package-cell small{color:#969ca2;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.request-progress{gap:5px;display:grid}.request-progress b{font-size:11px}.request-progress i,.task-progress i{background:#edf0f1;border-radius:3px;height:4px;overflow:hidden}.request-progress i em,.task-progress i em{border-radius:inherit;background:var(--accent);height:100%;display:block}.status-pill.request-待认领{color:#b26743;background:#fff1e8}.status-pill.request-排课中,.status-pill.request-部分已排{background:var(--accent-soft);color:var(--accent-deep)}.status-pill.request-已排完{color:#4d7c58;background:#edf5ee}.recent-schedule-report{overflow:hidden}.recent-schedule-report>header>span,.my-schedule-panel>header>span{color:#8d949a;font-size:12px}.recent-schedule-report>div,.my-schedule-panel>div{display:grid}.recent-schedule-report article,.my-schedule-panel article{border-bottom:1px solid #edf0f1;grid-template-columns:80px 1fr 150px 70px;align-items:center;gap:12px;min-height:54px;padding:0 18px;display:grid}.recent-schedule-report time,.my-schedule-panel time{color:#525960;gap:3px;font-size:12px;font-weight:700;display:grid}.recent-schedule-report time small,.my-schedule-panel time small,.recent-schedule-report article span small,.my-schedule-panel article span small,.recent-schedule-report article p small{color:#9aa0a6;font-size:10px;font-weight:400}.recent-schedule-report article span,.my-schedule-panel article span{gap:3px;display:grid}.recent-schedule-report article span b,.my-schedule-panel article span b{font-size:12px}.recent-schedule-report article p,.my-schedule-panel article p{color:#656c73;gap:3px;margin:0;font-size:11px;display:grid}.course-summary{grid-template-columns:repeat(3,1fr)}.course-summary strong em{font-size:13px;font-style:normal}.course-table .table-row{grid-template-columns:1.45fr .68fr .65fr .55fr 1.05fr 1fr .5fr .45fr}.course-table .table-row>strong{color:var(--accent-deep);font-size:12px}.status-toggle{color:#8e949a;background:#f5f6f7;border:1px solid #e0e3e5;border-radius:12px;justify-self:start;min-width:44px;height:24px;font-size:10px}.status-toggle.active{border-color:rgba(var(--accent-rgb), .18);background:var(--accent-soft);color:var(--accent-deep)}.course-editor-modal{width:min(720px,100vw - 48px)}.course-editor-body input,.course-editor-body select{background:#fff;border:1px solid #dfe2e6;border-radius:6px;outline:0;width:100%;height:42px;padding:0 11px}.course-check-group{grid-column:1/-1;gap:9px;display:grid}.course-check-group>b{color:#6b7178;font-size:12px}.course-check-group>div{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.course-check-group label{border:1px solid #e3e6e8;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:7px 10px;display:flex}.course-check-group label:has(input:checked){border-color:rgba(var(--accent-rgb), .35);background:var(--accent-soft)}.course-check-group input{width:auto;height:auto;accent-color:var(--accent)}.course-check-group label span{color:#555c63;gap:2px;font-size:12px;display:grid}.course-check-group label small{color:#999fa5;font-size:10px}.student-portal-page{gap:14px}.portal-page-tabs{background:#eef1f2;border:1px solid #dfe3e5;border-radius:8px;gap:3px;width:fit-content;padding:4px;display:flex}.portal-page-tabs button{color:#777f85;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-width:155px;height:38px;padding:0 14px;font-size:14px;display:flex}.portal-page-tabs button svg{width:15px}.portal-page-tabs button.active{color:var(--accent-deep);background:#fff;font-weight:700;box-shadow:0 2px 8px #252e3214}.student-portal-card{overflow:hidden}.student-portal-table .table-row{grid-template-columns:1.12fr 1.25fr .7fr .72fr .42fr .62fr .88fr;gap:9px}.student-portal-table .portal-student-cell{align-items:center;gap:10px;display:flex}.portal-student-cell>.avatar{flex:0 0 30px}.portal-student-cell>span,.family-binding-cell{gap:3px;display:grid}.portal-student-cell small,.family-binding-cell small{color:#969ca2;font-size:12px}.family-binding-cell b{color:#596067;font-size:13px}.status-pill.portal-已开通{color:#4e7e6d;background:#e9f3ee}.status-pill.portal-待邀请,.status-pill.portal-已邀请{color:#b9794f;background:#fff2e7}.status-pill.portal-已停用{color:#8b9298;background:#f0f2f3}.portal-notify-toggle{background:#dfe3e5;border:0;border-radius:12px;justify-self:start;width:35px;height:21px;padding:2px;transition:all .18s}.portal-notify-toggle i{background:#fff;border-radius:50%;width:17px;height:17px;transition:all .18s;display:block;box-shadow:0 1px 4px #20282d2e}.portal-notify-toggle.active{background:var(--accent)}.portal-notify-toggle.active i{transform:translate(14px)}.portal-share-actions,.portal-row-actions{align-items:center;gap:5px;display:flex}.portal-share-actions button{width:30px;height:30px;color:var(--accent);background:#fff;border:1px solid #dfe3e5;border-radius:6px;place-items:center;display:grid}.portal-share-actions button:hover{border-color:rgba(var(--accent-rgb), .35);background:var(--accent-soft)}.portal-share-actions svg{width:14px}.portal-row-actions button{height:30px;color:var(--accent-deep);background:0 0;border:0;border-radius:5px;align-items:center;gap:3px;padding:0 7px;font-size:12px;display:flex}.portal-row-actions button:hover{background:var(--accent-soft)}.portal-row-actions svg{width:12px}.portal-decoration-layout{grid-template-columns:minmax(0,1fr) 430px;align-items:start;gap:16px;display:grid}.portal-decoration-editor,.portal-phone-stage{overflow:hidden}.portal-decoration-editor>header,.portal-phone-stage>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:0 18px;display:flex}.portal-decoration-editor>header small,.portal-phone-stage>header small{color:var(--accent);font-size:12px}.portal-decoration-editor>header h3{margin:3px 0 0;font-size:17px}.portal-decoration-editor>header em{color:#848c91;align-items:center;gap:5px;font-size:12px;font-style:normal;display:flex}.portal-decoration-editor>header em svg{width:14px}.portal-phone-stage>header span{color:#9aa0a5;font-size:12px}.portal-decoration-form{grid-template-columns:1fr 1fr;gap:16px;padding:20px;display:grid}.portal-decoration-form .field-wide{grid-column:1/-1}.portal-decoration-form input,.portal-decoration-form textarea{background:#fff;border:1px solid #dfe3e5;border-radius:6px;outline:0;width:100%;padding:0 11px}.brand-managed-field{box-sizing:border-box;background:#f8faf9;border:1px solid #dfe3e5;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;min-height:41px;padding:8px 11px;display:flex}.brand-managed-field b{color:#27323a}.brand-managed-field small{color:#8b949b;font-size:14px}.portal-decoration-form input{height:41px}.portal-decoration-form textarea{resize:vertical;min-height:76px;padding-top:10px}.portal-decoration-form input:focus,.portal-decoration-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08)}.portal-color-setting,.portal-module-setting{grid-column:1/-1;gap:9px;display:grid}.portal-color-setting>b,.portal-module-setting>b{color:#596067;font-size:14px}.portal-color-setting>div{gap:10px;display:flex}.portal-color-setting button{color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 0 0 1px #dfe3e5}.portal-color-setting button.active{box-shadow:0 0 0 2px var(--accent)}.portal-color-setting button svg{width:15px}.portal-module-setting>p{color:#969da2;margin:-4px 0 0;font-size:12px}.portal-module-setting>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-module-setting button{color:#6b7379;background:#fff;border:1px solid #dfe3e5;border-radius:6px;justify-content:space-between;align-items:center;height:42px;padding:0 11px;display:flex}.portal-module-setting button.active{border-color:rgba(var(--accent-rgb), .35);background:var(--accent-soft);color:var(--accent-deep)}.portal-module-setting button svg{width:14px}.portal-phone-stage{background:linear-gradient(#fff 0,#f3f6f5 100%);padding-bottom:22px}.mini-phone{--portal-color:#4d8b78;background:#f6f8f7;border:8px solid #1f272b;border-radius:34px;width:320px;min-height:625px;margin:20px auto 0;position:relative;overflow:hidden;box-shadow:0 22px 45px #232d312e}.mini-status{background:#fff;justify-content:space-between;align-items:center;height:28px;padding:0 17px;font-size:11px;display:flex}.mini-nav{background:#fff;justify-content:center;align-items:center;height:42px;padding:0 15px;display:flex;position:relative}.mini-nav b{font-size:13px}.mini-nav svg{width:18px;position:absolute;right:13px}.mini-home-hero{background:var(--portal-color);color:#fff;min-height:126px;padding:20px 17px}.mini-home-hero small{opacity:.78;font-size:11px}.mini-home-hero h3{margin:7px 0 12px;font:500 20px/1.35 Noto Serif SC,serif}.mini-home-hero p{background:#ffffff24;border-radius:6px;margin:0;padding:7px 9px;font-size:10px;line-height:1.5}.mini-module-grid{background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin:-9px 11px 0;padding:10px;display:grid;position:relative;box-shadow:0 5px 18px #232d3114}.mini-module-grid article{background:#f5f8f7;border-radius:7px;grid-template-columns:25px 1fr;align-content:center;column-gap:7px;min-height:68px;padding:9px;display:grid}.mini-module-grid article>span{background:color-mix(in srgb, var(--portal-color) 14%, white);width:25px;height:25px;color:var(--portal-color);border-radius:7px;grid-row:1/3;place-items:center;display:grid}.mini-module-grid article svg{width:13px}.mini-module-grid article b{font-size:11px}.mini-module-grid article small{color:#969da2;font-size:9px}.mini-next-lesson{background:#fff;border-radius:9px;margin:13px 11px 58px;padding:12px}.mini-next-lesson>header{justify-content:space-between;display:flex}.mini-next-lesson>header b{font-size:12px}.mini-next-lesson>header span{color:var(--portal-color);font-size:10px}.mini-next-lesson>div{border-top:1px solid #edf0ef;grid-template-columns:55px 1fr;margin-top:12px;padding-top:11px;display:grid}.mini-next-lesson time,.mini-next-lesson>div>span{gap:3px;display:grid}.mini-next-lesson time{color:var(--portal-color);font-size:12px;font-weight:700}.mini-next-lesson small{color:#979ea3;font-size:9px;font-weight:400}.mini-next-lesson>div b{font-size:11px}.mini-bottom-nav{background:#fff;border-top:1px solid #e7eae9;justify-content:space-between;align-items:center;height:50px;padding:0 36px;display:flex;position:absolute;inset:auto 0 0}.mini-bottom-nav b,.mini-bottom-nav span{color:#959ca1;justify-items:center;gap:3px;font-size:9px;display:grid}.mini-bottom-nav b{color:var(--portal-color)}.mini-bottom-nav svg{width:15px}.portal-guide-modal{width:min(590px,100vw - 48px)}.portal-guide-modal>header h2,.portal-bindings-modal>header h2,.portal-share-modal>header h2{align-items:center;gap:7px;display:flex}.portal-guide-modal>header h2 svg,.portal-bindings-modal>header h2 svg,.portal-share-modal>header h2 svg{width:18px;color:var(--accent)}.portal-guide-body{grid-template-columns:1fr 1fr;gap:16px;padding:20px 22px;display:grid}.guide-cover,.guide-channel-setting,.guide-send-summary{grid-column:1/-1}.guide-cover{background:var(--accent-soft);min-height:72px;color:var(--accent);border-radius:8px;align-items:center;gap:12px;padding:13px 15px;display:flex}.guide-cover>svg{width:27px}.guide-cover>span,.guide-send-summary>span{gap:4px;display:grid}.guide-cover b,.guide-send-summary b{color:var(--accent-deep);font-size:14px}.guide-cover small,.guide-send-summary small{color:#7e8885;font-size:12px}.portal-guide-body select{background:#fff;border:1px solid #dfe3e5;border-radius:6px;width:100%;height:40px;padding:0 10px}.guide-channel-setting{grid-template-columns:1fr 1fr;gap:8px;display:grid}.guide-channel-setting>b{color:#596067;grid-column:1/-1;font-size:14px}.guide-channel-setting>button{color:#737b81;background:#fff;border:1px solid #dfe3e5;border-radius:6px;justify-content:space-between;align-items:center;height:46px;padding:0 11px;display:flex}.guide-channel-setting>button.active{border-color:rgba(var(--accent-rgb), .35);background:var(--accent-soft);color:var(--accent-deep)}.guide-channel-setting button>span{align-items:center;gap:7px;display:flex}.guide-channel-setting svg{width:15px}.guide-send-summary{min-height:56px;color:var(--accent);background:#f5f7f7;border-radius:7px;align-items:center;gap:9px;padding:11px 13px;display:flex}.guide-send-summary>svg{width:18px}.portal-bindings-modal{flex-direction:column;width:min(780px,100vw - 48px);max-height:calc(100vh - 42px);display:flex}.portal-bindings-body{gap:12px;min-height:0;padding:18px 22px;display:grid;overflow:auto}.binding-owner-card{border:1px solid rgba(var(--accent-rgb), .2);background:var(--accent-soft);border-radius:8px;grid-template-columns:38px 1fr 190px auto;align-items:center;gap:10px;min-height:66px;padding:11px 13px;display:grid}.binding-owner-card>div{gap:3px;display:grid}.binding-owner-card b{font-size:14px}.binding-owner-card small{color:#7f8986;font-size:12px}.binding-owner-card input{background:#fff;border:1px solid #d8dfdc;border-radius:6px;height:38px;padding:0 10px}.binding-owner-card em{color:var(--accent-deep);font-size:11px;font-style:normal}.guardian-slot{border:1px solid #e2e5e7;border-radius:8px;overflow:hidden}.guardian-slot>header{background:#f7f8f8;justify-content:space-between;align-items:center;min-height:45px;padding:0 13px;display:flex}.guardian-slot>header>div{align-items:center;gap:8px;display:flex}.guardian-slot>header span{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:50%;place-items:center;font-size:11px;display:grid}.guardian-slot>header b{font-size:13px}.guardian-slot>header button{color:#999fa4;background:0 0;border:0;font-size:11px}.guardian-slot>div{grid-template-columns:.7fr 1fr 1.2fr;gap:10px;padding:12px;display:grid}.guardian-slot input,.guardian-slot select{background:#fff;border:1px solid #dfe3e5;border-radius:6px;width:100%;height:38px;padding:0 9px}.binding-validation{color:#b65f59;background:#fff0eb;border-radius:7px;align-items:center;gap:9px;min-height:52px;padding:9px 12px;display:flex}.binding-validation.valid{color:#4f806e;background:#edf6f1}.binding-validation>svg{width:17px}.binding-validation>span{gap:3px;display:grid}.binding-validation b{font-size:12px}.binding-validation small{color:#7e8885;font-size:11px}.portal-share-modal{width:min(540px,100vw - 48px)}.portal-share-body{gap:14px;padding:20px 22px;display:grid}.qr-share-card{text-align:center;background:linear-gradient(#fff 0,#f5f8f7 100%);border:1px solid #e1e5e6;border-radius:10px;width:310px;margin:0 auto;padding:18px}.qr-share-card .brand{transform-origin:50%;width:fit-content;margin:0 auto 13px;transform:scale(.82)}.portal-qr-pattern{background:#fff;border:1px solid #e0e4e5;border-radius:6px;place-items:center;width:174px;height:174px;margin:0 auto;padding:7px;display:grid}.portal-qr-pattern img{width:100%;height:100%;display:block}.qr-share-card h3{margin:13px 0 6px;font:600 17px Noto Serif SC,serif}.qr-share-card p{color:#70787e;margin:0;font-size:12px;line-height:1.6}.qr-share-card>small{color:#a0a6aa;margin-top:10px;font-size:10px;display:block}.share-link-row,.mini-share-tip{background:#f5f7f7;border-radius:7px;align-items:center;gap:9px;min-height:58px;padding:10px 12px;display:flex}.share-link-row>svg,.mini-share-tip>svg{width:18px;color:var(--accent)}.share-link-row>span,.mini-share-tip>span{gap:3px;min-width:0;display:grid}.share-link-row b,.mini-share-tip b{font-size:12px}.share-link-row small{color:#899095;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.mini-share-card{background:#fff;border:1px solid #dfe4e5;border-radius:10px;padding:16px;box-shadow:0 10px 24px #27303414}.mini-share-card>div{align-items:center;gap:9px;display:flex}.share-brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.share-brand-mark svg{width:18px}.mini-share-card>div p{gap:2px;margin:0;display:grid}.mini-share-card>div b{font-size:13px}.mini-share-card>div small{color:#959ca1;font-size:10px}.mini-share-card h3{margin:18px 0 8px;font:600 18px/1.45 Noto Serif SC,serif}.mini-share-card>p{color:#747c82;margin:0;font-size:12px;line-height:1.65}.mini-share-card>footer{border-top:1px solid #edf0f1;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;margin-top:18px;padding-top:12px;display:grid}.mini-share-card>footer .avatar{width:28px;height:28px}.mini-share-card>footer small{color:#999fa4;font-size:10px}.mini-share-card>footer em{color:var(--accent);font-size:10px;font-style:normal}.mini-share-tip small{color:#858d92;font-size:11px}.feedback-summary,.commission-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.feedback-summary article,.commission-summary article{min-height:112px;padding:18px 19px;position:relative}.feedback-summary article>span,.commission-summary article>span{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.feedback-summary article>span svg,.commission-summary article>span svg{width:15px}.feedback-summary small,.commission-summary small{color:#8c9299;font-size:14px}.feedback-summary strong,.commission-summary strong{color:#353b42;margin-top:5px;font:600 26px Noto Serif SC,serif;display:block}.feedback-summary p,.commission-summary p{color:#9aa0a6;margin:5px 0 0;font-size:13px}.feedback-insight-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:14px;display:grid}.feedback-teacher-overview,.feedback-tag-overview{overflow:hidden}.feedback-teacher-overview>header,.feedback-tag-overview>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:0 18px;display:flex}.feedback-teacher-overview>header small,.feedback-tag-overview>header small{color:var(--accent);font-size:12px}.feedback-teacher-overview>header h3,.feedback-tag-overview>header h3{margin:3px 0 0;font-size:16px}.feedback-teacher-overview>header>span{color:#949ba0;font-size:12px}.feedback-teacher-overview>div{grid-template-columns:1fr 1fr;gap:9px;padding:14px;display:grid}.feedback-teacher-overview article{border:1px solid #e3e6e8;border-radius:7px;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;min-height:74px;padding:11px;display:grid}.feedback-teacher-overview .avatar{width:34px;height:34px}.feedback-teacher-overview article>div{gap:5px;display:grid}.feedback-teacher-overview article>div b{font-size:15px}.feedback-teacher-overview article>div small{color:#8a9399;font-size:13px;line-height:1.45}.feedback-teacher-overview article>strong{font:600 19px Noto Serif SC,serif}.feedback-teacher-overview article>em{color:#759084;grid-column:2/-1;font-size:11px;font-style:normal}.feedback-teacher-overview article>em.warn{color:#bf704f}.rating-stars{align-items:center;gap:2px;display:flex}.rating-stars svg{fill:#e2e5e6;color:#e2e5e6;width:12px;height:12px}.rating-stars svg.active{fill:#d4a24f;color:#d4a24f}.feedback-tag-overview>div{gap:13px;padding:16px;display:grid}.feedback-tag-overview>div>span{grid-template-columns:72px 1fr 34px;align-items:center;gap:8px;display:grid}.feedback-tag-overview b{color:#626a70;font-size:12px}.feedback-tag-overview i{background:#edf0f1;border-radius:4px;height:6px;overflow:hidden}.feedback-tag-overview i em{border-radius:inherit;background:var(--accent);height:100%;display:block}.feedback-tag-overview span small{color:#969da2;text-align:right;font-size:11px}.feedback-list-card{overflow:hidden}.feedback-table .table-row{grid-template-columns:.82fr .72fr .9fr minmax(180px,1.75fr) 1.15fr .72fr .62fr}.feedback-table .table-row>span:first-child{gap:3px;display:grid}.feedback-table .table-row>span:first-child small{color:#9aa0a5}.feedback-tags{flex-wrap:wrap;gap:4px;display:flex}.feedback-tags em{color:#747c81;background:#f3f5f5;border-radius:9px;padding:3px 6px;font-size:12px;font-style:normal}.feedback-comment{color:#50585e;font-size:14px;line-height:1.65}.membership-page{max-width:1240px}.membership-status{background:linear-gradient(105deg,#fbfdfc,#eef6f3);grid-template-columns:74px minmax(220px,.85fr) 1.45fr;align-items:center;gap:20px;min-height:158px;padding:25px 30px;display:grid;overflow:hidden}.membership-emblem{width:68px;height:68px;color:var(--accent);background:#fff;border:1px solid #d2e2dc;border-radius:50%;place-items:center;display:grid;box-shadow:0 10px 22px #31695714}.membership-emblem svg{width:34px;height:34px}.membership-status small,.membership-section-heading small,.membership-benefits header small{color:var(--accent);letter-spacing:.08em;font-size:14px;display:block}.membership-status strong{color:#26483f;margin:4px 0 7px;font:700 27px Noto Serif SC,serif;display:block}.membership-status p{color:#6c7e77;align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.membership-status p svg{width:15px}.membership-status-copy{color:#486159;border-left:1px solid #dbe7e2;gap:7px;padding-left:28px;display:grid}.membership-status-copy b{font-size:17px}.membership-status-copy span{color:#778a83;font-size:14px}.membership-section-heading{justify-content:space-between;align-items:end;margin:29px 0 15px;display:flex}.membership-section-heading h2{margin:3px 0 0;font:700 26px Noto Serif SC,serif}.membership-section-heading p{color:#88958f;margin:0;font-size:14px}.membership-plan-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.membership-plan{border:1px solid #e5e9e7;flex-direction:column;min-height:362px;padding:24px;display:flex;position:relative}.membership-plan.featured{border:2px solid var(--accent);box-shadow:0 18px 36px #326f5b1f}.membership-plan.annual{border-color:#d9c28d}.membership-plan header{align-items:center;gap:12px;display:flex}.membership-plan header>span{background:var(--accent-soft);width:43px;height:43px;color:var(--accent);border-radius:14px;place-items:center;display:grid}.membership-plan header svg{width:22px}.membership-plan h3{margin:0;font:700 22px Noto Serif SC,serif}.membership-plan header strong{color:var(--accent-deep);margin-top:7px;font-size:31px;display:block}.membership-plan header strong small{color:#77827e;font-size:15px;font-weight:500}.membership-badge{background:var(--accent);color:#fff;border-radius:0 0 8px 8px;padding:6px 14px;font-size:13px;font-style:normal;position:absolute;top:0;right:20px}.membership-saving{color:#4a806a;background:#eef4ee;border-radius:6px;align-self:flex-start;margin:18px 0 0;padding:4px 8px;font-size:14px;display:inline-flex}.membership-plan.annual .membership-saving{color:#a47532;background:#faf2e6}.membership-plan ul{color:#5b6964;border-top:1px solid #e8ecea;gap:11px;margin:20px 0 auto;padding:17px 0;font-size:15px;list-style:none;display:grid}.membership-plan li{align-items:center;gap:8px;display:flex}.membership-plan li svg{width:16px;color:var(--accent)}.membership-plan .button{justify-content:center;width:100%}.membership-benefits{margin-top:20px;padding:22px 27px}.membership-benefits header{justify-content:space-between;align-items:center;display:flex}.membership-benefits h3{margin:3px 0 0;font-size:19px}.membership-benefits header>span{color:var(--accent);align-items:center;gap:5px;font-size:14px;display:flex}.membership-benefits header svg{width:15px}.membership-benefits>div{grid-template-columns:repeat(3,1fr);margin-top:20px;display:grid}.membership-benefits article{gap:12px;padding:0 24px;display:flex}.membership-benefits article+article{border-left:1px solid #e6ece9}.membership-benefits article>span{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:12px;place-items:center;font-weight:700;display:grid}.membership-benefits b{font-size:15px}.membership-benefits p{color:#7b8783;margin:6px 0 0;font-size:14px;line-height:1.65}.status-pill.feedback-待处理{color:#bd714d;background:#fff0e8}.status-pill.feedback-跟进中{color:#5c75a6;background:#eef2fa}.status-pill.feedback-已解决{color:#4e7e6d;background:#e9f3ee}.feedback-detail-modal{width:min(680px,100vw - 48px)}.feedback-detail-modal>header h2{align-items:center;gap:7px;display:flex}.feedback-detail-modal>header h2 svg{width:18px;color:var(--accent)}.feedback-detail-body{gap:15px;padding:20px 22px;display:grid}.anonymous-privacy-note{background:var(--accent-soft);min-height:62px;color:var(--accent);border-radius:8px;align-items:center;gap:10px;padding:11px 13px;display:flex}.anonymous-privacy-note>svg{width:20px}.anonymous-privacy-note>span{gap:4px;display:grid}.anonymous-privacy-note b{color:var(--accent-deep);font-size:13px}.anonymous-privacy-note small{color:#798680;font-size:11px}.feedback-detail-summary{grid-template-columns:1fr 1fr;gap:9px;display:grid}.feedback-detail-summary>span{border:1px solid #e3e6e8;border-radius:7px;align-content:center;gap:5px;min-height:58px;padding:10px 12px;display:grid}.feedback-detail-summary small,.feedback-content-card>small{color:#969da2;font-size:11px}.feedback-detail-summary b{font-size:13px}.feedback-content-card{background:#f7f8f8;border-radius:8px;padding:15px}.feedback-content-card p{color:#50585e;margin:8px 0 12px;font-size:14px;line-height:1.8}.feedback-content-card>div{gap:5px;display:flex}.feedback-content-card>div span{color:#71797f;background:#fff;border-radius:10px;padding:4px 7px;font-size:11px}.feedback-action-note{background:#fffaf0;border-left:3px solid #d4a24f;padding:12px 14px}.feedback-action-note b{color:#6a5d42;font-size:12px}.feedback-action-note p{color:#887d68;margin:5px 0 0;font-size:11px;line-height:1.6}.commission-formula-card{grid-template-columns:310px 1fr;align-items:center;gap:22px;min-height:104px;padding:17px 19px;display:grid}.commission-formula-card>header{align-items:center;gap:11px;display:flex}.commission-formula-card>header>span{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.commission-formula-card>header svg{width:18px}.commission-formula-card>header small{color:var(--accent);font-size:11px}.commission-formula-card>header h3{margin:4px 0 0;font-size:14px;line-height:1.45}.commission-formula-card>div{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;display:grid}.commission-formula-card>div>span{background:#f6f8f8;border-radius:7px;align-content:center;gap:4px;min-height:55px;padding:9px 11px;display:grid}.commission-formula-card>div b{font-size:12px}.commission-formula-card>div small{color:#949ba0;font-size:10px}.commission-formula-card>div>em{color:#9aa0a5;font-size:11px;font-style:normal}.commission-formula-card>div>svg{width:14px;color:var(--accent)}.commission-table-card{overflow:hidden}.commission-table .table-row{grid-template-columns:.82fr .72fr .8fr 1.35fr .78fr .74fr .85fr 1.18fr;gap:9px}.commission-table .table-row>span:nth-child(2),.commission-rule-cell{gap:3px;display:grid}.commission-table .table-row small{color:#969da2;font-size:11px}.commission-table .table-row>strong{font-size:13px}.bonus-money{color:#b68137;font-weight:700}.commission-total-cell{color:var(--accent-deep);font-size:15px!important}.commission-row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.commission-row-actions button{color:var(--accent-deep);background:0 0;border:0;border-radius:4px;padding:3px 5px;font-size:11px}.commission-row-actions button:hover{background:var(--accent-soft)}.commission-rule-modal{width:min(720px,100vw - 48px)}.commission-rule-modal>header h2{align-items:center;gap:7px;display:flex}.commission-rule-modal>header h2 svg{width:18px;color:var(--accent)}.commission-rule-body{gap:16px;padding:20px 22px;display:grid}.commission-teacher-card{background:var(--accent-soft);border-radius:8px;align-items:center;gap:10px;min-height:66px;padding:11px 13px;display:flex}.commission-teacher-card>div{gap:4px;display:grid}.commission-teacher-card b{font-size:14px}.commission-teacher-card small{color:#7e8985;font-size:11px}.commission-rule-form{grid-template-columns:1fr 1fr;gap:13px;display:grid}.commission-rule-form .field-wide{grid-column:1/-1}.commission-rule-form input,.commission-rule-form select{background:#fff;border:1px solid #dfe3e5;border-radius:6px;width:100%;height:40px;padding:0 10px}.commission-live-preview{border:1px solid #e1e5e6;border-radius:8px;grid-template-columns:1fr auto 1fr auto 1.2fr;align-items:center;gap:10px;min-height:78px;padding:13px;display:grid}.commission-live-preview>div{text-align:center;gap:5px;display:grid}.commission-live-preview small{color:#92999f;font-size:11px}.commission-live-preview b{font-size:14px}.commission-live-preview strong{color:var(--accent-deep);font:600 20px Noto Serif SC,serif}.commission-live-preview>svg{color:#9ca3a7;width:14px}.commission-live-preview>span{color:#9ca3a7}.commission-rule-note{color:#7f888d;background:#f5f7f7;border-radius:7px;align-items:center;gap:7px;margin:0;padding:10px 12px;font-size:11px;display:flex}.commission-rule-note svg{width:15px;color:var(--accent)}.teacher-identity-select{color:#4d545a;background:#fff;border:1px solid #dce0e3;border-radius:6px;height:38px;padding:0 30px 0 11px;font-weight:700}.teacher-work-grid{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:start;gap:14px;display:grid}.teacher-task-panel,.teacher-rules-panel,.my-schedule-panel{overflow:hidden}.teacher-task-panel>header,.teacher-rules-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:0 18px;display:flex}.teacher-task-panel>header small,.teacher-rules-panel>header small{color:var(--accent);font-size:11px}.teacher-task-panel>header h3,.teacher-rules-panel>header h3{margin:3px 0 0;font-size:16px}.teacher-task-panel>header>span{color:#8f969c;font-size:12px}.teacher-rules-panel>header>em{color:var(--accent);align-items:center;gap:4px;font-size:11px;font-style:normal;display:flex}.teacher-rules-panel>header>em svg{width:12px}.teacher-task-list{gap:10px;padding:12px;display:grid}.teacher-task-list>article{background:#fff;border:1px solid #e3e6e8;border-radius:8px;padding:14px}.task-person{grid-template-columns:36px 1fr auto;align-items:center;gap:9px;display:grid}.task-person .avatar{width:36px;height:36px}.task-person>div{gap:3px;display:grid}.task-person small{color:#939aa0;font-size:11px}.task-course-tags{flex-wrap:wrap;gap:5px;margin:11px 0;display:flex}.task-course-tags span{color:#747b81;background:#f3f5f5;border-radius:10px;padding:4px 7px;font-size:10px}.task-progress{gap:6px;display:grid}.task-progress>span{justify-content:space-between;display:flex}.task-progress b{color:#50575d;font-size:11px}.task-progress small{color:#999fa5;font-size:10px}.teacher-task-list article footer{justify-content:flex-end;gap:7px;margin-top:12px;display:flex}.teacher-task-list article footer .button{min-height:32px;padding:0 12px;font-size:11px}.teacher-empty{text-align:center;align-content:center;place-items:center;gap:7px;min-height:190px;display:grid}.teacher-empty svg{width:25px;color:var(--accent)}.teacher-empty p{color:#969ca2;margin:0;font-size:11px}.teacher-rules-form{grid-template-columns:1fr 1fr;gap:13px;padding:16px;display:grid}.teacher-rules-form input,.teacher-rules-form select{background:#fff;border:1px solid #dfe2e5;border-radius:6px;outline:0;width:100%;height:38px;padding:0 9px}.rest-day-setting{grid-column:1/-1;gap:6px;display:grid}.rest-day-setting>b{color:#596067;font-size:12px}.rest-day-setting>p{color:#999fa5;margin:0;font-size:10px}.rest-day-setting>div{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.rest-day-setting button{color:#777e84;background:#fff;border:1px solid #e0e3e5;border-radius:5px;height:30px;font-size:10px}.rest-day-setting button.active{border-color:rgba(var(--accent-rgb), .35);background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.rules-explanation{background:var(--accent-soft);min-height:55px;color:var(--accent);border-radius:7px;align-items:center;gap:9px;margin:0 16px 16px;padding:10px 12px;display:flex}.rules-explanation>svg{width:17px}.rules-explanation>span{gap:3px;display:grid}.rules-explanation b{color:var(--accent-deep);font-size:12px}.rules-explanation small{color:#7e8885;font-size:10px;line-height:1.5}.my-schedule-panel article{grid-template-columns:100px 1fr 120px 70px}.teacher-auto-modal{flex-direction:column;width:min(900px,100vw - 48px);max-height:calc(100vh - 48px);display:flex}.teacher-auto-modal>header h2{align-items:center;gap:7px;display:flex}.teacher-auto-modal>header h2 svg{width:18px;color:var(--accent)}.teacher-auto-body{grid-template-columns:250px minmax(0,1fr);gap:18px;min-height:0;padding:20px 22px;display:grid;overflow:auto}.teacher-auto-body>aside{align-content:start;gap:13px;display:grid}.teacher-auto-body input{border:1px solid #dfe2e5;border-radius:6px;width:100%;height:40px;padding:0 10px}.auto-request-card{border:1px solid rgba(var(--accent-rgb), .2);background:var(--accent-soft);border-radius:8px;grid-template-columns:34px 1fr;gap:9px;padding:12px;display:grid}.auto-request-card .avatar{width:34px;height:34px}.auto-request-card>div{align-content:center;gap:3px;display:grid}.auto-request-card b{font-size:12px}.auto-request-card small{color:#7f8986;font-size:10px}.auto-request-card>em{color:var(--accent-deep);grid-column:1/-1;font-size:11px;font-style:normal;font-weight:700}.applied-rule-card{background:#f6f8f8;border-radius:7px;gap:5px;padding:12px;display:grid}.applied-rule-card b{color:#555c62;font-size:12px}.applied-rule-card p,.applied-rule-card small{color:#858c92;margin:0;font-size:10px;line-height:1.5}.teacher-auto-preview{background:#fafbfc;border:1px solid #e1e4e6;border-radius:8px;min-height:390px;overflow:hidden}.teacher-auto-preview>header{background:#fff;border-bottom:1px solid #e4e7e9;justify-content:space-between;align-items:center;min-height:64px;padding:0 16px;display:flex}.teacher-auto-preview>header small{color:var(--accent);font-size:10px}.teacher-auto-preview>header h3{margin:3px 0 0;font-size:16px}.teacher-auto-preview>header em{background:var(--accent-soft);color:var(--accent-deep);border-radius:11px;padding:5px 8px;font-size:10px;font-style:normal}.teacher-auto-preview>div{max-height:410px;padding:6px 13px;overflow:auto}.teacher-auto-preview article{border-bottom:1px solid #e6e9eb;grid-template-columns:25px 80px 1fr 85px 16px;align-items:center;gap:9px;min-height:58px;display:grid}.teacher-auto-preview article>span{color:#b1b7bc;font:600 11px ui-monospace,monospace}.teacher-auto-preview time,.teacher-auto-preview article>div,.teacher-auto-preview article>p{gap:3px;display:grid}.teacher-auto-preview time{color:#565d64;font-size:11px;font-weight:700}.teacher-auto-preview time small,.teacher-auto-preview article small{color:#969ca2;font-size:10px;font-weight:400}.teacher-auto-preview article b{font-size:11px}.teacher-auto-preview article p{color:#636a70;margin:0;font-size:10px}.teacher-auto-preview article>svg{width:14px;color:var(--accent)}.teacher-manual-modal{width:min(650px,100vw - 48px)}.teacher-manual-modal>header h2{align-items:center;gap:7px;display:flex}.teacher-manual-modal>header h2 svg{width:18px;color:var(--accent)}.manual-schedule-body{gap:17px;padding:20px 22px;display:grid}.manual-request-summary{border:1px solid rgba(var(--accent-rgb), .2);background:var(--accent-soft);border-radius:8px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;min-height:66px;padding:12px 14px;display:grid}.manual-request-summary .avatar{width:38px;height:38px}.manual-request-summary>div{gap:3px;display:grid}.manual-request-summary small{color:#7f8986;font-size:12px}.manual-request-summary em{color:var(--accent-deep);font-size:13px;font-style:normal;font-weight:700}.manual-schedule-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.manual-schedule-form .field-wide{grid-column:1/-1}.manual-schedule-form input,.manual-schedule-form select{background:#fff;border:1px solid #dfe2e5;border-radius:6px;outline:0;width:100%;height:40px;padding:0 10px}.manual-schedule-form input:focus,.manual-schedule-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08)}.manual-schedule-form input[readonly]{color:#6f777d;background:#f6f8f8}.manual-schedule-note{border-radius:7px;align-items:center;gap:10px;min-height:58px;padding:11px 13px;display:flex}.manual-schedule-note.valid{color:#4f806e;background:#edf6f1}.manual-schedule-note.invalid{color:#b65f59;background:#fff0eb}.manual-schedule-note>svg{flex:0 0 18px;width:18px}.manual-schedule-note>span{gap:3px;display:grid}.manual-schedule-note b{font-size:13px}.manual-schedule-note small{color:#7d8785;font-size:12px}@media (width<=1250px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.topbar,.page-intro,.page-content{padding-left:28px;padding-right:28px}.metric-strip article{padding:21px 17px}.lesson-row{grid-template-columns:55px 4px minmax(130px,1fr) 100px 54px 28px;gap:9px}.teacher-grid,.settings-grid{grid-template-columns:1fr}.table-row{padding-left:14px;padding-right:14px}}@media (width<=1100px){.portal-decoration-layout{grid-template-columns:1fr}.portal-phone-stage{width:100%;max-width:520px}.student-portal-card{overflow-x:auto}.student-portal-card>.module-toolbar,.student-portal-table{min-width:900px}.feedback-insight-grid,.commission-formula-card{grid-template-columns:1fr}.feedback-list-card,.commission-table-card{overflow-x:auto}.feedback-list-card>.module-toolbar,.feedback-table{min-width:900px}.commission-table-card>.module-toolbar,.commission-table{min-width:1040px}}@media (width<=720px){.account-password-grid,.account-phone-form{grid-template-columns:1fr}.account-phone-form>.button{justify-self:stretch}.account-security-heading{grid-template-columns:38px 1fr}.account-security-heading>.text-button{grid-column:2;justify-self:start}.account-session-list article{flex-direction:column;align-items:flex-start;padding:13px 0}.cloud-sync-section>header{align-items:flex-start}.cloud-sync-live{margin-left:0}.cloud-sync-grid{grid-template-columns:1fr}.cloud-sync-grid>span,.cloud-sync-grid>span:first-child{padding:12px 0}.cloud-sync-grid>span+span{border-left:0;border-top:1px solid var(--line)}}.brand small{font-size:12px}.sidebar nav>p{font-size:14px}.sidebar nav button,.sidebar-bottom>button{height:48px}.sidebar nav button span,.sidebar-bottom>button span{font-size:16px}.sidebar nav button em{font-size:13px}.storage span b{font-size:14px}.storage small,.storage>button{font-size:13px}.topbar{height:76px}.search{height:40px}.search input{font-size:15px}.search kbd{font-size:12px}.appearance-trigger{height:42px}.appearance-trigger small{font-size:12px}.appearance-trigger b{font-size:14px}.account b{font-size:15px}.account small,.appearance-panel>header small,.modal>header small{font-size:12px}.appearance-panel h2{font-size:18px}.appearance-note{font-size:14px}.preset-grid button{min-height:58px}.preset-grid button b,.custom-heading b{font-size:14px}.preset-grid button small,.custom-heading small,.custom-heading em,.color-error,.appearance-panel>footer button,.saved-indicator{font-size:12px}.custom-controls>input,.apply-color{font-size:14px}.page-intro p{font-size:15px}.page-intro h1{font-size:32px}.page-intro>div>span{font-size:15px}.button{min-height:42px;font-size:15px}.metric-strip{min-height:136px}.metric-strip small{font-size:14px}.metric-strip strong{font-size:29px}.metric-strip strong em{font-size:16px}.metric-strip p{font-size:13px}.section-head{min-height:80px}.section-head h2{font-size:18px}.section-head p{font-size:13px}.today-button{font-size:14px}.week-strip button{height:70px}.week-strip small{font-size:13px}.week-strip span{font-size:12px}.week-strip strong{font-size:18px}.lesson-row{min-height:82px}.lesson-row time{font-size:16px}.lesson-row time small,.lesson-title small,.lesson-meta{font-size:13px}.lesson-title strong{font-size:15px}.lesson-status,.see-all{font-size:13px}.goal-copy>strong{font-size:40px}.goal-copy>strong em{font-size:18px}.goal-copy b{font-size:15px}.goal-copy small,.goal>p,.text-button{font-size:13px}.follow-list b,.tip-card b{font-size:14px}.follow-list small,.tip-card p,.new-follow{font-size:13px}.follow-list em{font-size:12px}.search-results b,.utility-popover>button b{font-size:14px}.search-results small,.utility-popover>button small,.notification-panel>header small,.account-summary small{font-size:13px}.search-results p{font-size:14px}.utility-popover>header b,.account-summary b{font-size:15px}.notification-panel>header>button,.notification-panel>button>em{font-size:12px}.toast{min-height:43px;font-size:14px}.module-heading p{font-size:13px}.module-heading h2{font-size:28px}.module-heading span{font-size:14px}.module-toolbar{min-height:70px}.module-toolbar h3{font-size:16px}.module-toolbar small{font-size:13px}.module-toolbar .date-tools b,.module-toolbar select,.filter-bar select{font-size:14px}.view-switch button{height:31px;font-size:14px}.filter-bar{min-height:58px}.filter-bar>span{font-size:13px}.status-pill{font-size:13px}.module-search{height:39px}.module-search input{font-size:14px}.summary-chips span{font-size:13px}.empty-state b{font-size:15px}.empty-state p,.week-board header b{font-size:13px}.week-board header small,.week-board button time,.week-board button small{font-size:12px}.week-board button b{font-size:14px}.teacher-card h3{font-size:16px}.teacher-card p,.teacher-card small{font-size:13px}.teacher-card>div b{font-size:15px}.teacher-card footer button,.finance-summary small,.finance-summary p{font-size:13px}.finance-summary strong{font-size:26px}.settings-section header h3{font-size:16px}.settings-section header p{font-size:13px}.settings-themes b{font-size:13px}.settings-themes small{font-size:12px}.setting-switches b{font-size:14px}.setting-switches small{font-size:13px}.detail-hero p,.person-summary p,.detail-grid small,.receipt-total small{font-size:13px}.upgrade-content p,.upgrade-content li{font-size:13px}.report-summary small,.student-portal-summary small{font-size:14px}.report-summary strong,.student-portal-summary strong{font-size:26px}.report-summary p,.student-portal-summary p,.teacher-responsibility>header small,.recent-schedule-report>header small{font-size:13px}.teacher-responsibility>header h3,.recent-schedule-report>header h3{font-size:16px}.teacher-duty-grid>article>div small{font-size:13px}.teacher-duty-grid dt{font-size:12px}.teacher-duty-grid>article>button{font-size:13px}.report-filters select,.request-progress b{font-size:14px}.recent-schedule-report>header>span{font-size:13px}.recent-schedule-report time{font-size:14px}.recent-schedule-report article span b{font-size:14px}.recent-schedule-report article p{font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body{font-size:17px}.button,.sidebar nav button span,.sidebar-bottom>button span,.module-heading p,.page-intro>div>span{font-size:16px}.module-heading span,.module-toolbar small,.filter-bar>span,.summary-chips span{font-size:14px}.module-toolbar h3,.settings-section header h3,.teacher-responsibility>header h3,.recent-schedule-report>header h3{font-size:18px}.module-toolbar .date-tools b,.module-toolbar select,.filter-bar select,.report-filters select,.module-search input{font-size:16px}.table-row{font-size:16px;line-height:1.5}.table-head,.table-action{font-size:15px}.status-pill,.request-progress b{font-size:14px}.field>span{font-size:15px}.field input,.field textarea,.select-control,.settings-form input{font-size:16px}.finance-summary small,.finance-summary p,.report-summary small,.student-portal-summary small{font-size:15px}.finance-summary p,.report-summary p,.student-portal-summary p{font-size:14px}.teacher-duty-grid>article>div b{font-size:16px}.teacher-duty-grid>article>div small,.teacher-duty-grid dt,.teacher-duty-grid>article>button{font-size:14px}.teacher-duty-grid dd{font-size:16px}.recent-schedule-report time,.recent-schedule-report article span b,.recent-schedule-report article p{font-size:15px}.recent-schedule-report time small,.recent-schedule-report article span small,.recent-schedule-report article p small{font-size:14px}.detail-hero h3,.person-summary h3{font-size:20px}.detail-hero p,.person-summary p,.detail-grid small,.receipt-total small{font-size:15px}.detail-grid b{font-size:17px}.finance-row-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}:root{--font-page-title:32px;--font-module-title:28px;--font-section-title:20px;--font-body:16px;--font-control:16px;--font-auxiliary:14px}body{font-size:17px;line-height:1.55}.page-intro h1{font-size:var(--font-page-title);line-height:1.25}.page-intro-count{color:var(--accent);font:inherit;letter-spacing:inherit}.module-heading h2{font-size:var(--font-module-title);line-height:1.3}.section-head h2,.module-toolbar h3,.settings-section header h3,.teacher-responsibility>header h3,.recent-schedule-report>header h3,.teacher-card h3{font-size:var(--font-section-title);line-height:1.35}.app-shell button:not(.portal-phone-stage button):not(.student-phone-preview button),.app-shell input:not(.portal-phone-stage input):not(.student-phone-preview input),.app-shell select:not(.portal-phone-stage select):not(.student-phone-preview select),.app-shell textarea:not(.portal-phone-stage textarea):not(.student-phone-preview textarea){font-size:var(--font-control)!important}.app-shell p:not(.portal-phone-stage p):not(.student-phone-preview p){line-height:1.55;font-size:15px!important}.app-shell small:not(.portal-phone-stage small):not(.student-phone-preview small),.app-shell kbd,.app-shell em:not(.portal-phone-stage em):not(.student-phone-preview em),.sidebar nav button em,.storage small,.storage>button,.appearance-trigger small,.account small,.appearance-panel>header small,.modal>header small,.preset-grid button small,.custom-heading small,.custom-heading em,.color-error,.saved-indicator,.metric-strip small,.week-strip small,.week-strip span,.lesson-row time small,.lesson-title small,.lesson-meta,.lesson-status,.see-all,.goal-copy small,.text-button,.follow-list small,.follow-list em,.tip-card p,.new-follow,.search-results small,.utility-popover>button small,.notification-panel>header small,.notification-panel>header>button,.notification-panel>button>em,.account-summary small,.module-heading span,.module-toolbar small,.filter-bar>span,.status-pill,.summary-chips span,.empty-state p,.week-board header b,.week-board header small,.week-board button time,.week-board button small,.teacher-card p,.teacher-card small,.teacher-card footer button,.finance-summary small,.finance-summary p,.settings-section header p,.settings-themes b,.settings-themes small,.setting-switches small,.detail-hero p,.person-summary p,.detail-grid small,.receipt-total small,.upgrade-content p,.upgrade-content li,.report-summary small,.report-summary p,.student-portal-summary small,.student-portal-summary p,.teacher-responsibility>header small,.recent-schedule-report>header small,.teacher-duty-grid>article>div small,.teacher-duty-grid dt,.teacher-duty-grid>article>button,.request-progress b,.recent-schedule-report>header>span,.recent-schedule-report time small,.recent-schedule-report article span small,.recent-schedule-report article p small{line-height:1.45;font-size:var(--font-auxiliary)!important}.metric-strip p,.section-head p,.goal>p,.follow-list b,.tip-card b,.search-results p,.utility-popover>header b,.account-summary b,.empty-state b,.teacher-card>div b,.setting-switches b,.detail-grid b,.teacher-duty-grid>article>div b,.teacher-duty-grid dd,.recent-schedule-report time,.recent-schedule-report article span b,.recent-schedule-report article p{font-size:var(--font-body)!important}.table-row{min-height:70px;font-size:var(--font-body);line-height:1.55}.table-head{min-height:50px;font-size:15px}.table-action{font-size:15px}.status-toggle{min-height:30px;padding-inline:10px;font-size:var(--font-auxiliary)!important}.follow-list .avatar,.person-cell .avatar{font-size:var(--font-auxiliary)!important}.course-table .table-row>strong,.family-binding-cell>b,.commission-table .table-row>strong{font-size:var(--font-body)!important}.feedback-teacher-overview>header>span,.feedback-tag-overview b,.commission-formula-card>div b,.teacher-task-panel>header>span,.teacher-rules-panel>header>em,.my-schedule-panel>header>span{font-size:var(--font-auxiliary)!important}.teacher-task-panel>header h3,.teacher-rules-panel>header h3{font-size:var(--font-section-title)}.task-person b{font-size:var(--font-body)}.task-course-tags{gap:8px}.task-course-tags span{min-height:30px;font-size:var(--font-body);border-radius:8px;align-items:center;padding:5px 10px;font-weight:600;display:inline-flex}.task-progress{gap:8px}.task-progress>span{align-items:center;min-height:24px}.task-progress b{font-size:var(--font-body)}.task-progress small{font-size:var(--font-auxiliary)}.rest-day-setting>b,.rules-explanation b,.my-schedule-panel time,.my-schedule-panel article span b,.my-schedule-panel article p,.auto-request-card b,.applied-rule-card b,.teacher-auto-preview article b{font-size:15px}.auto-request-card>em,.teacher-auto-preview>header em,.teacher-auto-preview article>span,.teacher-auto-preview time,.teacher-auto-preview article p,.manual-request-summary em{font-size:var(--font-auxiliary)}.manual-request-summary b{font-size:var(--font-body)}
