@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#2e2118;background:#faf9f7;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#d8cec5 transparent}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:#faf9f7}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.teacher-app{min-height:100vh;display:flex;background:#faf9f7}.teacher-main{flex:1;min-width:0;margin-left:250px}.teacher-sidebar{width:250px;position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;color:#fff7f0;background:linear-gradient(180deg,#91400c,#a84c0b,#833608);box-shadow:5px 0 22px #4f250e14}.brand{height:88px;padding:20px 22px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:36px;height:36px;border:1px solid rgba(255,255,255,.7);border-radius:8px;display:grid;place-items:center;font-size:26px}.brand strong{display:block;font-family:Georgia,serif;font-size:17px;letter-spacing:.4px}.brand small{display:block;opacity:.72;font-family:Georgia,serif;font-style:italic;margin-top:3px;font-size:11px}.sidebar-close{display:none;color:#fff;margin-left:auto}.teacher-sidebar nav{padding:20px 12px;overflow-y:auto}.nav-group{margin-bottom:18px}.nav-label{display:block;padding:0 13px 8px;color:#ffffff8c;font-size:10px;font-weight:700;letter-spacing:1px}.nav-item{width:100%;border:0;border-radius:8px;display:flex;align-items:center;gap:12px;padding:10px 13px;color:#ffffffd1;background:transparent;text-align:left;font-size:13px;transition:.2s}.nav-item:hover,.nav-item.active{color:#fff;background:#ffa44754}.nav-item.active{box-shadow:inset 3px 0 #f6a052;font-weight:600}.sidebar-bottom{margin-top:auto;padding:10px 12px 18px}.profile{margin-top:12px;padding:14px 11px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#541b0033}.profile strong,.profile small,.profile em{display:block}.profile strong{font-size:12px}.profile small{margin-top:3px;font-size:10px;opacity:.7}.profile em{margin-top:5px;color:#aee0a5;font-size:10px;font-style:normal}.profile em i{width:6px;height:6px;display:inline-block;border-radius:50%;background:#83cf72;margin-right:4px}.teacher-header{height:78px;padding:0 34px;display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:10;background:#ffffffed;border-bottom:1px solid #eee8e3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.breadcrumb{display:flex;align-items:center;gap:10px;color:#907e71;font-size:12px;white-space:nowrap}.breadcrumb strong{color:#35261c}.header-search{width:min(350px,34vw);margin-left:auto;height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid #eee6e0;background:#fcfaf8;border-radius:8px;color:#a4978e}.header-search input{width:100%;border:0;outline:0;background:transparent;color:#2e2118;font-size:12px}.search-glyph{font-size:23px;line-height:0;transform:rotate(-20deg)}.header-actions{display:flex;align-items:center;gap:7px}.icon-button{width:34px;height:34px;border:0;display:grid;place-items:center;border-radius:7px;color:#7c6b60;background:transparent}.icon-button:hover{background:#f7eee7;color:#b54708}.notification{position:relative}.notification i{position:absolute;right:1px;top:0;width:14px;height:14px;display:grid;place-items:center;background:#c95143;color:#fff;border-radius:50%;font-size:9px;font-style:normal}.user-menu{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#2e2118;text-align:left}.user-menu span,.user-menu strong,.user-menu small{display:block}.user-menu strong{font-size:12px}.user-menu small{color:#94857b;font-size:10px;margin-top:2px}.avatar{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#d98c5d;color:#fff;font-size:12px;font-weight:700}.avatar.small{width:34px;height:34px;background:#61331c}.avatar.pastel{width:31px;height:31px;color:#79512f;background:#f3d9be}.avatar.large{width:74px;height:74px;font-size:20px}.mobile-menu{display:none}.teacher-content{max-width:1700px;padding:28px 34px 50px;margin:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:23px}.page-header h1{margin:4px 0 5px;font-family:Georgia,serif;font-size:26px;letter-spacing:-.4px;color:#342419}.page-header p{margin:0;color:#938178;font-size:13px}.eyebrow{color:#bc5a1e;font-size:10px;font-weight:700;letter-spacing:1px}.quote{padding:11px 17px;color:#886f5c;background:#fffaf6;border:1px solid #f1e4da;border-radius:10px;font-family:Georgia,serif;font-size:12px;line-height:1.6}.quote small{color:#b98e70}.header-actions-page{display:flex;gap:8px}.stats-grid{display:grid;gap:14px;margin-bottom:17px}.stats-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{min-height:104px;padding:18px;display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid #eee6e0;border-radius:11px;box-shadow:0 3px 14px #67422406}.stat-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:#b54708;background:#fff1e6}.stat-icon.green{color:#668c5a;background:#eff6e9}.stat-icon.red{color:#cc5b50;background:#fff0ec}.stat-icon.purple{color:#7c68a3;background:#f2effa}.stat-icon.blue{color:#547bb6;background:#edf3fc}.stat-copy span{display:block;color:#897b72;font-size:11px}.stat-copy strong{display:block;margin-top:4px;color:#33251b;font-size:18px;line-height:1.2}.stat-copy small{display:block;margin-top:7px;color:#769464;font-size:10px}.stat-copy small.negative{color:#c8544c}.card{min-width:0;padding:20px;background:#fff;border:1px solid #eee6e0;border-radius:12px;box-shadow:0 3px 14px #67422406}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-heading h2{margin:0;color:#4b3325;font-size:13px;letter-spacing:.2px}.dashboard-grid{display:grid;gap:16px;margin-bottom:16px}.dashboard-grid.top{grid-template-columns:1.45fr 1fr 1.15fr}.dashboard-grid.modules{grid-template-columns:1.18fr 1.05fr 1.28fr}.dashboard-grid.bottom{grid-template-columns:1.4fr 1fr}.dashboard-grid.finance-charts,.dashboard-grid.report-charts{grid-template-columns:1.25fr 1fr}.dashboard-grid.finance-bottom{grid-template-columns:repeat(3,1fr)}.dashboard-grid.tuition-charts{grid-template-columns:1.2fr 1fr}.dashboard-grid.life-panels{grid-template-columns:1fr 1fr}.segmented{display:flex;gap:2px;padding:2px;border-radius:6px;background:#fbf4ef}.segmented button{border:0;padding:5px 9px;border-radius:5px;color:#947d6d;background:transparent;font-size:10px}.segmented .selected{color:#fff;background:#c4510a}.text-button{border:0;color:#b65b26;background:transparent;font-size:11px}.chart-wrap{height:240px}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:7px}.mini-metrics div{padding:9px 10px;background:#fcfaf8;border-radius:8px}.mini-metrics span,.mini-metrics strong{display:block}.mini-metrics span{color:#988a7e;font-size:10px}.mini-metrics strong{margin-top:3px;color:#b64e1a;font-size:16px}.mini-metrics em{color:#719361;font-size:10px;font-style:normal}.habit-summary{display:flex;align-items:center;gap:14px}.donut{position:relative;width:145px;height:145px;flex:0 0 auto}.donut>strong{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;color:#4b3022;font-size:21px}.donut>strong small{display:block;color:#95867d;font-size:10px;font-weight:400}.habit-list{flex:1}.habit-list div{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #f2ece7;font-size:11px}.habit-list div:last-child{border:0}.habit-list b{margin-left:auto;color:#6d9b66}.check{width:16px;height:16px;display:grid;place-items:center;border:1px solid #d9d0ca;border-radius:4px;color:#fff}.check.checked{border-color:#72a066;background:#72a066}.timeline-item{min-height:54px;display:grid;grid-template-columns:115px 1fr;gap:12px;padding:11px 0 11px 16px;position:relative;border-bottom:1px solid #f2ece7}.timeline-item:before{content:"";width:7px;height:7px;position:absolute;left:0;top:17px;border-radius:50%;background:#c4510a}.timeline-item.workout:before{background:#70955d}.timeline-item.content:before{background:#8066a4}.timeline-item span{color:#9a8d83;font-size:11px}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:12px}.timeline-item small{color:#998a80;margin-top:4px;font-size:10px}.timeline.large .timeline-item{grid-template-columns:160px 1fr auto;padding:15px 0 15px 20px}.timeline.large .timeline-item:before{top:22px}.module-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.module-stats div{min-width:0;padding:10px;background:#fcfaf8;border-radius:8px}.module-stats svg{color:#c4510a}.module-stats strong,.module-stats span{display:block}.module-stats strong{margin-top:8px;font-size:18px}.module-stats span{color:#92847b;font-size:10px}.finance-highlight{display:flex;align-items:center;gap:15px;margin-bottom:13px}.finance-donut{width:125px;height:125px}.finance-donut>strong{font-size:15px}.finance-lines p{display:flex;align-items:center;gap:6px;color:#8e7d73;font-size:11px}.finance-lines b{margin-left:8px;color:#3f3026}.green-dot,.red-dot{width:7px;height:7px;border-radius:50%;background:#70955d}.red-dot{background:#ca574d}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.life-grid div{padding:9px;background:#fcfaf8;border-radius:8px}.life-grid svg{color:#bd5a21}.life-grid span,.life-grid strong,.life-grid small{display:block}.life-grid span{margin-top:7px;color:#95867d;font-size:10px}.life-grid strong{font-size:14px}.life-grid small{margin-top:3px;color:#9f8e82;font-size:9px}.alert-row{width:100%;padding:11px 0;display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #f2ece7;color:#67554a;background:transparent;text-align:left;font-size:11px}.alert-row svg{margin-left:auto;color:#ad8b71}.alert-icon{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#cb654b;font-weight:700;font-size:11px}.alert-icon.yellow{color:#9c6725;background:#f5d99b}.goal-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:11px 0;color:#7e7067;font-size:11px}.goal-row b{color:#b65a26}.goal-row .progress{grid-column:1 / -1}.button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:7px;color:#fff;background:#bd500d;box-shadow:0 3px 7px #b5470829;font-size:12px;font-weight:600}.button:hover{background:#a64108}.button.secondary{color:#b6531e;border:1px solid #e8cdbb;background:#fff;box-shadow:none}.button.ghost{color:#7b6e64;background:transparent;box-shadow:none}.button.danger{background:#bc4b42}.progress{height:6px;overflow:hidden;border-radius:99px;background:#f2eae3}.progress i{height:100%;display:block;border-radius:inherit;background:#c4510a}.progress i.green{background:#71945e}.table-card{padding:0;overflow:hidden}.table-toolbar{padding:14px 17px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0e9e4}.search-box{min-width:220px;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#a2948a;border:1px solid #e9e1db;background:#fff;border-radius:7px}.search-box input{min-width:0;flex:1;border:0;outline:0;color:#35271d;font-size:11px}.search-box button{display:grid;border:0;color:#ab9a8f;background:transparent;padding:0}.table-toolbar select,.period-select,.attendance-filters select,.attendance-filters input{height:36px;padding:0 10px;border:1px solid #e9e1db;border-radius:7px;color:#75675d;background:#fff;outline:0;font-size:11px}.sort-select{margin-left:auto}.responsive-table{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:13px 14px;color:#86786e;background:#fdfbf9;font-size:10px;font-weight:600;text-align:left}td{padding:13px 14px;border-top:1px solid #f1ebe6;color:#67584e;font-size:11px}td strong{color:#3e2d22;font-weight:600}td small{display:block;color:#a4958b;font-size:10px}.person-cell{display:flex;align-items:center;gap:8px}.person-cell strong,.person-cell small{display:block}.money-success{color:#6b9560!important;font-weight:600}.money-danger{color:#c95143!important;font-weight:600}.badge{display:inline-flex;padding:4px 8px;border-radius:5px;color:#82746a;background:#f3eee9;font-size:10px;font-weight:600}.badge.success{color:#638854;background:#edf5e9}.badge.warning{color:#b2772a;background:#fff4de}.badge.danger{color:#b84e46;background:#fff0ed}.badge.purple{color:#75629c;background:#f2eff9}.row-actions{display:flex;gap:3px}.row-actions button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:5px;color:#94847a;background:transparent}.row-actions button:hover{color:#b54708;background:#fff4eb}.table-footer{padding:12px 17px;color:#95877e;font-size:10px}.table-footer span{float:right;color:#9b8b80}.table-footer b{padding:4px 7px;color:#fff;border-radius:4px;background:#ca5b1d}.pie-card{min-height:180px;display:flex;align-items:center;gap:8px}.pie-legend{flex:1}.pie-legend p{display:flex;align-items:center;gap:7px;margin:7px 0;color:#7d6f65;font-size:10px}.pie-legend i{width:8px;height:8px;border-radius:2px}.pie-legend b{margin-left:auto;color:#4c3a2e}.goal-large>div{display:flex;justify-content:space-between;color:#705f53;font-size:11px}.goal-large b{color:#c0521c}.goal-large p{color:#92847a;font-size:10px}.goal-large p span{float:right}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#2d1d1461;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(650px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:21px;border-radius:13px;background:#fff;box-shadow:0 18px 55px #371a0a3b}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.modal-header h2{margin:0;color:#3b281d;font-family:Georgia,serif;font-size:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.attendance-filters label{display:block;color:#75675d;font-size:11px}.form-grid input,.form-grid select,.form-grid textarea,.notes-editor textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #e8dfd8;border-radius:7px;outline:0;color:#3b2b20;background:#fffdfa;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#ce7441;box-shadow:0 0 0 3px #fff1e6}.form-grid textarea{min-height:70px;resize:vertical}.form-grid .full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-hint,.confirm-text,.muted{color:#8c7d73;font-size:11px;line-height:1.6}.empty-state{padding:45px 20px;color:#998b82;text-align:center}.empty-state div{margin-bottom:7px;color:#c97843;font-size:28px}.loading-state{min-height:60vh;display:grid;place-items:center;gap:8px;color:#9a8679;font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{padding:40px;color:#bd4f47;text-align:center}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;color:#b54708}.app-loading .brand-mark{color:#b54708;border-color:#b54708}.app-loading span{color:#9a887c;font-size:12px}.meal-row,.workout-row,.rank-row,.setting-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid #f1ebe6}.meal-row:last-of-type,.workout-row:last-of-type{border-bottom:0}.meal-row>div,.workout-row>div{flex:1}.meal-row strong,.meal-row small,.workout-row strong,.workout-row small{display:block}.meal-row small,.workout-row small{margin-top:4px;color:#97897f;font-size:10px}.meal-row b{color:#8f7969;font-size:11px}.meal-icon{width:29px;height:29px;display:grid;place-items:center;color:#c36128;border-radius:8px;background:#fff0e4;font-weight:700}.workout-row svg:first-child{color:#769a64}.check-green{color:#699d62}.rank-row span{width:70px;color:#77695f;font-size:10px}.rank-row .progress{flex:1}.rank-row b{width:90px;color:#4c3c30;font-size:10px;text-align:right}.body-kpis,.habit-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.body-kpis div,.habit-overview>div{padding:14px;background:#fcfaf8;border-radius:9px}.body-kpis span,.body-kpis strong,.habit-overview span,.habit-overview strong{display:block}.body-kpis span,.habit-overview span{color:#998b82;font-size:10px}.body-kpis strong{margin-top:7px;font-size:20px}.habit-overview{grid-template-columns:1.3fr 1fr 1fr 1fr;margin-bottom:24px}.habit-score{background:#fff1e6!important}.habit-score strong{color:#ba4e18;font-size:28px}.habit-overview>div strong{margin-bottom:6px;font-size:20px}.habit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.habit-card{padding:14px;display:flex;align-items:center;gap:10px;border:1px solid #eee4dc;border-radius:9px;background:#fff;text-align:left}.habit-card.done{border-color:#b8d0aa;background:#f7fbf4}.habit-card:hover{border-color:#d58a59}.habit-emoji{font-size:20px}.habit-card div{flex:1}.habit-card strong,.habit-card small{display:block}.habit-card small{margin-top:4px;color:#9b8b80;font-size:10px}.habit-check{width:21px;height:21px;display:grid;place-items:center;border:1px solid #d8cec5;border-radius:50%;color:#fff}.habit-card.done .habit-check{border-color:#709b61;background:#709b61}.attendance-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:18px;border-bottom:1px solid #f0e9e4}.attendance-filters select,.attendance-filters input{width:100%;margin-top:7px}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0}.attendance-summary div{padding:12px;border-radius:8px;background:#fcfaf8}.attendance-summary svg,.attendance-summary>div>span:first-child{color:#6b9860}.attendance-summary strong,.attendance-summary span:last-child{display:block}.attendance-summary strong{margin:6px 0 2px;font-size:18px}.attendance-summary span:last-child{color:#93847a;font-size:10px}.bulk-actions{display:flex;align-items:center;gap:7px;padding:13px 0;border-bottom:1px solid #f0e9e4;color:#8d7c70;font-size:10px}.bulk-actions button{padding:6px 9px;border:1px solid #e6dbd2;border-radius:5px;color:#6b8f60;background:#f5faf2;font-size:10px}.attendance-select{padding:7px 10px;border:1px solid #d8e5d0;border-radius:6px;color:#658b5b;background:#f5faf2;font-size:11px}.attendance-select.excused{color:#ad7c2c;border-color:#f0dca7;background:#fff9e9}.attendance-select.absent{color:#b64f47;border-color:#f0c5bf;background:#fff0ed}.calendar-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:16px}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#654a38}.calendar-month span{color:#b55d28;font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.calendar-grid b{padding-bottom:8px;color:#aa988b;font-size:10px}.calendar-grid span{padding:9px 0;color:#736258;border-radius:50%;font-size:11px}.calendar-grid span.today{color:#fff;background:#c4510a;font-weight:700}.notes-editor{display:flex;gap:12px;align-items:flex-end;margin-bottom:16px}.notes-editor textarea{min-height:90px;flex:1;resize:vertical}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.note-grid h3{margin:12px 0 7px;font-size:14px}.note-grid p{min-height:42px;color:#85766d;font-size:11px;line-height:1.6}.settings-grid{max-width:980px;display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.settings-grid .card:last-child{grid-column:1 / -1}.settings-profile{display:flex;align-items:center;gap:15px}.settings-profile h3{margin:0;font-size:17px}.settings-profile p{margin:5px 0 8px;color:#95867c;font-size:11px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.setting-row{justify-content:space-between;color:#806f63;font-size:11px}.success-message{color:#6b965f;font-size:11px}.mobile-bottom-nav{display:none}.content-number{display:block;margin-top:8px;color:#b94f1a;font-family:Georgia,serif;font-size:28px}.green-text{color:#6f965e}.toast{position:fixed;right:25px;bottom:25px;z-index:60;display:flex;align-items:center;gap:8px;padding:11px 15px;color:#fff;border-radius:8px;background:#5d8453;box-shadow:0 9px 25px #2e21182e;font-size:12px;animation:toast-in .2s ease-out}.toast-check{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.stats-grid.five{grid-template-columns:repeat(3,1fr)}.dashboard-grid.top,.dashboard-grid.modules{grid-template-columns:1fr 1fr}.dashboard-grid.top>:first-child,.dashboard-grid.modules>:last-child{grid-column:1 / -1}.teacher-content{padding-left:24px;padding-right:24px}}@media (max-width: 767px){.teacher-sidebar{width:min(280px,85vw);transform:translate(-100%);transition:transform .25s}.teacher-sidebar.open{transform:translate(0)}.sidebar-close{display:grid}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:#1e120c6b}.teacher-main{margin-left:0;padding-bottom:72px}.teacher-header{height:64px;padding:0 15px;gap:9px}.mobile-menu{display:grid}.breadcrumb{font-size:11px}.breadcrumb b,.breadcrumb strong,.header-search{display:none}.header-actions{margin-left:auto}.user-menu span,.user-menu>svg{display:none}.teacher-content{padding:20px 14px 34px}.page-header{display:block}.page-header h1{font-size:23px}.page-header .quote{display:none}.header-actions-page{margin-top:14px}.header-actions-page .button{flex:1}.stats-grid.five,.stats-grid.four,.stats-grid.three{grid-template-columns:1fr 1fr}.stat-card{min-height:92px;padding:13px}.stat-copy strong{font-size:15px}.stat-copy span{font-size:10px}.dashboard-grid.top,.dashboard-grid.modules,.dashboard-grid.bottom,.dashboard-grid.finance-charts,.dashboard-grid.finance-bottom,.dashboard-grid.report-charts,.dashboard-grid.tuition-charts,.dashboard-grid.life-panels{grid-template-columns:1fr}.dashboard-grid.top>:first-child,.dashboard-grid.modules>:last-child{grid-column:auto}.card{padding:15px}.card-heading h2{font-size:12px}.habit-summary{display:block}.habit-summary .donut{margin:auto}.habit-list{margin-top:12px}.module-stats{gap:5px}.module-stats strong{font-size:13px}.module-stats span{font-size:9px}.table-toolbar{flex-wrap:wrap;padding:12px}.search-box{width:100%;min-width:0}.sort-select{margin-left:0}.responsive-table{overflow-x:auto}.table-footer{padding:12px}.table-footer span{display:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.modal{max-height:90vh;border-radius:15px 15px 0 0}.attendance-filters,.attendance-summary{grid-template-columns:1fr 1fr}.bulk-actions{flex-wrap:wrap}.calendar-layout,.note-grid,.settings-grid{grid-template-columns:1fr}.settings-grid .card:last-child{grid-column:auto}.notes-editor{display:block}.notes-editor .button{width:100%;margin-top:9px}.habit-overview{grid-template-columns:1fr 1fr}.habit-grid{grid-template-columns:1fr}.timeline.large .timeline-item{grid-template-columns:1fr;gap:5px}.timeline.large .timeline-item .badge{justify-self:start}.mobile-bottom-nav{height:calc(61px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:flex;position:fixed;inset:auto 0 0;z-index:30;justify-content:space-around;border-top:1px solid #eadfd7;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-bottom-nav button{flex:1;display:grid;place-items:center;gap:3px;border:0;color:#9a8b80;background:transparent;font-size:9px}.mobile-bottom-nav button.active{color:#b54708;font-weight:700}}@media (min-width: 768px) and (max-width: 1050px){.teacher-sidebar{width:210px}.teacher-main{margin-left:210px}.brand{padding-left:13px;padding-right:13px}.brand strong{font-size:14px}.nav-item{font-size:12px}.header-search{width:220px}}:root{font-size:16px}body{font-size:15px}strong,b{font-weight:500!important}.brand strong,.brand small,.page-header h1,.modal-header h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-style:normal;font-weight:500}.page-header h1{font-size:32px;letter-spacing:-.5px}.nav-item{font-size:14px;font-weight:400}.nav-label{font-size:12px;font-weight:500}.stat-copy span,.stat-copy small{font-size:12px}.stat-copy strong{font-size:22px}.stat-copy{min-width:0}.stat-copy strong{white-space:nowrap;line-height:1.2;font-size:clamp(15px,1.15vw,21px);letter-spacing:-.3px}.card-heading h2{font-size:15px;font-weight:500}td{font-size:13px}th{font-size:12px;font-weight:500}.table-toolbar select,.search-box input,.search-box,.badge,.button{font-size:13px}.button{font-weight:400}.teacher-content{font-size:15px}.autocomplete-wrap{width:100%}.autocomplete-input{width:100%;height:38px;margin-top:6px;padding:0 11px;border:1px solid #e8dfd8;border-radius:7px;outline:0;color:#3b2b20;background:#fffdfa;font-size:13px}.autocomplete-input:focus{border-color:#ce7441;box-shadow:0 0 0 3px #fff1e6}.stat-card-button{width:100%;border:1px solid #eee6e0;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s}.stat-card-button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #67422417}.module-stats button{border:0;text-align:left;cursor:pointer}@media (max-width: 767px){.page-header h1{font-size:28px}.nav-item{font-size:15px}.stat-copy strong{font-size:17px}td{font-size:13px}}
