.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000001a;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.error-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 12px}.error-message{font-size:16px;color:#6b7280;margin:0 0 24px;line-height:1.6}.error-details{text-align:left;margin:24px 0;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.error-details summary{cursor:pointer;font-weight:500;color:#374151;margin-bottom:12px}.error-stack{font-size:12px;color:#dc2626;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-button{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background:#667eea;color:#fff}.error-button:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.error-button-secondary{background:#6b7280}.error-button-secondary:hover{background:#4b5563}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-card h2{margin-bottom:30px;text-align:center;color:#2c3e50}.login-card .form-group{margin-bottom:20px}.login-card label{display:block;margin-bottom:5px;font-weight:500;color:#2c3e50}.login-card input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.login-card input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-card input.error{border-color:#ef4444}.login-card .error{color:#ef4444;font-size:12px;margin-top:5px;display:block}.submit-btn{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.submit-btn:hover:not(:disabled){background-color:#5568d3}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-attempts-section{margin-bottom:20px}.login-attempt-loading{margin:0;padding:12px 14px;font-size:14px;color:#6b7280;background:#f3f4f6;border-radius:6px;border:1px solid #e5e7eb}.login-attempt-box{margin:0;padding:12px 14px;font-size:14px;border-radius:6px;border:1px solid transparent}.login-attempt-box strong{display:block;margin-bottom:6px;font-size:13px;text-transform:uppercase;letter-spacing:.02em}.login-attempt-box p{margin:0 0 6px;line-height:1.45}.login-attempt-box p:last-child{margin-bottom:0}.login-attempt-warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.login-attempt-warning .login-attempt-warning-text{font-weight:500}.login-attempt-info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.login-attempt-lockout{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.login-attempt-permanent{background:#fef2f2;border-color:#dc2626;color:#991b1b}.login-attempt-counts{font-size:13px;opacity:.95}.login-error{margin:0 0 16px;padding:10px 12px;font-size:14px;line-height:1.4;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}@media (max-width: 768px){.login-container{padding:20px}.login-card{padding:24px;max-width:100%}.login-card h2{font-size:24px;margin-bottom:24px}.login-card .form-group{margin-bottom:18px}.login-card input{font-size:16px;padding:12px;min-height:44px}.submit-btn{padding:12px;font-size:16px;min-height:44px;width:100%}}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:20px}.login-card h2{font-size:20px;margin-bottom:20px}}.btn{padding:12px 24px;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a;letter-spacing:.3px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #6b728066}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ef444466}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 4px 8px #10b98166}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:12px}.btn-icon{padding:6px 8px;font-size:14px;min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.btn-icon-only{padding:6px;font-size:16px;min-width:28px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;border:1px solid transparent}.btn-icon-only:hover{background-color:#0000000d;border-color:#0000001a}.btn-icon-only.btn-primary{color:#3498db;border-color:#3498db}.btn-icon-only.btn-primary:hover{background-color:#3498db;color:#fff}.btn-icon-only.btn-danger{color:#e74c3c;border-color:#e74c3c}.btn-icon-only.btn-danger:hover{background-color:#e74c3c;color:#fff}.btn-icon-only.btn-secondary{color:#6b7280;border-color:#d1d5db}.btn-icon-only.btn-secondary:hover{background-color:#6b7280;color:#fff}.btn-icon-only:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.btn{padding:10px 16px;font-size:14px;min-height:44px}.btn-small{padding:8px 12px;font-size:13px;min-height:36px}.btn-icon-only{min-width:32px;width:32px;height:32px;font-size:14px}}@media (max-width: 480px){.btn{padding:12px 16px;font-size:14px;width:100%;min-height:44px}.btn-small{padding:8px 12px;min-height:36px}.btn-icon-only{min-width:36px;width:36px;height:36px;font-size:16px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;min-height:100vh}.layout{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;margin-left:250px;transition:margin-left .3s ease}.content{flex:1;padding:20px;overflow-y:auto}.page-container{background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;transition:box-shadow .3s ease;min-height:calc(100vh - 100px)}.page-container:hover{box-shadow:0 10px 15px #0000001a,0 4px 6px #00000014}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}.page-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.5px}@media (max-width: 768px){.main-content{margin-left:0}.content{padding:12px}.page-container{padding:16px;border-radius:4px}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:20px;width:100%}}@media (max-width: 480px){.content{padding:8px}.page-container{padding:12px;border-radius:4px}.page-header{margin-bottom:16px;gap:10px}.page-header h1{font-size:18px}.page-header button{width:100%;min-height:42px}}@media (max-width: 360px){.content{padding:6px}.page-container{padding:10px}.page-header{margin-bottom:12px;gap:8px}.page-header h1{font-size:16px}}.form-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:0 auto}.form-container-modal{max-width:100%;width:100%;padding:0;box-shadow:none;margin:0}.form-container-modal form,.form-container-modal .user-form{width:100%;max-width:100%}@media (max-width: 768px){.form-container-modal .form-group{margin-bottom:14px}.form-container-modal .form-grid{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.form-container-modal .form-actions{gap:10px;margin-top:18px}}@media (max-width: 480px){.form-container-modal{padding:0;margin:0}.form-container-modal .form-group{margin-bottom:10px}.form-container-modal .form-group label{font-size:12px;margin-bottom:3px}.form-container-modal .form-group input,.form-container-modal .form-group select,.form-container-modal .form-group textarea{font-size:16px;padding:8px 10px;min-height:40px}.form-container-modal .form-grid{grid-template-columns:1fr;gap:10px;margin-bottom:10px}.form-container-modal .form-actions{flex-direction:column;gap:8px;margin-top:14px}.form-container-modal .form-actions button{width:100%;margin:0;min-height:42px;font-size:14px;padding:10px 16px}.form-container-modal h3{font-size:15px;margin-top:14px;margin-bottom:10px}}@media (max-width: 360px){.form-container-modal .form-group{margin-bottom:8px}.form-container-modal .form-group label{font-size:11px;margin-bottom:3px}.form-container-modal .form-group input,.form-container-modal .form-group select,.form-container-modal .form-group textarea{font-size:16px;padding:7px 9px;min-height:38px}.form-container-modal .form-grid{gap:8px;margin-bottom:8px}.form-container-modal .form-actions{gap:6px;margin-top:12px}.form-container-modal .form-actions button{min-height:40px;font-size:13px;padding:9px 14px}.form-container-modal h3{font-size:14px;margin-top:12px;margin-bottom:8px}}@media (max-width: 768px){.form-container{padding:16px;max-width:100%}}@media (max-width: 480px){.form-container{padding:12px}}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e74c3c}.form-group textarea{resize:vertical;font-family:inherit}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group-full{grid-column:1 / -1}.form-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}@media (max-width: 768px){.form-grid{grid-template-columns:1fr;gap:16px}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{font-size:15px;padding:9px 11px;min-height:40px}.form-actions{flex-direction:column;gap:10px}.form-actions button{width:100%;min-height:42px}}@media (max-width: 480px){.form-group{margin-bottom:12px}.form-group label{font-size:12px;margin-bottom:3px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:8px 10px;min-height:40px}.form-grid{gap:12px}.form-actions{gap:8px}.form-actions button{min-height:42px;font-size:14px}}@media (max-width: 360px){.form-group{margin-bottom:10px}.form-group label{font-size:11px}.form-group input,.form-group select,.form-group textarea{padding:7px 9px;min-height:38px}.form-grid{gap:10px}}.actions{display:flex;gap:5px}.error{color:red;font-size:12px;margin-top:5px}.error-message{color:#e74c3c;font-size:12px;margin-top:5px;display:block}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-active{background-color:#d1fae5;color:#065f46}.status-inactive{background-color:#fee2e2;color:#991b1b}.status-suspended{background-color:#fef3c7;color:#92400e}.status-discontinued{background-color:#e5e7eb;color:#374151}.text-center{text-align:center}.py-4{padding-top:1rem;padding-bottom:1rem}
