:root{--babs-red:#ed1c24;--babs-blue:#29abe2;--babs-yellow:#fff200;--babs-purple:#92278f;--babs-green:#39b54a;--babs-orange:#f7941d;--babs-navy:#0071bc;--babs-pink:#ed008c;--babs-dark:#414042;--babs-gray:#808285;--babs-light-gray:#bcbec0;--babs-white:#fff;--babs-primary:var(--babs-red);--babs-secondary:var(--babs-blue);--babs-accent:var(--babs-yellow);--babs-success:var(--babs-green);--babs-warning:var(--babs-orange);--babs-danger:var(--babs-red);--babs-info:var(--babs-blue);--babs-text-primary:var(--babs-dark);--babs-text-secondary:var(--babs-gray);--babs-text-light:var(--babs-light-gray);--babs-bg-primary:var(--babs-white);--babs-bg-secondary:#f5f5f5;--babs-bg-dark:var(--babs-dark);--babs-border-light:var(--babs-light-gray);--babs-border-medium:var(--babs-gray);--babs-red-hover:#d11920;--babs-blue-hover:#2196d1;--babs-green-hover:#2fa03e;--babs-orange-hover:#e08718;--babs-shadow:0 2px 10px #4140421a;--babs-shadow-lg:0 4px 20px #41404226}body{background:#f5f5f5;background:var(--babs-bg-secondary);color:#414042;color:var(--babs-text-primary)}.bg-red{background-color:#ed1c24;background-color:var(--babs-red)}.bg-blue{background-color:#29abe2;background-color:var(--babs-blue)}.bg-yellow{background-color:#fff200;background-color:var(--babs-yellow)}.bg-green{background-color:#39b54a;background-color:var(--babs-green)}.bg-purple{background-color:#92278f;background-color:var(--babs-purple)}.bg-orange{background-color:#f7941d;background-color:var(--babs-orange)}.bg-primary{background-color:#ed1c24;background-color:var(--babs-primary)}.bg-secondary{background-color:#29abe2;background-color:var(--babs-secondary)}.text-red{color:#ed1c24;color:var(--babs-red)}.text-blue{color:#29abe2;color:var(--babs-blue)}.text-yellow{color:#fff200;color:var(--babs-yellow)}.text-green{color:#39b54a;color:var(--babs-green)}.text-purple{color:#92278f;color:var(--babs-purple)}.text-primary{color:#414042;color:var(--babs-text-primary)}.text-secondary{color:#808285;color:var(--babs-text-secondary)}.btn-primary{background-color:#ed1c24;background-color:var(--babs-red);border:none;border-radius:5px;color:var(--babs-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-primary:hover{background-color:#d11920;background-color:var(--babs-red-hover)}.btn-secondary{background-color:#29abe2;background-color:var(--babs-blue);border:none;border-radius:5px;color:var(--babs-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-secondary:hover{background-color:#2196d1;background-color:var(--babs-blue-hover)}.btn-success{background-color:#39b54a;background-color:var(--babs-green);border:none;border-radius:5px;color:var(--babs-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-success:hover{background-color:#2fa03e;background-color:var(--babs-green-hover)}.btn-warning{background-color:#f7941d;background-color:var(--babs-orange);border:none;border-radius:5px;color:#fff;color:var(--babs-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.btn-warning:hover{background-color:#e08718;background-color:var(--babs-orange-hover)}.card{background:#fff;background:var(--babs-white);border-radius:10px;box-shadow:0 2px 10px #4140421a;box-shadow:var(--babs-shadow);padding:20px}.card-header{background:#ed1c24;background:var(--babs-red);border-radius:10px 10px 0 0;color:#fff;color:var(--babs-white);margin:-20px -20px 20px;padding:20px}.badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:5px 12px;text-transform:uppercase}.badge-success{background-color:#39b54a;background-color:var(--babs-green)}.badge-success,.badge-warning{color:#fff;color:var(--babs-white)}.badge-warning{background-color:#f7941d;background-color:var(--babs-orange)}.badge-danger{background-color:#ed1c24;background-color:var(--babs-red)}.badge-danger,.badge-info{color:#fff;color:var(--babs-white)}.badge-info{background-color:#29abe2;background-color:var(--babs-blue)}.badge-purple{background-color:#92278f;background-color:var(--babs-purple);color:#fff;color:var(--babs-white)}.form-group label{color:#414042;color:var(--babs-text-primary)}.form-group input,.form-group select,.form-group textarea{border:1px solid #bcbec0;border:1px solid var(--babs-border-light);padding:10px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#29abe2;border-color:var(--babs-blue);box-shadow:0 0 0 3px #29abe21a}.page-header{background:linear-gradient(135deg,#ed1c24,#92278f);background:linear-gradient(135deg,var(--babs-red) 0,var(--babs-purple) 100%);border-radius:10px;box-shadow:0 4px 20px #41404226;box-shadow:var(--babs-shadow-lg);color:#fff;color:var(--babs-white)}.page-header h1{margin:0}.page-header p{margin:10px 0 0;opacity:.9}.nav-bar{align-items:center;background:#ed1c24;background:var(--babs-red);box-shadow:0 2px 10px #4140421a;box-shadow:var(--babs-shadow);display:flex;justify-content:space-between;padding:15px 30px}.nav-bar,.nav-link{color:#fff;color:var(--babs-white)}.nav-link{border-radius:5px;padding:8px 16px;text-decoration:none;transition:background-color .3s}.nav-link:hover{background-color:#ffffff1a}.stat-card{background:var(--babs-white);border-radius:10px;border-top:4px solid #29abe2;border-top:4px solid var(--babs-blue);box-shadow:0 2px 10px #4140421a;box-shadow:var(--babs-shadow);padding:20px;text-align:center}.stat-card.red{border-top-color:#ed1c24;border-top-color:var(--babs-red)}.stat-card.blue{border-top-color:#29abe2;border-top-color:var(--babs-blue)}.stat-card.green{border-top-color:#39b54a;border-top-color:var(--babs-green)}.stat-card.orange{border-top-color:#f7941d;border-top-color:var(--babs-orange)}.stat-card.purple{border-top-color:#92278f;border-top-color:var(--babs-purple)}.stat-card h3{color:#808285;color:var(--babs-text-secondary);font-size:14px;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.stat-card .stat-value{color:#414042;color:var(--babs-text-primary);font-size:36px;font-weight:700;margin:0}.alert{border-left:4px solid;border-radius:5px;margin-bottom:20px;padding:15px 20px}.alert-success{background-color:#e8f5e9;border-left-color:#39b54a;border-left-color:var(--babs-green);color:#2e7d32}.alert-warning{background-color:#fff3e0;border-left-color:#f7941d;border-left-color:var(--babs-orange);color:#e65100}.alert-danger{background-color:#ffebee;border-left-color:#ed1c24;border-left-color:var(--babs-red);color:#c62828}.alert-info{background-color:#e3f2fd;border-left-color:#29abe2;border-left-color:var(--babs-blue);color:#1565c0}.spinner{border:3px solid #bcbec0;border-top:3px solid #29abe2;border:3px solid var(--babs-light-gray);border-top-color:var(--babs-blue);height:40px;margin:20px auto;width:40px}.data-table{background:#fff;background:var(--babs-white);border-radius:10px;box-shadow:0 2px 10px #4140421a;box-shadow:var(--babs-shadow);overflow:hidden;width:100%}.data-table thead{background:#ed1c24;background:var(--babs-red);color:#fff;color:var(--babs-white)}.data-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #bcbec0;border-bottom:1px solid var(--babs-border-light);padding:15px}.data-table tbody tr:hover{background-color:#f5f5f5}.grid{grid-gap:20px;display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#4169e1,#1e90ff);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.login-box h1{color:#333;font-size:24px;margin-bottom:10px;text-align:center}.login-box h2{color:#666;font-size:18px;font-weight:400;margin-bottom:30px;text-align:center}.password-input-wrapper input{padding-right:45px}.password-toggle{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:auto}.password-toggle:hover{background:none;color:#333}.password-toggle svg{height:20px;width:20px}.form-group input:focus{border-color:#667eea}button{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background .3s;width:100%}button:hover{background:#5568d3}button:disabled{background:#ccc;cursor:not-allowed}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:5px;color:#155724;margin-bottom:15px;padding:10px;text-align:center}.help-text a{color:#4169e1;font-weight:600;text-decoration:none}.help-text a:hover{text-decoration:underline}.help-text p{margin:10px 0}@media (max-width:480px){.login-box{margin:20px;padding:30px 20px}}.dashboard-container{background:linear-gradient(135deg,#e3f2fd,#bbdefb);min-height:100vh}.dashboard-appbar{background:#fff;box-shadow:0 2px 8px #0000001a;justify-content:space-between;padding:16px 32px}.appbar-left,.dashboard-appbar{align-items:center;display:flex}.appbar-left{gap:16px}.appbar-logo{border-radius:8px;height:50px;object-fit:cover;width:50px}.appbar-text{display:flex;flex-direction:column}.appbar-title{color:#0b2ceb;font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.appbar-subtitle{color:#f81162;font-size:12px}.appbar-right{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column}.user-email{color:#0b2ceb;font-size:14px;font-weight:500}.logout-btn{background:#f81162;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.logout-btn:hover{background:#f81162;transform:translateY(-2px)}.dashboard-main{margin:0 auto;max-width:1200px;padding:40px 24px}.welcome-section{margin-bottom:40px;text-align:center}.welcome-title{color:#0b2ceb;font-size:36px;font-weight:700;margin:0 0 12px;text-shadow:0 2px 4px #0003}.welcome-subtitle{color:#0b2ceb;font-size:18px;margin:0 0 30px;text-shadow:0 1px 2px #0000001a}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:900px}.stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 20px #00000026;display:flex;gap:20px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 12px 28px #0003;transform:translateY(-5px)}.stat-icon{font-size:48px;line-height:1}.stat-info{flex:1 1}.stat-label{color:#7f8c8d;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#2c3e50;line-height:1}.stat-note{color:#95a5a6;display:block;font-size:11px;font-style:italic;margin-top:6px}.stat-schools .stat-value{color:#3498db}.stat-students .stat-value{color:#2ecc71}.stat-owing .stat-value{color:#e74c3c}.stat-collected .stat-value{color:#9b59b6}.category-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:900px}.category-card{align-items:center;border:none;border-radius:20px;box-shadow:0 8px 20px #0003;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:12px;height:180px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease}.category-card:before{background:#ffffff1a;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.category-card:hover:before{opacity:1}.category-card:hover{box-shadow:0 12px 30px #0000004d;transform:translateY(-8px)}.category-icon{font-size:64px;line-height:1}.category-title{font-size:22px;font-weight:700;line-height:1.2;text-align:center}.category-subtitle{font-size:18px;font-weight:600;opacity:.9;text-align:center}.card-blue{background:linear-gradient(135deg,#29abe2,#3b82f6)}.card-purple{background:linear-gradient(135deg,#92278f,#a855f7)}.card-green{background:linear-gradient(135deg,#39b54a,#10b981)}.card-orange{background:linear-gradient(135deg,#f7941d,#f59e0b)}.stat-pending{background:linear-gradient(135deg,#ffeb3b,#fbc02d)}.card-yellow{background:linear-gradient(135deg,#f39c12,#e67e22)}.card-teal{background:linear-gradient(135deg,#00bcd4,#0097a7)}@media (max-width:768px){.dashboard-appbar{flex-direction:column;gap:12px;padding:12px 16px}.appbar-left{justify-content:center;width:100%}.appbar-logo{height:40px;width:40px}.appbar-title{font-size:22px}.appbar-subtitle{font-size:11px}.appbar-right{justify-content:space-between;width:100%}.dashboard-main{padding:24px 16px}.welcome-title{font-size:24px}.welcome-subtitle{font-size:14px}.stats-container{gap:16px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{font-size:40px}.stat-value{font-size:28px}.category-grid{gap:16px;grid-template-columns:1fr}.category-card{height:140px}.category-icon{font-size:48px}.category-title{font-size:18px}.category-subtitle{font-size:16px}}@media (min-width:1200px){.dashboard-main{padding:50px 40px}.stats-container{gap:24px;max-width:900px}.stat-card{padding:28px}.category-grid{gap:24px;max-width:1000px}.category-card{height:200px}.category-icon{font-size:72px}.category-title{font-size:24px}.category-subtitle{font-size:20px}}.tshirt-order-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.tshirt-order-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:100%}.tshirt-order-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:24px}.tshirt-order-header h1{font-size:28px;font-weight:600;margin:0}.btn-close{align-items:center;background:#fff3;border:2px solid #fff;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.btn-close:hover{background:#ffffff4d;transform:rotate(90deg)}.tshirt-order-content{flex:1 1;overflow-y:auto;padding:24px}.order-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.order-section h2{align-items:center;color:#333;display:flex;font-size:20px;gap:8px;margin:0 0 16px}.order-section h2 .count-badge{background:#667eea;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:4px 12px}.student-table{background:#fff;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.student-table thead{background:#667eea;color:#fff}.student-table th{font-size:14px;font-weight:600;padding:12px;text-align:left}.student-table td{border-bottom:1px solid #e0e0e0;padding:12px}.student-table tbody tr:hover{background:#f8f9fa}.student-table tbody tr:last-child td{border-bottom:none}.size-select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .3s ease;width:100%}.size-select:focus{border-color:#667eea;outline:none}.size-select.selected{background:#f0f8f0;border-color:#4caf50}.product-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.product-item{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:16px}.product-item label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.product-item .price-tag{color:#667eea;display:block;font-size:12px;margin-bottom:8px}.product-item input{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:10px 12px;text-align:center;transition:border-color .3s ease;width:100%}.product-item input:focus{border-color:#667eea;outline:none}.order-summary{background:linear-gradient(135deg,#e8eaf6,#f3e5f5);border:2px solid #667eea;box-shadow:0 4px 12px #00000026;color:#333;margin-bottom:24px;padding:24px}.order-summary h2{color:#333!important;font-size:22px;font-weight:700;margin:0 0 20px;text-shadow:none}.summary-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:#667eea1a;border:1px solid #667eea4d;padding:16px}.summary-item label{color:#333;display:block;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:8px;opacity:1;text-transform:uppercase}.summary-item .value{font-size:28px}.summary-item small{color:#666;display:block;font-size:12px;margin-top:4px;opacity:.9}.summary-total{align-items:center;background:#667eea26;border:2px solid #667eea66;border-radius:8px;display:flex;justify-content:space-between;padding:20px}.summary-total label{color:#333;font-size:18px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.summary-total .value{color:#2e7d32;font-size:36px;font-weight:800}.summary-note{color:#666;font-size:14px;line-height:1.5;margin-top:12px;opacity:.95;text-align:center}.empty-state{padding:40px 20px}.empty-state h3{margin:0 0 12px}.empty-state p{line-height:1.6}.loading{color:#667eea;padding:40px}.tshirt-order-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e0e0e0;display:flex;gap:12px;padding:24px}.tshirt-order-footer button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-cancel{color:#333}.btn-secondary{background:#667eea}.btn-secondary:hover{background:#5568d3}.btn-submit{background:linear-gradient(135deg,#4caf50,#45a049);flex:1 1}.btn-submit:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.btn-cancel:disabled,.btn-secondary:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}.tab-navigation{background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;gap:0}.tab-button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:16px 24px;transition:all .3s ease}.tab-button:hover{background:#e8f5e9;color:#333}.tab-button.active{background:#fff;border-bottom:3px solid #667eea;color:#667eea}.tab-icon{font-size:24px}.tab-label{font-size:16px}.tab-count{background:#667eea;border-radius:20px;color:#fff;font-size:14px;font-weight:700;min-width:30px;padding:4px 10px;text-align:center}.tab-button.active .tab-count{background:#4caf50}@media (max-width:768px){.tshirt-order-container{max-height:95vh}.tshirt-order-header h1{font-size:22px}.product-grid,.summary-grid{grid-template-columns:1fr}.tshirt-order-footer{flex-direction:column}.student-table{font-size:12px}.student-table td,.student-table th{padding:8px}}.month-end-toggle{background:#667eea1a;border:2px solid #667eea4d;border-radius:10px;margin:16px 0;padding:16px}.toggle-container{align-items:center;display:flex;gap:16px}.toggle-switch{display:inline-block;flex-shrink:0;height:30px;position:relative;width:56px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:30px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;bottom:4px;left:4px;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-label{flex-direction:column;gap:4px}.toggle-title{color:#333;font-size:15px;font-weight:600}.toggle-description{font-size:12px}.category-page-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:0}.category-page-header{background:linear-gradient(135deg,#60a5fa,#93c5fd 30%,#ddd6fe 70%,#f0f9ff);display:flex;flex-direction:column;gap:16px;padding:24px}.header-nav{align-items:center;display:flex;gap:10px}.back-button{background:#ffffffe6;border-radius:8px;color:#4169e1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.close-x-btn{align-items:center;background:linear-gradient(135deg,#ffeb3b,#fbc02d);border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.close-x-btn:hover{background:linear-gradient(135deg,#fbc02d,#f9a825);transform:scale(1.1)}.back-button:hover{background:#fff;transform:translateX(-4px)}.category-page-title{align-items:center;display:flex;gap:16px}.category-page-icon{font-size:48px}.category-page-title h1{color:#1e293b;font-size:36px;margin:0}.category-page-content{padding:40px}.action-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.action-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 10px 30px #0000004d;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:16px;justify-content:center;min-height:200px;padding:40px 24px;transition:all .3s ease}.action-card:hover{box-shadow:0 20px 40px #0006;transform:translateY(-8px) scale(1.02)}.action-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));font-size:64px}.action-text{font-size:20px;font-weight:600;line-height:1.4;text-align:center}.card-gray{background:linear-gradient(135deg,#6b7280,#9ca3af)}.card-gray:hover{background:linear-gradient(135deg,#4b5563,#6b7280)}.card-green{background:linear-gradient(135deg,#10b981,#34d399)}.card-green:hover{background:linear-gradient(135deg,#059669,#10b981)}.card-blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.card-blue:hover{background:linear-gradient(135deg,#2563eb,#3b82f6)}.card-indigo{background:linear-gradient(135deg,#6366f1,#818cf8)}.card-indigo:hover{background:linear-gradient(135deg,#4f46e5,#6366f1)}.card-orange{background:linear-gradient(135deg,#f97316,#fb923c)}.card-orange:hover{background:linear-gradient(135deg,#ea580c,#f97316)}.card-red{background:linear-gradient(135deg,#ef4444,#f87171)}.card-red:hover{background:linear-gradient(135deg,#dc2626,#ef4444)}.card-purple{background:linear-gradient(135deg,#9333ea,#a855f7)}.card-purple:hover{background:linear-gradient(135deg,#7e22ce,#9333ea)}.card-yellow{background:linear-gradient(135deg,gold,#ffed4e);border-left:4px solid #ff8c00}.card-yellow:hover{background:linear-gradient(135deg,#ffed4e,gold);box-shadow:0 20px 40px #ffd7004d}@media (max-width:768px){.category-page-content{padding:20px}.action-grid{gap:16px;grid-template-columns:1fr}.action-card{min-height:150px;padding:30px 20px}.action-icon{font-size:48px}.action-text{font-size:18px}.category-page-title h1{font-size:28px}}.email-setup-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal-header{background:linear-gradient(135deg,#4a0e4e,#667eea)}.close-btn{background:#fff3;border-radius:5px;color:#fff;padding:5px 12px;transition:background .2s}.close-btn:hover{background:#ffffff4d}.modal-body{padding:30px}.modal-loading{padding:60px 30px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4a0e4e;height:50px;margin:0 auto 20px;width:50px}.spinner-small{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:16px;margin-right:8px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-section{margin-bottom:20px}.form-section.half{flex:1 1}.toggle-section{background:#f8f9ff;border-left:4px solid #4a0e4e;border-radius:8px;padding:20px}.toggle-label{align-items:center;color:#4a0e4e;cursor:pointer;display:flex}.toggle-checkbox{accent-color:#4a0e4e;cursor:pointer;height:20px;margin-right:10px;width:20px}.toggle-text{font-size:16px}.toggle-description{color:#666;font-size:14px;margin:10px 0 0 30px}.info-card{background:#fff3e0;border-left:4px solid #ff9800;border-radius:8px;margin-bottom:25px;padding:20px}.info-card h3{color:#e65100;font-size:16px;margin:0 0 15px}.info-card p{color:#5d4037;font-size:14px;line-height:1.6;margin:10px 0}.info-card ul{margin:10px 0;padding-left:20px}.info-card li{color:#5d4037;font-size:14px;line-height:1.5;margin:8px 0}.info-card .note{color:#666;font-size:13px;font-style:italic;margin-top:15px}.form-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;margin-top:5px;padding:12px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#4a0e4e;box-shadow:0 0 0 3px #4a0e4e1a;outline:none}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-toggle-btn{background:none;border:none;color:#666;cursor:pointer;font-size:20px;padding:0;position:absolute;right:12px;transition:color .2s}.password-toggle-btn:hover{color:#4a0e4e}.field-hint{color:#666;font-size:12px;font-style:italic;margin:5px 0 0}.test-result{align-items:center;border-radius:8px;display:flex;font-size:14px;margin-bottom:20px;padding:15px}.test-result.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.test-result.error{background-color:#ffebee;border:1px solid #f44336;color:#c62828}.test-icon{font-size:20px;margin-right:12px}.btn-test{align-items:center;background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:center;padding:12px 20px;transition:all .3s;width:100%}.btn-test:hover:not(:disabled){background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-test:disabled{background:#ccc;cursor:not-allowed;transform:none}.modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #f0f0f0;display:flex;gap:15px;padding:20px 30px}.btn-cancel,.btn-save{align-items:center;display:flex;justify-content:center}.btn-save{background:#4a0e4e}.btn-save:hover:not(:disabled){background:#6a1e6e;box-shadow:0 4px 12px #4a0e4e4d}.btn-cancel:disabled,.btn-save:disabled{background:#ccc;transform:none}@media (max-width:768px){.email-setup-modal{border-radius:0;margin:0;max-height:100vh;max-width:100%}.modal-header{border-radius:0;padding:20px}.modal-header h2{font-size:20px}.modal-body{padding:20px}.form-row,.modal-footer{flex-direction:column}.modal-footer{padding:15px 20px}.btn-cancel,.btn-save{width:100%}}.order-form-container{background:#f5f5f5;min-height:100vh;padding:20px}.order-form{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:900px;padding:40px}.form-header{text-align:center}.form-header h1{margin-top:20px}.form-section h3{color:#555;font-size:16px;margin:25px 0 15px}.section-note{margin-bottom:15px}.form-group input{padding:10px}.form-group input:focus{border-color:#4169e1}.radio-group{gap:10px;margin-bottom:20px}.radio-group label{align-items:center;cursor:pointer;display:flex;gap:10px}.radio-group input[type=radio]{cursor:pointer;width:auto}.address-section{background:#f9f9f9;border-radius:5px;margin-top:20px;padding:20px}.confirmation-section ol{color:#555;line-height:1.8;padding-left:20px}.submit-button{background:#4169e1;border-radius:5px;font-weight:600;margin-top:30px;padding:15px;width:100%}.submit-button:hover{background:#3154c4}@media (max-width:768px){.order-form{padding:20px}.form-row{flex-direction:column;gap:0}.order-form-container{padding:10px}}.order-history-container{background:#f5f5f5;min-height:100vh;padding:20px}.order-history{margin:0 auto;max-width:1000px}.history-header{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.history-header h1{color:#4169e1;margin:0}.orders-list{display:flex;flex-direction:column;gap:20px}.order-header-row{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.order-header-row h3{color:#333;margin:0 0 10px}.status-badge{padding:5px 15px}.edit-button{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.edit-button:hover{background:#218838}.order-summary h4{color:#555;margin-bottom:10px}.order-summary ul{list-style:none;margin:0 0 15px;padding:0}.order-summary li{color:#666;padding:5px 0}.order-summary p{color:#666;margin:5px 0}.locked-message{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;margin-top:15px;padding:12px}.order-summary{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:15px}.order-summary h4{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.order-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.order-item:last-child{border-bottom:none}.order-item-group{background:#fff;border-left:4px solid #4169e1;border-radius:6px;margin:15px 0;padding:12px}.item-group-header{color:#4169e1;font-size:14px;font-weight:600;margin-bottom:10px}.order-item.indent{border-bottom:1px solid #f0f0f0;padding-left:15px}.item-label{color:#666;font-size:14px}.item-value{color:#333;font-size:14px;font-weight:500}.item-value.highlight{color:#4169e1;font-weight:600}.order-total{border-top:2px solid #4169e1;display:flex;justify-content:space-between;margin-top:15px;padding-top:15px}.total-label{color:#333;font-size:16px}.total-value{color:#4169e1}.delivery-info{align-items:center;background:#e8f4f8;border-radius:6px;display:flex;gap:8px;margin:15px 0;padding:12px}.delivery-label{color:#333;font-weight:600}.delivery-value{color:#4169e1;font-weight:500}.delivery-address{color:#666;font-size:14px}@media (max-width:768px){.order-history-container{padding:10px}.history-header{align-items:stretch}.history-header,.order-header-row{flex-direction:column;gap:15px}.edit-button,.order-actions{width:100%}}.add-school-container{align-items:flex-start;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.add-school-form{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:20px;max-width:900px;padding:40px;width:100%}.close-btn{font-size:28px;height:40px;width:40px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd}.package-selection{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.package-option{align-items:flex-start;border:2px solid #ddd;border-radius:8px;cursor:pointer;display:flex;gap:15px;padding:20px;transition:all .3s}.package-option:hover{background:#f8f9ff;border-color:#4169e1}.package-option.selected{background:#f0f4ff;border-color:#4169e1;box-shadow:0 2px 8px #4169e133}.package-option input[type=radio]{cursor:pointer;flex-shrink:0;height:20px;margin-top:3px;width:20px}.package-details{flex:1 1}.package-details h3{color:#333;font-size:18px;margin:0 0 10px}.package-fees{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:10px}.package-fees span{background:#e8eaf6;border-radius:5px;color:#4169e1;font-size:14px;font-weight:600;padding:5px 12px}.package-description{color:#666;font-size:14px;margin:10px 0 0}.custom-fees-section{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.custom-fees-section h3{color:#555;font-size:16px;margin:0 0 15px}.btn-submit{background:#4169e1}.btn-submit:hover:not(:disabled){background:#3154c4}@media (max-width:768px){.add-school-container{padding:10px}.add-school-form{padding:20px}.form-header h1{font-size:22px}.form-row{flex-direction:column;gap:0}.package-fees{gap:8px}.form-actions,.package-fees{flex-direction:column}.btn-cancel,.btn-submit{width:100%}.add-school-container{background:#fff;border-radius:10px;margin:0 auto;max-width:1200px!important;padding:40px;width:100%}.school-form{width:100%}.form-section{margin-bottom:30px;width:100%}.form-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:20px;margin-bottom:20px;padding-bottom:10px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:5px;box-sizing:border-box;font-size:14px;padding:12px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4169e1;outline:none}@media (max-width:768px){.add-school-container{padding:20px}.form-row{grid-template-columns:1fr}}}.add-student-container{align-items:flex-start;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.add-student-form{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:20px;max-width:1200px;padding:40px;width:100%}.form-header{align-items:center;margin-bottom:30px}.form-header h1{color:#4169e1;margin:0}.form-section{padding-bottom:30px}.form-section h2{color:#333;font-size:20px;margin-bottom:20px}.form-row,.form-section h3{margin-bottom:15px}.form-group small{color:#999}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0}.account-number-display{background:#e8f5e9;border-radius:5px;margin-top:10px;padding:12px}.account-number-display strong{color:#2e7d32}.account-number-display div{color:#1b5e20;font-size:18px;font-weight:700;margin-top:5px}.account-number-display small{color:#2e7d32}.school-fee-display{background:#e7f3ff;border-radius:8px;margin-top:10px;padding:15px}.school-fee-display h3{color:#4169e1;margin:0 0 10px}.form-actions{margin-top:30px}.btn-cancel,.btn-submit{border-radius:5px;font-size:16px;padding:14px 30px;transition:all .3s}.btn-submit{background:linear-gradient(135deg,#4169e1,#3154c4)}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#3154c4,#2943a8);box-shadow:0 4px 12px #4169e14d}.btn-submit:disabled{transform:none}.btn-cancel:disabled,.btn-submit:disabled{background:#ccc;cursor:not-allowed}.no-schools{padding:40px;text-align:center}.no-schools h2{color:#333;margin-bottom:15px}.no-schools p{color:#666;margin-bottom:25px}@media (max-width:768px){.add-student-container{padding:10px}.add-student-form{padding:20px}.form-header h1{font-size:22px}.form-row{gap:10px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}.school-fee-display>div{flex-direction:column;gap:10px!important}}.mark-inactive-modal{max-height:90vh;max-width:700px;overflow-y:auto}.student-summary{background:#f0f4ff;border:1px solid #4169e1;border-radius:5px;color:#333;line-height:1.8;margin-bottom:20px;padding:15px}.term-status-info{background:#fff3cd;border:1px solid #ffc107;border-radius:5px;color:#856404;line-height:1.6;margin-bottom:15px;padding:12px}.system-suggestion{background:#e7f3ff;border-left:4px solid #4169e1;color:#0c5da5;font-size:14px;margin-bottom:15px;padding:12px}.radio-options{display:flex;flex-direction:column;gap:10px;margin-top:10px}.radio-option{align-items:center;border:2px solid #ddd;border-radius:5px;cursor:pointer;display:flex;gap:10px;padding:12px;transition:all .2s}.radio-option:hover{background:#f8f9ff;border-color:#4169e1}.radio-option input[type=radio]{cursor:pointer;margin:0;width:auto}.radio-option input[type=radio]:checked+span{color:#4169e1;font-weight:600}.lessons-calculation{background:#f8f9fa;border-radius:5px;margin-top:15px;padding:15px}.calculation-result{background:#fff;border-left:4px solid #28a745;color:#155724;line-height:1.8;margin-top:10px;padding:12px}.info-box{align-items:center;background:#d1ecf1;border:1px solid #bee5eb;border-radius:5px;color:#0c5460;gap:8px;padding:12px}.summary-section{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.summary-section h3{color:#333;font-size:18px;margin:0 0 15px}.summary-grid{grid-template-columns:1fr 1fr;margin-bottom:20px}.summary-item{background:#fff;border-radius:5px}.summary-item span{color:#666;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.summary-item strong{color:#333;font-size:20px}.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:5px;color:#856404;padding:15px}.warning-box strong{display:block;margin-bottom:8px}.warning-box ul{line-height:1.8;margin:10px 0 0;padding-left:20px}.warning-box li{margin-bottom:5px}.btn-danger{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-danger:hover:not(:disabled){background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.btn-danger:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width:768px){.mark-inactive-modal{border-radius:0;margin:0;max-height:100vh;max-width:100%}.summary-grid{grid-template-columns:1fr}.radio-options{gap:8px}.radio-option{padding:10px}}.quick-payment-container{align-items:flex-start;display:flex;justify-content:center}.quick-payment-form{border-radius:10px;margin-top:20px;max-width:700px;padding:30px 40px;width:100%}.form-header h1{font-size:26px}.header-subtitle{font-size:13px}.close-btn{align-items:center;border-radius:50%;display:flex;height:36px;justify-content:center;padding:0;transition:all .3s;width:36px}.close-btn:hover{background:#f0f0f0}.payment-counter{align-items:center;animation:slideIn .3s ease;background:linear-gradient(135deg,#28a745,#20c997);border-radius:8px;color:#fff;display:flex;gap:15px;margin-bottom:25px;padding:15px 20px}.counter-badge{align-items:center;background:#fff;border-radius:50%;color:#28a745;display:flex;font-size:20px;font-weight:700;height:40px;justify-content:center;width:40px}.counter-text{font-size:16px;font-weight:600}.search-section{margin-bottom:25px;position:relative}.search-section label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.search-input{border:2px solid #ddd;box-sizing:border-box;padding:14px;transition:border-color .2s}.search-input:focus{box-shadow:0 0 0 3px #28a7451a}.search-results{animation:fadeIn .2s ease;background:#fff;border:2px solid #28a745;box-shadow:0 4px 12px #00000026;left:0;margin-top:5px;max-height:300px;position:absolute;right:0;top:100%;z-index:10}.search-result-item:hover{background:#f8f9ff}.result-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.result-main strong{color:#333;font-size:15px}.account-code{background:#f5f5f5;border-radius:4px;color:#555;font-family:Courier New,monospace;font-size:12px;padding:3px 8px}.result-details{color:#666;display:flex;justify-content:space-between}.school-name{color:#666}.owing-amount{color:#dc3545;font-weight:600}.paid-amount{color:#28a745;font-weight:600}.selected-student-section{animation:fadeIn .3s ease}.selected-student-card{background:linear-gradient(135deg,#28a745,#20c997);border-radius:8px;color:#fff;margin-bottom:25px;padding:20px}.student-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.student-header h3{font-size:20px;margin:0 0 5px}.account-display{border-radius:5px;font-family:Courier New,monospace;padding:4px 10px}.account-display,.change-student-btn{background:#fff3;color:#fff;font-size:13px}.change-student-btn{border:none;border-radius:5px;cursor:pointer;font-weight:600;padding:8px 15px;transition:background .2s}.change-student-btn:hover{background:#ffffff4d}.student-info{align-items:center;display:flex;font-size:14px;justify-content:space-between}.owing-badge{background:#dc3545}.owing-badge,.paid-badge{border-radius:15px;font-size:13px;font-weight:600;padding:5px 12px}.paid-badge{background:#ffffff4d}.credit-badge{background:#17a2b8;border-radius:15px;font-size:13px;font-weight:600;padding:5px 12px}.payment-form{background:#f8f9fa;border-radius:8px;padding:25px}.form-row{display:flex}.form-group{flex:1 1}.form-group.flex-2{flex:2 1}.form-group.flex-1{flex:1 1}.form-group label{margin-bottom:6px}.amount-input{color:#28a745;font-size:18px!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.optional-details{background:#fff;border:1px solid #ddd;border-radius:5px;margin-bottom:20px;padding:15px}.optional-details summary{color:#666;cursor:pointer;font-size:14px;font-weight:600;-webkit-user-select:none;user-select:none}.optional-details summary:hover{color:#28a745}.optional-details[open] summary{color:#28a745;margin-bottom:15px}.balance-preview{border-left:4px solid orange}.balance-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.status-badge.partial{background:orange}.form-actions{margin-top:25px}.btn-done,.btn-primary,.btn-save-continue,.btn-secondary,.btn-success{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;max-width:250px;padding:15px 25px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#28a745,#218838);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{background:#ccc;cursor:not-allowed;opacity:.6;transform:none}.btn-done{background:#6c757d;color:#fff}.btn-done:hover{background:#5a6268}.btn-save-continue{background:#28a745;color:#fff}.btn-save-continue:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.btn-save-continue:disabled{background:#ccc;cursor:not-allowed;transform:none}.empty-state h3{color:#333;font-size:20px;margin:0 0 10px}.empty-state p{color:#999;font-size:14px;margin:0}@media (max-width:768px){.quick-payment-container{padding:10px}.quick-payment-form{padding:20px}.form-header h1{font-size:22px}.form-row{flex-direction:column;gap:0}.form-group.flex-1,.form-group.flex-2{flex:1 1}.balance-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-done,.btn-primary,.btn-save-continue,.btn-secondary,.btn-success{max-width:100%;width:100%}.payment-success-toast{left:10px;right:10px;top:10px}}.inactive-row{background-color:#f8f9fa!important;opacity:.85}.inactive-row:hover{background-color:#e9ecef!important}.inactive-badge{border-radius:12px;padding:4px 10px;white-space:nowrap}.inactive-date{font-size:10px;opacity:.9}.btn-reactivate{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s ease}.btn-reactivate:hover{box-shadow:0 4px 8px #27ae604d;transform:translateY(-2px)}.deactivation-info{background:linear-gradient(135deg,#ffe5e5,#ffd4d4);border-left:4px solid #e74c3c;border-radius:8px;padding:15px}.deactivation-info h4{color:#c0392b;margin-bottom:12px}.filter-select{background:#fff;border:2px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.filter-select:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.view-students-container{background:#fff;border-radius:12px;margin:0 auto;max-width:1400px;padding:30px}.view-students-header{margin-bottom:30px}.search-group{grid-column:span 2}.search-input{border:2px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.stats-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;gap:30px;padding:15px 20px}.stat-item{align-items:center;display:flex;gap:10px}.stat-label{font-weight:600;opacity:1}.stat-value{font-size:20px}.students-table-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.students-table{min-width:900px}.students-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.students-table th{font-size:14px;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.students-table td{border-bottom:1px solid #ecf0f1;font-size:14px;padding:15px}.students-table tbody tr:hover:not(.inactive-row){background-color:#f8f9fa}.currency-cell{color:#2c3e50;font-weight:600;text-align:right}.payment-status{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:5px 12px;text-transform:uppercase}.status-paid{background:#d4edda;color:#155724}.status-partial{background:#fff3cd;color:#856404}.status-outstanding{background:#f8d7da;color:#721c24}.actions-cell{width:240px}.action-buttons{gap:6px}.action-buttons button{border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s ease}.btn-expand{background:#95a5a6;color:#fff}.btn-expand:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-invoice{background:#3498db;color:#fff}.btn-invoice:hover{background:#2980b9;transform:translateY(-2px)}.btn-payment{background:#2ecc71}.btn-payment:hover{background:#27ae60}.btn-edit{background:#f39c12}.btn-edit:hover{background:#e67e22;transform:translateY(-2px)}.btn-inactive{background:#e74c3c;color:#fff}.btn-inactive:hover{background:#c0392b;transform:translateY(-2px)}.expanded-row{background-color:#f8f9fa!important}.expanded-content{padding:20px}.details-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 2fr}@media (max-width:1200px){.details-sections{grid-template-columns:1fr 1fr 1.5fr}}@media (max-width:1024px){.details-sections{grid-template-columns:1fr}}.detail-section{background:#fff;border-left:4px solid #3498db;border-radius:8px;padding:12px}.detail-section h4{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:15px;margin:0 0 10px;padding-bottom:6px}.detail-section p{color:#555;font-size:13px;line-height:1.4;margin:6px 0}.detail-section strong{color:#2c3e50;font-size:13px;font-weight:600}.no-results{color:#95a5a6;font-size:18px;padding:60px 20px}@media (max-width:1024px){.filters-container{grid-template-columns:1fr 1fr}.search-group{grid-column:span 2}}@media (max-width:768px){.view-students-container{padding:15px}.filters-container{grid-template-columns:1fr}.search-group{grid-column:span 1}.stats-bar{flex-direction:column;gap:15px}.students-table{font-size:12px}.students-table td,.students-table th{padding:10px 8px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.details-sections{grid-template-columns:1fr}}.override-modal{max-height:90vh;max-width:600px;overflow-y:auto}.student-info-box{background:#f8f9fa;border-left:4px solid #9b59b6;border-radius:8px;margin-bottom:20px;padding:15px}.student-info-box p{margin:5px 0}.calculation-preview{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;margin:15px 0;padding:15px}.calculation-formula{color:#2e7d32;font-family:monospace;font-size:14px;margin:10px 0 0}.fee-breakdown{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:20px 0;padding:24px}.fee-breakdown h3{border-bottom:2px solid #3498db;color:#2c3e50;font-size:20px;margin:0 0 20px;padding-bottom:12px}.breakdown-summary{background:#f8f9fa;border-radius:8px;display:flex;gap:32px;margin-bottom:24px;padding:16px}.summary-label{color:#7f8c8d;font-weight:600}.summary-value{font-weight:500}.breakdown-table{border:1px solid #e0e0e0;border-radius:8px;margin:24px 0;overflow:hidden}.breakdown-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600;padding:12px 16px}.breakdown-header,.breakdown-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:80px 150px 100px 100px 100px 120px}.breakdown-row{align-items:center;border-bottom:1px solid #f0f0f0;padding:16px;transition:background .2s}.breakdown-row:hover{background:#f8f9fa}.breakdown-row.charged{background:#fff}.breakdown-row.not-charged{background:#f8f9fa;opacity:.6}.breakdown-row.past{border-left:3px solid #95a5a6}.breakdown-row.current{background:#ebf5fb;border-left:3px solid #3498db}.col-term{color:#2c3e50;font-weight:600}.col-dates{color:#7f8c8d;font-size:13px}.col-amount{color:#2c3e50;font-family:Courier New,monospace;text-align:right}.col-status{text-align:center}.status-badge{padding:4px 12px}.status-badge.past{background:#ecf0f1;color:#7f8c8d}.status-badge.current{background:#3498db;color:#fff}.status-badge.future{background:#f8f9fa;border:1px dashed #bdc3c7;color:#95a5a6}.breakdown-totals{background:#f8f9fa;border-radius:8px;margin-top:24px;padding:20px}.totals-row{display:flex;font-size:15px;justify-content:space-between;padding:8px 0}.totals-row.paid{color:#27ae60}.totals-row.owing-admin,.totals-row.owing-term{color:#e74c3c}.totals-row.separator{padding:4px 0}.totals-row.separator hr{border:none;border-top:2px solid #bdc3c7;margin:8px 0}.totals-row.final{border-top:3px solid #2c3e50;font-size:18px;margin-top:8px;padding-top:16px}.totals-value.outstanding{color:#e74c3c;font-size:20px}.fee-breakdown-error,.fee-breakdown-loading{color:#7f8c8d;font-style:italic;padding:40px;text-align:center}.fee-breakdown-error{color:#e74c3c}@media (max-width:768px){.breakdown-header,.breakdown-row{gap:4px;grid-template-columns:1fr}.breakdown-header{display:none}.breakdown-row{padding:12px}.col-amount,.col-dates,.col-status,.col-term{text-align:left}.col-amount:before{content:attr(data-label);font-weight:600;margin-right:8px}}.modal-overlay{animation:fadeIn .2s ease-in-out;background:#00000080}.schedule-demo-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{padding:24px 24px 16px}.modal-header h2{align-items:center;color:#333;display:flex;gap:8px}.close-btn{background:none;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:color .2s}.close-btn:hover{color:#333}.school-info-banner{background:linear-gradient(135deg,#60a5fa,#93c5fd);color:#fff;margin:0;padding:16px 24px}.school-info-banner h3{font-size:20px;font-weight:600;margin:0 0 4px}.school-info-banner p{font-size:14px;margin:0;opacity:.9}.demo-form{padding:24px}.form-row{grid-gap:16px;gap:16px;margin-bottom:16px}.form-group .required{color:#ef4444;margin-left:2px}.form-group input[type=date],.form-group input[type=number],.form-group input[type=time],.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-actions{border-top:2px solid #f0f0f0;margin-top:24px;padding-top:20px}.btn-cancel,.btn-submit{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .2s}.btn-cancel{background:#f3f4f6;color:#6b7280}.btn-cancel:hover:not(:disabled){background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #60a5fa66;transform:translateY(-1px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.schedule-demo-modal{max-height:95vh;width:95%}.form-row{grid-template-columns:1fr}.modal-header h2{font-size:20px}.school-info-banner h3{font-size:18px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.bulk-fees-container{background:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.bulk-fees-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.bulk-fees-header h1{color:#2c3e50;font-size:28px;margin:0}.btn-close{border-radius:5px;padding:10px 20px}.school-selector{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.school-selector label{color:#2c3e50;display:block;font-size:16px;font-weight:600;margin-bottom:10px}.global-search-input{background:#f8f9fa;border:2px solid #3498db;border-radius:5px;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.global-search-input:focus{background:#fff;border-color:#2980b9;box-shadow:0 0 0 3px #3498db33;outline:none}.search-hint{background:#e3f2fd;border-radius:5px;color:#1976d2;font-size:14px;margin-top:10px;padding:10px;text-align:center}.school-select{border:2px solid #ddd;border-radius:5px;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.school-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.student-search-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.student-search-section label{color:#2c3e50;display:block;font-size:16px;font-weight:600;margin-bottom:10px}.student-search-input{border:2px solid #ddd;border-radius:5px;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.student-search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.search-info{background:#e8f5e9;border-radius:5px;color:#2e7d32;font-size:14px;font-weight:600;margin-top:10px;padding:10px;text-align:center}.payment-method-select{background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;max-width:150px;padding:8px;transition:all .3s ease;width:100%}.payment-method-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.loading-students{color:#666;font-size:18px;padding:40px;text-align:center}.no-students{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:40px;text-align:center}.no-students p{color:#666;font-size:16px;margin:0}.students-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.bulk-fees-table{border-collapse:collapse;min-width:1000px;width:100%}.bulk-fees-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.bulk-fees-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.bulk-fees-table td:first-child,.bulk-fees-table th:first-child{max-width:150px;width:150px}.bulk-fees-table td{border-bottom:1px solid #ecf0f1;font-size:14px;padding:12px 15px}.bulk-fees-table td:first-child{padding-left:15px}.bulk-fees-table tbody tr:hover{background-color:#f8f9fa}.bulk-fees-table tbody tr.inactive-row{background-color:#fee;opacity:.7}.inactive-badge{background:#fee;border-radius:4px;color:#c00;margin-left:10px}.amount-cell{color:#e74c3c}.fee-input{border:2px solid #ddd;border-radius:4px;font-size:14px;padding:8px;text-align:right;transition:all .3s ease;width:120px}.fee-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.bulk-fees-actions{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.btn-save-all{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 40px;transition:all .3s ease}.btn-save-all:hover:not(:disabled){box-shadow:0 6px 12px #2ecc714d;transform:translateY(-2px)}.btn-save-all:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.bulk-fees-table{font-size:12px}.bulk-fees-table td,.bulk-fees-table th{padding:8px}.fee-input{font-size:12px;width:80px}}.quick-payment-container{background:#f5f5f5;min-height:100vh;padding:20px}.quick-payment-form{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:1400px;padding:30px}.form-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.form-header h1{color:#28a745;font-size:28px;margin:0 0 5px}.header-subtitle{color:#666;font-size:14px;margin:0}.student-info-card{background:linear-gradient(135deg,#28a745,#20c997);border-radius:8px;color:#fff;margin-bottom:25px;padding:20px}.info-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:15px}.info-row:last-child{margin-bottom:0}.info-row.balance-row{border-top:1px solid #ffffff4d;margin-top:15px;padding-top:15px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{font-size:12px;font-weight:600;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.info-item span{font-size:16px;font-weight:600}.info-item .value-large{font-size:20px;font-weight:700}.owing-amount{color:#fff3cd!important;font-size:20px!important;font-weight:700!important}.paid-amount{color:#ffffffe6!important;font-size:18px!important}.payment-table-wrapper{border:2px solid #e0e0e0;border-radius:8px;margin-bottom:25px;overflow-x:auto}.payment-table{background:#fff;border-collapse:collapse;width:100%}.payment-table thead{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.payment-table th{font-size:13px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.payment-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:15px}.payment-table tbody tr:hover{background:#f8f9fa}.amount-cell.owing{color:#dc3545;font-size:16px}.amount-input{border:2px solid #28a745;border-radius:5px;box-sizing:border-box;font-size:16px;font-weight:600;padding:8px;text-align:right;width:100%}.amount-input:focus{border-color:#218838;box-shadow:0 0 0 3px #28a7451a;outline:none}.payment-details{background:#f8f9fa;border-radius:8px;margin-bottom:25px;padding:20px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group label{letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select{border:2px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.balance-preview{animation:slideIn .3s ease;background:#fff3cd;border-left:4px solid #ffc107;border-radius:5px;margin-bottom:20px;padding:20px}.balance-preview h4{color:#856404;font-size:14px;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.balance-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.balance-item{display:flex;flex-direction:column;gap:5px}.balance-item .label{color:#856404;font-size:12px;font-weight:600;text-transform:uppercase}.balance-item .value{font-size:20px;font-weight:700}.balance-item .value.paid{color:#28a745}.balance-item .value.owing{color:#dc3545}.status-badge{border-radius:15px;padding:6px 12px}.status-badge.paid{background:#28a745}.status-badge.partial{background:#ffc107;color:#333}.status-badge.outstanding{background:#dc3545}.btn-save-payment{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:18px 25px;transition:all .3s;width:100%}.btn-save-payment:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1c9e87);box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-save-payment:disabled{background:#ccc;cursor:not-allowed;opacity:.6;transform:none}.payment-success-toast{animation:slideInRight .3s ease,slideOutRight .3s ease 2.7s;background:#28a745;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;font-size:16px;font-weight:600;padding:15px 25px;position:fixed;right:20px;top:20px;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100px)}}.empty-state,.loading{color:#666;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.quick-payment-container{padding:10px}.quick-payment-form{padding:20px}.form-header h1{font-size:22px}.info-row{gap:15px;grid-template-columns:1fr}.payment-table{font-size:12px}.payment-table td,.payment-table th{padding:10px 8px}.balance-grid,.form-row{grid-template-columns:1fr}.payment-success-toast{left:10px;right:10px;top:10px}}.student-search-section{padding:20px 0}.search-input-wrapper{margin-bottom:20px;position:relative}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:15px 45px 15px 15px;transition:border-color .3s;width:100%}.search-input:focus{border-color:#28a745;outline:none}.search-spinner{font-size:20px;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.search-empty{color:#999;font-style:italic;padding:40px 20px;text-align:center}.search-results{border:1px solid #e0e0e0;border-radius:8px;max-height:400px;overflow-y:auto}.search-result-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:background .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f8f9fa}.result-info{flex:1 1}.result-name{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:4px}.result-details{color:#7f8c8d;font-size:13px}.result-owing{color:#e74c3c;font-size:18px;font-weight:700;margin-left:20px}.inactive-indicator{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:10px;color:#fff;display:inline-block;font-size:10px;font-weight:600;margin-left:8px;padding:3px 8px;vertical-align:middle;white-space:nowrap}.outstanding-fees-container{background:#fff;border-radius:12px;margin:0 auto;max-width:1600px;padding:30px}.btn-close{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:10px 16px;transition:all .3s ease}.btn-close:hover{background:#c0392b;transform:scale(1.05)}.filters-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-select:focus,.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.summary-bar{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-item.highlight{background:#ffffff1a}.report-table thead{background:linear-gradient(135deg,#2c3e50,#34495e)}.report-table th{font-size:13px;padding:15px}.report-table td{padding:15px}.report-table tbody tr:hover:not(.inactive-row){background-color:#f8f9fa}.amount-cell{font-weight:600}.amount-cell.owing{color:#e74c3c}.contact-cell{display:flex;flex-direction:column;gap:4px}.contact-phone{color:#7f8c8d;font-size:12px}.actions-cell{text-align:center}.btn-payment{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.btn-payment:hover{box-shadow:0 4px 8px #2ecc714d;transform:translateY(-2px)}.report-table tfoot{background:#f8f9fa;border-top:3px solid #2c3e50}.total-row td{font-size:16px;padding:20px 15px}.no-results-icon{font-size:64px}.no-results h2{color:#27ae60}.no-results p{color:#7f8c8d}@media (max-width:1024px){.filters-container{grid-template-columns:1fr 1fr}}@media (max-width:768px){.outstanding-fees-container{padding:15px}.header-top h1{font-size:22px}.filters-container{grid-template-columns:1fr}.summary-bar{flex-direction:column;gap:15px}.report-table{font-size:12px}.report-table td,.report-table th{padding:10px 8px}.summary-value{font-size:20px}}.income-fees-container{background:#fff;border-radius:12px;margin:0 auto;max-width:1600px;padding:30px}.report-header{margin-bottom:30px}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-top h1{color:#2c3e50;font-size:28px;margin:0}.toggle-filters-btn{background:#4169e1;border-radius:8px;color:#fff;font-weight:600;padding:10px 20px;transition:all .3s ease;width:100%}.toggle-filters-btn:hover{background:#3457c9}.filters-container{grid-gap:15px;background:#f8f9fa;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px;padding:20px}.filter-group{gap:6px}.filter-group label{color:#495057;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.filter-select,.search-input{background:#fff;border:2px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.filter-select:focus,.search-input:focus{border-color:#27ae60;box-shadow:0 0 0 3px #27ae601a;outline:none}.btn-export{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 12px;transition:all .3s ease;width:100%}.btn-export:hover{box-shadow:0 4px 8px #27ae604d;transform:translateY(-2px)}.summary-bar{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;margin-top:20px}.summary-item{gap:5px}.summary-item.highlight{background:#ffffff26;border-radius:6px;flex:1 1;padding:10px 20px}.summary-label{color:#fff;font-size:12px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.summary-value{color:#fff;font-size:24px;font-weight:700}.report-table-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.report-table{background:#fff;border-collapse:collapse;width:100%}.report-table thead{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}.report-table th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.report-table th.amount-header{text-align:right}.report-table th.total-header{background:#0000001a}.report-table td{border-bottom:1px solid #ecf0f1;font-size:14px;padding:12px}.report-table tbody tr:hover:not(.inactive-row){background-color:#f0fff4}.new-school-row{border-top:3px solid #27ae60}.new-school-row td.school-cell{color:#27ae60;font-weight:600}.school-cell{color:#7f8c8d;font-size:13px}.account-cell{color:#7f8c8d;font-family:Courier New,monospace}.student-name-cell{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inactive-badge{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:10px}.inactive-row{background-color:#fff5f5!important}.inactive-row:hover{background-color:#ffe5e5!important}.amount-cell{font-family:Courier New,monospace;font-size:13px;text-align:right}.amount-cell.paid{color:#27ae60;font-weight:600}.amount-cell.zero{color:#bdc3c7}.amount-cell.total-cell{background:#f8f9fa;font-weight:600}.amount-cell.total-cell.paid{background:#e8f8f0;color:#1e8449}.report-table tfoot{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border-top:3px solid #27ae60}.total-row td{font-size:14px;padding:15px 12px}.total-row .amount-cell{font-size:15px}.no-results{padding:80px 20px}.no-results-icon{color:#bdc3c7;font-size:48px;margin-bottom:20px}.no-results h2{color:#7f8c8d;margin-bottom:10px}.no-results p{color:#95a5a6;font-size:16px}.loading{color:#95a5a6}@media (max-width:1200px){.filters-container{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.income-fees-container{padding:15px}.header-top h1{font-size:22px}.filters-container{grid-template-columns:1fr}.summary-bar{flex-direction:column;gap:15px}.report-table{font-size:11px}.report-table td,.report-table th{padding:8px 6px}.summary-value{font-size:20px}.report-table td:nth-child(3),.report-table th:nth-child(3){display:none}}@media (max-width:480px){.report-table td:nth-child(5),.report-table td:nth-child(6),.report-table td:nth-child(7),.report-table td:nth-child(8),.report-table th:nth-child(5),.report-table th:nth-child(6),.report-table th:nth-child(7),.report-table th:nth-child(8){display:none}}.term-setup-container{background:#f5f5f5;min-height:100vh;padding:20px}.term-setup{margin:0 auto;max-width:1400px}.setup-header{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.setup-header h1{color:#4169e1;font-size:32px;margin:0 0 5px}.subtitle{font-size:14px;margin:0}.close-button{background:#4169e1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background .3s}.close-button:hover{background:#3154c4}.templates-actions{display:flex;justify-content:flex-end;margin-bottom:30px}.btn-add-template{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-add-template:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-1px)}.no-templates{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;padding:60px;text-align:center}.empty-icon{font-size:60px;opacity:.5}.no-templates h3{color:#333;font-size:24px;margin:0 0 10px}.no-templates p{color:#666;font-size:16px;margin:0 0 30px}.btn-create-first{background:#4169e1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 30px}.btn-create-first:hover{background:#3154c4}.templates-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.template-card{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;padding:25px;transition:all .3s}.template-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.template-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.template-header h3{color:#333;font-size:20px;margin:0 0 5px}.template-description{color:#666;font-size:14px;margin:0}.template-badges{display:flex;flex-wrap:wrap;gap:8px}.badge-terms{background:#4169e1}.badge-marketing,.badge-terms{border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px}.badge-marketing{background:#f7941d;text-transform:uppercase}.term-dates-display{background:#f8f9ff;border-radius:8px;margin-bottom:20px;padding:15px}.term-date-row{display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.term-label{font-weight:600}.term-range{color:#333;font-weight:500}.missing-dates-warning{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:5px;color:#856404;display:flex;gap:10px;padding:15px}.warning-icon{font-size:20px}.template-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:15px}.usage-count{color:#666;font-size:13px;font-weight:500}.template-actions{display:flex;gap:10px}.btn-delete,.btn-edit{border-radius:5px;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-edit{background:orange;color:#fff}.btn-edit:hover{background:#e69500}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover:not(:disabled){background:#c82333}.btn-delete:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.modal-content{max-width:800px}.template-form{max-height:calc(90vh - 100px);overflow-y:auto;padding:30px}.form-section{border-bottom:2px solid #f0f0f0;margin-bottom:30px;padding-bottom:25px}.form-section h3{color:#333;font-size:18px;margin:0 0 15px}.section-note{color:#666;font-size:13px;margin-bottom:20px}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:5px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.form-group textarea{min-height:60px}.radio-group{gap:20px;margin-top:10px}.radio-label{border:2px solid #ddd;border-radius:5px;gap:8px;padding:10px 15px;transition:all .2s}.radio-label:hover{background:#f8f9ff;border-color:#4169e1}.radio-label input[type=radio]{margin:0;width:auto}.radio-label input[type=radio]:checked+span{color:#4169e1;font-weight:600}.term-date-inputs{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.term-date-inputs h4{color:#4169e1;font-size:16px;margin:0 0 15px}.date-row{display:flex;gap:15px}.date-row .form-group{flex:1 1;margin-bottom:0}.modal-actions{gap:15px;padding-top:25px}.btn-cancel,.btn-save{border-radius:5px;flex:1 1;padding:14px 25px}.btn-save:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d}.btn-save:disabled{background:#ccc;transform:none}@media (max-width:768px){.term-setup-container{padding:10px}.setup-header{align-items:stretch;flex-direction:column;gap:15px;padding:15px}.setup-header h1{font-size:24px}.close-button{width:100%}.templates-list{grid-template-columns:1fr}.template-header{flex-direction:column;gap:10px}.template-footer{align-items:stretch;flex-direction:column;gap:15px}.template-actions{width:100%}.btn-delete,.btn-edit{flex:1 1}.modal-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.date-row,.modal-actions,.radio-group{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.badge-lessons{background:#28a745;border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.holiday-review-content{max-height:70vh;overflow-y:auto;padding:30px}.review-intro{background:#e3f2fd;border-radius:8px;color:#1976d2;font-weight:500;margin-bottom:25px;padding:15px}.detected-section,.public-holidays-section{background:#fff;border:2px solid #f0f0f0;border-radius:10px;margin-bottom:30px;padding:20px}.detected-section h3,.public-holidays-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:18px;margin:0 0 20px;padding-bottom:10px}.holiday-review-item{border-bottom:1px solid #f0f0f0;padding:15px;transition:background .2s}.holiday-review-item:last-child{border-bottom:none}.holiday-review-item:hover{background:#f8f9fa}.holiday-review-item label{align-items:flex-start;cursor:pointer;display:flex;gap:12px;margin:0}.holiday-review-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.holiday-details{flex:1 1;gap:5px}.holiday-details strong{color:#333;font-size:15px}.holiday-dates{align-items:center;color:#666;display:flex;font-size:14px;gap:8px}.day-count{font-style:italic}.overlap-warning{background:#fff3cd;border-radius:4px;color:#856404;display:inline-block;font-size:12px;font-weight:600;margin-top:5px;padding:4px 10px}.select-all-row{padding:12px 15px}.select-all-row strong{color:#1976d2;font-size:15px}.modal-content-large{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}@media (max-width:768px){.holiday-review-content{padding:20px}.holiday-review-item{padding:12px}.holiday-details strong{font-size:14px}.holiday-dates{align-items:flex-start;flex-direction:column;font-size:13px}.overlap-warning{font-size:11px}}.holiday-management-container{background:#f5f7fa;min-height:100vh;padding:30px}.holiday-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.header-left h1{color:#2c3e50}.header-left p{color:#7f8c8d;font-size:16px}.btn-close-page{background:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-close-page:hover{background:#7f8c8d}.holiday-actions{display:flex;gap:15px;margin-bottom:30px}.btn-add{background:linear-gradient(135deg,#4169e1,#667eea);border:none;border-radius:8px;box-shadow:0 4px 12px #4169e14d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s}.btn-add:hover{box-shadow:0 6px 16px #4169e166;transform:translateY(-2px)}.btn-quick-add{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 4px 12px #28a7454d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s}.btn-quick-add:hover{box-shadow:0 6px 16px #28a74566;transform:translateY(-2px)}.no-holidays{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px;text-align:center}.no-holidays p{color:#7f8c8d;font-size:18px;margin:10px 0}.holidays-list{grid-gap:20px;display:grid;gap:20px}.holiday-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;transition:all .2s}.holiday-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.holiday-card-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.holiday-title{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.holiday-title h3{color:#2c3e50;font-size:20px;margin:0}.holiday-type-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.holiday-type-badge.public{background:#e3f2fd;color:#1976d2}.holiday-type-badge.school{background:#fff3e0;color:#f57c00}.holiday-type-badge.custom{background:#f3e5f5;color:#7b1fa2}.auto-badge{background:#e8f5e9;border-radius:20px;color:#2e7d32;font-size:11px;font-weight:600;padding:4px 10px}.holiday-actions-btns{display:flex;gap:10px}.btn-delete-small,.btn-edit-small{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-edit-small{background:orange;color:#fff}.btn-edit-small:hover{background:#e69500}.btn-delete-small{background:#dc3545;color:#fff}.btn-delete-small:hover{background:#c82333}.holiday-details{display:flex;flex-direction:column;gap:12px}.holiday-applies,.holiday-date,.holiday-notes{align-items:center;color:#555;display:flex;font-size:15px;gap:8px}.day-count{color:#7f8c8d;font-size:13px;margin-left:8px}.holiday-notes{background:#f8f9fa;border-radius:6px;font-style:italic;padding:12px}.modal-overlay{padding:20px;z-index:2000}.modal-content{animation:slideIn .3s ease;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-radius:12px 12px 0 0;padding:25px 30px}.modal-header h2{font-size:24px}.modal-close:disabled{cursor:not-allowed;opacity:.5}.holiday-form{padding:30px}.form-group input[type=date],.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.form-group small{color:#7f8c8d}.form-group textarea{min-height:80px;resize:vertical}.checkbox-group{background:#f8f9fa;border-radius:8px;padding:15px}.checkbox-group label{display:flex;gap:10px;margin-bottom:0}.checkbox-group span{color:#333;font-weight:600}.modal-actions{gap:12px;justify-content:flex-end;margin-top:30px}.btn-cancel,.btn-save{font-size:15px;padding:12px 24px;transition:all .2s}.btn-cancel{background:#e0e0e0;color:#555}.btn-cancel:hover{background:#d0d0d0}.btn-save{background:linear-gradient(135deg,#4169e1,#667eea)}.btn-save:hover:not(:disabled){box-shadow:0 4px 12px #4169e14d;transform:translateY(-1px)}.public-holidays-list{max-height:500px;overflow-y:auto;padding:30px}.select-all-row{background:#e3f2fd;border-radius:8px;margin-bottom:15px;padding:15px}.select-all-row label{align-items:center;cursor:pointer;display:flex;gap:12px;margin:0}.select-all-row input[type=checkbox]{cursor:pointer;height:20px;width:20px}.public-holiday-item{border-bottom:1px solid #f0f0f0;padding:12px}.public-holiday-item:last-child{border-bottom:none}.public-holiday-item label{align-items:center;cursor:pointer;display:flex;gap:12px;margin:0}.public-holiday-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.public-holiday-item span{display:flex;flex-direction:column;gap:4px}.public-holiday-item strong{color:#333;font-size:15px}.public-holiday-item small{color:#7f8c8d;font-size:13px}@media (max-width:768px){.holiday-management-container{padding:20px}.holiday-header{gap:20px}.holiday-actions,.holiday-header{flex-direction:column}.btn-add,.btn-quick-add{width:100%}.holiday-card-header{flex-direction:column;gap:15px}.holiday-actions-btns{width:100%}.btn-delete-small,.btn-edit-small{flex:1 1}.modal-content{margin:10px;max-height:95vh}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar-container{background:#f5f5f5;min-height:100vh;padding:20px}.calendar-header{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 30px}.header-left h1{color:#4169e1;font-size:32px;margin:0 0 5px}.header-left p{color:#666;font-size:14px;margin:0}.btn-close-calendar{background:#4169e1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .3s}.btn-close-calendar:hover{background:#3154c4}.calendar-controls{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;gap:15px;justify-content:space-between;margin-bottom:20px;padding:20px}.calendar-controls,.controls-left{align-items:center;display:flex;flex-wrap:wrap}.controls-left{gap:10px}.controls-right{align-items:center;display:flex;gap:15px}.btn-nav,.btn-today{background:#4169e1;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .3s}.btn-nav:hover,.btn-today:hover{background:#3154c4}.btn-today{background:#28a745}.btn-today:hover{background:#218838}.current-month{color:#333;font-size:20px;margin:0;padding:0 20px}.school-filter{border:2px solid #ddd;border-radius:5px;cursor:pointer;font-size:14px;padding:8px 12px}.view-toggle{border:2px solid #4169e1;border-radius:5px;gap:0;overflow:hidden}.view-toggle button{border:none;color:#4169e1;font-weight:600;padding:8px 16px;transition:all .3s}.view-toggle button:hover{background:#f0f4ff}.calendar-legend{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;gap:20px;margin-bottom:20px;padding:15px 20px}.legend-item{align-items:center;display:flex;font-size:14px;gap:8px}.legend-color{border-radius:3px;height:20px;width:20px}.legend-color.lesson{background:#4169e1}.legend-color.holiday-public{background:#dc3545}.legend-color.holiday-8-lessons{background:#ff6b6b}.legend-color.holiday-10-lessons{background:#ff9f43}.legend-color.term-boundary{background:#28a745}.calendar-grid{grid-gap:10px;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);padding:20px}.calendar-grid.week{grid-template-rows:auto 1fr}.day-header{background:#f8f9ff;border-radius:5px;color:#4169e1;font-weight:700;padding:10px;text-align:center}.calendar-day{background:#fff;border:2px solid #e0e0e0;border-radius:8px;min-height:120px;padding:8px;position:relative;transition:all .3s}.calendar-grid.week .calendar-day{min-height:400px}.calendar-day:hover{border-color:#4169e1;box-shadow:0 2px 8px #4169e133}.calendar-day.empty{background:#fafafa;border-color:#f0f0f0}.calendar-day.today{background:#f0fff4;border-color:#28a745;border-width:3px}.calendar-day.has-holiday:before{background:#dc3545;border-radius:6px 6px 0 0;content:"";height:6px;left:0;position:absolute;right:0;top:0;z-index:1}.day-number{color:#333;font-size:16px;font-weight:700;margin-bottom:8px}.calendar-day.today .day-number{color:#28a745;font-size:18px}.calendar-event{border-radius:4px;cursor:pointer;font-size:12px;margin-bottom:4px;padding:4px 6px;transition:transform .2s}.calendar-event:hover{transform:translateX(2px)}.calendar-event.lesson{background:#e7f1ff;border-left:3px solid #4169e1;color:#0d47a1}.calendar-event.holiday.public{background:#ffe7e7;border-left:3px solid #dc3545;color:#c62828}.calendar-event.holiday.term-8-lessons{background:#ffebeb;border-left:3px solid #ff6b6b;color:#d63447}.calendar-event.holiday.term-10-lessons{background:#fff4e6;border-left:3px solid #ff9f43;color:#cc7a00}.calendar-event.holiday.term-break{background:#fff0f0;border-left:3px solid #ef5350;color:#b71c1c}.term-boundary{background:#e8f5e9;border-left:3px solid #28a745;border-radius:4px;color:#2e7d32;font-size:11px;font-weight:600;margin-bottom:4px;padding:4px 6px}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;background:#fff;border-radius:10px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:linear-gradient(135deg,#4169e1,#667eea);border-bottom:2px solid #f0f0f0;border-radius:10px 10px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h2{font-size:20px;margin:0}.modal-close{background:#fff3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:24px;padding:5px 12px;transition:background .2s}.modal-close:hover{background:#ffffff4d}.modal-body{padding:25px}.modal-body p{color:#333;font-size:14px;margin:12px 0}.modal-body p strong{color:#4169e1;display:inline-block;min-width:150px}@media (max-width:768px){.calendar-controls{align-items:stretch;flex-direction:column}.controls-left,.controls-right{justify-content:center;width:100%}.calendar-grid{gap:5px;padding:10px}.calendar-day{min-height:80px;padding:5px}.day-number{font-size:14px}.calendar-event{font-size:10px;padding:3px 5px}}.calendar-event.prospect-demo{background:linear-gradient(135deg,gold,#ffed4e);border-left:4px solid #ff8c00;color:#000;font-weight:600}.calendar-event.prospect-demo:hover{background:linear-gradient(135deg,#ffed4e,gold);box-shadow:0 2px 8px #ffd70066;transform:translateY(-1px)}.legend-color.prospect-demo{background:linear-gradient(135deg,gold,#ffed4e);border:1px solid #ff8c00}.calendar-event.scheduled-demo{background:linear-gradient(135deg,#fb923c,#fdba74);border-left:4px solid #ea580c;color:#000;font-weight:600}.calendar-event.scheduled-demo:hover{background:linear-gradient(135deg,#fdba74,#fb923c);box-shadow:0 2px 8px #fb923c66;transform:translateY(-1px)}.legend-color.scheduled-demo{background:linear-gradient(135deg,#fb923c,#fdba74);border:1px solid #ea580c}.btn-activate-school{background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:8px;box-shadow:0 2px 8px #10b9814d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s;width:100%}.btn-activate-school:hover{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.modal-actions{border-top:2px solid #f0f0f0;margin-top:20px}.pending-enrollments-container{margin:0 auto;max-width:1400px;padding:30px}.page-header{background:linear-gradient(135deg,#ffeb3b,#fbc02d);border-radius:12px;color:#333;margin-bottom:30px;padding:30px}.back-btn{background:#f0f0f0;border-radius:6px;font-size:14px;margin-bottom:15px;transition:background .2s}.back-btn:hover{background:#e0e0e0}.page-header h1{color:#333;font-size:32px;margin-bottom:8px;margin-top:0}.subtitle{color:#666;font-size:16px}.table-actions{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.actions-left,.table-actions{align-items:center;display:flex}.actions-left{gap:15px}.actions-right{display:flex;gap:10px}.btn-select-all{background:#fff;border:2px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-select-all:hover{background:#667eea;color:#fff}.selected-count{color:#666;font-size:14px;font-weight:500}.btn-approve-multiple{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-approve-multiple:hover:not(:disabled){background:#229954;transform:translateY(-2px)}.btn-approve-multiple:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.btn-reject-multiple{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-reject-multiple:hover:not(:disabled){background:#c0392b;transform:translateY(-2px)}.btn-reject-multiple:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.enrollments-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.enrollments-table{border-collapse:collapse;width:100%}.enrollments-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.enrollments-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.enrollments-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .2s}.enrollments-table tbody tr:hover{background:#f8f9fa}.enrollments-table tbody tr.selected{background:#e8f4f8}.enrollments-table td{padding:15px;vertical-align:middle}.checkbox-col{text-align:center;width:50px}.checkbox-col input[type=checkbox]{cursor:pointer;height:18px;width:18px}.school-col{min-width:250px}.account-col{min-width:140px}.account-preview{background:#e8f5e9;border-radius:4px;color:#2e7d32;font-family:monospace;font-size:13px;font-weight:600;padding:4px 8px}.account-pending{color:#999;font-style:italic}.date-input-col{min-width:150px}.date-input{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px;transition:border-color .2s;width:140px}.date-input:focus{border-color:#667eea;outline:none}.school-select-wrapper{display:flex;flex-direction:column;gap:5px}.school-select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:border-color .2s}.school-select:focus{border-color:#667eea;outline:none}.school-select.needs-selection{background:#fff8e1;border-color:#f39c12}.school-matched{align-items:center;color:#27ae60;display:flex;font-weight:600;gap:5px}.school-warning-inline{color:#e67e22;font-size:12px;font-style:italic}.date-col{color:#666;font-size:13px;white-space:nowrap}.empty-state{box-shadow:0 2px 8px #0000001a;padding:80px 20px}.empty-state h2{color:#333;margin-bottom:10px}.empty-state p{font-size:16px}.loading{padding:60px}@media (max-width:1024px){.enrollments-table{font-size:13px}.enrollments-table td,.enrollments-table th{padding:10px}.school-col{min-width:200px}}@media (max-width:768px){.pending-enrollments-container{padding:15px}.table-actions{align-items:stretch;flex-direction:column;gap:15px}.actions-left,.actions-right{flex-direction:column;width:100%}.btn-approve-multiple,.btn-reject-multiple,.btn-select-all{width:100%}.enrollments-table-container{overflow-x:auto}.enrollments-table{min-width:800px}}.franchisee-info-container{background:#f8f9fa;margin:0 auto;max-width:1000px;min-height:100vh;padding:30px}.franchisee-info-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.franchisee-info-header h1{color:#2c3e50;font-size:32px;margin-bottom:10px}.franchisee-info-header .subtitle{color:#7f8c8d;font-size:16px;margin:0}.franchisee-info-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:40px}.form-section{border-bottom:2px solid #ecf0f1;margin-bottom:40px;padding-bottom:40px}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{align-items:center;color:#2c3e50;display:flex;font-size:22px;gap:10px;margin-bottom:8px}.section-note{color:#95a5a6;font-size:14px;font-style:italic;margin-bottom:25px}.form-row{grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group input,.form-group select{font-family:inherit;padding:12px 16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#3498db}.form-group small{color:#95a5a6;font-size:12px;font-style:italic;margin-top:5px}.banking-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:30px}.section-header-with-toggle{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.toggle-switch{align-items:center;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{background:#cbd5e0;border-radius:26px;height:26px;position:relative;transition:background .3s;width:50px}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:22px;left:2px;position:absolute;top:2px;transition:transform .3s;width:22px}.toggle-switch input:checked+.toggle-slider{background:#27ae60}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label{color:#2c3e50;font-size:14px;font-weight:600}.banking-fields{animation:slideDown .3s ease-out;padding-top:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-actions{border-top:2px solid #ecf0f1;gap:15px;justify-content:flex-end;margin-top:40px;padding-top:30px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s}.btn-cancel{background:#ecf0f1;color:#7f8c8d}.btn-cancel:hover:not(:disabled){background:#bdc3c7}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.btn-save:hover:not(:disabled){box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.franchisee-info-container{padding:20px}.franchisee-info-form{padding:25px}.form-row{gap:0;grid-template-columns:1fr}.section-header-with-toggle{flex-direction:column;gap:15px}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.statement-generation-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:30px}.statement-generation-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.statement-generation-header h1{color:#2c3e50;font-size:32px;margin-bottom:10px}.statement-generation-header .subtitle{color:#7f8c8d;font-size:16px;margin:0}.back-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:20px;padding:10px 20px;transition:background .3s}.back-button:hover{background:#2980b9}.statement-generation-content{grid-gap:25px;display:grid;gap:25px}.generation-section{background:#fff;border-left:5px solid #3498db;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.section-header{border-bottom:2px solid #ecf0f1;margin-bottom:25px;padding-bottom:15px}.section-header h2{color:#2c3e50;font-size:24px;margin-bottom:8px}.section-header p{color:#7f8c8d;font-size:14px;margin:0}.form-group label{color:#34495e}.form-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .3s;width:100%}.form-select:focus{border-color:#3498db;outline:none}.form-select:disabled{background:#f5f5f5;color:#95a5a6;cursor:not-allowed}.radio-group{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:15px}.radio-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background .2s}.radio-label:hover{background:#e8f4f8}.radio-label input[type=radio]{accent-color:#3498db;cursor:pointer;height:18px;width:18px}.radio-label input[type=radio]:disabled{cursor:not-allowed;opacity:.5}.radio-label span{color:#2c3e50;font-size:15px;font-weight:500}.radio-label input[type=radio]:disabled+span{color:#95a5a6}.info-note{border-left:3px solid #3498db;border-radius:4px;font-size:13px;line-height:1.5;margin-top:10px;padding:10px 12px}.info-note,.student-count-info{background:#e8f4f8;color:#2c3e50}.student-count-info{border-left:4px solid #3498db;border-radius:6px;font-size:14px;font-weight:600;margin:15px 0;padding:12px 16px}.info-box{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;display:flex;gap:15px;margin-bottom:20px;padding:15px}.info-icon{flex-shrink:0;font-size:24px}.info-text strong{color:#856404;display:block;font-size:15px;margin-bottom:5px}.info-text p{color:#856404;font-size:13px;line-height:1.5;margin:0}.btn-generate{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:16px 24px;transition:all .3s;width:100%}.btn-single{background:linear-gradient(135deg,#ff9500,#ff5e3a);box-shadow:0 4px 12px #ff95004d;color:#fff}.btn-single:hover:not(:disabled){box-shadow:0 6px 16px #ff950066;transform:translateY(-2px)}.btn-school{background:linear-gradient(135deg,#34c759,#30d158);box-shadow:0 4px 12px #34c7594d;color:#fff}.btn-school:hover:not(:disabled){box-shadow:0 6px 16px #34c75966;transform:translateY(-2px)}.btn-all{background:linear-gradient(135deg,#007aff,#5856d6);box-shadow:0 4px 12px #007aff4d;color:#fff}.btn-all:hover:not(:disabled){box-shadow:0 6px 16px #007aff66;transform:translateY(-2px)}.btn-generate:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.loading{color:#7f8c8d;padding:60px 20px}@media (max-width:768px){.generation-section,.statement-generation-container{padding:20px}.section-header h2{font-size:20px}.btn-generate{font-size:15px;padding:14px 20px}.radio-group{padding:12px}.radio-label{padding:8px}.button-group{display:flex;gap:10px;margin-top:20px}.btn-email{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 25px;transition:all .3s}.btn-email:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-email:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-single{flex:1 1}}.month-end-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.month-end-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:20px;margin-bottom:30px;padding:20px}.month-end-header h1{color:#2c3e50;font-size:28px;margin:0}.month-selection-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.selection-row{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.selection-row label{color:#2c3e50;font-weight:600}.selection-row select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:16px;min-width:150px;padding:10px 15px;transition:all .3s}.selection-row select:hover:not(:disabled){border-color:#4169e1}.selection-row select:disabled{background:#f5f5f5;cursor:not-allowed}.locked-notice{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #28a745;border-radius:8px;color:#155724;font-weight:600;margin-top:15px;padding:15px;text-align:center}.royalty-summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.royalty-summary-card h2{color:#2c3e50;font-size:22px;margin:0 0 20px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:25px}.summary-item{background:#f8f9fa;border-left:4px solid #4169e1;border-radius:8px;justify-content:space-between;padding:15px}.summary-item.highlight{background:#e3f2fd;border-left-color:#2196f3;font-weight:600}.summary-label{color:#555;font-size:14px}.summary-value{color:#2c3e50;font-size:18px;font-weight:600}.monthly-breakdown{border-top:2px solid #e0e0e0;margin-top:25px;padding-top:25px}.monthly-breakdown h3{color:#2c3e50;margin:0 0 15px}.term-breakdown{border-top:2px solid #e0e0e0;margin-top:25px;padding-top:25px}.term-breakdown h3{color:#2c3e50;margin:0 0 15px}.term-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.term-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;display:flex;flex-direction:column;padding:15px 10px;transition:all .3s}.term-item:hover{background:#e3f2fd;border-color:#4169e1}.term-name{color:#666;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.term-amount{color:#2c3e50;font-size:16px;font-weight:700}.status-badge.active{background:#c8e6c9;color:#2e7d32}.status-badge.inactive{background:#ffcdd2;color:#c62828}.monthly-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.month-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;display:flex;flex-direction:column;padding:12px 8px;transition:all .3s}.month-item.current{background:#e3f2fd;border-color:#2196f3}.month-name{color:#666;font-size:11px;font-weight:600;margin-bottom:5px;text-transform:uppercase}.month-amount{color:#2c3e50;font-size:13px;font-weight:600}.sod-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.sod-card h2{color:#2c3e50;font-size:22px;margin:0 0 20px}.sod-items{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.sod-item{align-items:center;border-radius:8px;min-height:50px;padding:15px}.sod-item.editable{background:#fff3e0}.sod-item.total{background:#c8e6c9;border:2px solid #4caf50;font-size:18px;margin-top:10px}.sod-item input[type=number]{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:8px 12px;text-align:right;width:150px}.fee-input-group{align-items:center;display:flex;gap:10px}.fee-input-group .description-input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;min-width:150px;padding:8px 12px}.fee-input-group .amount-input{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:8px 12px;text-align:right;width:120px}.other-input-group{display:flex;gap:10px}.other-input-group input[type=text]{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.sod-amount{color:#2c3e50;font-size:18px;font-weight:600}.bank-details{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;padding:20px}.bank-details p{color:#1565c0;font-size:14px;margin:5px 0}.bank-details strong{color:#0d47a1}.royalty-bank{background:#e8f5e9;border-left-color:#2e7d32}.royalty-bank p{color:#1b5e20}.royalty-bank strong{color:#2e7d32}.brandbuilding-section{border-top:2px dashed #ccc;margin-top:30px;padding-top:25px}.brandbuilding-total{background:#fff3e0!important;border:2px solid #e65100!important;border-left-width:4px!important;color:#000!important}.brandbuilding-bank{background:#fff3e0;border-left-color:#e65100}.brandbuilding-bank p{color:#bf360c}.brandbuilding-bank strong{color:#e65100}.royalty-total{background:#e8f5e9!important;border:2px solid #2e7d32!important;border-left-width:4px!important}.royalty-total,.royalty-total span{color:#333!important}.stats-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-around;margin-bottom:25px;padding:25px}.stat{align-items:center;display:flex;flex-direction:column;min-width:150px;padding:15px}.stat-label{color:#666;font-size:14px;margin-bottom:8px;text-align:center}.stat-value{color:#4169e1;font-size:32px;font-weight:700}.month-end-return-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.month-end-return-table h2{color:#2c3e50;font-size:22px;margin:0 0 20px}.table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.month-end-return-table table{border-collapse:collapse;font-size:13px;min-width:800px;table-layout:fixed;width:100%}.month-end-return-table th{background:#4169e1;color:#fff;font-weight:600;padding:12px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.month-end-return-table th.current-month{background:#2196f3}.month-end-return-table td{border-bottom:1px solid #e0e0e0;padding:10px 8px;text-align:left}.month-end-return-table td:first-child,.month-end-return-table th:first-child{width:18%}.month-end-return-table td:nth-child(2),.month-end-return-table th:nth-child(2){width:12%}.month-end-return-table td:nth-child(3),.month-end-return-table th:nth-child(3){text-align:center;width:10%}.month-end-return-table td:nth-child(n+4),.month-end-return-table th:nth-child(n+4){text-align:right;white-space:nowrap;width:10%}.month-end-return-table td.current-month{background:#e3f2fd;font-weight:600}.month-end-return-table tr:hover{background:#f5f5f5}.month-end-return-table tr.inactive-student{background:#ffebee;opacity:.7}.month-end-return-table tr.inactive-student:hover{background:#ffcdd2}.totals-row{background:#f8f9fa!important;border-top:3px solid #4169e1!important}.totals-row td{font-weight:700;padding:15px 8px!important}.action-buttons{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap;gap:15px;margin-top:30px;padding:25px}.export-button{background:#4caf50;border-radius:8px;box-shadow:0 2px 4px #0003;padding:15px 30px;transition:all .3s}.export-button:hover{background:#45a049;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.submit-button{background:#2196f3;border:none;border-radius:8px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 40px;transition:all .3s}.submit-button:hover:not(:disabled){background:#1976d2;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.submit-button:disabled{background:#ccc;cursor:not-allowed}.loading-spinner{align-items:center;color:#4169e1;display:flex;font-size:20px;font-weight:600;justify-content:center;min-height:400px}.totals-summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.totals-summary-card h2{color:#2c3e50;font-size:22px;margin:0 0 20px}.totals-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.total-item{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;padding:15px}.total-item.grand-total{background:#e8f5e9;border-color:#4caf50}.total-label{color:#666;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.total-value{color:#2c3e50;font-size:18px;font-weight:700}.total-item.grand-total .total-value{color:#2e7d32}@media (max-width:768px){.month-end-container{padding:10px}.summary-grid{grid-template-columns:1fr}.monthly-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.action-buttons,.stats-card{flex-direction:column}.export-button,.submit-button{width:100%}}.view-submissions-container{background:linear-gradient(135deg,#f5f7fa,#e4e9f2);margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.submissions-header{margin-bottom:30px}.submissions-header .back-button{background:#4169e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:15px;padding:10px 20px;transition:background .2s}.submissions-header .back-button:hover{background:#3154c4}.submissions-header h1{color:#1a1a2e;font-size:28px;margin:0 0 5px}.submissions-header .subtitle{color:#666;font-size:16px;margin:0}.empty-state{border-radius:16px;box-shadow:0 4px 20px #00000014;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h2{color:#1a1a2e;margin:0 0 10px}.empty-state p{color:#666;margin:5px 0}.submissions-list{display:flex;flex-direction:column;gap:16px}.submission-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.submission-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.submission-card-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.submission-period{align-items:baseline;display:flex;gap:10px}.month-name{font-size:24px;font-weight:700}.year{font-size:18px;opacity:.9}.status-badge{padding:6px 14px}.status-badge.locked{background:#fff3;color:#fff}.submission-card-body{padding:20px 24px}.summary-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.summary-item{flex-direction:column;gap:4px}.summary-item .label{font-size:12px;letter-spacing:.5px;text-transform:uppercase}.summary-item .value{color:#1a1a2e}.summary-item .value.highlight{color:#27ae60}.submission-meta{align-items:center;border-top:1px solid #eee;color:#666;display:flex;font-size:13px;justify-content:space-between;padding-top:16px}.submission-card-footer{background:#f8f9fa;border-top:1px solid #eee;padding:12px 24px}.view-link{color:#4169e1;font-size:14px;font-weight:500}.submission-detail{display:flex;flex-direction:column;gap:20px}.detail-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.detail-card h2{border-bottom:2px solid #eee;color:#1a1a2e;font-size:20px;margin:0 0 20px;padding-bottom:12px}.info-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.info-row{align-items:center;display:flex;justify-content:space-between;padding:10px 0}.info-row:not(:last-child){border-bottom:1px solid #fff3}.info-label{font-size:14px;opacity:.9}.info-value{font-weight:600}.info-card .status-badge.locked{background:#ffffff40}.calculation-grid{display:flex;flex-direction:column;gap:12px}.calc-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.calc-row:last-child{border-bottom:none}.calc-row .amount{color:#1a1a2e;font-weight:600}.calc-row .amount.negative{color:#e74c3c}.calc-row.highlight{background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:0 0 16px 16px;margin:10px -24px -24px;padding:16px 24px}.calc-row.highlight span{color:#fff}.highlight-value{color:#fff!important;font-size:20px!important}.term-grid-detail{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,1fr)}.term-item-detail{background:#f8f9fa;border-radius:12px;padding:16px;text-align:center}.term-label{color:#666;display:block;font-size:12px;margin-bottom:8px;text-transform:uppercase}.term-value{color:#1a1a2e;font-size:18px;font-weight:700}.deposits-section{margin-bottom:24px}.deposits-section:last-child{margin-bottom:0}.deposits-section h3{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.deposits-section.brandbuilding{background:#fff3cd;border-radius:0 0 16px 16px;margin:0 -24px -24px;padding:20px 24px}.deposit-row{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:8px 0}.deposit-row:last-child{border-bottom:none}.deposit-row.total-row{background:#f0f0f0;border-bottom:none;margin:10px -24px 0;padding:12px 24px}.deposits-section.brandbuilding .deposit-row.total-row{background:#ffc107;color:#333}.total-amount{color:#27ae60;font-size:18px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.stat-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:24px;text-align:center}.stat-number{color:#4169e1;display:block;font-size:36px;font-weight:700;margin-bottom:8px}.stat-item .stat-label{color:#666;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.action-buttons{display:flex;gap:16px;justify-content:center;margin-top:10px}.export-button{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:transform .2s,box-shadow .2s}.export-button.pdf-button{background:linear-gradient(135deg,#e74c3c,#c0392b)}.export-button.pdf-button:hover:not(:disabled){box-shadow:0 6px 20px #e74c3c4d;transform:translateY(-2px)}.export-button.csv-button{background:linear-gradient(135deg,#27ae60,#2ecc71)}.export-button.csv-button:hover{box-shadow:0 6px 20px #27ae604d;transform:translateY(-2px)}.export-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.students-table-wrapper{margin-top:15px;overflow-x:auto}.students-breakdown-table{border-collapse:collapse;font-size:13px;width:100%}.students-breakdown-table td,.students-breakdown-table th{border-bottom:1px solid #eee;padding:10px 12px;text-align:left}.students-breakdown-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.students-breakdown-table td.amount-col,.students-breakdown-table th.amount-col{text-align:right}.students-breakdown-table td.total-col,.students-breakdown-table th.total-col{background:#667eea1a;font-weight:600}.students-breakdown-table tbody tr:hover{background:#f8f9fa}.students-breakdown-table tfoot .totals-row{background:linear-gradient(135deg,#f8f9fa,#e9ecef);font-weight:700}.students-breakdown-table tfoot .totals-row td{border-top:2px solid #667eea;padding:12px}.no-students-message{background:#fff3cd;border-radius:10px;margin-top:15px;padding:30px;text-align:center}.no-students-message p{color:#856404;margin:5px 0}.no-students-message .note{color:#666;font-size:12px}.loading-spinner{color:#666;font-size:18px;padding:60px;text-align:center}@media (max-width:768px){.view-submissions-container{padding:15px}.summary-row{gap:12px;grid-template-columns:1fr}.term-grid-detail{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}.submission-meta{align-items:flex-start;flex-direction:column;gap:8px}}.admin-login-container{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);display:flex;justify-content:center;min-height:100vh}.admin-login-box{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000004d;max-width:400px;padding:40px;width:100%}.logo{margin-bottom:20px;text-align:center}.admin-login-box h1{color:#dc3545;font-size:24px;margin-bottom:10px;text-align:center}.admin-login-box h2{color:#666;font-size:18px;font-weight:400;margin-bottom:30px;text-align:center}.form-group label{display:block;font-weight:500;margin-bottom:5px}.form-group input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.form-group input:focus{border-color:#dc3545}.admin-login-box button{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background .3s;width:100%}.admin-login-box button:hover{background:#c82333}.admin-login-box button:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fee;border-radius:5px;color:#c33;margin-bottom:15px;padding:10px;text-align:center}.help-text{color:#666;font-size:14px;margin-top:20px;text-align:center}@media (max-width:480px){.admin-login-box{margin:20px;padding:30px 20px}}.admin-dashboard{background:#f5f5f5;min-height:100vh}.admin-header{align-items:center;background:#dc3545;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 40px}.admin-header h1{font-size:28px;margin:0 0 5px}.admin-header p{font-size:14px;margin:0;opacity:.9}.logout-button{background:#fff;border:none;border-radius:5px;color:#dc3545;cursor:pointer;font-size:14px;font-weight:600;padding:10px 25px}.logout-button:hover{background:#f8f9fa}.dashboard-content{margin:0 auto;max-width:1400px;padding:30px 20px}.filters{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.filters label{color:#333;font-weight:600}.filters select{border:1px solid #ddd;border-radius:5px;cursor:pointer;font-size:14px;padding:8px 15px}.order-count{color:#666;font-weight:600}.export-excel-btn{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-left:auto;padding:10px 20px;white-space:nowrap}.export-excel-btn:hover{background:#218838}.loading{font-size:18px}.loading,.no-orders{color:#666;padding:50px;text-align:center}.no-orders{background:#fff;border-radius:10px}.orders-table{display:flex;flex-direction:column;gap:20px}.order-card{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;padding:25px}.order-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.order-header h3{color:#333;font-size:20px;margin:0 0 5px}.franchisee-email{color:#666;font-size:14px;margin:5px 0}.order-date{color:#999;font-size:13px;margin:5px 0 0}.status-badge{border-radius:20px;color:#fff;font-size:13px;padding:6px 18px;text-transform:uppercase}.order-details{margin-bottom:20px}.detail-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:10px}.detail-row span{background:#f8f9fa;border-radius:5px;color:#555;font-size:14px;padding:6px 12px}.order-actions{display:flex;flex-wrap:wrap;gap:10px}.order-actions button{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.edit-btn{background:#ffc107;color:#333}.edit-btn:hover{background:#e0a800}.download-btn{background:#17a2b8;color:#fff}.download-btn:hover{background:#138496}.status-btn{color:#fff}.processing-btn{background:#4169e1}.processing-btn:hover{background:#3154c4}.completed-btn{background:#28a745}.completed-btn:hover{background:#218838}.pending-btn{background:orange}.pending-btn:hover{background:#e69500}.edit-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.edit-modal{border-radius:10px;max-width:600px}.edit-modal h2{margin:0 0 25px}.edit-form{display:flex;flex-direction:column;gap:20px}.edit-form .form-section{border-bottom:1px solid #eee;padding-bottom:15px}.edit-form .form-section:last-of-type{border-bottom:none}.edit-form h3{color:#555;font-size:16px;margin:0 0 10px}.edit-form input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:14px;margin-bottom:10px;padding:10px;width:100%}.edit-form input:focus{border-color:#4169e1;outline:none}.modal-buttons{display:flex;gap:10px;margin-top:20px}.modal-buttons button{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px}.save-button{background:#28a745;color:#fff}.save-button:hover{background:#218838}.cancel-button{background:#6c757d;color:#fff}.cancel-button:hover{background:#5a6268}@media (max-width:768px){.admin-header{align-items:flex-start;flex-direction:column;gap:15px;padding:15px 20px}.admin-header h1{font-size:22px}.logout-button{width:100%}.dashboard-content{padding:20px 10px}.filters{align-items:stretch;flex-direction:column}.filters select{width:100%}.order-count{margin-left:0}.order-header{gap:10px}.order-actions,.order-header{flex-direction:column}.order-actions button{width:100%}.detail-row{flex-direction:column;gap:8px}}.ho-dashboard .admin-header{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.ho-dashboard .admin-header .header-left{align-items:center;display:flex;gap:15px}.ho-dashboard .admin-header .appbar-logo{border-radius:10px;height:50px;width:50px}.ho-dashboard .admin-header .header-buttons{display:flex;gap:10px}.ho-dashboard .logout-button{color:#9c27b0}.ho-dashboard .back-btn{background:#fff3;border:2px solid #fff;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.ho-dashboard .back-btn:hover{background:#ffffff4d}.ho-dashboard-content{margin:0 auto;max-width:1200px;padding:30px 20px}.ho-stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:35px}.ho-stat-card{align-items:center;background:#fff;border-left:4px solid #9c27b0;border-radius:12px;box-shadow:0 3px 10px #00000014;display:flex;gap:15px;padding:20px 25px}.ho-stat-card.pending{border-left-color:#ff9800}.ho-stat-card .stat-icon{font-size:32px}.ho-stat-card .stat-label{color:#666;font-size:13px;margin-bottom:3px}.ho-stat-card .stat-value{color:#333;font-size:28px;font-weight:700}.ho-category-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:35px}.ho-category-card{align-items:center;border:none;border-radius:16px;box-shadow:0 4px 15px #00000026;color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:35px 25px;text-align:center;transition:transform .2s,box-shadow .2s}.ho-category-card:hover{box-shadow:0 8px 25px #0003;transform:translateY(-5px)}.ho-category-card .category-icon{font-size:48px;margin-bottom:15px}.ho-category-card .category-title{font-size:20px;font-weight:700;margin-bottom:5px}.ho-category-card .category-subtitle{font-size:14px;opacity:.9}.ho-category-card.card-blue{background:linear-gradient(135deg,#2196f3,#1976d2)}.ho-category-card.card-green{background:linear-gradient(135deg,#4caf50,#388e3c)}.ho-category-card.card-purple{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.ho-category-card.card-orange{background:linear-gradient(135deg,#ff9800,#f57c00)}.ho-category-card.card-teal{background:linear-gradient(135deg,#00bcd4,#0097a7)}.ho-category-card.card-yellow{background:linear-gradient(135deg,#ffc107,#ffa000)}.ho-quick-actions{background:#fff;border-radius:12px;box-shadow:0 3px 10px #00000014;padding:25px}.ho-quick-actions h3{color:#333;font-size:18px;margin:0 0 15px}.ho-quick-actions .quick-info{color:#666;line-height:1.6}.ho-quick-actions .quick-info p{margin:0}.admin-fee-setup-container{background:#f5f5f5;min-height:100vh}.admin-fee-setup-container .setup-nav-bar{background:linear-gradient(135deg,#9c27b0,#7b1fa2);padding:20px}.admin-fee-setup-container .back-btn{background:#fff3;border:2px solid #fff;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.admin-fee-setup-container .back-btn:hover{background:#ffffff4d}@media (max-width:768px){.ho-dashboard .admin-header{flex-direction:column;gap:15px}.ho-dashboard .admin-header .header-left{align-items:flex-start;flex-direction:column;width:100%}.ho-dashboard .admin-header .header-buttons{flex-direction:column;width:100%}.ho-dashboard .back-btn,.ho-dashboard .logout-button{width:100%}.ho-category-grid,.ho-stats-container{grid-template-columns:1fr 1fr}.ho-category-card{padding:25px 15px}.ho-category-card .category-icon{font-size:36px}.ho-category-card .category-title{font-size:16px}}.ho-month-end-container{margin:0 auto;max-width:1400px;padding:20px}.ho-month-end-header{margin-bottom:30px;text-align:center}.ho-month-end-header h1{color:#333;font-size:28px;margin-bottom:5px}.ho-month-end-header .subtitle{color:#666;font-size:16px}.month-year-selector{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px;padding:20px}.selector-group{align-items:center;display:flex;gap:10px}.selector-group label{color:#333;font-weight:600}.selector-group select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:15px;min-width:150px;padding:10px 15px}.selector-group select:focus{border-color:#4169e1;outline:none}.back-btn{margin-left:auto}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card .card-icon{font-size:32px}.summary-card .card-label{font-size:14px;margin-bottom:5px}.summary-card .card-value{font-size:24px}.submissions-card{border-left:4px solid #28a745}.submissions-card .card-value{color:#28a745}.pending-card{border-left:4px solid #ffc107}.pending-card .card-value{color:#856404}.royalty-card{border-left:4px solid #4169e1}.royalty-card .card-value{color:#4169e1}.bb-card{border-left:4px solid #9c27b0}.bb-card .card-value{color:#9c27b0}.loading-state{color:#666;font-size:18px;padding:50px;text-align:center}.submissions-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.submissions-section h2{color:#28a745;font-size:20px;margin-bottom:20px}.empty-state{padding:40px}.submissions-table-container{overflow-x:auto}.submissions-table{border-collapse:collapse;width:100%}.submissions-table td,.submissions-table th{border-bottom:1px solid #eee;padding:12px 15px;text-align:left}.submissions-table th{background:#f8f9fa;color:#333;font-size:13px;font-weight:600;text-transform:uppercase}.submissions-table tbody tr:hover{background:#f8f9fa}.submissions-table tbody tr.expanded{background:#e3f2fd}.franchisee-info{display:flex;flex-direction:column}.franchisee-info small{color:#666;font-size:12px}.other-desc{color:#666;display:block;font-size:11px;font-style:italic}.bb-amount{color:#9c27b0;font-weight:600}.total-amount{color:#4169e1;font-size:16px;font-weight:700}.view-details-btn{background:#4169e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 15px;white-space:nowrap}.view-details-btn:hover{background:#3457b1}.detail-row td{background:#f8f9fa;padding:0!important}.loading-detail{color:#666;padding:30px;text-align:center}.submission-details{padding:25px}.sod-section{background:#fff;border:1px solid #ddd;border-radius:10px;margin-bottom:25px;padding:20px}.sod-section h3{color:#333;font-size:18px;margin-bottom:15px}.sod-grid{grid-gap:10px;display:grid;gap:10px}.sod-item{background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:10px 15px}.sod-item.total{background:#4169e1}.sod-item.bb-total,.sod-item.total{color:#fff;font-size:16px;font-weight:700}.sod-item.bb-total{background:#9c27b0}.return-section{background:#fff;border:1px solid #ddd;border-radius:10px;padding:20px}.return-section h3{color:#333;font-size:18px;margin-bottom:15px}.return-table-container{max-height:400px;overflow-x:auto;overflow-y:auto}.return-table{border-collapse:collapse;font-size:13px;width:100%}.return-table td,.return-table th{border-bottom:1px solid #eee;padding:10px 12px;text-align:left}.return-table th{background:#f0f0f0;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.return-table tbody tr.inactive{background:#fff3cd;opacity:.6}.return-table .status-badge{border-radius:4px;font-size:11px;font-weight:600;padding:3px 8px}.return-table .status-badge.active{background:#d4edda;color:#155724}.return-table .status-badge.inactive{background:#fff3cd;color:#856404}.return-table tfoot .totals-row{background:#e8e8e8;font-weight:700}.return-table tfoot .totals-row td{border-top:2px solid #333}.not-submitted-section{background:#fff3cd;border:1px solid #ffc107;border-radius:12px;padding:25px}.not-submitted-section h2{color:#856404;font-size:20px;margin-bottom:20px}.not-submitted-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.not-submitted-item{background:#fff;border:1px solid #ffc107;border-radius:8px;display:flex;flex-direction:column;padding:15px}.not-submitted-item .franchisee-name{color:#333;font-weight:600}.not-submitted-item .franchisee-email{color:#666;font-size:13px}@media (max-width:768px){.month-year-selector{align-items:stretch;flex-direction:column}.selector-group{justify-content:space-between}.back-btn{margin-left:0;margin-top:10px}.summary-cards{grid-template-columns:1fr 1fr}.submissions-table td,.submissions-table th{font-size:12px;padding:8px 10px}}.ho-franchisees-container{margin:0 auto;max-width:1400px;padding:20px}.ho-franchisees-header{margin-bottom:30px;text-align:center}.ho-franchisees-header h1{color:#333;font-size:28px;margin-bottom:5px}.ho-franchisees-header .subtitle{color:#666;font-size:16px}.controls-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:25px;padding:15px 20px}.search-box{flex:1 1;min-width:250px}.search-box input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 15px;width:100%}.search-box input:focus{border-color:#4169e1;outline:none}.view-toggle{display:flex;gap:5px}.view-toggle button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 15px}.view-toggle button.active{background:#4169e1;border-color:#4169e1;color:#fff}.back-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.back-btn:hover{background:#5a6268}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.summary-card{align-items:center;background:#fff;border-left:4px solid #4169e1;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px}.summary-card .card-icon{font-size:28px}.summary-card .card-label{color:#666;font-size:13px;margin-bottom:3px}.summary-card .card-value{color:#333;font-size:22px;font-weight:700}.summary-card .card-value.green{color:#28a745}.summary-card .card-value.orange{color:#fd7e14}.loading-detail,.loading-state{color:#666;font-size:16px;padding:40px;text-align:center}.empty-state{background:#fff;border-radius:12px;color:#666;padding:50px;text-align:center}.franchisees-list{display:flex;flex-direction:column;gap:15px}.franchisee-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.franchisee-card.expanded{box-shadow:0 4px 15px #00000026}.franchisee-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background .2s}.franchisee-header:hover{background:#f8f9fa}.franchisee-info h3{color:#333;font-size:18px;margin:0 0 5px}.franchisee-info .email{color:#666;font-size:14px;margin:0}.franchisee-info .phone{color:#888;font-size:13px;margin:5px 0 0}.franchisee-stats{align-items:center;display:flex;gap:15px}.franchisee-stats .stat{background:#f0f0f0;border-radius:20px;font-size:13px;font-weight:600;padding:5px 12px}.franchisee-stats .stat.schools{background:#e3f2fd;color:#1976d2}.franchisee-stats .stat.students{background:#e8f5e9;color:#388e3c}.expand-icon{color:#666;font-size:14px;margin-left:10px}.franchisee-details{background:#fafafa;border-top:1px solid #eee;padding:20px}.detail-stats{background:#fff;border-radius:8px;display:flex;gap:30px;margin-bottom:25px;padding:15px}.detail-stat{display:flex;flex-direction:column}.detail-stat .label{color:#666;font-size:13px}.detail-stat .value{color:#333;font-size:20px;font-weight:700}.detail-stat .value.green{color:#28a745}.detail-stat .value.orange{color:#fd7e14}.schools-section h4{color:#333;font-size:16px;margin-bottom:15px}.no-data{background:#fff;border-radius:8px;color:#666;font-style:italic;padding:15px}.schools-list{display:flex;flex-direction:column;gap:10px}.school-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.school-item.expanded{border-color:#4169e1}.school-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px}.school-header:hover{background:#f8f9fa}.school-info{align-items:center;display:flex;gap:10px}.status-dot{border-radius:50%;height:10px;width:10px}.status-dot.active{background:#28a745}.status-dot.inactive{background:#dc3545}.school-name{color:#333;font-weight:600}.school-code,.school-stats{color:#666;font-size:13px}.school-stats{align-items:center;display:flex;gap:15px}.student-count{background:#e8f5e9;border-radius:12px;color:#388e3c;font-weight:600;padding:3px 10px}.lesson-day{color:#888}.school-details{background:#f8f9fa;border-top:1px solid #eee;padding:15px}.school-meta{color:#666;display:flex;flex-wrap:wrap;font-size:13px;gap:25px;margin-bottom:15px}.school-meta p{margin:0}.no-students{color:#666;font-style:italic;padding:10px}.students-table{background:#fff;border-radius:6px;overflow:hidden}.students-table td,.students-table th{padding:10px 12px}.students-table th{background:#f0f0f0}.status-badge{border-radius:4px;font-size:11px;padding:3px 8px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#fff3cd;color:#856404}@media (max-width:768px){.controls-bar{align-items:stretch;flex-direction:column}.search-box{min-width:100%}.back-btn{width:100%}.franchisee-header{align-items:flex-start;flex-direction:column;gap:10px}.franchisee-stats{justify-content:flex-start;width:100%}.detail-stats{flex-direction:column;gap:15px}.school-header{align-items:flex-start;flex-direction:column;gap:8px}.school-stats{justify-content:flex-start;width:100%}.school-meta{flex-direction:column;gap:8px}}.ho-students-container{margin:0 auto;max-width:1600px;padding:20px}.ho-students-header{margin-bottom:25px;text-align:center}.ho-students-header h1{color:#333;font-size:28px;margin-bottom:5px}.ho-students-header .subtitle{color:#666;font-size:16px}.ho-students-loading{color:#666;font-size:18px;padding:60px;text-align:center}.view-mode-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.view-mode-toggle button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.view-mode-toggle button:hover{border-color:#9c27b0}.view-mode-toggle button.active{background:#9c27b0;border-color:#9c27b0;color:#fff}.view-mode-toggle .back-btn{background:#6c757d;border-color:#6c757d;color:#fff;margin-left:auto}.view-mode-toggle .back-btn:hover{background:#5a6268}.filters-section{border-radius:12px;padding:20px}.toggle-filters-btn{background:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-size:14px;margin-bottom:15px;padding:8px 16px}.filters-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.filter-group input,.filter-group select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px}.filter-group input:focus,.filter-group select:focus{border-color:#9c27b0;outline:none}.search-group{grid-column:span 1}.export-group{display:flex;flex-direction:column}.export-buttons{display:flex;gap:8px}.btn-export,.btn-export-emails{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;white-space:nowrap}.btn-export{background:#28a745;color:#fff}.btn-export:hover{background:#218838}.btn-export-emails{background:#17a2b8;color:#fff}.btn-export-emails:hover{background:#138496}.summary-bar{border-radius:8px;padding:15px}.no-results{color:#666;padding:60px;text-align:center}.no-results,.table-container{background:#fff;border-radius:12px}.table-container{box-shadow:0 2px 8px #00000014;overflow:hidden}.students-table{border-collapse:collapse;font-size:13px;width:100%}.students-table td,.students-table th{border-bottom:1px solid #eee;padding:12px 10px;text-align:left}.students-table th{background:#f8f9fa;color:#333;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.students-table td.amount,.students-table th.amount{text-align:right;white-space:nowrap}.students-table td.total,.students-table th.total{background:#f0f0f0;font-weight:700}.students-table td.actions,.students-table th.actions{text-align:center;width:100px}.students-table tbody tr:hover{background:#f8f9fa}.students-table tbody tr.inactive{background:#fff8e1;opacity:.7}.franchisee-cell{color:#9c27b0;font-weight:600}.school-cell{color:#1976d2}.student-name{font-weight:500}.inactive-badge{background:#fff3cd;border-radius:10px;color:#856404;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.account-cell{color:#666;font-family:monospace;font-size:12px}.amount.paid{color:#28a745}.amount.zero{color:#ccc}.email-cell a{color:#1976d2;text-decoration:none}.email-cell a:hover{text-decoration:underline}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:16px;margin:0 2px;padding:6px 10px}.btn-edit{background:#fff3cd}.btn-edit:hover{background:#ffe69c}.totals-row{background:#e8e8e8!important;font-weight:700}.totals-row td{border-top:2px solid #333}.modal-overlay{align-items:flex-start;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:30px 20px;position:fixed;right:0;top:0;z-index:1000}.edit-modal{background:#fff;border-radius:12px;max-height:90vh;max-width:700px;overflow-y:auto;padding:30px;width:100%}.edit-modal h2{color:#333;margin:0 0 10px}.edit-context{border-bottom:1px solid #eee;color:#666;font-size:14px;padding-bottom:15px}.edit-context,.edit-form .form-section{margin-bottom:25px}.edit-form .form-section h3{border-bottom:2px solid #9c27b0;color:#333;font-size:16px;margin:0 0 15px;padding-bottom:8px}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:10px}.payments-row{grid-template-columns:repeat(5,1fr)}.form-group{gap:5px}.form-group.small{min-width:0}.form-group label{font-size:13px}.form-group input{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px}.form-group input:focus{border-color:#9c27b0;outline:none}.warning-text{color:#dc3545;font-size:13px;margin-bottom:10px}.modal-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:25px;padding-top:20px}.btn-cancel,.btn-save{flex:1 1;font-size:16px;padding:14px}.btn-cancel:hover:not(:disabled){background:#5a6268}.delete-modal{background:#fff;border-radius:12px;max-width:450px;padding:30px;text-align:center;width:100%}.delete-modal h2{color:#dc3545;margin-bottom:15px}.delete-student-info{background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:5px;margin:15px 0;padding:20px}.delete-student-info strong{color:#333;font-size:18px}.delete-student-info span{color:#666;font-size:14px}.delete-warning{color:#dc3545;font-weight:600;margin:15px 0}.btn-delete-confirm{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px}.btn-delete-confirm:hover:not(:disabled){background:#c82333}@media (max-width:1200px){.table-container{overflow-x:auto}.students-table{min-width:1000px}}@media (max-width:768px){.view-mode-toggle{align-items:stretch;flex-direction:column}.view-mode-toggle .back-btn{margin-left:0}.filters-grid,.form-row{grid-template-columns:1fr}.payments-row{grid-template-columns:repeat(2,1fr)}.summary-bar{gap:10px}.modal-actions,.summary-bar{flex-direction:column}}.ho-charges-container{margin:0 auto;max-width:1400px;padding:20px}.ho-charges-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.ho-charges-header h1{color:#333;font-size:28px;margin:0 0 5px}.ho-charges-header p{color:#666;margin:0}.ho-charges-header .back-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.ho-charges-header .back-btn:hover{background:#5a6268}.ho-charges-loading{color:#666;font-size:18px;padding:60px;text-align:center}.add-charge-section{margin-bottom:25px}.btn-add-charge{background:linear-gradient(135deg,#9c27b0,#7b1fa2);border:none;border-radius:10px;box-shadow:0 4px 12px #9c27b04d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:transform .2s,box-shadow .2s}.btn-add-charge:hover{box-shadow:0 6px 16px #9c27b066;transform:translateY(-2px)}.add-charge-form{background:#fff;border:2px solid #9c27b0;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:25px}.add-charge-form h3{color:#9c27b0;font-size:20px;margin:0 0 20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#555}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px}.form-group input:focus,.form-group select:focus{border-color:#9c27b0;outline:none}.month-year-select{display:flex;gap:10px}.month-year-select select{flex:1 1}.form-actions{display:flex;gap:12px}.btn-save{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px}.btn-save:hover:not(:disabled){background:#218838}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px}.btn-cancel:hover{background:#5a6268}.filters-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:15px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{color:#555;font-size:13px;font-weight:600}.filter-group select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;min-width:150px;padding:10px 12px}.summary-bar{background:#f8f9fa;border-radius:10px;display:flex;flex-wrap:wrap;gap:30px;margin-bottom:20px;padding:15px 20px}.summary-item{align-items:center;display:flex;gap:8px}.summary-item .label{color:#666;font-size:14px}.summary-item .value{color:#333;font-size:18px;font-weight:700}.summary-item.highlight .value{color:#9c27b0;font-size:20px}.no-charges{background:#fff;border-radius:12px;color:#666;font-size:16px;padding:60px;text-align:center}.charges-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.charges-table{border-collapse:collapse;font-size:14px;width:100%}.charges-table td,.charges-table th{border-bottom:1px solid #eee;padding:14px 12px;text-align:left}.charges-table th{background:#f8f9fa;color:#333;font-weight:600}.charges-table td.amount,.charges-table th.amount{text-align:right}.charges-table tbody tr:hover{background:#f8f9fa}.charges-table tr.status-removed{background:#fff5f5;opacity:.6}.franchisee-name{color:#9c27b0;font-weight:600}.type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.type-badge.courier{background:#e3f2fd;color:#1976d2}.type-badge.other{background:#fff3e0;color:#e65100}.description{color:#555;max-width:300px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.included{background:#d4edda;color:#155724}.status-badge.removed{background:#f8d7da;color:#721c24}.date{color:#888;font-size:13px}.actions{text-align:center}.btn-delete{background:#f8d7da;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:6px 10px}.btn-delete:hover{background:#f5c2c7}@media (max-width:768px){.ho-charges-header{flex-direction:column}.form-grid{grid-template-columns:1fr}.filters-section,.summary-bar{flex-direction:column}.summary-bar{gap:15px}.charges-table-container{overflow-x:auto}.charges-table{min-width:800px}}.admin-fee-setup{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;padding:30px}.admin-fee-setup.loading{color:#666;font-size:18px;padding:100px 30px;text-align:center}.setup-header{border-bottom:2px solid #4169e1;margin-bottom:40px;padding-bottom:20px}.setup-header h2{color:#1a1a1a;font-size:28px;margin:0 0 10px}.setup-header p{color:#666;font-size:16px;margin:0}.setup-section{background:#f8f9fa;border-left:4px solid #4169e1;border-radius:8px;margin-bottom:40px;padding:25px}.setup-section h3{color:#1a1a1a;font-size:22px;margin:0 0 20px}.setup-section h4{color:#333;font-size:18px;margin:20px 0 15px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:flex;flex-direction:column;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text]{border:2px solid #ddd;border-radius:6px;font-size:16px;margin-top:8px;padding:10px 12px;transition:border-color .2s}.form-group input[type=number]:focus,.form-group input[type=text]:focus{border-color:#4169e1;outline:none}.form-group input:disabled{background:#e9ecef;cursor:not-allowed}.form-group input.auto-calculated{background:#fff3cd;border-color:#ffc107;font-weight:600}.form-group .currency{color:#4169e1;display:inline-block;font-size:14px;font-weight:600;margin-top:5px}.form-group small{color:#666;display:block;font-size:13px;font-weight:400;margin-top:8px}.checkbox-group label{align-items:center;cursor:pointer;flex-direction:row}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;margin-right:10px;width:20px}.breakdown-section{background:#e8f4ff;border-left-color:#2196f3}.breakdown-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.total-check{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:18px;margin-top:20px;padding:15px 20px}.total-check.valid{background:#d4edda;border-color:#28a745}.total-check.invalid{background:#f8d7da;border-color:#dc3545}.total-check strong{display:inline-block;margin-right:10px}.total-check .success{color:#28a745;font-weight:600;margin-left:15px}.total-check .warning{color:#dc3545;font-weight:600;margin-left:15px}.waiver-section{background:#fff8e1;border-left-color:#ff9800}.waiver-case{background:#fff;border:2px solid #ffe082;border-radius:8px;margin-bottom:25px;padding:20px}.waiver-case:last-child{margin-bottom:0}.waiver-case h4{color:#f57c00;margin-top:0}.waiver-case p{color:#666;margin:5px 0 15px}.waiver-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.form-row,.pricing-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.preview-section{background:#f3e5f5;border-left-color:#9c27b0}.preview-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.preview-card{background:#fff;border:2px solid #ce93d8;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.preview-card h4{border-bottom:2px solid #ce93d8;color:#7b1fa2;margin-top:0;padding-bottom:10px}.preview-breakdown p{align-items:center;color:#333;display:flex;justify-content:space-between;margin:10px 0}.preview-breakdown strong{color:#7b1fa2}.setup-actions{border-top:2px solid #ddd;display:flex;gap:15px;justify-content:center;margin-top:40px;padding-top:30px}.setup-actions button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 40px;transition:all .2s}.save-btn{background:#4169e1;color:#fff}.save-btn:hover:not(:disabled){background:#2c4ab6;box-shadow:0 4px 12px #4169e14d;transform:translateY(-2px)}.save-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background:#5a6268}.cancel-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.admin-fee-setup{padding:20px}.setup-header h2{font-size:24px}.breakdown-grid,.form-row,.preview-grid,.pricing-grid,.waiver-grid{grid-template-columns:1fr}.setup-actions{flex-direction:column}.setup-actions button{width:100%}}
/*# sourceMappingURL=main.f4b58028.css.map*/