*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.App-header h1{color:#333;font-size:2rem;margin-bottom:.5rem}.App-header p{color:#666;font-size:1rem}.App-main{flex:1 1;margin:0 auto;max-width:1200px;padding:3rem 2rem;width:100%}.dropzone{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:3px dashed #ffffff80;border-radius:12px;cursor:pointer;padding:4rem 2rem;text-align:center;transition:all .3s ease}.dropzone:hover:not(.disabled){background:#ffffff26;border-color:#fffc;transform:translateY(-2px)}.dropzone.active{background:#4caf501a;border-color:#4caf50}.dropzone.disabled{cursor:not-allowed;opacity:.6}.dropzone-content{color:#fff}.upload-icon{height:80px;margin:0 auto 1.5rem;opacity:.9;width:80px}.dropzone-content p{font-size:1.2rem;margin:.5rem 0}.dropzone-hint{font-size:1rem!important;opacity:.8}.uploads-section{background:#fffffff2;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-top:3rem;padding:2rem}.uploads-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.uploads-header h2{color:#333;font-size:1.5rem}.clear-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.clear-btn:hover{background:#d32f2f}.uploads-list{display:flex;flex-direction:column;gap:1rem}.upload-item{background:#f9f9f9;border-left:4px solid #ccc;border-radius:8px;padding:1rem}.upload-item.uploading{border-left-color:#2196f3}.upload-item.completed{border-left-color:#4caf50}.upload-item.error{border-left-color:#f44336}.upload-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.file-name{color:#333;font-weight:600;word-break:break-all}.file-size{color:#666;font-size:.9rem;margin-left:1rem;white-space:nowrap}.progress-bar{background:#e0e0e0;border-radius:12px;height:24px;margin-top:.5rem;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#2196f3,#21cbf3);height:100%;transition:width .3s ease}.progress-text{color:#333;font-size:.85rem;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.status-badge{border-radius:6px;font-size:.9rem;font-weight:600;margin-top:.5rem;padding:.5rem}.status-badge.success{background:#e8f5e9;color:#2e7d32}.status-badge.error{background:#ffebee;color:#c62828}.App-footer{background:#fffffff2;box-shadow:0 -2px 10px #0000001a;color:#666;font-size:.9rem;padding:1.5rem;text-align:center}@media (max-width:768px){.App-header h1{font-size:1.5rem}.App-main{padding:2rem 1rem}.dropzone{padding:3rem 1rem}.upload-icon{height:60px;width:60px}.uploads-header{gap:1rem}.upload-info,.uploads-header{align-items:flex-start;flex-direction:column}.upload-info{gap:.5rem}.file-size{margin-left:0}}.login-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:400px;padding:2rem}.login-form{gap:1rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#333;font-weight:600}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#007bff;outline:none}.login-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:background .2s}.login-btn:hover{background:#0056b3}.error-message{background:#fee;border-radius:4px;color:#c33;font-size:.9rem;padding:.75rem}.signout-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.signout-btn:hover{background:#c82333}.App-header{align-items:center;display:flex;justify-content:space-between}.admin-badge{background:#28a745;border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;margin-left:1rem;padding:.25rem .5rem}.header-actions{align-items:center;display:flex;gap:.5rem}.logged-in-user{color:#555;font-size:.9rem;margin-right:.5rem}.admin-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.admin-btn:hover{background:#0056b3}.admin-panel{background:#fff;border-radius:8px;margin:0 auto;max-width:800px;padding:2rem}.admin-section{margin-bottom:2rem}.admin-form{display:flex;flex-direction:column;gap:1rem}.admin-note{color:#666;font-size:.85rem;font-style:italic}.success-message{background:#d4edda;border-radius:4px;color:#155724;font-size:.9rem;padding:.75rem;word-break:break-all}.files-section{background:#fff;border-radius:8px;margin-top:2rem;padding:1.5rem}.files-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.file-item{background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.file-info,.file-item{align-items:center;gap:1rem}.file-info{grid-gap:1rem;display:grid;flex:1 1;grid-template-columns:2fr 1fr 100px}.file-actions{display:flex;flex-shrink:0;gap:.5rem}.file-action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s;white-space:nowrap}.file-action-btn.download{background:#007bff;color:#fff}.file-action-btn.download:hover{background:#0056b3}.file-action-btn.delete{background:#dc3545;color:#fff}.file-action-btn.delete:hover{background:#c82333}.file-date{color:#666;font-size:.85rem}.admin-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:2rem}.tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.tab-btn:hover{color:#007bff}.tab-btn.active{border-bottom-color:#007bff;color:#007bff}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.refresh-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.refresh-btn:hover{background:#218838}.refresh-btn:disabled{background:#6c757d;cursor:not-allowed}.users-table{overflow-x:auto}.users-table table{background:#fff;border-collapse:collapse;width:100%}.users-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:1rem;text-align:left}.users-table td{border-bottom:1px solid #dee2e6;padding:1rem}.users-table tr:hover{background:#f8f9fa}.status-badge.enabled{background:#d4edda;color:#155724}.status-badge.disabled,.status-badge.enabled{border-radius:4px;font-size:.85rem;font-weight:600;padding:.25rem .5rem}.status-badge.disabled{background:#f8d7da;color:#721c24}.role-badge{border-radius:4px;font-size:.85rem;font-weight:600;padding:.25rem .5rem}.role-badge.admin{background:#cce5ff;color:#004085}.role-badge.user{background:#e2e3e5;color:#383d41}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s}.action-btn.reset{background:#007bff;color:#fff}.action-btn.reset:hover{background:#0056b3}.action-btn.role{background:#007bff;color:#fff}.action-btn.role:hover{background:#0056b3}.action-btn.enable{background:#007bff;color:#fff}.action-btn.enable:hover{background:#0056b3}.action-btn.disable{background:#007bff;color:#fff}.action-btn.disable:hover{background:#0056b3}.action-btn.delete{background:#dc3545;color:#fff}.action-btn.delete:hover{background:#c82333}@media (max-width:768px){.users-table{font-size:.85rem}.action-buttons{flex-direction:column}.action-btn{width:100%}.file-item{align-items:stretch;flex-direction:column}.file-info{gap:.5rem;grid-template-columns:1fr}.file-actions{width:100%}.file-action-btn{flex:1 1}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:2rem;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-message{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.modal-message.error .modal-icon{color:#dc3545;font-size:2.5rem}.modal-message.success .modal-icon{align-items:center;background:#d4edda;border-radius:50%;color:#28a745;display:flex;font-size:2.5rem;height:50px;justify-content:center;width:50px}.modal-text{flex:1 1}.modal-text h3{color:#333;font-size:1.25rem;margin:0 0 .5rem}.modal-text p{color:#666;line-height:1.5;margin:0;word-break:break-word}.modal-close-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:background .2s;width:100%}.modal-close-btn:hover{background:#0056b3}.modal-message.error+.modal-close-btn{background:#dc3545}.modal-message.error+.modal-close-btn:hover{background:#c82333}@media (max-width:768px){.modal-content{padding:1.5rem;width:95%}.modal-message{align-items:center;flex-direction:column;text-align:center}}.files-grouped{display:flex;flex-direction:column;gap:1.5rem}.file-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.file-group-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-weight:600;justify-content:space-between;padding:1rem 1.5rem}.user-id{font-family:Courier New,monospace;font-size:1rem}.file-count{background:#fff3;border-radius:12px;font-size:.9rem;opacity:.9;padding:.25rem .75rem}.file-group .files-list{background:#fafafa;padding:.5rem}.file-group .file-item{background:#fff;border:1px solid #e0e0e0;margin-bottom:.5rem}.file-group .file-item:last-child{margin-bottom:0}@media (max-width:768px){.file-group-header{align-items:flex-start;flex-direction:column;gap:.5rem}.file-count{align-self:flex-end}}.mfa-setup-instructions{line-height:1.6;margin-bottom:1.5rem;text-align:left}.mfa-setup-instructions p{color:#555;margin:.5rem 0}.qr-code-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;margin:1rem 0;padding:1rem}.qr-code{height:200px;width:200px}.manual-entry{cursor:pointer;margin:.75rem 0}.manual-entry summary{color:#007bff;font-size:.9rem}.totp-secret{background:#f5f5f5;border-radius:4px;display:block;font-size:.85rem;margin-top:.5rem;padding:.5rem;-webkit-user-select:all;user-select:all;word-break:break-all}.mfa-input{font-family:monospace;font-size:1.5rem;letter-spacing:.5rem;text-align:center}.mfa-prompt{color:#555;margin-bottom:1rem;text-align:center}.security-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.security-btn:hover{background:#5a6268}.mfa-settings-panel{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:500px;padding:2rem}.mfa-settings-panel h2{color:#333;margin-bottom:1.5rem}.mfa-status{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.mfa-label{color:#333;font-weight:500}.mfa-badge{border-radius:20px;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.mfa-badge.enabled{background:#d4edda;color:#155724}.mfa-badge.disabled{background:#f8d7da;color:#721c24}.mfa-action{text-align:center}.mfa-action p{color:#666;margin-bottom:1rem}.enable-mfa-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem}.enable-mfa-btn:hover{background:#218838}.disable-mfa-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem}.disable-mfa-btn:hover{background:#c82333}.mfa-setup-flow{margin-top:1rem}.mfa-verify-form{align-items:center;flex-direction:column}.mfa-setup-actions,.mfa-verify-form{display:flex;gap:1rem}.verify-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.75rem 1.5rem}.verify-btn:hover{background:#218838}.cancel-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.75rem 1.5rem}.cancel-btn:hover{background:#5a6268}.credential-generator{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:2rem;padding:1.5rem}.credential-generator h3{color:#333;font-size:1.25rem;margin:0 0 .5rem}.credential-description{color:#666;font-size:.9rem;margin-bottom:1rem}.generate-credentials-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.generate-credentials-btn:hover:not(:disabled){background:#0056b3}.generate-credentials-btn:disabled{background:#6c757d;cursor:not-allowed}.credential-loading{align-items:center;color:#555;display:flex;font-size:.9rem;gap:.75rem;margin-top:1rem}.credential-spinner{animation:spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#007bff;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.credential-error{margin-top:1rem}.credential-expired-message{background:#fff3cd;border-radius:4px;color:#856404;font-size:.9rem;font-weight:500;margin-top:1rem;padding:.75rem}.credential-results{margin-top:1.5rem}.credential-timer{background:#e8f5e9;border-radius:4px;color:#2e7d32;display:inline-block;font-size:.9rem;margin-bottom:1rem;padding:.5rem .75rem}.credential-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.credential-field{display:flex;flex-direction:column;gap:.25rem}.credential-label{color:#555;font-size:.85rem;font-weight:600}.credential-value-row{align-items:center;display:flex;gap:.5rem}.credential-value{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;flex:1 1;font-family:Courier New,monospace;font-size:.8rem;padding:.5rem;word-break:break-all}.copy-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.8rem;padding:.4rem .75rem;transition:all .2s;white-space:nowrap}.copy-btn:hover{background:#e9ecef}.copy-all-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:1.5rem;padding:.6rem 1.25rem;transition:background .2s}.copy-all-btn:hover{background:#218838}.credential-examples{border-top:1px solid #e0e0e0;padding-top:1rem}.credential-examples h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.example-section{margin-bottom:1rem}.example-section h5{color:#555;font-size:.95rem;margin:0 0 .5rem}.example-code{background:#1e1e1e;border-radius:6px;color:#d4d4d4;font-family:Courier New,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;padding:1rem;white-space:pre}@media (max-width:768px){.credential-value-row{align-items:stretch;flex-direction:column}.copy-btn{align-self:flex-end}}
/*# sourceMappingURL=main.960e7b92.css.map*/