:root{--primary-color:#1976d2;--primary-hover:#1565c0;--navy-dark:#0f2942;--navy-text:#123b63;--bg-color:#f5faff;--card-bg:#fff;--border-color:#d9e7f5;--border-radius:8px;--text-primary:#1f2937;--text-secondary:#64748b;--text-white:#fff;--color-intern:#0d9488;--bg-intern:#f0fdf4;--color-course:#1976d2;--bg-course:#eaf4ff;--color-cash:#0284c7;--bg-cash:#f0f9ff;--color-gpay:#6d28d9;--bg-gpay:#f5f3ff;--color-expense:#dc2626;--bg-expense:#fef2f2;--color-other:#d97706;--bg-other:#fffbeb;--sidebar-width:240px;--header-height:64px;--transition-speed:.2s;--box-shadow:0 2px 4px #123b630d, 0 1px 2px #123b630a;--box-shadow-hover:0 4px 10px #123b6314}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}.app-container{background-color:var(--bg-color);min-height:100vh;display:flex}.auth-page-wrapper{background:linear-gradient(135deg,#f5faff 0%,#eaf4ff 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;width:100%;max-width:420px;padding:32px 36px;display:flex;box-shadow:0 8px 24px #123b6314}.auth-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.auth-title{color:var(--navy-text);margin-top:14px;font-size:1.25rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.85rem}.auth-form{flex-direction:column;gap:16px;display:flex}.sidebar{width:var(--sidebar-width);background-color:var(--navy-dark);color:var(--text-white);z-index:100;transition:transform var(--transition-speed) ease;border-right:1px solid #ffffff0d;flex-direction:column;padding:20px 14px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:16px;display:flex}.sidebar-menu{flex-direction:column;gap:4px;list-style:none;display:flex}.sidebar-item a{color:#94a3b8;transition:all var(--transition-speed) ease;border-radius:6px;align-items:center;gap:12px;padding:9px 12px;font-size:.875rem;font-weight:500;display:flex}.sidebar-item a:hover{color:var(--text-white);background-color:#ffffff0f}.sidebar-item.active a{color:#fff;border-left:3px solid var(--primary-color);background-color:#1e3a5f;font-weight:600}.sidebar-item.active a svg{color:#60a5fa}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex-grow:1;min-width:0;display:flex}.navbar{height:var(--header-height);background-color:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:90;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.menu-toggle{color:var(--navy-text);cursor:pointer;background:0 0;border:none;font-size:1.4rem;display:none}.navbar-brand{color:var(--navy-text);font-size:1.1rem;font-weight:700}.navbar-time{color:var(--text-secondary);font-size:.82rem;font-weight:500}.content-container{flex-grow:1;padding:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page-title{color:var(--navy-text);font-size:1.35rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.82rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);align-items:center;gap:14px;padding:16px 18px;display:flex}.stat-icon-wrapper{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;display:flex}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:.75rem;font-weight:600}.stat-value{color:var(--navy-text);margin-top:2px;font-size:1.25rem;font-weight:700}.monthly-rollover-banner{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding:14px 18px;display:flex}.rollover-item{flex-direction:column;display:flex}.rollover-label{color:var(--text-secondary);letter-spacing:.4px;font-size:.7rem;font-weight:700}.rollover-value{color:var(--navy-text);font-size:1.15rem;font-weight:800}.rollover-operator{color:#94a3b8;font-size:1.1rem;font-weight:800}.dashboard-summary-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.summary-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:18px;padding:18px}.card-title{color:var(--navy-text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:700;display:flex}.summary-list{flex-direction:column;gap:8px;display:flex}.summary-list-item{border:1px solid var(--border-color);background-color:#f8fafc;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;display:flex}.summary-item-label{color:var(--text-secondary);font-weight:500}.summary-item-value{color:var(--navy-text);font-weight:700}.btn{cursor:pointer;transition:all var(--transition-speed) ease;border:1px solid #0000;border-radius:6px;outline:none;justify-content:center;align-items:center;gap:6px;height:38px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:var(--text-white)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{color:var(--navy-text);border-color:var(--border-color);background-color:#fff}.btn-secondary:hover{background-color:#f0f7ff;border-color:#bee0ff}.btn-danger{color:var(--text-white);background-color:#dc2626}.btn-danger:hover{background-color:#b91c1c}.btn-sm{border-radius:4px;height:32px;padding:5px 10px;font-size:.78rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group-full{grid-column:span 2}.form-group label,.form-label,.filter-label{color:var(--navy-text);font-size:.8rem;font-weight:600}.form-control{border:1px solid var(--border-color);width:100%;height:38px;color:var(--text-primary);transition:border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;background-color:#fff;border-radius:6px;outline:none;padding:7px 12px;font-size:.85rem}.form-control::placeholder{color:#94a3b8}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #1976d21f}.form-control-sm{height:32px;padding:4px 8px;font-size:.78rem}textarea.form-control{resize:vertical;height:auto;min-height:80px}.required{color:#dc2626;margin-left:2px}.error-text{color:#dc2626;margin-top:2px;font-size:.75rem}.filter-bar{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:18px;padding:14px 16px}.filter-grid{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-item{flex-direction:column;flex:160px;gap:4px;min-width:140px;max-width:220px;display:flex}.filter-item-search{flex:2 220px;min-width:200px;max-width:300px}.filter-actions{align-items:flex-end;gap:8px;margin-left:auto;display:flex}.table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:18px;overflow:hidden}.table-responsive{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.custom-table th{color:var(--navy-text);border-bottom:1px solid var(--border-color);white-space:nowrap;background-color:#f0f7ff;padding:10px 12px;font-weight:700}.custom-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:10px 12px}.custom-table tbody tr:hover{background-color:#f8fafc}.pagination-container{border-top:1px solid var(--border-color);background-color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.pagination-info{color:var(--text-secondary);font-size:.82rem}.pagination-controls{align-items:center;gap:4px;display:flex}.pagination-num{border:1px solid var(--border-color);width:30px;height:30px;color:var(--navy-text);cursor:pointer;transition:all var(--transition-speed) ease;background-color:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;display:flex}.pagination-num:hover{background-color:#f0f7ff;border-color:#bee0ff}.pagination-num.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;padding:2px 7px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-intern{color:var(--color-intern);background-color:var(--bg-intern)}.badge-course{color:var(--color-course);background-color:var(--bg-course)}.badge-cash{color:var(--color-cash);background-color:var(--bg-cash)}.badge-gpay{color:var(--color-gpay);background-color:var(--bg-gpay)}.badge-expense{color:var(--color-expense);background-color:var(--bg-expense)}.badge-other{color:var(--color-other);background-color:var(--bg-other)}.actions-cell{gap:4px;display:flex}.action-btn{border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-speed) ease;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:3px 6px;font-size:.95rem;display:flex}.action-btn-view{color:#0284c7;background-color:#f0f9ff}.action-btn-view:hover{background-color:#e0f2fe}.action-btn-edit{color:var(--navy-text);background-color:#f8fafc}.action-btn-edit:hover{background-color:#e2e8f0}.action-btn-delete{color:#dc2626;background-color:#fef2f2}.action-btn-delete:hover{background-color:#fee2e2}.modal-overlay{z-index:1000;background-color:#0f294280;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--card-bg);border-radius:var(--border-radius);border:1px solid var(--border-color);width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 28px #123b6326}.modal-header{border-bottom:1px solid var(--border-color);background-color:#f8fafc;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:1.2rem}.modal-body{padding:18px}.modal-footer{border-top:1px solid var(--border-color);background-color:#f8fafc;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.bill-top-bar{border:1px solid var(--border-color);background:#f0f7ff;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.existing-student-banner{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.bill-summary-strip{border-top:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;margin-top:12px;padding-top:12px;display:grid}.bill-summary-box{border:1px solid var(--border-color);text-align:center;background:#f8fafc;border-radius:4px;padding:6px}.strip-label{color:var(--text-secondary);text-transform:uppercase;font-size:.65rem;font-weight:700}.strip-value{color:var(--navy-text);margin-top:2px;font-size:.9rem;font-weight:800}.toast{background-color:var(--navy-dark);color:var(--text-white);border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:500;display:flex;box-shadow:0 6px 14px #00000026}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #dc2626}@media (width<=1024px){.dashboard-summary-grid{grid-template-columns:1fr}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-wrapper{margin-left:0}.menu-toggle{display:block}.form-grid{grid-template-columns:1fr}.form-group-full{grid-column:span 1}.filter-grid{flex-direction:column;align-items:stretch}.filter-item,.filter-item-search{width:100%;max-width:100%}}@media print{.sidebar,.navbar,.btn,.menu-toggle,.modal-footer,.modal-close,.filter-bar{display:none!important}.main-wrapper{margin-left:0!important;padding:0!important}.content-container{padding:0!important}body{color:#000!important;background-color:#fff!important}.modal-overlay{background:0 0!important;padding:0!important;position:static!important}.modal-content{box-shadow:none!important;border:none!important;width:100%!important;max-width:100%!important;padding:0!important}.receipt-container{box-shadow:none!important;border:1px solid #000!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.metrics-grid,.table-container,.form-card,.summary-card{animation:.3s ease-in-out fadeIn}
