body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.chair{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;height:90px;justify-content:center;margin:6px;position:relative;touch-action:manipulation;transition:all .3s ease;width:70px}.chair:hover{transform:scale(1.05)}.chair:active{transform:scale(.95)}.chair.selected{transform:scale(1.1)}@media (max-width:768px){.chair{height:75px;margin:4px;width:55px}.chair:hover{transform:none}.chair:active{transform:scale(.9)}}@media (max-width:480px){.chair{height:70px;margin:3px;width:50px}}.chair-number{align-items:center;background:linear-gradient(145deg,#fff,#f8f9fa);border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 8px #00000026;color:#495057;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;left:50%;letter-spacing:-.3px;min-width:32px;position:absolute;top:-8px;transform:translateX(-50%);width:32px;z-index:2}@media (max-width:768px){.chair-number{border-width:1px;font-size:9px;height:18px;top:-6px;width:28px}}@media (max-width:480px){.chair-number{border-width:1px;font-size:8px;height:16px;top:-5px;width:24px}}.chair-seat{border:2px solid #dee2e6;border-radius:10px 10px 0 0;height:45px}.chair-back,.chair-seat{background:linear-gradient(145deg,#f8f9fa,#e9ecef);box-shadow:0 3px 6px #0000001a;position:relative;width:60px;z-index:1}.chair-back{border:2px solid #dee2e6;border-radius:0 0 10px 10px;border-top:none;height:35px}@media (max-width:768px){.chair-seat{border-radius:8px 8px 0 0;border-width:1.5px;height:38px;width:48px}.chair-back{border-radius:0 0 8px 8px;border-width:1.5px;height:28px;width:48px}}@media (max-width:480px){.chair-seat{border-radius:6px 6px 0 0;border-width:1px;height:35px;width:43px}.chair-back{border-radius:0 0 6px 6px;border-width:1px;height:25px;width:43px}}.chair.selected .chair-back,.chair.selected .chair-seat{background:linear-gradient(145deg,#ff6b6b,#ff5252);border-color:#e53935;box-shadow:0 4px 8px #ff6b6b4d}.chair.selected .chair-number{background:linear-gradient(145deg,#ff5252,#e53935);border-color:#d32f2f;box-shadow:0 2px 8px #ff6b6b66;color:#fff}.chair.occupied .chair-back,.chair.occupied .chair-seat{background:linear-gradient(145deg,#e3f2fd,#bbdefb);border-color:#90caf9}.chair.occupied .chair-number{background:linear-gradient(145deg,#1976d2,#1565c0);border-color:#0d47a1;color:#fff}.chair.occupied.test-student .chair-back,.chair.occupied.test-student .chair-seat{background:linear-gradient(145deg,#ffebee,#ffcdd2);border-color:#ef9a9a}.chair.occupied.test-student .chair-number{background:linear-gradient(145deg,#d32f2f,#c62828);border-color:#b71c1c;color:#fff}.occupant-indicator{bottom:-8px;position:absolute;right:-8px;z-index:3}.occupant-avatar{border:2px solid #fff;box-shadow:0 2px 4px #0003;font-size:10px;height:20px;width:20px}.chair.occupied.test-student .occupant-avatar{background:linear-gradient(145deg,#f44336,#d32f2f)}@media (max-width:768px){.occupant-avatar{font-size:9px;height:18px;width:18px}}@media (max-width:480px){.occupant-avatar{font-size:8px;height:16px;width:16px}}.chair-popup{animation:fadeIn .2s ease-in-out;pointer-events:none;position:fixed;z-index:1000}.popup-content{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:100%;min-width:280px;padding:16px}.popup-header{border-bottom:1px solid #f1f3f4;gap:12px;margin-bottom:12px;padding-bottom:12px}.popup-avatar{align-items:center;background:linear-gradient(145deg,#007bff,#0056b3);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.popup-info{flex:1 1;min-width:0}.popup-name{color:#212529;font-size:16px;font-weight:700;margin-bottom:2px}.popup-name,.popup-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-role{color:#6c757d;font-size:14px;font-weight:500}.popup-details{display:flex;flex-direction:column;gap:8px}.popup-detail{align-items:center;display:flex;font-size:13px;justify-content:space-between}.popup-label{color:#6c757d;flex-shrink:0;font-weight:500;margin-right:8px}.popup-value{color:#495057;font-weight:400;max-width:150px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.popup-status{border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.popup-status.available{background:#d4edda;color:#155724}.popup-status.occupied{background:#f8d7da;color:#721c24}.popup-status.busy{background:#fff3cd;color:#856404}.popup-arrow{border-bottom:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;left:50%;top:-6px;transform:translateX(-50%)}.popup-arrow,.popup-arrow:before{height:0;position:absolute;width:0}.popup-arrow:before{border-bottom:7px solid #e9ecef;border-left:7px solid #0000;border-right:7px solid #0000;content:"";left:-7px;top:1px}@media (max-width:768px){.popup-content{max-width:280px;min-width:260px;padding:14px}.popup-header{gap:10px;margin-bottom:10px;padding-bottom:10px}.popup-avatar{font-size:14px;height:36px;width:36px}.popup-name{font-size:15px}.popup-role{font-size:13px}.popup-detail{font-size:12px}}.chair-grid{grid-gap:14px;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #00000014;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));justify-items:center;margin:0 auto;max-width:1200px;min-height:400px;padding:24px}@media (max-width:1024px){.chair-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));max-width:900px;padding:18px}}@media (max-width:768px){.chair-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));max-width:100%;padding:15px}}@media (max-width:480px){.chair-grid{gap:6px;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));padding:12px}}@media (max-width:360px){.chair-grid{gap:4px;grid-template-columns:repeat(auto-fit,minmax(55px,1fr));padding:10px}}.list-view{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:1200px;overflow:hidden}.list-header,.list-view{box-sizing:border-box;width:100%}.list-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.list-header h3{color:#212529;font-size:1.5rem;font-weight:700;margin:0}.list-stats{display:flex;flex-wrap:wrap;gap:16px;max-width:100%;overflow:hidden}.stat-item{align-items:center;color:#495057;display:flex;font-size:14px;font-weight:600;gap:8px}.stat-dot{border-radius:50%;height:8px;width:8px}.stat-item.available .stat-dot{background-color:#28a745}.stat-item.occupied .stat-dot{background-color:#1976d2}.stat-item.selected .stat-dot{background-color:#ff5252}.list-content{max-height:600px;overflow-x:hidden;overflow-y:auto}.list-content,.list-item{box-sizing:border-box;width:100%}.list-item{align-items:center;border-bottom:1px solid #f1f3f4;cursor:pointer;display:flex;justify-content:space-between;min-width:0;padding:16px 24px;position:relative;transition:all .2s ease}.list-item:hover{background-color:#f8f9fa;transform:translateX(4px)}.list-item.selected{background-color:#fff5f5;border-left:4px solid #ff5252}.list-item.occupied{background-color:#f8f9ff;border-left:4px solid #1976d2}.list-item.occupied.test-student{background-color:#fff5f5;border-left:4px solid #d32f2f}.list-item.available{background-color:#f8fff9;border-left:4px solid #28a745}.list-item-left{align-items:center;display:flex;flex:1 1;gap:12px;max-width:60%;min-width:0}.chair-number-badge{background:linear-gradient(145deg,#495057,#343a40);border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;min-width:50px;padding:6px 10px;text-align:center}.list-item.selected .chair-number-badge{background:linear-gradient(145deg,#ff5252,#e53935)}.list-item.occupied .chair-number-badge{background:linear-gradient(145deg,#1976d2,#1565c0)}.list-item.occupied.test-student .chair-number-badge{background:linear-gradient(145deg,#d32f2f,#c62828)}.chair-info{flex:1 1;min-width:0}.chair-title{color:#212529;font-size:16px;font-weight:600;margin-bottom:4px}.chair-status{align-items:center;color:#6c757d;display:flex;font-size:14px;gap:8px}.list-item-right{flex-shrink:0;max-width:40%}.list-item-right,.occupant-info{align-items:center;display:flex;min-width:0}.occupant-info{gap:10px;overflow:hidden;width:100%}.occupant-avatar{align-items:center;background:linear-gradient(145deg,#4caf50,#388e3c);border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.list-item.occupied.test-student .occupant-avatar{background:linear-gradient(145deg,#f44336,#d32f2f)}.occupant-details{flex:1 1;min-width:0;overflow:hidden}.occupant-name{color:#212529;font-size:14px;font-weight:600}.occupant-name,.occupant-role{margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupant-role{color:#6c757d;font-size:12px;font-weight:500}.occupant-department{color:#adb5bd;font-size:11px;font-weight:400}.empty-chair,.occupant-department{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-chair{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#6c757d;font-size:12px;font-style:italic;padding:6px 12px}@media (max-width:768px){.list-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 20px}.list-header h3{font-size:1.3rem}.list-stats{flex-wrap:wrap;gap:12px}.stat-item{font-size:12px}.list-item{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 16px}.list-item-left{gap:10px}.list-item-left,.list-item-right{max-width:100%;width:100%}.occupant-info{gap:8px;width:100%}.occupant-details{flex:1 1}.chair-number-badge{font-size:12px;min-width:45px;padding:5px 8px}}@media (max-width:480px){.list-header{padding:12px 16px}.list-stats{gap:8px}.stat-item{font-size:11px}.list-item{padding:10px 12px}.chair-number-badge{font-size:11px;min-width:40px;padding:4px 6px}.occupant-avatar{font-size:12px;height:32px;width:32px}.chair-title{font-size:14px}.occupant-name{font-size:13px}.occupant-role{font-size:11px}.occupant-department{font-size:10px}.empty-chair{font-size:11px;padding:4px 8px}}.modal-overlay{background:#00000080;box-sizing:border-box}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:100%;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e9ecef;padding:24px 24px 16px}.modal-header h2{color:#212529;font-size:1.5rem}.close-btn{border-radius:4px;color:#6c757d;font-size:24px;height:32px;padding:4px;width:32px}.close-btn:hover{background:#f8f9fa;color:#495057}.modal-body,.modal-form{padding:24px}.profile-row{align-items:center;display:flex;gap:12px;margin-bottom:16px}.profile-avatar{align-items:center;background:#0ea5e9;border-radius:9999px;color:#fff;display:inline-flex;font-size:20px;font-weight:700;height:44px;justify-content:center;width:44px}.profile-meta{line-height:1.1}.profile-name{font-weight:700}.profile-sub{color:#64748b;font-size:12px}.detail-grid{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.detail-item{padding:10px 12px}.detail-item .label{color:#64748b;font-size:12px}.detail-item .value{color:#0f172a;font-weight:600}.form-group{margin-bottom:20px}.form-label{color:#495057;display:block;margin-bottom:8px}.field-note{color:#6c757d;font-weight:400}.form-input{border:2px solid #dee2e6;padding:12px 16px}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-input select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.form-input select:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.form-input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;display:block}.toggle-container{align-items:center;display:flex;gap:12px;margin-top:8px}.toggle-label{color:#6c757d;font-size:14px;font-weight:500;transition:color .3s ease}.toggle-label.active{color:#007bff;font-weight:600}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 2px 4px #0003;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}input:checked+.toggle-slider{background-color:#007bff}input:checked+.toggle-slider:before{transform:translateX(26px)}.modal-actions{border-top:1px solid #e9ecef;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}.btn{min-width:100px;padding:12px 24px;transition:all .3s ease}.btn-cancel{background:#f8f9fa;border:2px solid #dee2e6;color:#495057}.btn-cancel:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.btn-register{background:linear-gradient(145deg,#28a745,#1e7e34);box-shadow:0 2px 8px #28a7454d;color:#fff}.btn-register:hover{background:linear-gradient(145deg,#1e7e34,#155724);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.btn-register:active{transform:translateY(0)}.btn-danger{background:linear-gradient(145deg,#ef4444,#b91c1c);box-shadow:0 2px 8px #ef44444d;color:#fff}.btn-danger:hover{background:linear-gradient(145deg,#dc2626,#991b1b);box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}@media (max-width:768px){.modal-overlay{padding:16px}.modal-content{max-width:100%}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:1.3rem}.modal-body,.modal-form{padding:20px}.detail-grid{grid-template-columns:1fr}.form-input{font-size:16px}.modal-actions{flex-direction:column;gap:10px}.btn{padding:14px 24px;width:100%}}@media (max-width:480px){.modal-overlay{padding:12px}.modal-header{padding:16px 16px 12px}.modal-header h2{font-size:1.2rem}.modal-form{padding:16px}.form-group{margin-bottom:16px}.toggle-container{gap:8px}.toggle-label{font-size:13px}.modal-actions{margin-top:24px;padding-top:16px}}.chair-manager{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:100vh;padding:20px}.controls{margin-bottom:30px;text-align:center}.header-section{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.environment-toggle{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;display:flex;gap:5px;padding:4px}.env-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.env-btn:hover{background:#e0e0e0;color:#333}.env-btn.active{background:#1976d2;box-shadow:0 2px 4px #1976d24d;color:#fff}.env-btn.active:hover{background:#1565c0}.environment-indicator{align-items:center;display:flex}.env-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.env-badge.student{background:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.env-badge.admin{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.environment-switcher{align-items:center;display:flex}.controls h1{color:#212529;font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:20px}.control-panel{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #00000014;display:inline-block;max-width:500px;padding:24px;width:100%}.chair-count-controls{margin-bottom:15px}.chair-count-controls,.selection-controls{align-items:center;display:flex;gap:15px;justify-content:center}.control-btn{-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#007bff,#0056b3);border:none;border-radius:8px;box-shadow:0 2px 8px #007bff4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;min-height:44px;min-width:44px;padding:12px 24px;touch-action:manipulation;transition:all .3s ease}.control-btn:hover:not(:disabled){background:linear-gradient(145deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.control-btn.decrease{background:linear-gradient(145deg,#dc3545,#c82333);box-shadow:0 2px 8px #dc35454d}.control-btn.decrease:hover:not(:disabled){background:linear-gradient(145deg,#c82333,#a71e2a);box-shadow:0 4px 12px #dc354566}.control-btn.clear{background:linear-gradient(145deg,#6c757d,#5a6268);box-shadow:0 2px 8px #6c757d4d}.control-btn.clear:hover:not(:disabled){background:linear-gradient(145deg,#5a6268,#495057);box-shadow:0 4px 12px #6c757d66}.chair-count,.selected-count{color:#495057;font-size:18px;font-weight:600}.view-controls{display:flex;gap:8px;justify-content:center;margin-top:16px}.view-toggle-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;min-height:44px;padding:10px 16px;touch-action:manipulation;transition:all .3s ease}.view-toggle-btn:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.view-toggle-btn.active{background:linear-gradient(145deg,#007bff,#0056b3);border-color:#004085;box-shadow:0 2px 8px #007bff4d;color:#fff}.view-toggle-btn.active:hover{background:linear-gradient(145deg,#0056b3,#004085);box-shadow:0 4px 12px #007bff66;transform:translateY(-2px)}.view-icon{font-size:16px;font-weight:700}@media (max-width:1024px){.controls h1{font-size:2.2rem}.control-panel{padding:18px}}@media (max-width:768px){.chair-manager{padding:15px}.controls h1{font-size:2rem;margin-bottom:15px}.control-panel{margin:0 10px;padding:15px}.chair-count-controls,.selection-controls{flex-direction:column;gap:12px}.control-btn{font-size:15px;min-height:48px;padding:12px 20px}}@media (max-width:480px){.chair-manager{padding:10px}.controls h1{font-size:1.8rem;margin-bottom:12px}.control-panel{margin:0 5px;padding:12px}.chair-count-controls,.selection-controls{gap:10px}.control-btn{font-size:14px;min-height:44px;padding:10px 16px}.chair-count,.selected-count{font-size:16px}.view-controls{margin-top:12px}.view-toggle-btn{font-size:13px;min-height:40px;padding:8px 12px}.view-icon{font-size:14px}}@media (max-width:360px){.controls h1{font-size:1.6rem}.control-btn{font-size:13px;min-height:40px;padding:8px 12px}.chair-count,.selected-count{font-size:14px}.view-toggle-btn{font-size:12px;min-height:36px;padding:6px 10px}.view-icon{font-size:12px}}.dashboard{background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:24px}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner .spinner{border-top-color:#3b82f6}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#1e293b;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.dashboard-header p{color:#64748b;font-size:16px;font-weight:400;margin:0}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:20px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:16px;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.stat-icon svg{height:28px;width:28px}.stat-icon.students{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.stat-icon.occupied{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-icon.available{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.pending{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-icon.enquiries{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-content h3{color:#64748b;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-number{color:#1e293b;font-size:32px;font-weight:700;line-height:1;margin:0 0 4px}.stat-label{color:#94a3b8}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 8px 30px #0000001f}.card-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.card-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.card-subtitle{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.occupancy-percentage{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.occupancy-chart{margin-top:16px}.chart-bar{background:#e5e7eb;border-radius:6px;height:12px;margin-bottom:12px;overflow:hidden;width:100%}.chart-fill{border-radius:6px;height:100%;transition:width .5s ease}.chart-fill.occupied{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.chart-labels{color:#64748b;display:flex;font-size:12px;font-weight:500;justify-content:space-between}.recent-enquiries,.recent-students{display:flex;flex-direction:column;gap:16px}.enquiry-item{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:16px;padding:12px;transition:all .2s ease}.enquiry-item:hover{background:#f1f5f9;transform:translateX(4px)}.enquiry-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.enquiry-avatar,.enquiry-info{align-items:center;display:flex}.enquiry-info{flex:1 1;justify-content:space-between}.enquiry-name-date{display:flex;flex-direction:column;gap:4px}.enquiry-name-date h4{color:#1e293b;font-size:14px;font-weight:600;margin:0}.enquiry-date{color:#94a3b8;font-size:11px;font-weight:500}.enquiry-mobile{align-items:center;display:flex}.enquiry-mobile p{color:#64748b;font-size:12px;font-weight:500;margin:0}.enquiry-status{flex-shrink:0}.status-badge.pending{background:#fef3c7}.status-badge.resolved{background:#dcfce7;color:#166534}.enquiry-item.clickable{cursor:pointer;transition:all .2s ease}.enquiry-item.clickable:hover{background:#e2e8f0;transform:translateX(4px)}.enquiry-arrow{align-items:center;color:#94a3b8;display:flex;flex-shrink:0;justify-content:center}.enquiry-arrow svg{height:16px;width:16px}.enquiry-popup-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.enquiry-popup{animation:slideUp .3s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;margin:auto;max-height:85vh;max-width:700px;overflow:hidden;position:relative;width:90%}.popup-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.popup-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.close-btn:hover{background:#f1f5f9;color:#374151}.close-btn svg{height:20px;width:20px}.popup-content{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:24px;width:100%}.popup-content::-webkit-scrollbar{width:6px}.popup-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.popup-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.popup-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0;max-width:100%;width:100%}.detail-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;gap:8px;padding:16px;width:100%}.detail-item:last-child{border-bottom:none}.detail-item label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-align:left;width:100%}.detail-item span{box-sizing:border-box;color:#111827;font-size:14px;font-weight:500;line-height:1.5;text-align:left;width:100%;word-break:break-word}.popup-footer{align-items:center;background:#f8fafc;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:16px 24px}.btn-secondary{background:#3b82f6;border:none;border-radius:6px;color:#fff;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background:#2563eb}.btn-followup{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-followup:before{content:"✓";font-size:12px;font-weight:700}.btn-followup:hover{background:#059669;transform:translateY(-1px)}@media (max-width:768px){.enquiry-popup-overlay{align-items:center;padding:20px 10px 10px}.enquiry-popup{margin:0 auto;max-height:90vh;max-width:100%;width:95%}.detail-grid{gap:16px;grid-template-columns:1fr}.detail-item{padding:16px}.popup-content{overflow-y:auto;padding:20px}.popup-header{padding:16px 20px}.popup-header h3{font-size:16px}.popup-footer{flex-direction:column;gap:12px;padding:16px 20px}.btn-followup,.btn-secondary{justify-content:center;width:100%}}@media (max-width:480px){.enquiry-popup-overlay{align-items:center;padding:10px 5px 5px}.enquiry-popup{margin:0 auto;max-height:95vh;width:98%}.detail-grid{gap:12px;grid-template-columns:1fr}.detail-item{padding:12px}.popup-content{overflow-y:auto;padding:16px}.popup-header{padding:12px 16px}.popup-header h3{font-size:16px}.popup-footer{flex-direction:column;gap:10px;padding:12px 16px}.btn-followup,.btn-secondary{justify-content:center;width:100%}}.student-item{background:#f8fafc;padding:12px}.student-item:hover{background:#f1f5f9;transform:translateX(4px)}.student-avatar{background:linear-gradient(135deg,#3b82f6,#1d4ed8);font-size:14px}.student-info h4{color:#1e293b;font-size:14px;font-weight:600;margin:0 0 4px}.student-info p{color:#64748b;font-size:12px;font-weight:500;margin:0}.student-status{flex-shrink:0}.status-badge{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.status-badge.active{background:#dcfce7;color:#166534}.no-data{color:#94a3b8;padding:40px 20px;text-align:center}.no-data p{font-size:14px;font-weight:500;margin:0}.quick-actions{display:flex;flex-direction:column;gap:12px}.action-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;padding:16px 20px;text-align:left;transition:all .2s ease}.action-btn svg{flex-shrink:0;height:20px;width:20px}.action-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.action-btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.action-btn.secondary{background:#f8fafc;border:1px solid #e5e7eb;color:#64748b}.action-btn.secondary:hover{background:#f1f5f9;border-color:#d1d5db;color:#475569;transform:translateY(-1px)}.system-status{display:flex;flex-direction:column;gap:16px}.status-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;padding:12px 0}.status-item:last-child{border-bottom:none}.status-indicator{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-indicator.online{background:#10b981;box-shadow:0 0 0 2px #10b98133}.status-indicator.warning{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.status-indicator.offline{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.status-item span:first-of-type{color:#64748b;flex:1 1;font-size:14px;font-weight:500}.status-value{color:#1e293b;font-size:14px;font-weight:600}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.dashboard{padding:16px}.dashboard-header h1{font-size:24px}.stats-grid{gap:16px;grid-template-columns:1fr}.dashboard-card,.stat-card{padding:20px}.quick-actions{gap:8px}.action-btn{font-size:13px;padding:14px 16px}}@media (max-width:480px){.dashboard{padding:12px}.stat-card{flex-direction:column;gap:16px;text-align:center}.stat-icon{height:50px;width:50px}.stat-icon svg{height:24px;width:24px}.stat-number{font-size:28px}}.enquiry-page{align-items:center;display:flex;flex-direction:column;padding:24px}.enquiry-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #02061714;max-width:720px;padding:20px;width:100%}.enquiry-header h2{margin:0 0 4px}.enquiry-header p{color:#64748b;margin:0 0 16px}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column}.form-field label{color:#0f172a;font-weight:600;margin-bottom:6px}.form-field input,.form-field textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease}.form-field input:focus,.form-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.has-error{border-color:#ef4444!important}.error-text{color:#b91c1c;font-size:12px;margin-top:6px}.form-actions{margin-top:16px}.btn-primary{background:linear-gradient(180deg,#0ea5e9,#0284c7);letter-spacing:.2px;padding:10px 14px}.btn-primary:hover{background:#0377b2}.success-banner{background:#ecfdf5;border-radius:8px;color:#065f46;margin-top:12px;padding:10px 12px}.success-toast{align-items:center;animation:slideInUp .3s ease-out;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:12px;box-shadow:0 4px 12px #10b98126;display:flex;gap:16px;margin-top:20px;padding:20px}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.form-grid{grid-template-columns:1fr}}.enquiries-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #02061714;margin-top:32px;max-width:1200px;padding:20px;width:100%}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.table-header h2{color:#0f172a;font-size:24px;font-weight:600;margin:0}.refresh-btn{background:linear-gradient(180deg,#0ea5e9,#0284c7);font-size:14px;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#0377b2;transform:translateY(-1px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.empty-state,.loading-state{font-size:16px}.table-container{overflow-x:auto}.enquiries-table{border-collapse:collapse;font-size:14px;width:100%}.enquiries-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.enquiries-table th{border-bottom:2px solid #e2e8f0;color:#0f172a;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.enquiries-table td{border-bottom:1px solid #e2e8f0;color:#334155;padding:12px 16px}.enquiries-table tbody tr{transition:background-color .15s}.enquiries-table tbody tr:hover{background-color:#f8fafc}.address-cell{word-wrap:break-word;max-width:250px;overflow-wrap:break-word}.status-badge{border-radius:12px;text-transform:capitalize}.status-badge.pending{background:#fef3c2;color:#92400e}.status-badge.contacted{background:#dbeafe;color:#1e40af}.status-badge.resolved{background:#d1fae5;color:#065f46}.status-badge.done{background:#f0f9ff;color:#075985}.follow-up-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.follow-up-btn:hover{background:#059669;transform:translateY(-1px)}.actions-cell{min-width:220px}.action-buttons{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.action-buttons:has(.resolved-btn){gap:0}.action-buttons .resolved-btn{margin-right:auto}.action-buttons .delete-btn{margin-left:auto}.resolved-btn{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;padding:6px 12px;transition:all .2s;white-space:nowrap}.resolved-btn:hover{background:#059669;box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.delete-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;padding:6px 12px;transition:all .2s;white-space:nowrap}.delete-btn:hover{background:#dc2626;box-shadow:0 2px 8px #ef44444d;transform:translateY(-1px)}@media (max-width:768px){.table-header{align-items:flex-start;flex-direction:column;gap:16px}.enquiries-table{font-size:12px}.enquiries-table td,.enquiries-table th{padding:8px 12px}.address-cell{max-width:150px}.actions-cell{min-width:180px}.action-buttons{flex-direction:column;gap:4px}.delete-btn,.resolved-btn{width:100%}}.student-registration{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.registration-header{margin-bottom:32px;text-align:center}.registration-header h2{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.registration-header p{color:#64748b;font-size:16px;margin:0}.registration-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden}.registration-form{padding:32px}.form-group textarea{font-family:inherit}.date-picker-wrapper{position:relative}.date-input-container{align-items:center;display:flex;position:relative}.date-picker{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px 12px 48px!important;transition:all .3s ease;width:100%}.date-picker:hover{background:linear-gradient(135deg,#fff,#eff6ff);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;transform:translateY(-1px)}.date-picker:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633,0 4px 12px #3b82f626;outline:none;transform:translateY(-2px)}.date-picker.error{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.date-picker-icon{color:#3b82f6;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:1}.date-input-container:hover .date-picker-icon{color:#2563eb;transform:translateY(-50%) scale(1.1)}.date-input-container:focus-within .date-picker-icon,.date-picker:focus+.date-picker-icon{animation:pulse 1.5s ease-in-out infinite;color:#2563eb;transform:translateY(-50%) scale(1.15)}.date-picker::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;opacity:0;position:absolute;right:0;width:100%;z-index:2}.date-picker::-webkit-datetime-edit,.date-picker::-webkit-datetime-edit-fields-wrapper{padding:0}.date-picker::-webkit-datetime-edit-text{color:#64748b;padding:0 4px}.date-picker::-webkit-datetime-edit-day-field,.date-picker::-webkit-datetime-edit-month-field,.date-picker::-webkit-datetime-edit-year-field{color:#374151;font-weight:600}.date-picker-wrapper label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;margin-bottom:4px}.date-picker-wrapper label svg{color:#3b82f6}.btn-secondary:hover{background:#e2e8f0;transform:translateY(-1px)}.form-header-section{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:2fr 1fr;margin-bottom:32px}.photo-section{position:-webkit-sticky;position:sticky;top:20px}.photo-upload-section{margin-top:16px}.photo-upload-area{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:200px;padding:24px 16px;text-align:center;transition:all .3s ease}.photo-upload-area:hover{background:#f1f5f9;border-color:#3b82f6}.photo-upload-area.drag-over{background:#eff6ff;border-color:#3b82f6;transform:scale(1.02)}.upload-content{align-items:center;display:flex;flex-direction:column;gap:16px}.upload-icon{color:#64748b;margin-bottom:8px}.upload-content h4{color:#374151;font-size:18px;font-weight:600;margin:0}.upload-content p{color:#6b7280;font-size:14px;margin:0}.upload-buttons{display:flex;gap:12px;margin-top:8px}.upload-note{color:#9ca3af;font-size:12px;margin-top:8px}.photo-preview{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:200px;padding:16px}.photo-preview img{border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:150px;max-width:150px;object-fit:cover}.photo-actions{display:flex;gap:12px}.camera-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.camera-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.camera-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.camera-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.close-camera{align-items:center;background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.close-camera:hover{background:#f1f5f9;color:#374151}.camera-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:20px;min-height:0;overflow:hidden;padding:24px}.camera-content video{background:#000;border-radius:8px;flex-shrink:1;height:auto;max-height:calc(90vh - 200px);max-width:500px;object-fit:contain;width:100%}.camera-controls{display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:center;width:100%}.camera-controls button{align-items:center;display:flex;justify-content:center}@media (max-width:768px){.student-registration{padding:16px}.registration-form{padding:24px}.form-header-section{gap:24px;grid-template-columns:1fr}.photo-section{order:-1;position:static}.form-row{gap:16px;grid-template-columns:1fr}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}.registration-header h2{font-size:24px}.upload-buttons{flex-direction:column;width:100%}.upload-buttons .btn-secondary{width:100%}.photo-actions{flex-direction:column;width:100%}.photo-actions .btn-secondary{width:100%}.camera-modal{height:auto;margin:0;max-height:95vh;max-width:95%}.camera-header{flex-shrink:0;padding:16px}.camera-header h3{font-size:16px}.camera-content{flex:1 1;gap:16px;min-height:0;overflow:visible;padding:16px}.camera-content video{flex-shrink:1;max-height:calc(95vh - 250px);width:100%}.camera-controls{flex-direction:column;flex-shrink:0;gap:12px;padding-top:8px;width:100%}.camera-controls button{min-height:44px;width:100%}.camera-controls .btn-primary,.camera-controls .btn-secondary{width:100%}}@media (max-width:480px){.student-registration{padding:12px}.registration-form{padding:20px}.form-section{margin-bottom:24px}.form-section h3{font-size:16px}}.custom-date-picker-wrapper{position:relative;width:100%}.custom-date-input{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;min-height:44px;padding:12px 16px 12px 48px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.custom-date-input:hover{background:linear-gradient(135deg,#fff,#eff6ff);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;transform:translateY(-1px)}.custom-date-input.open{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633,0 4px 12px #3b82f626;transform:translateY(-2px)}.custom-date-input.error{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.date-input-icon{color:#3b82f6;left:14px;pointer-events:none;position:absolute;transition:all .3s ease;z-index:1}.custom-date-input:hover .date-input-icon{color:#2563eb;transform:scale(1.1)}.custom-date-input.open .date-input-icon{color:#2563eb;transform:scale(1.15)}.date-display{color:#374151;flex:1 1;font-weight:500}.date-display.placeholder{color:#9ca3af;font-weight:400}.date-input-arrow{align-items:center;color:#64748b;display:flex;transition:transform .3s ease}.date-input-arrow svg.rotated{transform:rotate(180deg)}.calendar-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.calendar-modal-popup{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:400px;overflow:hidden;width:100%}.calendar-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.calendar-modal-header h3{color:#0f172a;font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.calendar-modal-close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.calendar-modal-close-btn:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.calendar-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.custom-calendar-popup{animation:slideDown .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;left:0;max-width:100%;min-width:320px;padding:20px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-header{align-items:center;border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.calendar-nav-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-nav-btn:hover{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:scale(1.05)}.calendar-nav-btn:active{transform:scale(.95)}.calendar-month-year{align-items:center;display:flex;flex-direction:column;gap:2px}.calendar-month{color:#1e293b;font-size:18px;font-weight:700;line-height:1.2}.calendar-year{color:#64748b;font-size:14px;font-weight:500;line-height:1.2}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:12px}.calendar-weekday{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 4px;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:16px}.calendar-day{align-items:center;aspect-ratio:1;background:#f8fafc;border:2px solid #0000;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.calendar-day:hover:not(.empty):not(.selected){background:#eff6ff;border-color:#3b82f6;color:#3b82f6;font-weight:600;transform:scale(1.1)}.calendar-day.today{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1e40af;font-weight:700}.calendar-day.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;box-shadow:0 4px 12px #3b82f666;color:#fff;font-weight:700;transform:scale(1.05)}.calendar-day.selected:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:scale(1.1)}.calendar-day.empty{background:#0000;cursor:default}.calendar-day:active:not(.empty){transform:scale(.95)}.calendar-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:center;padding-top:16px}.calendar-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.calendar-action-btn:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.calendar-action-btn:active{transform:translateY(0)}@media (max-width:768px){.calendar-modal-popup{border-radius:16px;max-height:98vh;max-width:100%}.calendar-modal-header{padding:16px 20px}.calendar-modal-header h3{font-size:18px}.calendar-modal-content{padding:20px}.custom-calendar-popup{left:0;min-width:auto;right:0}.calendar-day{font-size:13px}.calendar-month{font-size:16px}}.student-list-container{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.student-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.student-list-header h1{color:#0f172a;font-size:28px;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.search-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:250px;padding:8px 12px}.search-box svg{color:#64748b;margin-right:8px}.search-box input{border:none;color:#0f172a;flex:1 1;font-size:14px;outline:none}.search-box input::placeholder{color:#94a3b8}.refresh-btn{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 16px;transition:background .2s ease}.refresh-btn:hover{background:#1d4ed8}.student-list-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:8px;margin-bottom:24px}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-weight:600;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.tab-btn:hover{color:#2563eb}.tab-btn.active{border-bottom-color:#2563eb;color:#2563eb}.student-list-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:0}.empty-state{color:#64748b;padding:64px 24px;text-align:center}.empty-state svg{color:#cbd5e1;margin-bottom:16px}.empty-state h3{color:#475569;font-size:20px;font-weight:600;margin:0 0 8px}.student-table-container{overflow-x:auto;width:100%}.student-table{border-collapse:collapse;width:100%}.student-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.student-table th{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:16px;text-align:left;text-transform:uppercase}.student-table td{border-bottom:1px solid #e2e8f0;color:#0f172a;padding:16px}.student-table tbody tr:hover{background:#f8fafc}.student-name-cell{align-items:center;display:flex;gap:12px}.student-avatar{background:linear-gradient(135deg,#2563eb,#1d4ed8);height:40px;width:40px}.rfid-badge,.seat-badge{background:#f1f5f9;border-radius:6px;color:#475569;display:inline-block;font-family:monospace;font-size:12px;font-weight:600;padding:4px 12px}.seat-badge{background:#dbeafe;color:#1e40af}.status-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.allotted{background:#d1fae5;color:#065f46}.status-badge.unallotted{background:#fee2e2;color:#991b1b}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.pagination-controls-top{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:0;padding:16px 20px}.items-per-page{align-items:center;display:flex;gap:8px}.items-per-page label{color:#64748b;font-size:14px;font-weight:500}.items-per-page select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;font-size:14px;outline:none;padding:6px 12px;transition:border-color .2s ease}.items-per-page select:hover{border-color:#2563eb}.items-per-page select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.pagination-info{color:#64748b;font-size:14px;font-weight:500}.pagination-container{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:center;margin-top:0;padding:20px}.pagination{gap:8px}.pagination,.pagination-btn{align-items:center;display:flex}.pagination-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#2563eb;color:#2563eb}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-btn svg{height:16px;width:16px}.pagination-pages{align-items:center;display:flex;gap:4px}.pagination-page-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:40px;justify-content:center;min-width:40px;padding:0 12px;transition:all .2s ease}.pagination-page-btn:hover{background:#f8fafc;border-color:#2563eb;color:#2563eb}.pagination-page-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.pagination-page-btn.active:hover{background:#1d4ed8;border-color:#1d4ed8}.pagination-ellipsis{color:#94a3b8;font-weight:500;padding:0 8px}@media (max-width:768px){.student-list-header{align-items:stretch}.header-actions,.student-list-header{flex-direction:column}.search-box{min-width:100%}.student-list-tabs{flex-wrap:nowrap;overflow-x:auto}.student-table-container{overflow-x:scroll}.student-table{min-width:800px}.pagination-controls-top{align-items:stretch;flex-direction:column;gap:12px}.pagination-info{text-align:center}.pagination-pages{flex-wrap:wrap;justify-content:center}.pagination-page-btn{height:36px;min-width:36px;padding:0 8px}}.student-name.clickable{color:#2563eb;transition:color .2s ease}.student-name.clickable:hover{color:#1d4ed8;text-decoration:underline}.modal-overlay{overflow-y:auto}.student-details-modal{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;margin:auto;max-height:calc(100vh - 40px);max-width:700px;overflow:hidden;position:relative;width:100%}.modal-header{padding:28px 32px}.modal-header h2{font-size:26px}.modal-content{padding:32px}.student-profile-section{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #f1f5f9;border-radius:16px;margin:-32px -32px 32px;padding:32px 24px;text-align:center}.student-profile-picture{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:5px solid #fff;border-radius:50%;box-shadow:0 10px 25px -5px #2563eb33;display:flex;height:140px;justify-content:center;margin:0 auto 20px;overflow:hidden;position:relative;width:140px}.student-profile-picture:before{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:50%;content:"";inset:-5px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:5px;position:absolute}.student-profile-picture img{object-fit:cover}.profile-placeholder,.student-profile-picture img{height:100%;position:relative;width:100%;z-index:1}.profile-placeholder{align-items:center;color:#fff;display:flex;font-size:52px;font-weight:700;justify-content:center}.student-profile-section h3{color:#0f172a;font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}.profile-status-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.student-details-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.detail-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:20px;transition:all .2s ease}.detail-item:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.detail-item label{align-items:center;color:#64748b;display:flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.detail-icon{color:#94a3b8;flex-shrink:0}.detail-value{color:#0f172a;font-size:16px;font-weight:600;word-break:break-word}.modal-actions{border-top:2px solid #f1f5f9;gap:16px;margin-top:8px;padding-top:32px}.modal-actions,.status-toggle-btn{display:flex;justify-content:center}.status-toggle-btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;font-size:15px;font-weight:600;gap:10px;min-width:180px;padding:14px 32px;transition:all .2s ease}.status-toggle-btn.activate{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-toggle-btn.activate:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 12px -2px #10b98166;transform:translateY(-2px)}.status-toggle-btn.deactivate{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.status-toggle-btn.deactivate:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 12px -2px #ef444466;transform:translateY(-2px)}.status-toggle-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.status-toggle-btn svg{flex-shrink:0}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.modal-overlay{padding:10px}.student-details-modal{border-radius:16px;max-height:98vh;max-width:100%}.modal-header{padding:20px}.modal-header h2{font-size:22px}.modal-content{padding:24px 20px}.student-profile-section{margin:-24px -20px 24px;padding:24px 20px}.student-details-grid{gap:16px;grid-template-columns:1fr}.detail-item{padding:16px}.student-profile-picture{height:110px;width:110px}.profile-placeholder{font-size:40px}.student-profile-section h3{font-size:24px}.status-toggle-btn{min-width:100%;padding:12px 24px}}.seat-allotment-container{margin:0 auto;max-width:1200px;padding:24px}.seat-allotment-header{margin-bottom:24px}.seat-allotment-header h1{color:#0f172a;font-size:28px;font-weight:700;margin:0 0 8px}.subtitle{color:#64748b;font-size:16px;margin:0}.alert{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px}.alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.seat-allotment-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}.allotment-form-card,.allotment-stats-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.allotment-form-card h2{color:#0f172a;font-size:20px;font-weight:600;margin:0 0 24px}.allotment-stats-card h3{color:#0f172a;font-size:18px;font-weight:600;margin:0 0 20px}.allotment-form{display:flex;flex-direction:column;gap:20px}.required{color:#dc2626}.form-input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-input.error{border-color:#dc2626}.form-input.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-input:disabled{background:#f3f4f6}.input-with-prefix{align-items:center;display:flex}.input-prefix{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px 0 0 8px;border-right:none;color:#6b7280;font-size:14px;font-weight:600;padding:10px 8px 10px 12px}.input-with-prefix .form-input{border-left:none;border-radius:0 8px 8px 0}.input-with-prefix .form-input:focus{border-left:1px solid #2563eb}.input-with-prefix .form-input.error{border-left:1px solid #dc2626}.error-message{color:#dc2626}.form-hint{color:#6b7280;font-size:12px}.form-actions{gap:12px;margin-top:8px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-outline{background:#0000;border:1px solid #2563eb;color:#2563eb}.btn-outline:hover:not(:disabled){background:#eff6ff}.btn-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.stat-item{background:#f8fafc;border-radius:8px;padding:16px;text-align:center}.stat-value{color:#2563eb;font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{color:#64748b;font-size:12px;font-weight:500}.loading-container{min-height:400px}.spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-top-color:#2563eb;height:40px;margin:0 auto 16px;width:40px}@media (max-width:1024px){.seat-allotment-content{grid-template-columns:1fr}}@media (max-width:768px){.seat-allotment-container{padding:16px}.stats-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}}.receipt-generator{margin:0 auto;max-width:1400px;padding:24px}.receipt-generator-header{margin-bottom:24px}.receipt-generator-header h1{color:#1e293b;font-size:28px;font-weight:700;margin-bottom:8px}.receipt-generator-header p{color:#64748b;font-size:14px}.receipt-generator-container{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.receipt-form-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.form-section:last-child{margin-bottom:0}.form-section h3{border-bottom:2px solid #e2e8f0;color:#1e293b;margin-bottom:16px;padding-bottom:12px}.form-row{grid-gap:16px;gap:16px;margin-bottom:16px}.form-group label{color:#475569;font-size:13px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-group input,.form-group textarea{border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.items-list{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.item-row{grid-gap:8px;align-items:center;border-bottom:1px solid #e2e8f0;display:grid;gap:8px;grid-template-columns:2fr 80px 100px 100px auto auto;padding:12px;transition:background .2s}.item-row:last-child{border-bottom:none}.item-row:hover{background:#f8fafc}.item-name{color:#1e293b;font-size:14px;font-weight:500}.item-price,.item-qty,.item-total{color:#64748b;font-size:13px;text-align:right}.item-total{color:#1e293b;font-weight:600}.item-name-input,.item-price-input,.item-qty-input{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:8px;width:100%}.item-name-input{grid-column:1/-1}.add-item-form{grid-gap:8px;align-items:center;border-top:2px solid #e2e8f0;display:grid;gap:8px;grid-template-columns:2fr 80px 100px auto;padding-top:16px}.btn-icon{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon:hover{background:#f1f5f9;border-color:#94a3b8}.btn-icon.danger{color:#dc2626}.btn-icon.danger:hover{background:#fef2f2;border-color:#dc2626}.btn-primary{background:linear-gradient(135deg,#2563eb,#0891b2);border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-secondary{background:#fff;border:1px solid #2563eb;border-radius:8px;color:#2563eb;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#eff6ff}.receipt-preview-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;position:-webkit-sticky;position:sticky;top:24px}.receipt-preview-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.receipt-preview-header h3{color:#1e293b;font-size:18px;font-weight:600;margin:0}.preview-actions{display:flex;gap:8px}.receipt-preview-container{overflow:auto}.receipt-preview{background:#f8fafc;border-radius:8px;padding:16px;transform:scale(.75);transform-origin:top left;width:133.33%}@media (max-width:1024px){.receipt-generator-container{grid-template-columns:1fr}.receipt-preview-panel{max-height:none;position:relative;top:0}.receipt-preview{transform:scale(1);width:100%}}@media (max-width:768px){.receipt-generator{padding:16px}.form-row,.item-row{grid-template-columns:1fr}.item-row{gap:8px}.item-name-input{grid-column:1}.add-item-form{grid-template-columns:1fr}.preview-actions{flex-direction:column;width:100%}.btn-secondary{width:100%}}.login-container{background:#f8fafc;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.login-left-panel{align-items:center;background:linear-gradient(135deg,#1e3a8a,#1e40af 50%,#3b82f6);display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:60px;position:relative}.login-left-panel:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='75' cy='75' r='1' fill='rgba(255,255,255,0.1)'/%3E%3Ccircle cx='50' cy='10' r='.5' fill='rgba(255,255,255,0.05)'/%3E%3Ccircle cx='10' cy='60' r='.5' fill='rgba(255,255,255,0.05)'/%3E%3Ccircle cx='90' cy='40' r='.5' fill='rgba(255,255,255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.login-right-panel{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:60px}.login-card{animation:slideInRight .8s ease-out;max-width:400px;padding:0;width:100%}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.login-branding{animation:slideInLeft .8s ease-out;color:#fff;position:relative;text-align:center;z-index:2}.logo-container{gap:20px;margin-bottom:40px}.logo-container,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;height:60px;width:60px}.logo-icon svg{color:#fff;height:32px;width:32px}.logo-text h1{color:#fff;font-size:32px;font-weight:800;letter-spacing:-1px;margin:0}.logo-text span{color:#fffc;font-size:18px;font-weight:400;margin-left:8px}.branding-content h2{color:#fff;font-size:28px;font-weight:700;margin:0 0 16px}.branding-content p{color:#ffffffe6;font-size:16px;line-height:1.6;margin:0 auto 32px;max-width:400px}.features-list{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:300px}.feature-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;gap:12px;padding:12px 16px}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:#ffffff26;border-radius:8px;font-size:20px;height:32px;justify-content:center;width:32px}.feature-item span{color:#fff;font-size:14px;font-weight:500}.login-header{margin-bottom:32px;text-align:left}.login-header h3{color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-header p{color:#64748b;font-size:16px;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:14px;font-weight:500;gap:12px;margin-bottom:20px;padding:16px}.error-icon{font-size:18px}.form-group{gap:8px}.form-label{color:#374151;font-size:14px;font-weight:600;margin-bottom:6px}.form-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#111827;font-size:16px;font-weight:400;padding:16px 20px;transition:all .3s ease;width:100%}.form-input::placeholder{color:#9ca3af;font-weight:400}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none;transform:translateY(-1px)}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a}.form-input:disabled{background-color:#f9fafb;border-color:#d1d5db;cursor:not-allowed;opacity:.6}.error-message{color:#e53e3e}.checkbox-group{align-items:center;flex-direction:row;gap:12px}.checkbox-label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px}.checkbox-input{display:none}.checkbox-custom{align-items:center;border:2px solid #e2e8f0;border-radius:4px;display:flex;height:20px;justify-content:center;position:relative;transition:all .2s ease;width:20px}.checkbox-input:checked+.checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.checkbox-input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700}.login-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 14px #3b82f640;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;margin-top:12px;padding:18px 24px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-2px)}.login-button:active:not(:disabled){box-shadow:0 4px 14px #3b82f640;transform:translateY(0)}.login-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.login-button.loading{cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff}.login-footer{border-top:1px solid #e5e7eb;margin-top:40px;padding-top:24px}.demo-credentials{text-align:left}.demo-credentials h4{color:#374151;font-size:16px;font-weight:600;margin:0 0 16px}.credentials-grid{display:flex;flex-direction:column;gap:12px}.credential-item{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.credential-item:hover{background:#f1f5f9;border-color:#d1d5db}.credential-role{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.credential-role.admin{background:#dbeafe;color:#1e40af}.credential-role.student{background:#dcfce7;color:#166534}.credential-details{color:#6b7280;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px;font-weight:500}@media (max-width:1024px){.login-container{flex-direction:column}.login-left-panel{min-height:40vh;padding:40px 30px}.login-right-panel{padding:40px 30px}.logo-container{flex-direction:column;gap:16px;text-align:center}.features-list{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:100%}.feature-item{flex:1 1;min-width:200px}}@media (max-width:768px){.login-left-panel{min-height:35vh;padding:30px 20px}.login-right-panel{padding:30px 20px}.logo-text h1{font-size:24px}.logo-text span{font-size:16px}.branding-content h2{font-size:24px}.branding-content p{font-size:14px}.features-list{align-items:center;flex-direction:column}.feature-item{max-width:300px;width:100%}}@media (max-width:480px){.login-left-panel{min-height:30vh;padding:20px 16px}.login-right-panel{padding:20px 16px}.login-card{max-width:100%}.logo-text h1{font-size:20px}.logo-text span{font-size:14px}.branding-content h2{font-size:20px}.branding-content p{font-size:13px}.form-input{font-size:16px;padding:14px 16px}.login-button{padding:16px 20px}}@media (prefers-color-scheme:dark){.login-container{background:#0f172a}.login-right-panel{background:#1e293b}.login-header h3{color:#f1f5f9}.login-header p{color:#94a3b8}.form-label{color:#e2e8f0}.form-input{background:#334155;border-color:#475569;color:#f1f5f9}.form-input::placeholder{color:#64748b}.form-input:focus{background:#475569;border-color:#3b82f6}.form-input.error{border-color:#ef4444}.checkbox-label{color:#e2e8f0}.login-footer{border-top-color:#475569}.demo-credentials h4{color:#f1f5f9}.credential-item{background:#334155;border-color:#475569}.credential-item:hover{background:#475569;border-color:#64748b}.credential-details{color:#94a3b8}}*{box-sizing:border-box;margin:0;padding:0}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;overflow-x:hidden}.App{position:relative;width:100%}.App,.layout{min-height:100vh}.layout,.topbar{display:flex}.topbar{align-items:center;background:#0b5ed7;border-bottom:1px solid #0a58ca;box-shadow:0 1px 2px #0003;color:#fff;gap:12px;height:56px;padding:0 12px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar-title{flex:1 1;font-size:22px;font-weight:800;letter-spacing:.2px;text-align:left}.topbar-user{gap:10px;position:relative}.avatar,.topbar-user{align-items:center;display:inline-flex}.avatar{background:#ffffff40;border-radius:9999px;color:#fff;font-weight:700;height:32px;justify-content:center;width:32px}.user-meta{display:flex;flex-direction:column;line-height:1.1}.user-name{font-weight:700}.user-role{font-size:12px;opacity:.9}.user-menu{align-items:center;background:#ffffff26;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.user-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px #02061726;color:#0f172a;min-width:180px;padding:6px;position:absolute;right:0;top:44px;z-index:60}.dropdown-item{background:#0000;border:none;border-radius:8px;cursor:pointer;padding:10px;text-align:left;width:100%}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.danger{color:#b91c1c}.dropdown-sep{background:#e5e7eb;height:1px;margin:6px 0}@media (max-width:768px){.user-meta{display:none}}.sidebar-toggle{align-items:center;background:#ffffff26;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease;width:36px}.sidebar-toggle:hover{background:#ffffff40;border-color:#ffffff59}.mobile-only{display:none}.sidebar{background:#0f172a;border-right:1px solid #111827;color:#e2e8f0;height:calc(100vh - 56px);padding:16px 12px;position:-webkit-sticky;position:sticky;top:56px;transition:width .2s ease,padding .2s ease,transform .2s ease;width:240px;z-index:40}.sidebar.collapsed{padding:16px 8px;width:64px}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:none;z-index:30}.sidebar-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.sidebar.collapsed .sidebar-title-text{display:none}.sidebar-title{color:#94a3b8;font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;font-weight:600;gap:10px;padding:10px 12px;text-align:left;transition:background .15s ease,color .15s ease}.nav-item:hover{background:#111827;color:#e5e7eb}.nav-item.active{background:linear-gradient(180deg,#111827,#0b1220);border-color:#1f2937;color:#fff;position:relative}.nav-item.active:before{background:#2563eb;border-radius:2px;bottom:8px;content:"";left:0;position:absolute;top:8px;width:3px}.nav-icon{display:inline-flex}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.nav-group{display:flex;flex-direction:column}.nav-parent{align-items:center;display:flex;justify-content:space-between;position:relative}.nav-arrow{align-items:center;color:#94a3b8;display:inline-flex;margin-left:auto;transition:transform .2s ease}.nav-arrow.open{transform:rotate(-90deg)}.nav-item.active .nav-arrow{color:#fff}.nav-submenu{border-left:2px solid #1f2937;display:flex;flex-direction:column;gap:4px;margin-bottom:4px;margin-left:28px;margin-top:4px;padding-left:8px}.nav-subitem{font-size:14px;padding:8px 12px}.nav-subitem .nav-icon{height:16px;width:16px}.nav-subitem.active{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#334155}.nav-subitem.active:before,.sidebar.collapsed .nav-arrow,.sidebar.collapsed .nav-submenu{display:none}.content{background:#f1f5f9;flex:1 1;overflow:auto;padding:20px}.with-topbar{padding-top:12px}@media (max-width:768px){.layout{flex-direction:column}.mobile-only{display:inline-flex}.sidebar{height:calc(100vh - 56px);left:0;position:fixed;top:56px;transform:translateX(-100%);width:260px}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{padding:16px 12px;width:260px}.sidebar-backdrop{background:#02061780;display:block;inset:56px 0 0 0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease}.sidebar-backdrop.show{opacity:1;pointer-events:auto}body{-webkit-text-size-adjust:100%;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}*{-webkit-tap-highlight-color:transparent}}.loading-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;justify-content:center;min-height:100vh}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.loading-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#0b5ed7;height:40px;width:40px}.loading-spinner p{color:#64748b;font-size:16px;font-weight:500;margin:0}.dropdown-user-info{background:#f8fafc;border-radius:8px;margin-bottom:8px;padding:12px 16px}.dropdown-user-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:2px}.dropdown-user-email{color:#64748b;font-size:12px}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{font-size:16px}}.full-page-loader-backdrop{animation:fadeIn .3s ease-in;background:#ffffffb3;flex-direction:column;inset:0;position:fixed;z-index:9999}.full-page-loader-backdrop,.loader-container{align-items:center;display:flex;justify-content:center}.loader-container{height:120px;position:relative;width:120px}.loader-ring-1{animation:rotate 1.5s linear infinite;border-right:4px solid #0000;border-top:4px solid #0000;border-color:#0b5ed7 #0b5ed799 #0000 #0000;border-radius:50%;border-style:solid;border-width:4px;height:120px;position:absolute;width:120px}.loader-ring-2{animation:rotateReverse 1.2s linear infinite;border-bottom:3px solid #0000;border-left:3px solid #0000;border-color:#0000 #0000 #0b5ed7 #0b5ed780;border-style:solid;border-width:3px;height:90px;width:90px}.loader-core,.loader-ring-2{border-radius:50%;position:absolute}.loader-core{animation:pulse 1.5s ease-in-out infinite;background:radial-gradient(circle,#0b5ed7 0,#0b5ed74d 100%);box-shadow:0 0 20px #0b5ed780,0 0 40px #0b5ed74d,0 0 60px #0b5ed71a;height:50px;width:50px}.loader-particle{background:#0b5ed7;border-radius:50%;box-shadow:0 0 10px #0b5ed7cc;height:8px;position:absolute;width:8px}.loader-particle-1{animation:floatUp 2s ease-in-out infinite;animation-delay:0s;left:50%;top:0;transform:translateX(-50%)}.loader-particle-2{animation:floatRight 2s ease-in-out infinite;animation-delay:.3s;right:0;top:50%;transform:translateY(-50%)}.loader-particle-3{animation:floatDown 2s ease-in-out infinite;animation-delay:.6s;bottom:0;left:50%;transform:translateX(-50%)}.loader-particle-4{animation:floatLeft 2s ease-in-out infinite;animation-delay:.9s;left:0;top:50%;transform:translateY(-50%)}.loader-particle-5{animation:floatDiagonal1 2.5s ease-in-out infinite;animation-delay:1.2s;right:20%;top:20%}.loader-particle-6{animation:floatDiagonal2 2.5s ease-in-out infinite;animation-delay:1.5s;bottom:20%;left:20%}.loader-text{animation:textPulse 2s ease-in-out infinite;color:#0b5ed7;font-size:18px;font-weight:600;letter-spacing:2px;margin-top:40px;text-transform:uppercase}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotateReverse{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@keyframes floatUp{0%,to{opacity:0;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-30px) scale(1.2)}}@keyframes floatRight{0%,to{opacity:0;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translate(30px,-50%) scale(1.2)}}@keyframes floatDown{0%,to{opacity:0;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%,30px) scale(1.2)}}@keyframes floatLeft{0%,to{opacity:0;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translate(-30px,-50%) scale(1.2)}}@keyframes floatDiagonal1{0%,to{opacity:0;transform:translate(0) scale(1)}50%{opacity:1;transform:translate(25px,-25px) scale(1.2)}}@keyframes floatDiagonal2{0%,to{opacity:0;transform:translate(0) scale(1)}50%{opacity:1;transform:translate(-25px,25px) scale(1.2)}}@keyframes textPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.student-payments{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.payments-header{margin-bottom:32px;text-align:center}.payments-header h2{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 8px}.payments-header p{color:#64748b;font-size:16px;margin:0}.payments-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden}.payments-form{padding:32px}.form-section{border-bottom:1px solid #e2e8f0;margin-bottom:32px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{border-bottom:2px solid #3b82f6;color:#374151;display:inline-block;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#374151;font-size:14px;font-weight:600;margin-bottom:4px}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input:disabled,.form-group select:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.form-group input.readonly-field{background:#f8fafc;border-color:#e2e8f0;color:#64748b;cursor:default;font-style:italic}.form-group input.readonly-field:disabled{background:#f8fafc;cursor:default;opacity:1}.form-group select{cursor:pointer}.form-group select option{padding:8px}.error-message{color:#ef4444;font-weight:500}.error-message,.field-note{font-size:12px;margin-top:4px}.field-note{color:#6b7280}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:16px;justify-content:flex-end;margin-top:32px;padding-top:24px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 24px;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-primary:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0;transform:translateY(-1px)}.btn-secondary:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.success-banner{align-items:center;animation:slideInDown .3s ease-out;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.success-icon{color:#10b981;flex-shrink:0;font-size:24px;font-weight:700}.success-content h4{color:#065f46;font-size:16px;font-weight:600;margin:0 0 4px}.success-content p{color:#047857;font-size:14px;line-height:1.4;margin:0}.error-banner{align-items:center;animation:slideInDown .3s ease-out;background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #fca5a5;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:20px}.error-icon{color:#dc2626;flex-shrink:0;font-size:24px;font-weight:700}.error-content h4{color:#dc2626;font-size:16px;font-weight:600;margin:0 0 4px}.error-content p{color:#b91c1c;font-size:14px;line-height:1.4;margin:0}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.student-payments{padding:16px}.payments-form{padding:24px}.form-row{gap:16px;grid-template-columns:1fr}.form-actions{flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}.payments-header h2{font-size:24px}}.student-select-container{position:relative}.student-select-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-size:14px;justify-content:space-between;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.student-select-btn:focus,.student-select-btn:hover:not(:disabled){border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.student-select-btn:focus{outline:none}.student-select-btn.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.student-select-btn:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.student-select-btn .selected-student{color:#374151;font-weight:500}.student-select-btn .placeholder-text{color:#9ca3af}.student-select-btn svg{color:#64748b;flex-shrink:0;transition:transform .2s ease}.student-select-btn:hover:not(:disabled) svg{color:#3b82f6}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.student-selection-modal{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:600px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header h2{color:#0f172a;font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.modal-close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;padding:10px;transition:all .2s ease;width:40px}.modal-close-btn:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.search-container{margin-bottom:20px}.search-box{align-items:center;display:flex;position:relative}.search-box svg{color:#94a3b8;left:14px;pointer-events:none;position:absolute;z-index:1}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px 12px 44px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.student-list-container{max-height:400px;overflow-y:auto}.student-list{display:flex;flex-direction:column;gap:8px}.student-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .2s ease}.student-item:hover{background:#f8fafc;border-color:#3b82f6;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.student-item.selected{background:#eff6ff;border-color:#3b82f6}.student-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:48px;justify-content:center;width:48px}.student-info{flex:1 1;min-width:0}.student-name{color:#0f172a;font-size:16px;font-weight:600;margin-bottom:4px}.student-details{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.student-details .separator{color:#cbd5e1}.selected-indicator{color:#3b82f6;flex-shrink:0}.empty-state,.loading-state{color:#64748b;padding:40px 20px;text-align:center}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px}.loading-state .spinner{animation:spin 1s linear infinite;border:3px solid #0000;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}.empty-state p{font-size:14px;margin:0}@media (max-width:480px){.student-payments{padding:12px}.payments-form{padding:20px}.form-section{margin-bottom:24px}.form-section h3{font-size:16px}.student-selection-modal{border-radius:16px;max-height:98vh;max-width:100%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.modal-content{padding:20px}.student-list-container{max-height:300px}}
/*# sourceMappingURL=main.2c37753d.css.map*/