:root{color:#24352d;font-synthesis:none;background:#f4f1e8;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#315e46;border:0;border-radius:10px;padding:11px 16px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;color:inherit;background:#fff;border:1px solid #bdc8c0;border-radius:9px;padding:11px 13px}input:focus,select:focus,textarea:focus{border-color:#4d8b69;outline:3px solid #4d8b6930}label{color:#53655c;gap:6px;font-size:13px;font-weight:700;display:grid}h1{margin:8px 0;font-family:Georgia,serif;font-size:38px;font-weight:500}h2{margin:5px 0 0;font-family:Georgia,serif;font-size:34px;font-weight:500}h3{margin:0}p{color:#607068}.shell{background:radial-gradient(circle at 80% 10%,#f4d87355,#0000 28%),#f4f1e8;min-height:100vh;padding:40px}.centered{place-items:center;display:grid}.auth-card{background:#fffdf8;border:1px solid #d9ded7;border-radius:20px;width:min(100%,440px);padding:36px;box-shadow:0 18px 50px #26382e12}.auth-card label{margin-top:20px}.auth-card>button{width:100%;margin-top:24px}.eyebrow{color:#657c6e;letter-spacing:.17em;font-size:11px;font-weight:800}.app-shell{background:#f5f3ed;grid-template-columns:235px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#183b2d;flex-direction:column;height:100dvh;min-height:0;padding:30px 22px;display:flex;position:sticky;top:0;overflow:hidden}aside>div:first-child{flex-shrink:0}aside .eyebrow,aside span{color:#acc4b7}aside h1{font-size:31px}.school-logo{object-fit:cover;object-position:center;width:180px;max-width:100%;height:100px;display:block}.sidebar-brand h1{margin-top:0;font-size:28px}.login-logo{width:220px;height:120px;margin:-12px auto 8px}nav{overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#789b88 #183b2d;flex:1 1 0;align-content:start;gap:7px;min-height:0;margin:28px 0 18px;padding:4px;display:grid;overflow-y:auto}nav button{text-align:left;color:#c7d7cf;background:0 0}nav button.active{color:#234b38;background:#fff}.profile{overflow-wrap:anywhere;border-top:1px solid #ffffff20;flex-shrink:0;gap:3px;margin-top:auto;padding-top:22px;display:grid}.profile .link{color:#f4d873;background:0 0;width:fit-content;padding:10px 0 0}.content{min-width:0;padding:38px 46px 60px;overflow:hidden}.content>header{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.term-select{width:240px}.toolbar{gap:12px;margin-bottom:18px;display:flex}.toolbar input{max-width:570px}.toolbar button{min-width:140px}.toolbar.end{justify-content:flex-end}.table-card,.info-card{background:#fff;border:1px solid #dce2dd;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #253b3010}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e7ebe8;padding:14px 16px}th{color:#68786f;text-transform:uppercase;letter-spacing:.05em;background:#fafbf9;font-size:12px}td small,.record small{color:#718078;margin-top:4px;display:block}td:last-child{text-align:right}.small{width:auto;margin:0;padding:8px 12px}.secondary{color:#315e46;background:#e5ece7}.badge{color:#69756e;background:#eceeea;border-radius:99px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-block}.badge.positive{color:#27623e;background:#dceee2}.pagination{color:#67766d;justify-content:flex-end;align-items:center;gap:14px;margin-top:17px;font-size:13px;display:flex}.pagination button{color:#315e46;background:#e2e9e4;padding:8px 12px}.state{text-align:center;color:#69776f;border:1px dashed #bcc7bf;border-radius:14px;margin:30px 0;padding:50px}.error{color:#8c2f24;background:#fbe8e5;border-radius:9px;margin:14px 0;padding:11px 13px}.warning{color:#a05e12}.modal-backdrop{z-index:10;background:#14291f99;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{background:#fffdf8;border-radius:18px;width:min(520px,100%);max-height:90vh;padding:26px;overflow:auto;box-shadow:0 30px 80px #13251d55}.modal.wide{width:min(850px,100%)}.modal-title,.section-title,.detail-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.modal-title{margin-bottom:18px}.modal-title h2{font-size:28px}.icon{color:#315e46;background:#e7ece8;border-radius:50%;width:36px;height:36px;padding:0;font-size:24px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid label:last-child:nth-child(odd){grid-column:1/-1}.modal form>button{width:100%;margin-top:20px}.check{align-self:end;align-items:center;min-height:42px;display:flex}.check input{width:auto}.detail-section{border-top:1px solid #dde3de;padding:20px 0}.record{border-bottom:1px solid #e9ece9;justify-content:space-between;align-items:center;gap:20px;padding:11px 0;display:flex}.inline-form{grid-template-columns:2fr 1fr auto;align-items:end;gap:10px;display:grid}.identity-form{grid-template-columns:1fr 1fr 1fr auto;gap:10px;margin-top:12px;display:grid}.identity-form button{margin:0}.guardian-options{grid-template-columns:1fr 1fr;gap:14px;display:grid}.existing-search{grid-template-columns:1fr auto;gap:10px;margin:16px 0 8px;display:grid}.existing-search button{margin:0}hr{border:0;border-top:1px solid #dce2dd;margin:20px 0}.inline-form button{margin:0}.history{margin-top:14px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.info-card{padding:20px}.metric{margin-top:20px;font-family:Georgia,serif;font-size:38px;font-weight:500;display:block}.metric small{font-family:Inter,sans-serif;font-size:14px}@media (width<=1050px){.content{padding:30px 28px}.app-shell{grid-template-columns:205px 1fr}}.plan-preview{background:#fbfcfa;border:1px solid #dce2dd;border-radius:14px;margin:18px 0;padding:18px}.summary-row{color:#53655c;justify-content:space-between;gap:18px;padding:7px 0;display:flex}.summary-row.total{color:#24352d;border-top:1px solid #dce2dd;margin-top:5px;padding-top:12px}textarea{resize:vertical}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-actions button{width:auto;margin:0}.student-profile-head{grid-template-columns:176px 1fr;align-items:start;gap:24px;margin-bottom:8px;display:grid}.student-profile-main{min-width:0}.student-profile-photo{flex:0 0 176px;width:176px;height:176px}.student-profile-photo img,.student-profile-photo-placeholder{border:1px solid #dce2dd;border-radius:18px;width:100%;height:100%;box-shadow:0 10px 28px #253b3014}.student-profile-photo img{object-fit:cover;background:#eef2ef;display:block}.student-profile-photo-placeholder{color:#315e46;background:#edf3ee;place-items:center;font-family:Georgia,serif;font-size:48px;font-weight:600;display:grid}.student-profile-main .detail-head{align-items:flex-start;min-height:176px}@media (width<=720px){.student-profile-head{grid-template-columns:1fr}.student-profile-photo{width:140px;height:140px}.student-profile-main .detail-head{min-height:0}}.stationery-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 18px;display:grid}.stationery-card{padding:18px 20px}.stationery-card small{color:#718078;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.stationery-amount{color:#24352d;font-family:Georgia,serif;font-size:28px;font-weight:500;line-height:1.1;display:block}.stationery-card-remaining{background:#f8faf8}.stationery-card-remaining .stationery-amount{font-size:32px}@media (width<=720px){.stationery-summary{grid-template-columns:1fr}}.stationery-section{border-bottom:1px solid #d9e0db;margin-bottom:28px;padding-bottom:28px}.stationery-section .form-grid>button{grid-column:1/-1;width:100%}.stationery-tools{justify-content:space-between;align-items:flex-start;gap:16px;margin-top:14px;display:flex}.stationery-history{flex:1;min-width:0}.stationery-history summary{cursor:pointer;color:#52665a;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:14px;font-weight:600;list-style:none;display:inline-flex}.stationery-history summary::-webkit-details-marker{display:none}.stationery-history summary:before{content:"›";font-size:20px;line-height:1;transition:transform .15s;display:inline-block}.stationery-history[open] summary:before{transform:rotate(90deg)}.stationery-history .record{margin-top:12px}.stationery-refresh{flex:none;padding:7px 12px;font-size:13px}@media (width<=720px){.stationery-tools{align-items:stretch}}.installment-section{margin-top:30px}.installment-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.installment-heading h3{margin:0}.installment-heading span{color:#52665a;background:#eef3ef;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.installment-section .record{padding:16px 0}.installment-section .record strong{font-size:17px}.installment-section .record small{color:#7b8780;margin-top:4px;font-size:13px}.installment-section .record>strong{white-space:nowrap;font-size:18px;font-weight:700}@media (width<=720px){.installment-heading{align-items:flex-start}}.program-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.program-actions button{flex:none;width:auto;min-width:0}.info-card .record,.info-card .record>div:first-child{min-width:0}.finance-fields{border:0;min-width:0;margin:16px 0 0;padding:0}.finance-fields>label+label{margin-top:16px}.finance-table{overflow-x:auto}button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #b77b15}.dashboard-toolbar{align-items:end;gap:14px;display:flex}.dashboard-toolbar label{max-width:220px}.dashboard-note{font-size:13px;line-height:1.6}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.dashboard-metric{gap:14px;display:grid}.dashboard-metric h3{color:#53655c;font-size:14px}.dashboard-metric>strong{overflow-wrap:anywhere;font-size:clamp(20px,2vw,30px)}.dashboard-metric small{color:#607068}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-panel{min-width:0}.dashboard-panel h3{margin-bottom:16px}.dashboard-values{margin:0 0 16px}.dashboard-values>div{justify-content:space-between;gap:16px;padding:10px 0;display:flex}.dashboard-values dd{text-align:right;margin:0;font-weight:700}.dashboard summary{cursor:pointer;color:#315e46;padding:10px 0;font-weight:700}.dashboard-record{overflow-wrap:anywhere;align-items:start}.dashboard-record>strong{text-align:right;flex-shrink:0}.dashboard-record small{color:#607068;font-size:12px;font-weight:400;display:block}.dashboard-warning{color:#795015;background:#fff3dc;border-radius:8px;padding:12px;line-height:1.5}.dashboard-distribution{margin:16px 0}.dashboard-distribution>div:first-child{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.dashboard-track{background:#e8eee9;border-radius:8px;height:8px;overflow:hidden}.dashboard-track>span{background:#315e46;height:100%;display:block}.dashboard-chart{gap:6px;height:180px;margin:20px 0;display:flex}.dashboard-chart-column{text-align:center;flex:1;min-width:0}.dashboard-bars{border-bottom:1px solid #bdc8c0;justify-content:center;align-items:end;gap:2px;height:150px;display:flex}.dashboard-bars span{width:25%}.bar-0{background:#315e46}.bar-1{background:#6488a0}.bar-2{background:#ae642c}.dashboard-legend{flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.dashboard-legend span:before{content:"";background:#315e46;width:10px;height:10px;margin-right:5px;display:inline-block}.dashboard-legend span:nth-child(2):before{background:#6488a0}.dashboard-legend span:nth-child(3):before{background:#ae642c}.dashboard-table{overflow-x:auto}.dashboard-table table{white-space:nowrap}.dashboard-table caption{text-align:left;padding:12px}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){body{min-width:320px}.app-shell{grid-template-columns:1fr}.app-shell>aside{height:auto;padding:20px;position:static}nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.profile{margin-top:18px}.content{padding:24px 16px}.content>header{flex-wrap:wrap}.dashboard-metrics{grid-template-columns:1fr}.dashboard-record{flex-wrap:wrap}}.phase11-table{margin:18px 0;overflow-x:auto}@media (width<=720px){.app-shell>aside{overflow:visible}.app-shell>aside>nav{scrollbar-gutter:auto;flex:none;overflow:visible}}.phase11-table table{border-collapse:collapse;width:100%}.phase11-table th,.phase11-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dde4e9;padding:12px}.phase11-table small{overflow-wrap:anywhere;display:block}.phase11-summary{text-align:left;overflow-wrap:anywhere;white-space:normal;color:#53655c;max-width:340px;margin:0 0 10px;font-size:14px;line-height:1.6}.audit-detail th[scope=row]{text-transform:none;letter-spacing:normal;font-size:13px}.audit-detail td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:240px}.audit-detail td:last-child{text-align:left}.audit-notice{color:#315e46;background:#eaf2ed;border-radius:8px;padding:12px}.audit-technical{border-top:1px solid #dde3de;margin-top:20px;padding-top:16px}.audit-technical summary{cursor:pointer;color:#607068;font-size:13px}.audit-technical dl{font-size:12px}.audit-technical dd{overflow-wrap:anywhere;margin:5px 0 14px}.comparison-direction{color:#315e46;gap:6px;margin:24px 0 12px;display:grid}.comparison-direction span{color:#607068;font-size:13px}.comparison-month-status{color:#795015;text-transform:none;letter-spacing:normal;background:#fff0ce;width:fit-content;margin-top:8px;display:block}.phase11-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}.file-preview-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.file-open-link{color:#fff;background:#315e46;border-radius:10px;padding:11px 16px;font-weight:700;text-decoration:none;display:inline-block}@media (width<=800px){.phase11-table{max-width:calc(100vw - 40px)}}.web-offline{z-index:60;color:#795015;text-align:center;background:#fff0ce;padding:14px;position:sticky;top:0}.web-app .mobile-nav-toggle,.web-app .mobile-nav-backdrop{display:none}.web-app input,.web-app select,.web-app textarea{font-size:16px}.web-app .content,.web-app body{min-width:0}.web-app body.web-modal-open{overflow:hidden}.web-app .content>header{flex-wrap:wrap}.web-app .phase11-table{max-width:100%}@media (width<=900px){.web-app .app-shell{display:block}.web-app .app-shell>aside{z-index:50;width:min(285px,85vw);height:100dvh;padding:max(20px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));visibility:hidden;transition:transform .18s,visibility .18s;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-100%)}.web-app .mobile-menu-open>aside{visibility:visible;transform:translate(0)}.web-app .app-shell>aside>nav{flex:1 1 0;grid-template-columns:1fr;min-height:0;margin:18px 0;overflow-y:auto}.web-app .mobile-nav-toggle{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));z-index:5;min-height:44px;display:inline-flex;position:fixed;box-shadow:0 3px 12px #183b2d30}.web-app .mobile-menu-open .mobile-nav-backdrop{z-index:45;background:#14291f99;border-radius:0;display:block;position:fixed;inset:0}.web-app .content{padding:max(80px, calc(env(safe-area-inset-top) + 70px)) 16px max(28px, env(safe-area-inset-bottom))}.web-app h2{font-size:30px}.web-app button{touch-action:manipulation;min-height:44px}.web-app .form-grid,.web-app .inline-form,.web-app .identity-form,.web-app .guardian-options,.web-app .existing-search{grid-template-columns:minmax(0,1fr)}.web-app .form-grid label:last-child:nth-child(odd){grid-column:auto}.web-app .toolbar,.web-app .section-title,.web-app .detail-head,.web-app .dashboard-toolbar{flex-wrap:wrap;gap:12px}.web-app .dashboard-toolbar{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.web-app .dashboard-toolbar>label{width:100%;min-width:0;max-width:none}.web-app .dashboard-toolbar input{width:100%;min-width:0;max-width:100%;min-height:48px;display:block}.web-app .dashboard-toolbar>button{width:100%;min-height:48px;margin:0}.web-app .toolbar input,.web-app .toolbar button,.web-app .term-select{width:100%;max-width:none}.web-app .modal-backdrop{padding:10px}.web-app .modal{overscroll-behavior:contain;touch-action:pan-y pinch-zoom;width:100%;min-width:0;max-width:100%;max-height:calc(100dvh - 20px);padding:18px;overflow:hidden auto}.web-app .modal input,.web-app .modal select,.web-app .modal textarea,.web-app .modal label,.web-app .modal form,.web-app .modal section,.web-app .modal details{min-width:0;max-width:100%}.web-app .modal .card-grid,.web-app .modal .stationery-summary{grid-template-columns:minmax(0,1fr)}.web-app .modal .record>*,.web-app .modal .detail-head>*,.web-app .modal .section-title>*,.web-app .modal .modal-title>*{overflow-wrap:anywhere;min-width:0;max-width:100%}.web-app .modal p,.web-app .modal strong,.web-app .modal small,.web-app .modal summary,.web-app .modal a,.web-app .modal .metric{overflow-wrap:anywhere}.web-app .modal .record>strong{white-space:normal}.web-app .modal .stationery-tools,.web-app .modal .installment-heading{flex-wrap:wrap}.web-app .file-preview-actions{flex-direction:column;align-items:stretch}.web-app .file-open-link{text-align:center;min-height:44px}.web-app .modal-title h2{font-size:24px}.web-app .shell{padding:18px}.web-app .auth-card{padding:24px}.web-app .dashboard-metrics,.web-app .dashboard-grid{grid-template-columns:1fr}.web-app .record{flex-wrap:wrap}.web-app .pagination,.web-app .modal-actions{flex-wrap:wrap;gap:10px;display:flex}.web-app .table-card,.web-app .phase11-table{box-shadow:none;background:0 0;border:0;overflow-x:auto}.web-app table:not(.web-comparison-table),.web-app table:not(.web-comparison-table) tbody{display:block}.web-app table:not(.web-comparison-table) thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.web-app table:not(.web-comparison-table) tbody tr{background:#fff;border:1px solid #dce2dd;border-radius:12px;margin-bottom:14px;padding:12px;display:block}.web-app table:not(.web-comparison-table) tbody td,.web-app table:not(.web-comparison-table) tbody th{text-align:left;white-space:normal;overflow-wrap:anywhere;max-width:none;padding:9px 0;display:block}.web-app table:not(.web-comparison-table) td[data-label]:before{content:attr(data-label);color:#68786f;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.web-app .web-comparison-table{min-width:640px}.web-app .phase11-summary,.web-app .audit-detail td{max-width:none}}@media (prefers-reduced-motion:reduce){.web-app .app-shell>aside{transition:none}}
