@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap);:root[data-theme=dark]{--bg:#080b12;--surface:#0e1220;--surface2:#141828;--surface3:#1a2035;--border:#ffffff0f;--border-md:#ffffff1c;--text:#e2e8f0;--text2:#94a3b8;--muted:#4b5563;--accent:#3b82f6;--accent-glow:#3b82f640;--gold:#f59e0b;--green:#10b981;--pink:#ec4899;--purple:#8b5cf6;--red:#ef4444;--sidebar-w:272px;--sidebar-w-col:72px;--topbar-h:64px;--radius:14px;--radius-sm:9px;--radius-xs:6px;--transition:0.28s cubic-bezier(0.4,0,0.2,1);--font-head:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--shadow:0 4px 24px #00000080;--shadow-lg:0 12px 48px #000000b3;--accent2:#f59e0b;--c:#3b82f6}:root[data-theme=light]{--bg:#f1f5f9;--surface:#fff;--surface2:#f8fafc;--surface3:#eff3f8;--border:#00000014;--border-md:#00000024;--text:#0f172a;--text2:#475569;--muted:#94a3b8;--accent:#2563eb;--accent-glow:#2563eb26;--gold:#d97706;--green:#059669;--pink:#db2777;--purple:#7c3aed;--red:#dc2626;--sidebar-w:272px;--sidebar-w-col:72px;--topbar-h:64px;--radius:14px;--radius-sm:9px;--radius-xs:6px;--transition:0.28s cubic-bezier(0.4,0,0.2,1);--font-head:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--shadow:0 4px 24px #00000014;--shadow-lg:0 12px 48px #00000024;--accent2:#d97706;--c:#2563eb}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,.App,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);font-family:var(--font-body);height:100%;transition:background .28s ease,color .28s ease;width:100%}*{transition:background-color .25s ease,border-color .25s ease,color .2s ease}[style*=animation],[style*=transform]{transition:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{height:100vh;width:100%}*,.App{margin:0;padding:0}*{box-sizing:border-box}.login-container{align-items:center;background:linear-gradient(135deg,#e0f7ff,#f0e7ff 50%,#e0f7ff);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.background-shape{border-radius:50%;filter:blur(80px);opacity:.6;position:absolute;z-index:0}.shape-1{background:linear-gradient(135deg,#667eea,#764ba2);height:500px;left:-200px;top:-200px;width:500px}.shape-2{background:linear-gradient(135deg,#89f7fe,#66a6ff);bottom:-150px;height:400px;right:-150px;width:400px}.login-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff6;border-radius:30px;box-shadow:0 20px 60px #00000026;display:flex;max-width:1100px;min-height:600px;overflow:hidden;position:relative;width:95%;z-index:1}.login-left{background:linear-gradient(135deg,#667eea1a,#764ba21a);display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:60px 50px}.marketing-content h1{color:#1a1a1a;font-size:42px;font-weight:700;line-height:1.2;margin-bottom:16px;max-width:350px}.marketing-content p{color:#666;font-size:16px;line-height:1.6;max-width:320px}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.language-selector{align-items:center;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 12px;transition:background .3s ease}.language-selector:hover{background:#ffffff80}.flag-icon{font-size:18px}.dropdown-arrow{font-size:10px;margin-left:4px}.links{display:flex;gap:24px}.links a{color:#4169e1;font-size:14px;text-decoration:none;transition:color .3s ease}.links a:hover{color:#2948b0}.login-right{align-items:center;background:#fffc;display:flex;flex:1 1;justify-content:center;padding:40px}.login-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;max-width:400px;padding:40px;width:100%}.login-card h2{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#666;font-size:14px;margin-bottom:24px;text-align:left}.success-message{color:#3c3}.form-group label{color:#333}.form-group input{border:1px solid #e0e0e0;border-radius:10px;font-size:15px;outline:none;padding:14px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:45px}.toggle-password{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;padding:5px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.toggle-password:hover{opacity:1}.password-hint{color:#999;font-size:12px;line-height:1.4;margin-top:6px}.form-options{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.form-options,.remember-me{align-items:center;display:flex}.remember-me{gap:8px}.remember-me input[type=checkbox]{accent-color:#4169e1;cursor:pointer;height:18px;width:18px}.remember-me label{color:#333;cursor:pointer;font-size:13px;margin:0}.remember-me a{color:#4169e1;text-decoration:none}.remember-me a:hover{text-decoration:underline}.request-password{color:#999;font-size:13px;text-decoration:none;transition:color .3s ease}.request-password:hover{color:#4169e1}.divider{margin:24px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#e0e0e0;content:"";height:1px;position:absolute;top:50%;width:40%}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;color:#999;font-size:13px;padding:0 12px;position:relative}.social-login{display:flex;gap:12px;margin-bottom:24px}.social-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 16px;transition:all .3s ease}.social-btn:hover{background:#f8f8f8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.google-btn{color:#333}.apple-btn{color:#000}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.submit-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.signup-link{color:#666;font-size:14px;margin-top:20px;text-align:center}.signup-link a{color:#4169e1;font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media (max-width:968px){.login-content{flex-direction:column;max-width:500px}.login-left{padding:40px 30px 30px}.marketing-content h1{font-size:32px;max-width:100%}.footer-links{align-items:flex-start;flex-direction:column}.login-right{padding:30px 20px 40px}}@media (max-width:480px){.login-card{padding:30px 24px}.social-login{flex-direction:column}.social-btn{width:100%}}.user-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:40px 20px}.header{flex-wrap:wrap;justify-content:space-between;margin-bottom:30px}.header,.header-left{align-items:center;display:flex;gap:20px}.back-button{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:var(--surface3);border-color:#d0d0d0;transform:translateX(-2px)}.header h1{color:#1a1a1a;font-size:32px;margin:0}.current-user{align-items:center;color:var(--text2);display:flex;font-size:14px;gap:12px}.current-user button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px;transition:background .3s ease}.current-user button:hover{background:#d32f2f}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.error-message,.success-message{font-size:14px;margin-bottom:20px;padding:12px 16px}.success-message{background:#efe;border:1px solid #cfc;border-radius:8px;color:#2d7a2d}.actions{display:flex;gap:12px;margin-bottom:30px}button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-secondary{background:var(--surface3);color:var(--text)}.btn-secondary:hover{background:#d0d0d0}.user-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:30px}.user-form h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}.form-group{margin-bottom:20px}.form-group label{color:var(--text);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid var(--border);border-radius:8px;font-size:15px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions{display:flex;gap:12px;margin-top:24px}.loading{color:var(--text2);font-size:16px;padding:40px;text-align:center}.users-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:30px}.users-table h2{color:#1a1a1a;font-size:24px;margin-bottom:24px;margin-top:0}table{border-collapse:collapse;width:100%}thead{background:var(--surface2)}th{border-bottom:2px solid #e0e0e0;color:var(--text);font-weight:600;text-align:left}td,th{padding:16px}td{border-bottom:1px solid #f0f0f0;color:var(--text2)}tbody tr:hover{background:var(--surface2)}.role-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.role-badge.role-admin{background:#ffebee;color:#c62828}.role-badge.role-instructor{background:#e8f5e9;color:#2e7d32}.role-badge.role-reception{background:#e3f2fd;color:#1565c0}.btn-delete,.btn-edit{font-size:13px;margin-right:8px;padding:6px 14px}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}@media (max-width:768px){.user-management{padding:24px 16px}.header h1{font-size:24px}.header{align-items:flex-start}.actions,.header{flex-direction:column}.actions button{width:100%}.user-management .users-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.user-management .users-table table,.user-management table{font-size:14px;min-width:500px}td,th{padding:12px 8px}.btn-delete,.btn-edit{display:block;margin:4px 0;width:100%}}@media (max-width:480px){.user-management{padding:16px 12px}.header h1{font-size:20px}}.invoices-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:32px 24px}.invoices-header{margin-bottom:28px}.invoices-header h1{color:#1a1a1a;font-size:28px;margin:0 0 8px}.invoices-subtitle{color:var(--text2);font-size:14px;margin:0}.invoices-error{background:#ffebee;border-radius:8px;color:#c62828;cursor:pointer;margin-bottom:20px;padding:12px 16px}.invoices-loading{color:var(--text2);padding:40px;text-align:center}.invoices-card{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000000f;padding:24px}.invoices-card h2{color:#1a1a1a;font-size:18px;margin:0 0 20px}.invoices-empty{color:var(--text2);padding:24px 0}.invoices-table{border-collapse:collapse;width:100%}.invoices-table th{border-bottom:2px solid #e0e0e0;color:var(--text2);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.invoices-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:14px 16px}.invoices-table tbody tr:hover{background:var(--surface2)}.btn-generate{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.btn-generate:hover{opacity:.9}.invoice-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.invoice-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.invoice-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.invoice-modal-header h3{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.invoice-modal-close{background:none;border:none;color:var(--text2);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.invoice-modal-close:hover{color:var(--text)}.invoice-modal-body{flex:1 1;overflow-y:auto;padding:24px}.invoice-billto{margin-bottom:24px}.invoice-billto strong{color:var(--text2);display:block;font-size:13px;margin-bottom:8px}.invoice-billto p{font-size:15px;margin:0 0 4px}.invoice-line-items strong{color:var(--text2);display:block;font-size:13px;margin-bottom:12px}.line-items-table{border-collapse:collapse;margin-bottom:12px;width:100%}.line-items-table th{color:var(--text2);font-size:11px;font-weight:600;padding:8px 8px 8px 0;text-align:left}.line-items-table td{padding:4px 8px 4px 0}.line-items-table input{border:1px solid var(--border);border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.line-items-table input:focus{border-color:#2196f3;outline:none}.btn-remove-line{background:var(--surface2);border:none;border-radius:6px;color:var(--text2);cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.btn-remove-line:hover{background:#ffebee;color:#c62828}.btn-add-line{background:var(--surface2);border:1px dashed #ccc;border-radius:8px;color:var(--text2);cursor:pointer;font-size:13px;padding:8px 14px}.btn-add-line:hover{background:var(--surface3);color:var(--text)}.invoice-modal-footer{border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-cancel{background:var(--surface2);color:var(--text);font-weight:500}.btn-cancel,.btn-generate-pdf{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 20px}.btn-generate-pdf{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;font-weight:600}.btn-generate-pdf:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.invoices-page{padding:20px 16px}.invoices-table{display:block;overflow-x:auto}}
/*# sourceMappingURL=main.76917c97.css.map*/