@font-face{font-family:system-ui;src:local("Segoe UI")}*{box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{margin:0;background:#f3f6f8;color:#203743;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #d9e1e5;background:#fff;color:#334a54;padding:.55rem 1rem;border-radius:9px;transition:background .15s,transform .15s}button:hover{background:#edf4f3;border-color:#b8cfca}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #68b7a8;outline-offset:3px}a{color:#146f61;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:2.15rem;line-height:1.4;letter-spacing:-.04em;margin-bottom:.45rem;font-weight:650}h2{font-size:1.18rem;line-height:1.5;font-weight:650;margin-bottom:1rem}h3{font-size:1.02rem;margin-bottom:.35rem}p{margin-bottom:.8rem}small{font-size:.81rem;color:#788891;line-height:1.7}strong{font-weight:600}input,textarea,select{border:1px solid #d8e1e6;background:#fff;color:#203743;border-radius:8px;padding:.7rem .85rem;min-width:0}textarea{resize:vertical;width:100%;line-height:1.8}input[type=checkbox],input[type=radio]{accent-color:#12685d;width:17px;height:17px;flex-shrink:0}label{display:flex;flex-direction:column;gap:6px;font-size:.93rem;font-weight:500;margin-bottom:1rem}label input,label select{width:100%}label.check{display:flex;flex-direction:row;align-items:center;font-weight:400}.muted{color:#788994}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.12em;color:#798d94;margin-bottom:.7rem}.primary{background:#146e61;border-color:#146e61;color:#fff;font-weight:550}.primary:hover{background:#0c594f;border-color:#0c594f}.primary span{margin-left:1.6rem}.full{width:100%}.danger{color:#b54742;border-color:#f0d6d4}.text-link{border:0;padding:0;background:none;color:#147768}.hint{font-size:.82rem;color:#849198;line-height:1.8;margin:1rem 0 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.empty{text-align:center;color:#85949c;padding:3rem 1rem}.empty strong{display:block;color:#627984;margin-bottom:.5rem}.space{margin-top:1.5rem}.button-row{display:flex;gap:.7rem;flex-wrap:wrap}.loading{padding:30vh 0;text-align:center}[v-cloak]{display:none}
.brand{display:flex;align-items:center;gap:12px;color:#193d3f;font-size:2rem;line-height:1;font-weight:720;letter-spacing:-.07em}.brand-symbol{background:#146e61;color:#fff;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;font-size:2.35rem;letter-spacing:-.07em;padding-bottom:9px}.brand-sub{display:block;font-size:.53rem;letter-spacing:.13em;font-weight:500;margin-top:9px;color:#738c8c}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr;background:white}.login-story{background:#0d514a;color:#fff;padding:4rem 5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story .brand{color:white}.login-story .brand-symbol{background:#fff;color:#125f55}.login-story .brand-sub{color:#bed5d0}.login-story h1{font-size:2.7rem;line-height:1.6;letter-spacing:.02em;margin:1.5rem 0}.login-story .eyebrow,.login-story p{color:#bbd8d1}.login-story footer{font-size:.85rem;color:#9dc6bb;letter-spacing:.2em}.story-note{border-top:1px solid #39726b;display:flex;gap:1.3rem;padding:1rem 0}.story-note>span{color:#8fc6b5;font-size:1.2rem}.story-note small{color:#a8c9bf}.login-form{width:min(490px,100%);padding:4rem 3rem;margin:auto}.login-form h2{font-size:2rem;margin-bottom:.5rem}.login-form form{margin:2rem 0}.login-form .primary{display:flex;justify-content:space-between;padding:.85rem 1rem}.local-pill{color:#7f8f94;font-size:.7rem;letter-spacing:.1em;background:#f1f5f5;display:inline-block;border-radius:5px;padding:5px 9px;margin-bottom:2rem}.divider{font-size:.8rem;color:#93a0a7;display:flex;align-items:center;gap:15px;margin:2rem 0 1rem}.divider:before,.divider:after{content:'';height:1px;background:#e4e9eb;flex:1}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.demo-grid button{text-align:left;padding:.8rem;font-size:.88rem}.demo-grid button>span{margin-right:8px;color:#167464}.demo-grid small{display:block;font-size:.73rem;margin-top:4px}
.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid #e3e9ed;display:flex;flex-direction:column;padding:29px 20px 16px;z-index:20}.sidebar .brand{margin:0 9px 31px}.school-badge{display:flex;align-items:center;gap:11px;background:#f4f7f8;border:1px solid #eaf0f1;border-radius:10px;padding:11px;font-size:.9rem}.school-badge small{display:block;font-size:.74rem}.school-icon{color:#558c83;font-size:1.5rem}.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:24px;overflow:auto;padding-bottom:12px;scrollbar-width:thin}.sidebar nav a{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#6a7b85;padding:10px 13px;border-radius:8px;white-space:nowrap}.sidebar nav a:hover{background:#f5f8f9}.sidebar nav a.active{background:#e9f3ef;color:#12685d;font-weight:650}.nav-icon{font-size:1.18rem;width:23px;text-align:center;font-family:"Segoe UI Symbol",sans-serif}.nav-count{margin-left:auto;border-radius:5px;background:#e5ac63;color:white;font-size:.7rem;padding:0 5px}.sidebar-bottom{margin-top:auto;padding-top:14px}.local-note{display:flex;align-items:center;gap:8px;font-size:.7rem;color:#8c9ba2;padding:8px 10px 18px}.local-note i{width:6px;height:6px;border-radius:50%;background:#86b9a9}.local-note span{margin-left:auto}.profile-button{border:0;border-top:1px solid #edf0f2;border-radius:0;width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:17px 4px 0}.profile-button>span:last-child{margin-left:auto}.profile-button small{display:block}.avatar{width:35px;height:35px;background:#fae6c9;border-radius:50%;display:grid;place-items:center;color:#956b36}.workspace{grid-column:2;min-width:0;display:flex;flex-direction:column}.topbar{height:77px;border-bottom:1px solid #e2e9ed;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.breadcrumb{font-size:.84rem;color:#73858f}.breadcrumb span{margin:0 12px;color:#c1ccd1}.top-actions{display:flex;gap:18px;align-items:center}.top-actions select{font-size:.79rem;border:0;background:transparent;padding:.4rem}.connection{color:#649588;font-size:.75rem}.connection.offline{color:#b87d39}.queue-button{font-size:.75rem;color:#af7932}.bell{position:relative;border:0;border-left:1px solid #e5e9ec;border-radius:0;padding:0 4px 0 20px;font-size:1.6rem;color:#6d838c;line-height:1}.bell b{font-size:.61rem;position:absolute;top:-6px;right:-7px;border-radius:8px;background:#d69354;color:white;padding:2px 5px}.content{padding:31px 36px 40px;max-width:1550px;width:100%;margin:auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading p{font-size:.91rem;margin-bottom:0}.hello-dot{color:#d4a458;font-size:1.8rem;margin-left:.3rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.stats article{padding:20px 23px;background:#fff;border:1px solid #e2eaed;border-radius:13px;box-shadow:0 3px 9px #1a495403}.stat-top{display:flex;justify-content:space-between;color:#778a94;font-size:.85rem;align-items:center}.stat-top span{font-size:1.3rem;color:#85a89e}.stats strong{font-size:2.1rem;font-weight:650;display:block;line-height:1.5;margin:12px 0 5px;color:#294651;font-variant-numeric:tabular-nums}.stats strong small{margin-left:7px;font-size:.8rem;font-weight:400}.stats p{font-size:.74rem;color:#93a0a6;margin:0}.stats .accent-stat{background:#e9f3ef;border-color:#d3e8df}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.card{background:#fff;border:1px solid #e1e9ed;border-radius:13px;padding:23px;box-shadow:0 3px 9px #1a495403;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.section-heading h2,.section-heading h3{margin:0}.section-heading a{font-size:.8rem;white-space:nowrap}.class-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid #edf1f3}.class-symbol{background:#edf3fa;color:#6388b0;width:40px;height:43px;border-radius:11px;display:grid;place-items:center;font-size:1.1rem}.class-row:nth-child(odd) .class-symbol{background:#f8efe2;color:#ad8855}.class-detail{flex:1}.class-detail strong{font-size:.95rem}.class-detail small{display:block;font-size:.74rem;margin-top:2px}.class-progress{width:95px;text-align:right;font-size:.72rem;color:#8a9ba2}.class-progress>div{height:4px;border-radius:5px;background:#eff3f5;margin-top:8px;overflow:hidden}.class-progress i{display:block;height:4px;background:#479983}.soft-note{background:#f5f8f8;border-radius:8px;padding:12px 14px;font-size:.8rem;color:#7a8f95;margin-top:17px}.notice-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #eef1f3;cursor:pointer}.notice-row:last-child{border:0}.notice-icon{border-radius:9px;background:#fff2dd;color:#b9924c;padding:5px 10px;font-size:1.3rem}.notice-row>div{flex:1}.notice-row .eyebrow{font-size:.65rem;letter-spacing:.02em}.notice-row h3{font-size:.92rem;margin:4px 0 6px}.notice-row p{font-size:.8rem;color:#83939b;margin:0 0 6px;line-height:1.8}.notice-row small{font-size:.7rem}.notice-row>span:last-child{color:#b2bec4;font-size:.9rem}.journal-preview{display:flex;gap:17px;padding:12px 0 5px;cursor:pointer}.journal-marker{width:47px;height:54px;flex-shrink:0;background:#f7eee0;color:#b38e58;border-radius:10px;display:grid;place-items:center;font-size:1.2rem}.journal-preview h3{margin:9px 0;font-size:1.04rem}.journal-preview small{font-size:.73rem}.journal-preview p{font-size:.88rem;color:#819098;line-height:1.9}.author-line{font-size:.77rem;color:#7e938c;display:flex;justify-content:space-between;padding-top:10px}.author-line>span{color:#8e9ba2}.quick-card{background:#fdfefe}.quick-card>button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:11px 0;border:0;border-bottom:1px solid #edf0f1;border-radius:0;font-size:.87rem;background:transparent}.quick-card>button>span:last-child{color:#8bb3a7}.small-calendar{background:#f5f7fa;border-radius:9px;padding:14px 17px;margin-top:18px}.small-calendar>span,.small-calendar strong,.small-calendar small{display:block}.small-calendar>span{font-size:.73rem;color:#8a9ba5}.small-calendar strong{font-size:1.1rem;margin:5px 0;color:#617b8c}.small-calendar small{font-size:.69rem}.workspace-footer{padding:0 36px 20px;color:#a4b0b7;font-size:.7rem;display:flex;justify-content:space-between}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input[type=search]{min-width:240px;max-width:100%}.table-card{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th{font-weight:500;font-size:.78rem;color:#81949d;background:#fafcfd;white-space:nowrap}th,td{padding:16px 21px;border-bottom:1px solid #edf1f3}td{vertical-align:middle}td>small{display:block}tr:last-child td{border-bottom:0}.cell-person{display:flex;align-items:center;gap:11px;white-space:nowrap}.cell-person small{display:block;font-size:.7rem}.student-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;background:#eaf2e9;color:#608b69;font-size:.8rem}.student-avatar.small{width:35px;height:37px;border-radius:10px;font-size:.71rem}.child-row{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #edf1f3}.child-row>div{flex:1}.child-row small{display:block}.badge{display:inline-block;border-radius:5px;padding:3px 8px;line-height:1.65;font-size:.75rem;white-space:nowrap}.badge.green{background:#e9f5ee;color:#368565}.badge.amber{background:#fff4e0;color:#b38943}.badge.red{background:#fbecec;color:#b66560}.badge.neutral{background:#eff3f6;color:#7e929e}.amber-text{color:#b38943}.attendance-options{display:flex;gap:5px;white-space:nowrap}.attendance-options button{font-size:.8rem;padding:5px 9px}.attendance-options .selected,.weekday-row .selected{background:#146e61;color:white;border-color:#146e61}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.journal-top{display:flex;align-items:center;gap:10px;margin-bottom:22px}.journal-top>div{flex:1}.journal-top small{display:block;font-size:.72rem}.journal-top strong{font-size:.9rem}.journal-card h2{font-size:1.25rem}.journal-card>p{font-size:.95rem;line-height:1.95;color:#6b808b}.journal-image{width:100%;max-height:360px;object-fit:contain;border-radius:9px;margin-bottom:1rem;background:#f3f6f8}.journal-bottom{display:flex;align-items:center;border-top:1px solid #edf1f3;margin-top:24px;padding-top:15px;gap:15px}.journal-bottom button{border:0;font-size:.84rem;padding:0;background:none;color:#87979f}.journal-bottom .liked{color:#c57474}.journal-bottom>span{margin-left:auto;font-size:.72rem;color:#a0adb3}.fee-strip{display:flex;gap:40px;background:#eaf3ef;border:1px solid #d7e8df;border-radius:12px;padding:22px 28px;margin-bottom:25px}.fee-strip>div{flex:1}.fee-strip small,.fee-strip strong{display:block}.fee-strip strong{font-size:1.7rem;color:#246d5b;margin-top:4px}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.program-card{padding:0;overflow:hidden}.program-cover{background:#e8f1ed;padding:25px 25px 22px;border-bottom:1px solid #d9e7df}.program-cover .eyebrow{font-size:.65rem;color:#7aa18e}.program-cover h2{font-size:1.4rem;color:#366d56;margin:9px 0 12px}.program-cover>span:last-child{font-size:.8rem;color:#8a9d90}.program-body{padding:22px 25px}.program-body>p{font-size:.89rem;color:#7d8e97}.plan-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf1f3;padding:13px 0;font-size:.92rem}.plan-row small{display:block;font-size:.72rem;margin-top:4px}.plan-row>div:last-child{text-align:right}.program-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}.program-foot small{font-size:.75rem}.program-foot button{font-size:.85rem}.padded{padding:21px 23px 0}.notice-list{display:grid;gap:20px;max-width:950px}.notice-meta{display:flex;align-items:center;gap:15px;margin-bottom:18px}.notice-list .preserve{font-size:.95rem;color:#6a818b}.weekday-row{display:flex;gap:10px;flex-wrap:wrap}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.report-card{position:relative}.report-icon{font-size:2.7rem;color:#b08b5c;display:block;margin-bottom:16px}.report-card>.badge{position:absolute;top:25px;right:23px}.report-card>p{font-size:.88rem;color:#839199}.report-card>button{margin-top:22px;width:100%}.invite-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f3;gap:10px;font-size:.9rem}.feature-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid #edf1f3}.feature-row p{font-size:.86rem;color:#85969d;margin:6px 0 0}.bank-summary{display:flex;align-items:center;gap:25px;background:#f6f9f9;padding:20px;border-radius:10px;margin:20px 0}.bank-summary img{width:155px;height:155px;object-fit:contain}.bank-summary p{font-size:.89rem;margin:7px 0 0}
.overlay{position:fixed;inset:0;background:#15323f66;backdrop-filter:blur(3px);z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:white;border-radius:16px;padding:32px;width:min(640px,100%);max-height:90vh;overflow:auto;position:relative;box-shadow:0 20px 70px #152c3c25}.modal>h2{font-size:1.6rem;margin-bottom:25px;padding-right:20px}.close{position:absolute;right:18px;top:16px;border:0;background:#f3f6f7;border-radius:50%;width:31px;height:31px;padding:0;display:grid;place-items:center;color:#82939c;font-size:1.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{min-width:0}.checkbox-list{max-height:170px;overflow:auto;border:1px solid #e0e7eb;border-radius:8px;padding:10px 14px;margin-bottom:18px}.checkbox-list label{display:flex;flex-direction:row;align-items:center;font-weight:400;font-size:.9rem;margin:7px 0}.checkbox-list label small{margin-left:auto;font-size:.73rem}.checkbox-list input{width:16px;flex-shrink:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf1f3;padding-top:20px;margin-top:22px}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(430px,100%);background:white;padding:40px 30px;overflow:auto}.drawer h2{font-size:1.5rem}.drawer h3{margin-top:35px}.role-option{display:flex;width:100%;justify-content:space-between;margin:9px 0;padding:14px}.role-option.selected{border-color:#81b49e;background:#edf6f0}.role-option span{font-size:.83rem;color:#789388}.drawer .danger{margin-top:28px}.notification-item{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #e5edef;border-radius:0;padding:18px 10px}.notification-item.unread{background:#eef6f2}.notification-item p{font-size:.86rem;color:#80909a;margin:8px 0}.notification-item small{font-size:.73rem}.menu-link{display:block;padding:10px 0}.error{background:#fff0ed;color:#ac5549;border:1px solid #f1d6cf;border-radius:8px;padding:11px 14px;font-size:.85rem;overflow-wrap:anywhere}.alert{display:flex;justify-content:space-between;margin-bottom:20px}.alert>button{background:none;border:0;color:#ac5549;padding:0 5px}.toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);background:#1e6c58;color:white;padding:11px 24px;border-radius:10px;z-index:100;box-shadow:0 5px 25px #26574430;font-size:.9rem;max-width:90vw}.offline-banner{background:#fff3dd;color:#927546;padding:12px 17px;border-radius:8px;margin-bottom:20px;font-size:.85rem}.plan-choice{padding:14px 10px;border:1px solid #e0e7eb;border-radius:9px;margin:10px 0}.plan-choice label{display:flex;flex-direction:row;align-items:center;gap:12px;margin:0}.plan-choice input{width:18px}.plan-choice small{display:block;margin-top:5px}.comment{background:#f5f8f9;padding:14px 17px;border-radius:9px;margin:12px 0}.comment strong{font-size:.87rem}.comment strong small{font-weight:400;margin-left:10px}.comment p{font-size:.92rem;line-height:1.9;margin:7px 0}.comment>small{font-size:.71rem}.invoice-lines{margin:25px 0}.invoice-lines>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e8eef1;font-size:.93rem}.invoice-lines .total{font-size:1.35rem;color:#216d5c;border:0}.payment-history{border:1px solid #e1e9ed;border-radius:10px;padding:18px;margin:15px 0}.payment-history>p{font-size:.86rem;margin-top:10px}.report-paper-header{display:flex;justify-content:space-between;color:#a67545;border-bottom:2px solid #a67545;padding-bottom:15px;margin-bottom:25px}#report-print h3{color:#a67545;margin-top:25px}#report-print .preserve{line-height:2}hr{border:0;border-top:1px solid #e1e8eb;margin:20px 0}.mobile-nav,.mobile-account{display:none}
@media(min-width:1600px){.content{padding-top:40px}.dashboard-grid{grid-template-columns:1.35fr 1fr}.stats article{padding:25px}.sidebar{width:255px}.app-shell{grid-template-columns:255px 1fr}}
@media(max-width:1150px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.app-shell{grid-template-columns:205px 1fr}.content{padding:26px 24px}.topbar{padding:0 24px}.stats{gap:12px}.stats article{padding:17px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:18px}.card{padding:19px}.table-card,.program-card{padding:0}.class-progress{width:65px}.report-grid{grid-template-columns:repeat(2,1fr)}.login-story{padding:3rem}.login-story h1{font-size:2.1rem}.login-form{padding:3rem 2rem}}
@media(max-width:850px){.app-shell{display:block}.sidebar{display:none}.workspace{display:flex}.topbar{height:65px;padding:0 20px}.breadcrumb{font-size:.76rem}.top-actions{gap:10px}.connection{display:none}.mobile-account{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9f1e9;color:#638668;font-size:.8rem;padding:0}.bell{font-size:1.3rem;padding-left:10px}.content{padding:24px 20px 100px}.page-heading h1{font-size:1.8rem}.page-heading>.primary{font-size:.84rem;white-space:nowrap}.page-heading .primary span{margin-left:6px}.dashboard-grid{gap:18px}.stats{grid-template-columns:repeat(2,1fr);gap:14px}.stats strong{font-size:1.9rem}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#ffffffed;backdrop-filter:blur(10px);border-top:1px solid #dfe8e9;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:30}.mobile-nav a,.mobile-nav button{display:flex;align-items:center;flex-direction:column;font-size:.66rem;color:#84959d;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;padding:3px 0;background:none;gap:2px}.mobile-nav span{font-size:1.32rem;line-height:1.35}.mobile-nav a.active{color:#146e61;font-weight:650}.workspace-footer{display:none}.journal-grid,.program-grid{grid-template-columns:1fr}.login-story{padding:2rem}.login-story h1{font-size:1.7rem}.login-form{padding:2rem}.fee-strip{gap:15px;padding:20px}.fee-strip strong{font-size:1.4rem}.queue-button{font-size:.65rem;padding:3px}.top-actions select{max-width:90px}}
@media(max-width:600px){.dashboard-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;gap:10px;margin-bottom:22px}.page-heading p{font-size:.82rem;max-width:260px}.page-heading .eyebrow{font-size:.64rem}.page-heading h1{font-size:1.65rem}.page-heading>.primary{font-size:.76rem;padding:8px 11px;margin-top:20px}.stats article{padding:17px}.stats p{font-size:.7rem}.stat-top{font-size:.8rem}.content{padding:22px 16px 100px}.topbar{padding:0 16px}.breadcrumb>span{margin:0 5px}.login-wrap{display:block}.login-story{min-height:0;padding:25px;gap:25px}.login-story>div:not(.brand){display:none}.login-story footer{display:none}.login-story .brand{font-size:1.7rem}.login-form{padding:30px 24px}.local-pill{margin-bottom:20px}.login-form h2{font-size:1.7rem}.modal{padding:25px 21px;max-height:90dvh}.overlay{padding:12px}.form-grid{gap:12px}.fee-strip{gap:13px;padding:17px}.fee-strip small{font-size:.69rem}.fee-strip strong{font-size:1.03rem}.report-grid{grid-template-columns:1fr}.bank-summary{flex-direction:column;align-items:flex-start}.toolbar input[type=search]{width:100%}.toolbar input,.toolbar select{font-size:.86rem}.toolbar button{font-size:.82rem}.journal-top>.badge{font-size:.65rem}.badge{font-size:.7rem}.invite-row{flex-wrap:wrap}.notice-meta{flex-wrap:wrap}.form-grid label{font-size:.82rem}.form-grid input{padding:.6rem}.checkbox-list small{max-width:55%;overflow-wrap:anywhere}.program-foot small{font-size:.7rem}.program-body{padding:20px}.top-actions select{font-size:.72rem;max-width:80px}}
.button-link{display:inline-block;padding:.55rem 1rem;border-radius:9px;border:1px solid #146e61}.button-link:hover{background:#0c594f;color:white}video.journal-image{background:#183c37;max-height:400px}
/* Longer English / Malay labels wrap instead of being clipped. */
.login-language{align-items:flex-end;margin-bottom:1.2rem;font-size:.85rem}.login-language select{max-width:100%}.page-heading>.primary{white-space:normal;flex-shrink:0;max-width:45%}.feature-row>div,.plan-row>div,.quick-link{min-width:0}.sidebar nav a{overflow-wrap:anywhere}.brand-sub{white-space:normal}.button-row{flex-wrap:wrap}
@media(max-width:850px){.mobile-nav a,.mobile-nav button{white-space:normal;overflow:visible;line-height:1.2;font-size:.75rem;text-align:center;overflow-wrap:anywhere}.content{padding-bottom:120px}.page-heading{flex-wrap:wrap}.page-heading>.primary{max-width:100%;margin-top:0}.topbar{height:auto;min-height:65px;flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}.top-actions{flex-wrap:wrap}.top-actions select{max-width:150px}.breadcrumb{overflow-wrap:anywhere}.feature-row,.plan-row{gap:12px;flex-wrap:wrap}}
@media print{body{background:white}.printing-report #app>.app-shell,.printing-report #app>.overlay:not(:last-child){display:none!important}.printing-report .overlay{position:static;padding:0;background:none;display:block;backdrop-filter:none}.printing-report .detail-modal{box-shadow:none;max-height:none;width:100%;padding:20mm 15mm;overflow:visible}.printing-report .close,.printing-report .button-row{display:none}#report-print{color:#222}#report-print h2{font-size:24pt}#report-print p{font-size:12pt}@page{size:A4;margin:0}}
