body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.phone-entry-page{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe 50%,#f8fafc);display:flex;justify-content:center;min-height:100vh;padding:24px}.phone-entry-card{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0f172a1f;max-width:420px;padding:32px 28px;width:100%}.phone-entry-header{margin-bottom:28px;text-align:center}.phone-entry-header h1{color:#0f172a;font-size:28px;font-weight:800;margin:0 0 6px}.phone-entry-header p{color:#64748b;font-size:14px;margin:0}.phone-entry-form{display:flex;flex-direction:column;gap:10px}.phone-entry-form label{color:#475569;font-size:14px;font-weight:600}.phone-entry-form input{border:2px solid #e2e8f0;border-radius:10px;font-size:16px;letter-spacing:.5px;outline:none;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease}.phone-entry-form input:focus{border-color:#0b5ed7;box-shadow:0 0 0 3px #0b5ed726}.phone-entry-form input.error{border-color:#ef4444}.phone-entry-form .error-message{color:#dc2626;font-size:13px;line-height:1.45}.continue-btn{background:#0b5ed7;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;margin-top:10px;padding:14px 16px}.continue-btn:disabled{cursor:not-allowed;opacity:.55}.continue-btn:hover:not(:disabled){background:#0a58ca}.student-details-page{background:#f8fafc;margin:0 auto;max-width:960px;min-height:100vh;padding:24px 16px 40px}.student-details-topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.student-details-topbar h1{color:#0f172a;font-size:26px;margin:0}.student-details-topbar p{color:#64748b;margin:4px 0 0}.change-number-btn{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;white-space:nowrap}.change-number-btn:hover{border-color:#0b5ed7;color:#0b5ed7}.warning-banner{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#991b1b;font-weight:600;margin-bottom:16px;padding:14px 16px}.overdue-banner{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#ef4444}.status-ok{color:#059669!important}.status-warning{color:#d97706!important}.status-overdue{color:#dc2626!important}.profile-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;gap:20px;margin-bottom:16px;padding:24px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:42px;font-weight:700;height:110px;justify-content:center;overflow:hidden;width:110px}.profile-avatar.clickable{cursor:pointer}.profile-image{height:100%;object-fit:cover;width:100%}.profile-header-info h2{color:#0f172a;margin:0 0 6px}.profile-header-info p{color:#64748b;margin:0 0 10px}.status-badge{border-radius:999px;display:inline-block;font-size:12px;font-weight:700;padding:5px 12px;text-transform:uppercase}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:16px;padding:24px}.profile-section h3{color:#0f172a;font-size:18px;margin:0 0 16px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.info-item label{color:#64748b;display:block;font-size:12px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.info-item p{color:#0f172a;font-size:15px;font-weight:600;margin:0;word-break:break-word}.seat-card{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.seat-label{color:#1d4ed8;font-weight:600}.seat-value{color:#0f172a;font-size:22px;font-weight:800}.empty-payment{color:#64748b;font-size:14px;margin:0}.make-payment-action{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.make-payment-btn{background:#0b5ed7;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 18px;width:100%}.make-payment-btn:hover{background:#0a58ca}.image-modal-overlay{align-items:center;background:#0f172aa6;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.image-modal{background:#fff;border-radius:16px;max-width:420px;padding:16px;position:relative;text-align:center;width:100%}.image-modal-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:28px;position:absolute;right:12px;top:8px}.image-modal-img{border-radius:12px;max-height:360px;object-fit:cover;width:100%}.image-modal-name{color:#0f172a;font-weight:600;margin:12px 0 0}@media (max-width:640px){.student-details-topbar{align-items:flex-start;flex-direction:column}.profile-header{flex-direction:column;text-align:center}}.make-payment-page{background:#f8fafc;margin:0 auto;max-width:960px;min-height:100vh;padding:24px 16px 40px}.make-payment-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.make-payment-header h1{color:#0f172a;font-size:26px;margin:0 0 6px}.make-payment-header p{color:#64748b;margin:0}.back-btn{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;white-space:nowrap}.back-btn:hover{border-color:#0b5ed7;color:#0b5ed7}.make-payment-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 2px #0f172a0a;padding:24px}.form-group label .required{color:#ef4444}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;padding:12px 14px}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-group input.error{border-color:#ef4444}.field-note{color:#94a3b8}.rate-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1d4ed8;font-size:13px;font-weight:600;margin-bottom:20px;padding:12px 14px}.error-message{color:#dc2626}.form-actions{gap:12px;margin-top:8px;padding-top:20px}.btn-primary,.btn-secondary{border-radius:10px;font-weight:700;padding:12px 18px}.btn-primary{background:#0b5ed7;border:none}.btn-primary:disabled{opacity:.65}.btn-primary:hover:not(:disabled){background:#0a58ca}.btn-secondary{background:#fff;border:2px solid #e2e8f0;color:#334155}.error-banner,.success-banner{border-radius:12px;margin-bottom:16px;padding:14px 16px}.success-banner{background:#ecfdf5;color:#065f46}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.error-banner h4,.success-banner h4{margin:0 0 4px}.error-banner p,.success-banner p{margin:0}@media (max-width:768px){.form-row{grid-template-columns:1fr}.make-payment-header{flex-direction:column}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}*{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{min-height:100vh;width:100%}.loading-container{align-items:center;background:#f8fafc;color:#475569;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:100vh}.spinner{animation:spin .8s linear infinite;border:3px solid #dbeafe;border-top-color:#0b5ed7;height:40px;width:40px}.global-error-banner{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;color:#991b1b;font-size:14px;font-weight:600;left:50%;max-width:90%;padding:10px 14px;position:fixed;top:16px;transform:translateX(-50%);z-index:20}.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-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 input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;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 textarea{font-family:inherit;min-height:80px;resize:vertical}.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)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.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}.field-note{color:#6b7280;font-size:12px;margin-top:4px}.readonly-field{background:#f1f5f9!important;color:#475569;cursor:not-allowed}.required{color:#ef4444}.error-message{color:#ef4444;font-size:12px;font-weight:500;margin-top:4px}.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{background:#e2e8f0;transform:translateY(-1px)}.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{flex-shrink:0;font-size:24px}.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{flex-shrink:0;font-size:24px}.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)}}.form-header-section{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:2fr 1fr;margin-bottom:32px}.photo-section{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}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@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}}
/*# sourceMappingURL=main.1db05b8a.css.map*/