.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;height:100vh;padding:20px;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#1e2742);position:relative;overflow:hidden;box-sizing:border-box;width:100%;margin:0;max-width:none}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none}.auth-card{background:var(--card-bg);padding:40px;border-radius:16px;box-shadow:0 10px 40px #00000080,0 0 0 1px var(--border-color);width:100%;max-width:400px;border:1px solid var(--border-color);position:relative;z-index:1}.auth-logo{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.auth-logo img{height:60px;width:auto;object-fit:contain}.auth-card h2{margin:0 0 30px;color:var(--text-primary);text-align:center;font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group input{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:10px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue)}.form-group input:disabled{background-color:var(--bg-secondary);opacity:.5;cursor:not-allowed}.form-group input::placeholder{color:var(--text-muted)}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #3b82f64d}.error-message{background-color:#ef444426;color:var(--accent-red);padding:12px;border-radius:10px;margin-bottom:15px;border-left:4px solid var(--accent-red);border:1px solid rgba(239,68,68,.3)}.success-message{background-color:#10b98126;color:var(--accent-green);padding:12px;border-radius:10px;margin-bottom:15px;border-left:4px solid var(--accent-green);border:1px solid rgba(16,185,129,.3)}.auth-link{text-align:center;margin-top:20px;color:var(--text-muted)}.auth-link a{color:var(--accent-blue);text-decoration:none;font-weight:500;transition:all .3s ease}.auth-link a:hover{color:var(--accent-purple);text-shadow:0 0 8px var(--glow-purple)}.file-list-container{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #0006,0 0 0 1px var(--border-color);margin-bottom:30px;border:1px solid var(--border-color)}.file-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:15px}.file-list-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:700}.file-list-header>div{display:flex;flex-direction:column;gap:8px}.total-size-info{margin:0;font-size:14px;color:var(--text-muted)}.total-size-info strong{color:var(--text-primary);font-weight:600}.total-size-note{color:var(--text-muted);font-size:13px}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;flex-shrink:0}.header-actions-files{flex-direction:row!important}.search-container{position:relative;display:flex;align-items:center;flex:1;min-width:200px}.search-input{padding:12px 40px 12px 15px;border:2px solid var(--border-color);border-radius:10px;font-size:14px;width:100%;height:44px;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box}.btn-clear-search{position:absolute;right:8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:4px;line-height:1;transition:color .2s}.btn-clear-search:hover{color:var(--text-primary)}.btn-refresh{padding:0;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:10px;font-size:20px;font-weight:500;cursor:pointer;transition:all .3s ease;height:44px;width:44px;min-width:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.btn-refresh:hover:not(:disabled){background:var(--card-bg);border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue);transform:rotate(180deg)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.file-list{display:grid;gap:15px}.file-item{display:flex;align-items:center;padding:20px;border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease;background:var(--bg-secondary)}.file-item:hover{border-color:var(--accent-blue);box-shadow:0 4px 20px var(--glow-blue);transform:translateY(-2px);background:var(--card-bg-hover)}.file-icon{font-size:32px;margin-right:15px;filter:drop-shadow(0 0 5px var(--glow-blue))}.file-info{flex:1}.file-name{font-weight:600;color:var(--text-primary);margin-bottom:8px;font-size:16px}.file-download-link{color:var(--accent-blue);text-decoration:none;transition:all .3s ease;cursor:pointer}.file-download-link:hover{color:var(--accent-purple);text-shadow:0 0 8px var(--glow-purple)}.file-actions{display:flex;align-items:center;gap:10px;margin-left:15px}.btn-icon{padding:10px;border:none;border-radius:10px;font-size:18px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;line-height:1}.btn-download{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;box-shadow:0 2px 10px #3b82f64d}.btn-download:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #3b82f680}.btn-download:disabled{opacity:.5;cursor:not-allowed}.btn-copy{background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dark) 100%);color:#fff;box-shadow:0 2px 10px #10b9814d}.btn-copy:hover{transform:translateY(-2px);box-shadow:0 4px 20px #10b98180}.btn-copy:active{transform:translateY(0)}.btn-delete{background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff;box-shadow:0 2px 10px #ef44444d}.btn-delete:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ef444480}.file-meta{display:flex;gap:15px;font-size:14px;color:var(--text-muted)}.file-type{text-transform:capitalize;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;box-shadow:0 2px 8px #3b82f64d}.file-size,.file-date{color:var(--text-muted)}.file-id{font-size:12px;color:var(--text-muted);font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;display:none}@media (min-width: 1024px){.file-id{display:block;margin-left:15px}}.empty-state{text-align:center;padding:40px;color:var(--text-muted);font-size:16px}.loading{text-align:center;padding:40px;color:var(--accent-blue);font-size:16px}.file-upload-container,.file-download-container{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #0006,0 0 0 1px var(--border-color);margin-bottom:30px;border:1px solid var(--border-color)}.file-upload-container h2,.file-download-container h2{margin:0 0 20px;color:var(--text-primary);font-size:24px;font-weight:700}.file-preview{margin-top:10px;padding:15px;background:var(--bg-secondary);border-radius:10px;font-size:14px;color:var(--text-primary);border:1px solid var(--border-color)}.upload-progress{margin:20px 0}.progress-bar{width:100%;height:30px;background:var(--bg-secondary);border-radius:15px;overflow:hidden;margin-bottom:10px;border:1px solid var(--border-color)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue) 0%,var(--accent-purple) 100%);transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px;box-shadow:0 0 10px var(--glow-blue)}.progress-text{text-align:center;color:var(--text-primary);font-weight:500}.upload-actions{display:flex;gap:10px;margin-top:20px}.warning-message{background-color:#fbbf2426;color:#f59e0b;padding:12px;border-radius:10px;margin:15px 0;border-left:4px solid #f59e0b;border:1px solid rgba(251,191,36,.3);line-height:1.6}.form-group input[type=file],.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:10px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-primary)}.form-group input[type=file]:focus,.form-group select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue)}.form-group input[type=file]:disabled,.form-group select:disabled{background-color:var(--bg-secondary);opacity:.5;cursor:not-allowed}@media (max-width: 768px){.file-item{flex-direction:column;align-items:flex-start;gap:15px}.file-icon{margin-right:0}.file-info{width:100%}.file-meta{flex-wrap:wrap;gap:10px}.file-actions{margin-left:0;width:100%;flex-direction:row;gap:10px;justify-content:flex-start}.btn-icon{width:40px;height:40px;min-width:40px}.file-list-header{flex-direction:column;align-items:flex-start;gap:15px}.file-list-header h2{margin:0}.header-actions{width:100%;display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:nowrap}.search-container{flex:1;min-width:0}.search-input{width:100%}.btn-refresh{flex-shrink:0;width:44px;height:44px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 10px 40px #00000080,0 0 0 1px var(--border-color);max-width:500px;width:90%;animation:slideUp .3s ease;border:1px solid var(--border-color)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin:0 0 15px;color:var(--text-primary);font-size:20px;font-weight:700}.modal-content p{margin:10px 0;color:var(--text-muted);line-height:1.6}.modal-content p strong{color:var(--text-primary);font-weight:600}.modal-warning{color:var(--accent-red)!important;font-weight:500;font-size:14px}.modal-actions{display:flex;gap:10px;margin-top:25px;justify-content:flex-end}.modal-actions .btn-secondary,.modal-actions .btn-delete{padding:10px 20px;font-size:14px}@media (max-width: 768px){.modal-instructions{max-width:95%;padding:20px}}.health-check-container{margin-bottom:30px}.health-check-card{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #0006,0 0 0 1px var(--border-color);border:1px solid var(--border-color)}.health-check-card h2{margin:0 0 20px;color:var(--text-primary);font-size:24px;font-weight:700}.health-status{display:flex;align-items:center;gap:15px;padding:20px;border-radius:12px;margin-bottom:20px;border:1px solid var(--border-color);transition:all .3s ease}.health-status.loading{background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border-color)}.health-status.success{background:#10b98126;border-left:4px solid var(--accent-green);border-color:#10b9814d;color:var(--accent-green)}.health-status.error{background:#ef444426;border-left:4px solid var(--accent-red);border-color:#ef44444d;color:var(--accent-red)}.status-icon{font-size:32px;filter:drop-shadow(0 0 8px currentColor)}.status-text{font-weight:600;font-size:18px;color:inherit;margin-bottom:5px}.status-detail{font-size:14px;color:var(--text-muted);opacity:.8}.btn-secondary{padding:12px 24px;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover:not(:disabled){background:var(--card-bg);border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.user-management-container{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #0006,0 0 0 1px var(--border-color);margin-bottom:30px;border:1px solid var(--border-color)}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.user-management-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:700}.header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.user-form-card{background:var(--bg-secondary);padding:20px;border-radius:12px;margin-bottom:20px;border:1px solid var(--border-color)}.user-form-card h3{margin:0 0 20px;color:var(--text-primary);font-size:20px;font-weight:700}.form-actions{display:flex;gap:10px;margin-top:20px}.users-list{margin-top:30px}.users-list h3{margin:0 0 15px;color:var(--text-primary);font-size:20px;font-weight:700}.users-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000004d;border:1px solid var(--border-color)}.users-table thead{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff}.users-table th{padding:15px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:15px;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-primary)}.users-table tbody tr:hover{background:var(--card-bg)}.users-table tbody tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:6px 14px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;box-shadow:0 2px 8px #0003;transition:all .3s ease}.role-badge.superadmin{background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff}.role-badge.admin{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff}.role-badge.user{background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dark) 100%);color:#fff}.current-user-badge{color:var(--accent-blue);font-weight:600;font-size:12px}.user-actions{display:flex;gap:8px}.btn-edit{padding:8px 16px;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d}.btn-edit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #3b82f680}.btn-edit:disabled{opacity:.5;cursor:not-allowed}.btn-delete{padding:8px 16px;background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ef44444d}.btn-delete:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #ef444480}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.search-input{padding:10px 40px 10px 15px;border:2px solid var(--border-color);border-radius:10px;font-size:14px;width:250px;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue)}.search-input::placeholder{color:var(--text-muted)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid var(--border-color);border-radius:10px;font-size:16px;transition:all .3s ease;box-sizing:border-box;background:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 15px var(--glow-blue)}.form-group input:disabled,.form-group select:disabled{background-color:var(--bg-secondary);opacity:.5;cursor:not-allowed}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #3b82f64d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #3b82f680}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:#ef444426;color:var(--accent-red);padding:12px;border-radius:10px;margin:15px 0;border-left:4px solid var(--accent-red);border:1px solid rgba(239,68,68,.3)}.success-message{background-color:#10b98126;color:var(--accent-green);padding:12px;border-radius:10px;margin:15px 0;border-left:4px solid var(--accent-green);border:1px solid rgba(16,185,129,.3)}@media (max-width: 768px){.user-management-header{flex-direction:column;align-items:stretch}.header-actions{width:100%;flex-direction:column}.search-input{width:100%}.users-table{font-size:12px}.users-table th,.users-table td{padding:10px 8px}.user-actions{flex-direction:column;gap:5px}.btn-edit,.btn-delete{width:100%}}.admin-tools-container{background:var(--card-bg);padding:30px;border-radius:16px;box-shadow:0 4px 20px #0006,0 0 0 1px var(--border-color);margin-bottom:30px;border:1px solid var(--border-color)}.admin-tools-container h2{margin:0 0 10px;color:var(--text-primary);font-size:24px;font-weight:700}.admin-tools-description{margin:0 0 20px;color:var(--text-muted);font-size:14px;line-height:1.6}.admin-tools-actions{display:flex;gap:15px;flex-wrap:wrap}.btn-download-file{padding:12px 24px;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #3b82f64d;display:flex;align-items:center;gap:8px}.btn-download-file:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #3b82f680}.btn-download-file:disabled{opacity:.5;cursor:not-allowed}.btn-instructions{padding:12px 24px;background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dark) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #10b9814d;display:flex;align-items:center;gap:8px}.btn-instructions:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #10b98180}.btn-instructions:disabled{opacity:.5;cursor:not-allowed}.modal-instructions{max-width:700px;max-height:90vh;overflow-y:auto}.instructions-content{margin:20px 0}.instruction-section{margin-bottom:25px}.instruction-section:last-child{margin-bottom:0}.instruction-section h4{margin:0 0 10px;color:var(--text-primary);font-size:18px;font-weight:600}.instruction-section p{margin:8px 0;color:var(--text-muted);line-height:1.6}.instruction-section ul{margin:10px 0;padding-left:25px;color:var(--text-muted);line-height:1.8}.instruction-section li{margin:8px 0}.instruction-section code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:13px;color:var(--accent-blue);border:1px solid var(--border-color)}@media (max-width: 768px){.admin-tools-actions{flex-direction:column}.btn-download-file,.btn-instructions{width:100%;justify-content:center}.modal-instructions{max-width:95%;padding:20px}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.navbar{background:linear-gradient(135deg,#1e2742,#252d47);color:var(--text-primary);padding:0;box-shadow:0 4px 20px #0000004d;border-bottom:1px solid var(--border-color)}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:70px}.nav-logo{display:flex;align-items:center;text-decoration:none;transition:all .3s ease;height:40px}.nav-logo img{height:40px;width:auto;object-fit:contain;transition:all .3s ease}.nav-logo:hover img{filter:drop-shadow(0 0 8px var(--glow-blue));transform:scale(1.05)}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{color:var(--text-primary);text-decoration:none;font-weight:500;padding:8px 16px;border-radius:8px;transition:all .3s ease;position:relative}.nav-links a:hover{background:#3b82f61a;color:var(--accent-blue);box-shadow:0 0 10px var(--glow-blue)}.nav-button{background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 10px #ef44444d}.nav-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ef444480}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:30px 20px;background:var(--bg-primary)}.main-content:has(.auth-container){max-width:none;padding:0;margin:0}.files-page{display:flex;flex-direction:column}.user-role-badge{padding:6px 14px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;box-shadow:0 2px 8px #0003;transition:all .3s ease}.user-role-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.nav-container{flex-direction:column;height:auto;padding:15px 20px}.nav-logo,.nav-logo img{height:35px}.nav-links{margin-top:10px;flex-wrap:wrap;justify-content:center}.main-content{padding:20px 15px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #0a0e27;--bg-secondary: #1a1f3a;--card-bg: #1e2742;--card-bg-hover: #252d47;--text-primary: #e5e7eb;--text-secondary: #f3f4f6;--text-muted: #9ca3af;--accent-blue: #3b82f6;--accent-blue-dark: #2563eb;--accent-purple: #8b5cf6;--accent-purple-dark: #7c3aed;--accent-red: #ef4444;--accent-red-dark: #dc2626;--accent-green: #10b981;--accent-green-dark: #059669;--border-color: rgba(59, 130, 246, .2);--glow-blue: rgba(59, 130, 246, .3);--glow-purple: rgba(139, 92, 246, .3)}*{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}#root{width:100%;min-height:100vh;background:var(--bg-primary)}
