*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:inter;src:url(./assets/Fonts/inter-Regular.woff)format("woff");font-weight:400;font-style:normal}@font-face{font-family:montserrat-bold;src:url(/assets/Montserrat-Bold-C82vcNHf.woff)format("woff");font-weight:400;font-style:normal}@font-face{font-family:montserrat-regular;src:url(/assets/Montserrat-SemiBold-BLbqgL2k.woff)format("woff");font-weight:400;font-style:normal}.bold{font-family:montserrat-bold,sans-serif}.light-bold{font-family:montserrat-regular,sans-serif}body{color:#111;background-color:#f5f5f5;font-family:inter,sans-serif}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-nav{background:#fff;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.app-name{color:#111;font-size:16px;font-weight:600}.nav-links{gap:8px;display:flex}.nav-link{color:#555;border-radius:8px;padding:6px 14px;font-family:montserrat-regular,sans-serif;font-size:14px;text-decoration:none}.nav-link:hover{color:#111;background:#f0f0f0}.nav-link.active{color:#fff;background:#111}.page-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px}.loading-text{color:#888;text-align:center;padding:24px 0;font-family:montserrat-regular,sans-serif;font-size:1rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{font-size:20px;font-weight:600}.btn-primary{color:#fff;cursor:pointer;background:#111;border:none;border-radius:8px;padding:8px 16px;font-size:14px;text-decoration:none}.btn-primary:hover{background:#333}.empty-state{text-align:center;background:#fff;border:1px dashed #ddd;border-radius:12px;padding:60px 24px}.empty-title{color:#111;margin-bottom:6px;font-size:16px;font-weight:500}.empty-subtitle{color:#888;font-size:14px}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.task-card:hover{border-color:#bbb}.task-card-top{align-items:center;gap:10px;display:flex}.task-card-title{font-size:15px;font-weight:500}.type-badge{border-radius:20px;padding:2px 8px;font-size:11px}.type-submission{color:#3c3489;background:#eeedfe}.type-payment{color:#085041;background:#e1f5ee}.type-attendance{color:#633806;background:#faeeda}.task-card-chevron{color:#bbb;font-size:20px}.back-link{color:#555;font-size:14px;text-decoration:none}.back-link:hover{color:#111}.form-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-top:20px;padding:24px}.form-field{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-label{color:#555;font-size:13px;font-weight:500}.form-input{color:#111;box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.form-input-search{color:#111;box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:8px;width:85%;padding:10px 12px;font-size:14px}.form-input:focus{border-color:#111;outline:none}.form-hint{color:#999;font-size:12px}.form-error{color:#c0392b;background:#fdf0ef;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.roster-count{color:#888;font-size:13px}.btn-secondary{color:#111;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 16px;font-size:14px}button{font-family:inter,sans-serif}.btn-secondary:hover{background:#f5f5f5}.btn-danger{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #f5c6c2;border-radius:6px;padding:4px 10px;font-size:12px}.btn-danger-clear-all{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #f5c6c2;border-radius:6px;padding:10px;font-size:12px}.btn-danger:hover,.btn-danger-clear-all:hover{background:#fdf0ef}.student-list{flex-direction:column;display:flex}.student-list-header{color:#999;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f0f0f0;grid-template-columns:1fr 1fr auto;margin-bottom:4px;padding:8px 0;font-size:11px;display:grid}.student-row{border-bottom:1px solid #f5f5f5;grid-template-columns:1fr 1fr auto;align-items:center;padding:10px 0;display:grid}.student-name{font-size:13px;font-weight:500}.student-reg{color:#666;font-size:13px}.task-detail-header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.summary-grid{gap:10px;margin-bottom:20px;display:grid}.summary-grid-3{grid-template-columns:repeat(3,1fr)}.summary-grid-4{grid-template-columns:repeat(4,1fr)}.summary-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:14px 16px}.summary-label{color:#999;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px}.summary-number{color:#111;font-size:24px;font-weight:600}.summary-number.success{color:#27500a}.summary-number.warning{color:#633806}.summary-number.danger{color:#791f1f}.entry-list{flex-direction:column;display:flex}.entry-row{border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.entry-row:last-child{border-bottom:none}.entry-student{flex-direction:column;gap:2px;display:flex}.entry-name{font-size:14px;font-weight:500}.entry-reg{color:#888;font-size:12px}.entry-right{align-items:center;gap:10px;display:flex}.status-badge{text-transform:capitalize;border-radius:20px;padding:3px 10px;font-size:11px}.status-submitted{color:#27500a;background:#eaf3de}.status-pending{color:#633806;background:#faeeda}.status-paid{color:#27500a;background:#eaf3de}.status-part_paid{color:#633806;background:#faeeda}.status-not_paid{color:#791f1f;background:#fcebeb}.toggle-btn{color:#333;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ddd;border-radius:6px;padding:5px 12px;font-size:12px}.toggle-btn:hover{background:#f5f5f5}.toolbar{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.filter-tabs{flex-wrap:wrap;gap:6px;display:flex}.filter-tab{color:#555;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:20px;padding:6px 14px;font-size:13px}.filter-tab:hover{color:#111;border-color:#bbb}.filter-tab.active{color:#fff;background:#111;border-color:#111}.entry-row{justify-content:space-between;align-items:center;display:flex}.note-btn{color:#888;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:6px;padding:5px 10px;font-size:12px}.note-btn:hover{color:#333;border-color:#bbb}.entry-note{color:#666;background:#f9f9f9;border-left:3px solid #e5e5e5;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:12px}.note-editor{margin-top:8px}.task-card-meta{color:#999;margin-top:4px;font-size:12px}.task-card-stats{align-items:center;gap:12px;display:flex}.task-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.task-stat-num{font-size:16px;font-weight:600}.task-stat-num.success{color:#27500a}.task-stat-num.warning{color:#633806}.task-stat-num.danger{color:#791f1f}.task-stat-label{color:#999;font-size:11px}.task-stat-divider{background:#e5e5e5;width:1px;height:28px}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;width:100%;max-width:360px;margin:0 16px;padding:24px}.modal-message{color:#111;margin-bottom:20px;font-size:15px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.btn-danger-solid{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:8px;padding:8px 16px;font-size:14px}.btn-danger-solid:hover{background:#a93226}#btn-danger-all-clear,.student-reg.first{display:none}.student-reg.mid{display:flex}@media (width<=600px){.task-card{flex-direction:column;align-items:flex-start;gap:12px}.roster-update-banner{background:#e6f1fb;border:1px solid #85b7eb;border-radius:10px;flex-direction:column;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex}#btn-danger-all-clear{display:flex}.form-input-search{width:100%}#btn-danger-clear-all{display:none}#student-list-header{justify-content:space-between;display:flex}#student-list-header span:nth-child(3){display:none}.student-row{flex-direction:column;display:flex}#student-row-arr{flex-direction:column;width:100%;display:flex}.student-name{margin-right:10px}.remove-name-btn{width:100%;margin-top:10px;display:block}.student-reg.mid{display:none}.student-reg.first{display:flex}.remove-name-btn>button{width:100%}.task-card-stats{justify-content:space-between;width:100%}.task-card-chevron,.task-stat-divider{display:none}.entry-row{flex-wrap:wrap;gap:8px}.entry-right{flex-wrap:wrap;gap:6px;width:100%}.toggle-btn{flex:1}.note-btn,.note-editor{width:100%}.summary-grid-4{grid-template-columns:repeat(2,1fr)}.filter-tabs{gap:4px}.filter-tab{padding:5px 10px;font-size:12px}#form-input-ctn{flex-direction:column}.form-input-ctn input{margin-bottom:10px}}.form-input-ctn{flex-direction:row;gap:10px;margin-bottom:10px;display:flex}.entry-row-wrapper{border-bottom:1px solid #f5f5f5;padding:12px 0}.entry-row-wrapper:last-child{border-bottom:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #e5e5e5;border-top-color:#111;border-radius:50%;animation:.6s linear infinite spin;display:inline-block}.loading-container{justify-content:center;padding:60px 0;display:flex}.summary-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.summary-card:hover{border-color:#bbb}.summary-card-active{border-color:#111;box-shadow:0 0 0 1px #111}.class-list-title{border-bottom:1px solid #f0f0f0;width:100%;margin-bottom:15px;padding-bottom:10px}.class-list-title p{text-align:center;color:#646464;font-family:montserrat-bold,sans-serif}#manage-class-list{justify-content:space-between;width:100%;margin-bottom:16px;display:flex}.roster-warning{background:#faeeda;border:1px solid #ef9f27;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.roster-warning-text{color:#633806;font-size:13px;line-height:1.5}.roster-warning-link{color:#633806;white-space:nowrap;font-size:13px;font-weight:500;text-decoration:none}.roster-warning-link:hover{text-decoration:underline}.title-display-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.edit-title-btn{color:#888;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-size:12px}.edit-title-btn:hover{color:#333;border-color:#bbb}.title-edit-row{align-items:center;gap:8px;width:100%;display:flex}.title-edit-input{flex:1;font-size:16px;font-weight:500}.roster-update-banner{background:#e6f1fb;border:1px solid #85b7eb;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex}.roster-update-text{flex:1}.roster-update-title{color:#0c447c;margin-bottom:4px;font-size:14px;font-weight:500}.roster-update-subtitle{color:#185fa5;font-size:13px;line-height:1.5}.roster-update-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-toolbar{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.status-present{color:#27500a;background:#eaf3de}.status-absent{color:#791f1f;background:#fcebeb}
