:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#172b4d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#172b4d;--muted:#64748b;--line:#e2e8f0;--blue:#3156d3;--pale-blue:#eef2ff;background:#f5f7fb;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);font-size:15px;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.dashboard{width:min(1500px,100%);margin:0 auto;padding:38px 36px 20px}.dashboard-header,.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.dashboard-header{margin-bottom:28px}.dashboard h1,.dashboard h2,.home h1{color:var(--ink);margin:0}.dashboard h1{letter-spacing:-1.3px;font-size:clamp(30px,4vw,40px);line-height:1.12}.dashboard h2{font-size:21px;line-height:1.25}.eyebrow{color:var(--blue);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.dashboard-intro{color:var(--muted);margin:10px 0 0}.header-actions{align-items:center;gap:10px;display:flex}.admin-link,.sign-out-button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.admin-link:hover,.sign-out-button:hover{background:#f8faff;border-color:#b7c4da}.class-panel,.students-panel{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 4px 16px #2236560a}.class-panel{margin-bottom:22px;padding:22px 24px}.section-heading{margin-bottom:17px}.count-badge{background:var(--pale-blue);min-width:31px;height:31px;color:var(--blue);border-radius:20px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.add-form{gap:9px;display:flex}.add-form input,.add-form select,.login-form input{min-height:40px;color:var(--ink);background:#fff;border:1px solid #d5deeb;border-radius:7px;padding:0 11px}.add-form input:focus,.add-form select:focus,.login-form input:focus,.student-table input:focus,.student-table select:focus,.class-card input:focus{border-color:#7d96ed;outline:3px solid #3156d31f}.add-form button,.login-form button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:7px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700}.add-form button:hover,.login-form button:hover{background:#2445b4}.class-form{max-width:430px}.class-form input{flex:1}.class-list{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.class-card{border:1px solid var(--line);background:#fbfcff;border-radius:9px;align-items:center;gap:10px;padding:7px 8px 7px 12px;display:flex}.class-card input{width:min(190px,32vw);min-width:90px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 5px;font-weight:700}.class-student-count{color:var(--muted);white-space:nowrap;font-size:12px}.icon-button{color:#718096;background:0 0;border:0;border-radius:5px;padding:5px 7px;font-size:12px}.icon-button:hover{color:#b42318;background:#fff0f0}.empty-note{color:var(--muted);margin:16px 0 0;font-size:13px}.students-heading{padding:22px 24px 0}.table-tip{color:var(--muted);margin:5px 0 0;font-size:13px}.filter-control{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.filter-control select,.student-form select{min-width:150px;color:var(--ink);background:#fff;border:1px solid #d5deeb;border-radius:7px;padding:8px 30px 8px 10px}.student-form{margin:0 24px 17px}.student-form input{min-width:200px}.student-form select{min-height:40px}.table-scroll{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto}.student-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1450px}.student-table th{z-index:1;color:#53647d;letter-spacing:.25px;text-align:left;white-space:nowrap;background:#f7f9fd;height:42px;font-size:11px;font-weight:700;position:sticky;top:0}.student-table th,.student-table td{border-bottom:1px solid #edf0f5;border-right:1px solid #edf0f5;padding:6px 8px}.student-table th:first-child,.student-table td:first-child{z-index:2;background:#f7f9fd;width:170px;min-width:170px;position:sticky;left:0}.student-table td:first-child{background:#fff}.student-table th:nth-child(2),.student-table td:nth-child(2),.student-table th:nth-child(6),.student-table td:nth-child(6),.student-table th:nth-child(9),.student-table td:nth-child(9){width:146px}.student-table th:nth-child(3),.student-table td:nth-child(3),.student-table th:nth-child(4),.student-table td:nth-child(4),.student-table th:nth-child(5),.student-table td:nth-child(5),.student-table th:nth-child(7),.student-table td:nth-child(7),.student-table th:nth-child(8),.student-table td:nth-child(8),.student-table th:nth-child(10),.student-table td:nth-child(10){width:155px}.student-table th:last-child,.student-table td:last-child{border-right:0;width:75px}.student-table tbody tr:last-child td{border-bottom:0}.student-table input,.student-table select{width:100%;min-width:0;min-height:34px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 6px;font-size:13px;display:block}.student-table tr:hover td{background:#fbfcff}.student-table td:first-child input{font-weight:700}.student-table .empty-cell{height:90px;color:var(--muted);text-align:center}.table-footer{color:var(--muted);margin:0;padding:11px 24px;font-size:12px}.feedback{margin:0 24px 13px;font-size:13px}.feedback.error{color:#b42318}.feedback.success{color:#18794e}.dashboard-footer{color:#8090a7;justify-content:space-between;gap:12px;padding:18px 2px 0;font-size:12px;display:flex}.bills-panel{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:22px;overflow:hidden;box-shadow:0 4px 16px #2236560a}.bills-header{justify-content:space-between;align-items:center;gap:20px;padding:22px 24px 16px;display:flex}.bills-header h2{color:var(--ink);margin:0;font-size:21px}.bills-header p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:13px}.bill-form{grid-template-columns:minmax(180px,1.4fr) minmax(130px,.9fr) minmax(130px,.9fr) minmax(150px,1.1fr) auto;align-items:end;gap:12px;padding:0 24px 20px;display:grid}.bill-input-group{gap:5px;display:grid}.bill-input-group label{color:#46566e;font-size:12px;font-weight:600}.bill-input-group input,.bill-input-group select{width:100%;min-width:0;min-height:40px;color:var(--ink);background:#fff;border:1px solid #d5deeb;border-radius:7px;padding:0 10px}.bill-input-group input:focus,.bill-input-group select:focus{border-color:#7d96ed;outline:3px solid #3156d31f}.bill-student-group{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.bill-student-group legend{color:#46566e;margin-bottom:6px;font-size:12px;font-weight:600}.bill-student-list{background:#fff;border:1px solid #d5deeb;border-radius:7px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px 12px;max-height:190px;padding:8px 10px;display:grid;overflow:auto}.bill-student-option{min-width:0;color:var(--ink);align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.bill-student-option input{accent-color:var(--blue);flex:none}.bill-student-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bill-selection-count,.bill-no-students{color:var(--muted);margin-top:6px;font-size:12px;display:block}.bill-no-students{margin-bottom:0}.bill-submit{border:1px solid var(--blue);background:var(--blue);color:#fff;white-space:nowrap;border-radius:7px;min-height:40px;padding:0 15px;font-size:13px;font-weight:700}.bill-submit:hover{background:#2445b4}.bill-submit:disabled{cursor:not-allowed;opacity:.55}.bill-feedback{margin:0 24px 14px;font-size:13px}.bill-feedback.error{color:#b42318}.bill-feedback.success{color:#18794e}.bill-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.bill-item{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:flex-start;gap:16px;min-height:63px;padding:10px 24px;display:flex}.bill-item:last-child{border-bottom:0}.bill-item>div{gap:2px;min-width:0;display:grid}.bill-item .bill-item-main{flex:1}.bill-item>div strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bill-item>div span{color:var(--muted);font-size:12px}.bill-item .bill-amount{color:#176b4d;white-space:nowrap;margin-top:2px;font-size:14px}.bill-payment-details{margin-top:8px}.bill-payment-details summary{color:#46566e;cursor:pointer;width:fit-content;font-size:12px;font-weight:600}.bill-payment-list{gap:7px;margin:8px 0 2px;padding:0;list-style:none;display:grid}.bill-payment-row{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;display:flex}.bill-payment-student{min-width:120px}.bill-payment-status.paid{color:#18794e}.bill-payment-status.unpaid{color:#b54708}.bill-payment-toggle{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12px}.bill-payment-toggle:disabled{cursor:not-allowed;opacity:.55}.bill-no-recipients{color:var(--muted);margin:8px 0 0;font-size:12px}.bill-delete{color:#718096;background:0 0;border:0;border-radius:5px;padding:6px 8px;font-size:12px}.bill-delete:hover{color:#b42318;background:#fff0f0}.bill-delete:disabled{cursor:not-allowed;opacity:.55}.bill-empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:18px 24px;font-size:13px}.payment-page{align-content:start;justify-items:center;gap:16px;min-height:100vh;padding:36px 16px;display:grid}.payment-back-link{width:min(520px,100%);color:var(--blue);font-size:13px;text-decoration:none}.payment-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(520px,100%);padding:26px;box-shadow:0 8px 26px #22365612}.payment-card h1{color:var(--ink);margin:0;font-size:24px;line-height:1.25}.payment-student{color:var(--muted);margin:6px 0 0}.payment-amount{color:#176b4d;margin:14px 0;font-size:24px;font-weight:700}.payment-status{color:#9a5b00;background:#fff7e6;border-radius:20px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.payment-status.paid{color:#18794e;background:#e7f6ed}.payment-qr{border:1px solid var(--line);border-radius:8px;width:min(360px,100%);margin:18px auto;display:block}.payment-details{gap:10px;margin:18px 0;display:grid}.payment-details>div{grid-template-columns:minmax(110px,.6fr) minmax(0,1fr);gap:8px;display:grid}.payment-details dt{color:var(--muted);font-size:12px}.payment-details dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.payment-instructions,.payment-confirmed-at,.payment-refresh-error{color:var(--muted);margin:14px 0 0;font-size:13px}.payment-refresh-error{color:#b42318}.account-page{width:min(760px,100%);margin:0 auto;padding:42px 24px}.account-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.account-header h1{color:var(--ink);letter-spacing:-1px;margin:0;font-size:clamp(30px,4vw,38px);line-height:1.15}.account-header p:not(.eyebrow){color:var(--muted);margin:9px 0 0}.account-back-link{border:1px solid var(--line);min-height:40px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.account-back-link:hover{background:#f8faff;border-color:#b7c4da}.account-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 4px 16px #2236560a}.account-card-heading{border-bottom:1px solid var(--line);padding:22px 26px 18px}.account-card-heading h2{color:var(--ink);margin:0;font-size:19px}.account-card-heading p,.password-section p{color:var(--muted);margin:5px 0 0;font-size:13px}.account-fields{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:14px 20px;padding:25px 26px;display:grid}.account-fields>label{color:#46566e;font-size:13px;font-weight:600}.account-fields input{min-width:0;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d5deeb;border-radius:7px;padding:0 11px}.account-fields input:focus{border-color:#7d96ed;outline:3px solid #3156d31f}.account-fields input[readonly]{color:var(--muted);background:#f7f9fd}.password-section{border-top:1px solid var(--line);grid-column:1/-1;margin-top:10px;padding-top:18px}.password-section h3{color:var(--ink);margin:0;font-size:15px}.account-feedback{margin:0 26px 15px;font-size:13px}.account-feedback.error{color:#b42318}.account-feedback.success{color:#18794e}.account-actions{border-top:1px solid var(--line);justify-content:flex-end;padding:16px 26px;display:flex}.account-actions button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:7px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700}.account-actions button:hover{background:#2445b4}.account-actions button:disabled{cursor:not-allowed;opacity:.55}.home{background:radial-gradient(at 12% 9%,#3156d317,#0000 34%),#f5f7fb;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.home-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;width:min(920px,100%);display:grid}.home .content{border:1px solid var(--line);background:#fff;border-radius:15px;width:100%;padding:38px;box-shadow:0 12px 40px #22365614}.public-payment-panel{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0;padding:30px;box-shadow:0 12px 40px #22365614}.public-payment-panel h2{color:var(--ink);margin:0;font-size:23px}.public-payment-intro,.public-results-hint{color:var(--muted);margin:8px 0 18px;font-size:13px}.public-lookup-form{gap:10px;display:grid}.public-lookup-form label{color:#46566e;font-size:13px;font-weight:600}.public-lookup-form input{min-height:40px;color:var(--ink);background:#fff;border:1px solid #d5deeb;border-radius:7px;padding:0 11px}.public-lookup-form input:focus{border-color:var(--blue);outline:3px solid #3156d31f}.public-lookup-form button,.public-bill-row button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:7px;min-height:38px;padding:0 12px;font-size:13px;font-weight:600}.public-lookup-form button:disabled,.public-bill-row button:disabled{cursor:not-allowed;opacity:.55}.captcha-unavailable,.public-payment-feedback{color:var(--muted);margin:0;font-size:12px}.public-payment-feedback.error{color:#b42318}.public-bill-results{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.public-results-hint{margin:0 0 14px}.public-student-bills+.public-student-bills{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.public-student-bills h3{color:var(--ink);margin:0 0 8px;font-size:14px}.public-student-bills ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.public-bill-row{background:#f8faff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;padding:10px;display:grid}.public-bill-row>div{gap:2px;min-width:0;display:grid}.public-bill-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.public-bill-row span{color:var(--muted);font-size:12px}.public-bill-row button{white-space:nowrap;grid-area:1/2/span 2}.public-bill-status{grid-column:1}.home h1{letter-spacing:-.5px;margin:0 0 10px;font-size:29px;line-height:1.2}.login-intro{color:var(--muted);margin:0 0 22px;font-size:13px}.login-form{gap:9px;display:grid}.login-form label{color:#46566e;margin-top:6px;font-size:13px;font-weight:600}.login-form button{margin-top:11px}.login-form .feedback{margin:4px 0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:720px){.dashboard{padding:25px 14px 14px}.dashboard-header{align-items:flex-start}.header-actions{flex-direction:column-reverse;align-items:flex-end}.class-panel{padding:18px 14px}.students-heading{align-items:flex-start;padding:18px 14px 0}.filter-control{flex-direction:column;align-items:flex-end;gap:3px}.filter-control select{min-width:120px}.student-form{flex-wrap:wrap;margin:0 14px 14px}.student-form input{flex:100%}.dashboard-footer{flex-direction:column;gap:3px}.account-page{padding:26px 14px}.bill-form{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:14px;padding-right:14px}.bills-header{padding-left:14px;padding-right:14px}.bill-submit{grid-column:1/-1}.bill-item{padding-left:14px;padding-right:14px}}@media (max-width:480px){.dashboard-header{flex-direction:column}.header-actions{flex-direction:row;align-items:center}.home .content{padding:26px 22px}.home-panels{grid-template-columns:minmax(0,1fr);width:min(440px,100%)}.public-payment-panel{padding:26px 22px}.home h1{font-size:25px}.class-form{flex-wrap:wrap}.class-form input{flex:100%}.account-header{flex-direction:column}.account-card-heading,.account-fields,.account-actions{padding-left:17px;padding-right:17px}.account-fields{grid-template-columns:minmax(0,1fr);gap:7px}.account-fields>label:not(:first-child){margin-top:8px}.account-feedback{margin-left:17px;margin-right:17px}.bill-form{grid-template-columns:minmax(0,1fr)}.bill-submit{grid-column:auto}}
