@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-math-wght-normal-sOy7rEfW.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-ext-wght-normal-C2Wlntb9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#29392f;font-synthesis:none;--green:#304e40;--ink:#29392f;--muted:#626b60;--line:#e0e5dc;--paper:#fff;--cream:#efeee5;background:#f8f9f5;font-family:DM Sans Variable,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a,button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #a9bca0}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #91a18b}input,select,textarea{min-width:0;max-width:100%;color:var(--ink);background:#fff;border:1px solid #d7dfd3;border-radius:7px;min-height:42px;padding:10px 12px}select{padding-right:26px}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.15px;margin-bottom:12px;font-family:Lora Variable,Georgia,serif;font-size:38px;font-weight:400;line-height:1.23}h2{margin-bottom:0;font-size:17px;font-weight:600}h3{font-size:16px;font-weight:600}small{font-size:12px}strong{font-weight:600}fieldset{border:0;min-width:0;margin:0;padding:0}.muted{color:var(--muted)}.danger{color:#a74f42!important}.struck{color:var(--muted);text-decoration:line-through}.eyebrow{color:#646a5c;letter-spacing:2px;margin-bottom:13px;font-size:10px;font-weight:700;display:block}.button{border:1px solid var(--green);background:var(--green);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:550;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:#243d30}.button.secondary{color:var(--green);background:#fff;border-color:#dce3d7}.button.secondary:hover{background:#f0f4ed}.button.compact{min-height:34px;padding:6px 11px;font-size:12px}.icon-button{background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:34px;min-height:34px;display:inline-flex}.icon-button:hover{background:#e9eee4}.text-button{color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-size:12px;font-weight:550;display:inline-flex}.text-button:hover{text-decoration:underline}.badge{color:#656d5f;text-transform:capitalize;white-space:nowrap;background:#eceee8;border-radius:4px;align-items:center;padding:4px 9px;font-size:11px;line-height:1.3;display:inline-flex}.badge.green{color:#46693c;background:#e9f0e5}.badge.red{color:#9c5445;background:#f9eae5}.badge.amber{color:#7f622c;background:#f8efda}.dot{background:#aab19f;border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.dot.green{background:#6c9260}.dot.red{background:#c28573}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#f0f2e9;border-right:1px solid #dfe4d7;flex-direction:column;align-self:start;height:100dvh;padding:35px 22px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.6px;align-items:center;gap:12px;font-family:Lora Variable,Georgia,serif;font-size:24px;text-decoration:none;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:11px;flex:none;justify-content:center;align-items:center;width:42px;height:44px;display:inline-flex}.brand small{color:#636b58;letter-spacing:.45px;margin-top:2px;font-family:DM Sans Variable,sans-serif;font-size:10px;display:block}.nav-label{letter-spacing:1.8px;color:#64695c;margin:52px 12px 14px;font-size:10px;font-weight:700}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav button{text-align:left;color:#646d5f;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;min-height:46px;padding:13px 12px;font-size:13px;display:flex}.sidebar nav button.active{color:#304c37;background:#e1e7d9;font-weight:600}.sidebar nav button:hover{background:#e5eade}.nav-dot{background:#677f53;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{color:#646e57;margin-top:auto;padding:45px 13px 36px}.sidebar-note p{color:#5f6c53;margin:14px 0 12px;font-family:Lora Variable,Georgia,serif;font-size:17px;line-height:1.7}.sidebar-note small{letter-spacing:1.3px;color:#676c5e;font-size:10px}.admin{border-top:1px solid #dbe1d0;align-items:center;gap:10px;padding-top:20px;font-size:12px;display:flex}.admin small{color:#646a5c;font-size:10px;display:block}.admin .icon-button{color:#62695b;margin-left:auto}.avatar{color:#646e55;letter-spacing:.3px;background:#eef0e5;border:1px solid #e2e6d7;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:600;display:inline-flex}.avatar.small{width:32px;height:32px}.main{width:100%;min-width:0;max-width:1700px;margin:0 auto;padding:0 42px 40px}.topline{border-bottom:1px solid var(--line);color:#636b5c;align-items:center;gap:8px;height:71px;font-size:10px;display:flex}.topline>span:first-child{letter-spacing:1.5px;color:#63695c;margin-right:auto;font-size:10px}.today-dot{background:#90a17a;border-radius:50%;width:5px;height:5px}.page-head{justify-content:space-between;align-items:center;gap:20px;margin:38px 0 29px;display:flex}.page-head p{color:#666c5d;margin-bottom:0;font-size:13px}.page-head>.button{margin-top:19px}.date-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 0;display:flex}.date-picker{align-items:center;gap:5px;display:flex}.date-picker label{align-items:center;gap:9px;display:flex}.date-picker input{background:0 0;border:0;width:142px;min-height:34px;padding:5px 0;font-size:13px}.date-picker>label>svg{color:#626a58}.schedule-label{color:#646e58;align-items:center;gap:8px;font-size:11px;display:flex}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;padding:26px 0;display:grid}.metrics>div{border-right:1px solid var(--line);padding:0 24px}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{color:#62695a;align-items:center;gap:6px;font-size:11px;display:flex}.metrics strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:4px;font-size:30px;font-weight:450;line-height:1.4;display:block}.fees-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:21px}.fees-metrics strong{font-size:29px}.register-panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:78px;padding:19px 21px;display:flex}.panel-toolbar h2{white-space:nowrap;font-size:14px}.filter-group{align-items:center;gap:18px;display:flex}.filter-group select{color:#626c58;background:#fcfdf9;border-color:#e5e9df;min-height:33px;padding:6px 25px 6px 9px;font-size:11px}.search{color:#64695e;align-items:center;width:100%;min-width:150px;max-width:240px;display:flex;position:relative}.search svg{pointer-events:none;position:absolute;left:11px}.search input{background:#fdfefa;border-color:#e6eadf;border-radius:6px;width:100%;min-height:34px;padding:7px 10px 7px 34px;font-size:11px}.search input::placeholder{color:#666c60}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:1.3px;color:#646c5b;white-space:nowrap;background:#f9faf6;border-top:1px solid #edf0e7;border-bottom:1px solid #edf0e7;padding:12px 18px;font-size:10px;font-weight:500}td{border-bottom:1px solid #edf0e7;padding:18px;font-size:12px}td:first-child,th:first-child{padding-left:22px}tr:last-child td{border-bottom:0}td small{color:#646b5c;margin-top:3px;font-size:10px;display:block}td strong{overflow-wrap:anywhere}.person-button{text-align:left;background:0 0;border:0;align-items:center;gap:11px;max-width:250px;padding:0;display:flex}.person-button strong{color:#4f5b45;overflow-wrap:anywhere;font-size:12px;font-weight:550}.person-button:hover strong{text-decoration:underline}.person-button small{font-size:10px}.attendance-table td select{color:#626a57;background:#fff;border-color:#e7ebdf;width:100%;min-height:34px;padding:6px 24px 6px 8px;font-size:11px}.attendance-table td:nth-child(2){width:185px}.attendance-table td:nth-child(3){width:125px}.attendance-table td:last-child{width:220px}.attendance-actions{align-items:center;gap:6px;display:flex}.mark{color:#646a5c;white-space:nowrap;background:#fff;border:1px solid #e1e7d8;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-height:31px;padding:6px 9px;font-size:10px;display:inline-flex}.mark.present.selected{color:#546e40;background:#eff5e8;border-color:#d1dfc3}.mark.absent.selected{color:#8f5d4c;background:#fcf1e9;border-color:#eed7c9}.mark.present:hover{background:#f0f5ea}.mark.absent:hover{background:#fcf1e9}.attendance-actions .icon-button{color:#62695b;min-width:25px;min-height:30px}.meditation-label{color:#636f56;font-size:11px}.panel-footer{color:#646a5b;background:#fcfdf9;border-top:1px solid #edf0e7;justify-content:space-between;align-items:center;gap:12px;padding:15px 21px;font-size:10px;display:flex}.panel-footer>span{align-items:center;gap:6px;display:inline-flex}.panel-footer .dot{width:4px;height:4px}.week-note{color:#636a56;align-items:center;gap:13px;padding:22px 2px;display:flex}.week-note p{color:#646a5b;margin:0;font-size:11px}.week-note strong{color:#606b51;font-weight:500}.empty{text-align:center;color:#606b55;padding:64px 25px}.empty>svg{margin-bottom:14px}.empty h3{color:#56674b;margin-bottom:8px;font-family:Lora Variable,serif;font-size:22px;font-weight:400}.empty p{color:#646d5c;max-width:380px;margin:0 auto 19px;font-size:13px}.empty .button{margin-top:3px}.tabs{flex-wrap:wrap;gap:5px;display:flex}.tabs button{color:#636a5b;background:0 0;border:0;border-radius:5px;padding:9px 12px;font-size:12px}.tabs button.selected{color:#587046;background:#edf2e6}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 21px 22px;display:grid}.student-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:7px;min-width:0;padding:20px 18px 0}.student-card:hover{background:#fcfdf9;border-color:#a8b89c}.student-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-card h3{overflow-wrap:anywhere;margin:18px 0 6px}.student-card p{color:#636c59;margin-bottom:20px;font-size:11px}.student-card-bottom{border-top:1px solid var(--line);color:#606a57;justify-content:space-between;align-items:center;gap:8px;padding:13px 0;font-size:10px;display:flex}.generic-table{min-width:680px}.generic-table td{padding-top:17px;padding-bottom:17px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.settings-workspace{max-width:980px}.settings-nav{background:#ecefe7;border-radius:10px;gap:6px;width:fit-content;max-width:100%;margin-bottom:24px;padding:5px;display:flex}.settings-nav button{color:#626e60;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 20px;font-size:13px;display:flex}.settings-nav button[aria-pressed=true]{color:var(--green);background:#fff;font-weight:600;box-shadow:0 1px 4px #29392f12}.settings-workspace .settings-grid{grid-template-columns:minmax(0,1fr)}.settings-workspace .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-workspace [hidden]{display:none!important}.settings-workspace .settings-section{padding:28px 30px}.settings-workspace .form-actions{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.fee-columns,.fee-row{grid-template-columns:minmax(0,1fr) 160px 160px;align-items:center;gap:24px;display:grid}.fee-columns{color:var(--muted);padding:0 0 10px;font-size:11px}.fee-row{border-top:1px solid var(--line);padding:17px 0}.fee-row .field{margin:0}.fee-row .field>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.fee-plan strong,.fee-plan small{display:block}.fee-plan strong{font-size:14px}.fee-plan small{color:var(--muted);margin-top:3px;font-size:12px}.settings-note{color:var(--muted);align-items:start;gap:8px;margin:14px 0 0;font-size:12px;display:flex}.settings-note svg{color:var(--green);flex-shrink:0;margin-top:2px}.batch-editors{border-top:1px solid var(--line)}.batch-editor{border-bottom:1px solid var(--line)}.batch-editor summary{cursor:pointer;align-items:center;gap:14px;padding:17px 0;list-style:none;display:flex}.batch-editor summary::-webkit-details-marker{display:none}.batch-symbol{width:38px;height:38px;color:var(--green);background:#eff3e9;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.batch-title{overflow-wrap:anywhere;min-width:0}.batch-title strong,.batch-title small{display:block}.batch-title small{color:var(--muted);margin-top:3px;font-size:11px}.batch-time{color:var(--muted);text-align:right;overflow-wrap:anywhere;max-width:40%;margin-left:auto;font-size:12px}.batch-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.batch-editor[open] .batch-chevron{transform:rotate(90deg)}.batch-fields{padding:5px 0 12px 52px}@media (width<=700px){.settings-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:100%;display:grid}.settings-nav button{gap:5px;padding:10px 4px;font-size:12px}.settings-nav svg{display:none}.settings-workspace .settings-section{padding:22px 18px}.settings-workspace .account-grid{grid-template-columns:minmax(0,1fr)}.fee-columns{display:none}.fee-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fee-plan{grid-column:1/-1}.fee-row .field>span{clip-path:none;white-space:normal;width:auto;height:auto;font-size:11px;position:static}.batch-editor summary{gap:9px}.batch-symbol{width:32px;height:32px}.batch-fields{padding-left:0}}.day-options{flex-wrap:wrap;gap:8px 16px;margin:16px 0 20px;display:flex}.day-options legend{margin-bottom:8px;font-size:13px;font-weight:600}.day-options label{align-items:center;gap:8px;min-height:44px;font-size:13px;display:inline-flex}.day-options input{width:18px;height:18px;accent-color:var(--green)}.settings-section{padding:25px}.settings-section>h2{margin-bottom:10px}.settings-section>.muted{margin-bottom:20px;font-size:12px}.rates-table th{padding:10px 12px}.rates-table td{padding:13px 12px;font-size:12px}.rates-table th:first-child,.rates-table td:first-child{padding-left:0}.rules{margin-top:22px}.rules p{color:#606b55;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;display:flex}.batch-line{color:#616e54;border-bottom:1px solid #edf0e7;align-items:center;gap:11px;padding:12px 0;font-size:12px;display:flex}.batch-line>strong{color:#566c47;margin-left:auto;font-size:11px}.batch-line small{color:#62695b;margin-left:5px;font-size:11px}.schedule-note{color:#5f6d4c;background:#f0f4e8;border-radius:6px;align-items:center;gap:13px;margin:22px 0;padding:16px;font-size:11px;display:flex}.schedule-note strong{font-size:13px;font-weight:500}.error{color:#9c4f3b;overflow-wrap:anywhere;background:#fff2ed;border:1px solid #f0d4ca;border-radius:6px;margin:12px 0;padding:12px 15px;font-size:13px}.register-panel>.error{margin:0 20px 15px}.toast{color:#fff;z-index:20;background:#304e40;border-radius:8px;align-items:center;gap:10px;max-width:calc(100% - 30px);padding:13px 20px;font-size:13px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #15261a20}dialog{width:min(560px,100% - 28px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border:1px solid #dce3d6;border-radius:13px;padding:0;box-shadow:0 25px 100px #1c2b2630}dialog.wide{width:min(680px,100% - 28px)}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#23322765}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:24px 26px 20px;display:flex}.dialog-head h2{overflow-wrap:anywhere;font-family:Lora Variable,serif;font-size:24px;font-weight:400}.dialog-head p{color:#646e5c;margin:4px 0 0;font-size:12px}.dialog-body{padding:22px 26px 26px}.dialog-body>p{color:#626d59;font-size:13px}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:17px;display:flex}.field>span{color:#606f52;font-size:12px;font-weight:500}.field small{color:#646c5b;font-size:11px}.field input,.field select,.field textarea{width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-section{border-top:1px solid var(--line);margin-top:5px;padding-top:20px}.form-section h3{margin-bottom:14px;font-size:13px}.form-actions{justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.quote-box{background:#f2f5eb;border:1px solid #e3e9d9;border-radius:7px;margin:1px 0 20px;padding:18px 20px}.quote-box>span{letter-spacing:1.1px;color:#616d52;font-size:10px;font-weight:600;display:block}.quote-box>strong{color:#4d693d;margin:5px 0;font-size:28px;font-weight:450;display:block}.quote-box p{color:#616f53;margin-bottom:5px;font-size:12px}.quote-box small{color:#616b55;font-size:10px}.detail-summary{padding:0 0 20px}.detail-summary p{margin:9px 0 3px;font-size:13px}.detail-summary small{color:#646e59}.detail-section{border-top:1px solid var(--line);margin-top:19px;padding:21px 0}.detail-section summary{cursor:pointer;min-height:25px;font-size:13px;font-weight:600}.detail-section[open]>summary{margin-bottom:20px}.detail-section .muted{font-size:12px}.section-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;display:flex}.section-head h3{margin:0;font-size:14px}.bill-line,.history-line{border-bottom:1px solid #eef1e7;justify-content:space-between;align-items:center;gap:13px;padding:12px 0;font-size:13px;display:flex}.bill-line small,.history-line small{color:#636b58;margin-top:4px;font-size:10px;display:block}.detail-section>.button{margin-top:14px}.history{max-height:380px;overflow:auto}.archive-action{text-align:right;border-top:1px solid var(--line);padding-top:18px}.login{background:#f1f3e9;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:40px 22px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:34px;font-family:Lora Variable,serif;font-size:28px;display:flex}.login-brand small{color:#636e59;margin-left:6px;font-size:16px}.login-card{background:#fff;border:1px solid #dfe5d7;border-radius:12px;width:100%;max-width:450px;padding:40px}.login-card h1{letter-spacing:-.7px;font-size:30px;line-height:1.45}.login-card>.muted{margin:15px 0 28px;font-size:12px}.login-card .form-actions>.button{width:100%}.login-footer{color:#636c5a;margin:23px 0 0;font-size:11px}.app-loading{color:#5e6c54;justify-content:center;align-items:center;gap:10px;min-height:100vh;font-size:14px;display:flex}@media (width>=1550px){.main{padding-left:65px;padding-right:65px}.attendance-table td{padding-top:21px;padding-bottom:21px}}@media (width<=1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:30px 15px 20px}.main{padding:0 26px 30px}.attendance-table th,.attendance-table td{padding-left:12px;padding-right:12px}.attendance-table th:first-child,.attendance-table td:first-child{padding-left:18px}.attendance-table td:last-child{width:190px}.mark{padding:6px}.attendance-table td:nth-child(2){width:162px}.attendance-table td:nth-child(3){width:109px}.person-button{gap:8px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{gap:16px}.settings-section{padding:20px}}@media (width<=1000px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:28px 12px 17px}.brand{gap:8px;font-size:22px}.brand-mark{width:35px;height:38px}.brand small{font-size:10px}.sidebar nav button{gap:9px;padding:12px 9px;font-size:12px}.main{padding:0 22px 30px}.panel-toolbar{flex-wrap:wrap;padding:16px}.filter-group{gap:10px}.panel-toolbar .search{max-width:210px}.attendance-table{min-width:650px}.settings-grid{grid-template-columns:1fr}.metrics>div{padding:0 18px}.schedule-label{font-size:10px}.panel-footer{flex-direction:column;align-items:flex-start;gap:5px}.fees-metrics strong{font-size:25px}.page-head h1{font-size:34px}}@media (width<=760px){.app-shell{display:block}.sidebar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f0f2e9f5;border-bottom:1px solid #dbe2d1;border-right:0;grid-template-columns:1fr auto;height:auto;padding:12px 18px 0;display:grid;position:sticky}.brand{gap:9px;font-size:21px}.brand-mark{border-radius:8px;width:32px;height:32px}.brand-mark svg{width:19px}.brand small,.nav-label,.sidebar-note,.nav-dot{display:none}.sidebar nav{flex-direction:row;grid-area:2/1/auto/-1;justify-content:space-between;gap:4px;margin-top:11px}.sidebar nav button{border-radius:5px 5px 0 0;flex:1;justify-content:center;gap:6px;min-width:0;min-height:48px;padding:11px 5px;font-size:11px}.sidebar nav button>svg{width:16px}.admin{border:0;gap:4px;padding:0}.admin>.avatar,.admin>div{display:none}.main{padding:0 20px 26px}.topline{height:48px;font-size:10px}.topline>span:first-child{letter-spacing:1px;font-size:10px}.page-head{gap:10px;margin:27px 0 23px}.page-head h1{margin-bottom:9px;font-size:32px}.page-head .eyebrow{letter-spacing:1.5px;margin-bottom:10px;font-size:10px}.page-head p{max-width:250px;font-size:11px}.page-head>.button{min-height:37px;padding:8px 11px;font-size:11px}.date-strip{flex-wrap:wrap;gap:8px;padding:11px 0}.schedule-label{padding-left:5px}.metrics{margin-bottom:10px;padding:22px 0 19px}.metrics>div{padding:0 13px}.metrics strong{font-size:26px}.metrics span{gap:4px;font-size:10px}.panel-toolbar{padding:16px}.filter-group h2{font-size:13px}.panel-toolbar .search{max-width:100%}.panel-toolbar>.search{flex:1;min-width:140px}.attendance-table{min-width:0}.attendance-table thead{display:none}.attendance-table tbody{display:block}.attendance-table tr{border-top:1px solid #e9eee1;grid-template-columns:1fr 1fr;gap:11px 12px;padding:17px 16px;display:grid}.attendance-table td{border:0;min-width:0;width:auto!important;padding:0!important}.attendance-table td:first-child{grid-column:1/-1;padding-bottom:4px!important}.attendance-table td[data-label]:before{content:attr(data-label);color:#616957;margin-bottom:4px;font-size:10px;display:block}.attendance-table td:last-child{grid-column:1/-1;padding-top:2px!important}.attendance-table td select{min-height:38px;font-size:12px}.attendance-table .person-button{gap:10px;width:100%;max-width:100%}.person-button strong{font-size:13px}.person-button small{font-size:10px}.attendance-actions{gap:9px}.mark{flex:1;min-height:44px;padding:8px 14px;font-size:11px}.attendance-actions .icon-button{min-width:40px;min-height:44px}.panel-footer{padding:13px 16px;font-size:10px}.week-note{align-items:flex-start;padding:19px 1px}.week-note>svg{flex:none}.week-note p{font-size:10px;line-height:1.8}.student-grid{gap:12px;padding:0 16px 16px}.student-card{padding:15px 13px 0}.student-card h3{font-size:15px}.student-card-bottom,.student-card-top .badge{font-size:10px}.student-card-top .avatar{width:32px;height:32px}.fees-metrics strong{font-size:23px}.fees-metrics>div{padding:0 14px}.tabs button{padding:8px 10px;font-size:11px}.generic-table{min-width:0}.generic-table thead{display:none}.generic-table tr{border-top:1px solid #e9eee1;grid-template-columns:1fr 1fr;gap:12px;padding:17px 16px;display:grid}.generic-table td{border:0;min-width:0;font-size:12px;padding:0!important}.generic-table td:first-child{grid-column:1/-1}.generic-table td:nth-child(3),.generic-table td:nth-child(5){text-align:right}.generic-table td strong{font-size:13px}.toast{font-size:12px;bottom:18px}.dialog-head,.dialog-body{padding:20px}.dialog-head h2{font-size:22px}.empty{padding:43px 22px}.empty h3{font-size:20px}}@media (width<=400px){.main,.sidebar{padding-left:14px;padding-right:14px}.sidebar nav button{gap:4px;font-size:10px}.sidebar nav button>svg{width:15px}.metrics>div{padding:0 10px}.metrics span{font-size:10px}.metrics strong{font-size:24px}.page-head{align-items:flex-start}.page-head>.button{margin-top:22px;padding:7px 8px;font-size:10px}.page-head>.button svg{width:13px}.page-head h1{font-size:29px}.page-head p{max-width:190px}.student-grid{grid-template-columns:1fr}.fees-metrics strong{font-size:20px}.fees-metrics>div{padding:0 10px}.form-grid{grid-template-columns:1fr;gap:12px}.form-grid .field{margin-bottom:3px}.form-grid{margin-bottom:15px}.login-card{padding:28px 23px}.login-card h1{font-size:27px}.bill-line{flex-direction:column;align-items:flex-start}.settings-section{padding:17px}}@media (width<=360px){.sidebar nav button{flex-direction:column;gap:3px;min-height:55px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.import-summary{background:#eaf0e4;border:1px solid #d8e1d1;border-radius:12px;margin-bottom:24px;padding:20px 24px}.batch-picker-heading{margin:24px 0 14px}.batch-picker-heading h2{font-size:16px}.batch-picker-heading p{color:#626e5b;margin:6px 0 0;font-size:13px}.batch-unassigned-note{color:#626e5b;margin:12px 0 0;font-size:12px;line-height:1.6}.batch-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.batch-tile{text-align:left;color:#364830;background:#fff;border:1px solid #dce3d5;border-radius:10px;gap:8px;padding:18px;display:grid}.batch-tile:hover,.batch-tile.selected{background:#edf3e7;border-color:#9db18e}.batch-tile>span{overflow-wrap:anywhere;font-size:13px;font-weight:600}.batch-tile>strong{font-size:17px;font-weight:500}.batch-tile small{color:#65725b;font-size:12px}.batch-session-head{border-bottom:1px solid #e3e7dd;justify-content:space-between;align-items:center;gap:15px;padding:22px;display:flex}.batch-session-head h2{font-size:18px}.batch-session-head p{color:#62705a;margin:7px 0 0;font-size:13px}.batch-register-tools{justify-content:space-between;align-items:center;gap:15px;padding:18px 22px;display:flex}.batch-mark-tools{flex-wrap:wrap;gap:8px;display:flex}.batch-guest-picker{background:#f5f7f0;border-radius:8px;gap:8px;margin:0 22px 18px;padding:15px;font-size:12px;display:grid}.batch-guest-picker select{min-width:0;max-width:100%;font-size:12px}.batch-guest-picker small{color:#607057;font-size:11px;line-height:1.5}.batch-guest-picker summary{cursor:pointer;font-weight:500}.batch-guest-picker[open] select{margin-top:12px}.batch-guest-picker[open] small{margin-top:9px;display:block}.batch-register{overflow:visible}.batch-student-row{border-top:1px solid #edf0e7;grid-template-columns:minmax(0,1fr) 125px 250px;align-items:center;gap:16px;padding:17px 22px;display:grid}.batch-student-row.pending{background:#f8faf2}.batch-student-person{min-width:0}.batch-student-person strong{overflow-wrap:anywhere}.batch-student-person small{color:#63715b;margin-top:5px;font-size:11px;display:block}.batch-student-mode{color:#68735e;gap:5px;font-size:10px;display:grid}.batch-student-mode select{min-height:38px;padding:7px;font-size:12px}.batch-student-row .mark{min-height:42px}.batch-transfer-note{line-height:1.5}.batch-save-bar{z-index:3;background:#eef3e7;border-top:1px solid #dce4d5;border-radius:0 0 9px 9px;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex;position:sticky;bottom:0;box-shadow:0 -5px 16px #24352e0a}.batch-save-bar strong{font-size:13px}.batch-save-bar small{color:#596c4f;margin-top:6px;font-size:11px;line-height:1.6;display:block}.batch-save-bar>div:last-child{flex-shrink:0;align-items:center;gap:16px;display:flex}@media (width<=1000px){.batch-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-student-row{grid-template-columns:minmax(0,1fr) 110px}.batch-student-row .attendance-actions{grid-column:1/-1}.batch-register-tools{flex-direction:column;align-items:flex-start}}@media (width<=550px){.batch-tiles{gap:9px}.batch-tile{padding:14px 12px}.batch-tile strong{font-size:14px}.batch-tile small{font-size:11px}.batch-session-head,.batch-register-tools,.batch-student-row{padding:16px}.batch-session-head{flex-wrap:wrap}.batch-guest-picker{margin:0 16px 16px}.batch-student-row{grid-template-columns:minmax(0,1fr) 95px;gap:12px}.batch-student-person .avatar{display:none}.batch-student-row .attendance-actions{justify-content:flex-start}.batch-save-bar{flex-direction:column;align-items:stretch;padding:16px}.batch-save-bar>div:last-child{flex-wrap:wrap;justify-content:space-between;gap:10px}.batch-mark-tools .button{padding:9px;font-size:11px}.batch-save-bar .button{min-height:44px}}.import-summary p{margin:8px 0}.import-summary small,.source-note{color:#58654f;line-height:1.6}.source-filters{grid-template-columns:1fr 1fr 1.2fr;gap:16px;padding:24px;display:grid}.source-filters label{gap:8px;min-width:0;font-size:13px;font-weight:600;display:grid}.source-filters input,.source-filters select{width:100%;min-width:0}.source-note{margin:0;padding:0 24px 20px;font-size:13px}.source-record{border-top:1px solid var(--line,#e3e5dc);min-width:0;padding:16px 24px}.source-record summary{cursor:pointer;align-items:start;gap:12px;display:flex}.source-record summary:before{content:"+";color:#476142;font-weight:600}.source-record[open]>summary:before{content:"−"}.source-record-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;width:100%;display:grid}.source-record-summary span{gap:5px;min-width:0;display:grid}.source-record-summary small{color:#63715a;font-size:11px}.source-record-summary strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.source-fields{background:#f5f6f0;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:16px 0 0;padding:16px;font-size:12px;display:grid}.source-fields div{min-width:0}.source-fields dt{color:#626e5b;margin-bottom:5px}.source-fields dd{overflow-wrap:anywhere;white-space:pre-wrap;max-height:240px;margin:0;overflow-y:auto}.source-pagination{border-top:1px solid #e3e5dc;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;font-size:12px;display:flex}.source-pagination>div{gap:8px;display:flex}.profile-group{border:0;border-top:1px solid #e3e5dc;min-width:0;margin:16px 0;padding:18px 0 0}.profile-group legend{color:#45613d;padding-right:10px;font-size:13px;font-weight:600}.billing-pending{color:#746020;margin-top:7px;display:block}.billing-confirm{align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;display:flex}.billing-confirm input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.source-history-group,.entry-form{margin:16px 0}.source-history-group>summary,.entry-form>summary{cursor:pointer;padding:8px 0;font-size:13px}.source-history-group .source-record{padding:14px 0}.entry-line{overflow-wrap:anywhere;border-bottom:1px solid #e3e5dc;padding:16px 0;font-size:13px}.entry-line p{white-space:pre-wrap;margin:8px 0}.entry-line small{color:#626e5b;margin-bottom:8px;display:block}@media (width<=650px){.source-filters{grid-template-columns:1fr;padding:18px}.source-record{padding:16px 18px}.source-record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-note{padding:0 18px 18px}.source-fields{grid-template-columns:1fr}.source-pagination{flex-direction:column;align-items:flex-start;padding:18px}.import-summary{overflow-wrap:anywhere;padding:18px}.sidebar nav button{flex-direction:column;gap:4px}}
