.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%)}.loading-spinner .spinner-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.loading-spinner .spinner-content .plane-icon svg{color:#fff;animation:plane-fly 2s ease-in-out infinite}.loading-spinner .spinner-content .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner .spinner-content p{color:#fff;font-size:1.125rem;font-weight:500;margin:0;opacity:.9}@keyframes plane-fly{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-2deg)}75%{transform:translateY(5px) rotate(2deg)}}.login-page{display:flex;min-height:100vh;position:relative;overflow:hidden}.login-page .login-container{display:flex;width:100%;position:relative;z-index:2}.login-page .login-brand{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);color:#fff;text-align:center}.login-page .login-brand .logo{margin-bottom:2rem}.login-page .login-brand .logo svg{color:#fff;margin-bottom:1rem}.login-page .login-brand .logo h1{font-size:1.875rem;font-weight:700;margin:0;color:#fff}.login-page .login-brand .tagline{font-size:1.125rem;margin-bottom:3rem;opacity:.9;max-width:400px;line-height:1.6}.login-page .login-brand .features{display:flex;gap:2rem;margin-top:2rem}.login-page .login-brand .features .feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.8}.login-page .login-brand .features .feature svg{color:#fff}.login-page .login-brand .features .feature span{font-size:.875rem;font-weight:500}.login-page .login-form{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem;background:#ffffff}.login-page .login-form .auth-header{text-align:center;margin-bottom:2rem}.login-page .login-form .auth-header svg{color:#c41e3a;margin-bottom:1rem}.login-page .login-form .auth-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.login-page .login-form .auth-header .auth-subtitle{color:#475569;font-size:.875rem;margin:0}.login-page .login-form .custom-auth-form{width:100%;max-width:380px}.login-page .login-form .custom-auth-form .error-message{background:rgba(239,68,68,.1);color:#ef4444;padding:1rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem;text-align:center;border:1px solid rgba(239,68,68,.2)}.login-page .login-form .custom-auth-form .form-group{margin-bottom:1.5rem}.login-page .login-form .custom-auth-form .form-group label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem}.login-page .login-form .custom-auth-form .form-group input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:.375rem;font-size:1rem;transition:all .2s ease;background:#ffffff}.login-page .login-form .custom-auth-form .form-group input:focus{outline:none;border-color:#c41e3a;box-shadow:0 0 0 3px #c41e3a1a}.login-page .login-form .custom-auth-form .form-group input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.login-page .login-form .custom-auth-form .form-group input::placeholder{color:#94a3b8}.login-page .login-form .custom-auth-form .form-group .password-input{position:relative}.login-page .login-form .custom-auth-form .form-group .password-input .password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem;transition:all .2s ease}.login-page .login-form .custom-auth-form .form-group .password-input .password-toggle:hover:not(:disabled){color:#475569;background:#f1f5f9}.login-page .login-form .custom-auth-form .form-group .password-input .password-toggle:disabled{opacity:.5;cursor:not-allowed}.login-page .login-form .custom-auth-form .sign-in-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.login-page .login-form .custom-auth-form .sign-in-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.login-page .login-form .custom-auth-form .sign-in-btn:active:not(:disabled){transform:translateY(0)}.login-page .login-form .custom-auth-form .sign-in-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-page .login-form .custom-auth-form .login-help{text-align:center;padding:1.5rem;background:#f8fafc;border-radius:.375rem;border-left:4px solid #c41e3a}.login-page .login-form .custom-auth-form .login-help p{font-size:.875rem;color:#475569;margin:0;line-height:1.4}.login-page .login-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 50%,#991b1b 100%);z-index:1}.login-page .login-background .gradient-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 40%,rgba(196,30,58,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(229,62,62,.3) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(153,27,27,.3) 0%,transparent 50%)}@media (max-width: 768px){.login-page .login-container{flex-direction:column}.login-page .login-brand{padding:1.5rem}.login-page .login-brand .features{flex-direction:row;gap:1.5rem}.login-page .login-form{padding:1.5rem}.login-page .login-form .custom-auth-form{max-width:none}}.custom-auth-form h2{margin-bottom:1rem;color:#2c3e50;font-size:1.5rem;text-align:center}.custom-auth-form .mfa-instructions{margin-bottom:1.5rem;padding:1rem;background-color:#e8f4f8;border-left:4px solid #3498db;border-radius:4px;font-size:.9rem;color:#2c3e50;line-height:1.4}.custom-auth-form .resend-code-btn{width:100%;padding:.75rem;margin-top:1rem;background-color:transparent;border:2px solid #3498db;border-radius:6px;color:#3498db;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.custom-auth-form .resend-code-btn:hover:not(:disabled){background-color:#3498db;color:#fff}.custom-auth-form .resend-code-btn:disabled{opacity:.6;cursor:not-allowed}.custom-auth-form .resend-code-btn svg{transition:transform .2s ease}.custom-auth-form .resend-code-btn:hover:not(:disabled) svg{transform:rotate(180deg)}.custom-auth-form .back-btn{width:100%;padding:.75rem;margin-top:.5rem;background-color:transparent;border:2px solid #95a5a6;border-radius:6px;color:#95a5a6;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.custom-auth-form .back-btn:hover:not(:disabled){background-color:#95a5a6;color:#fff}.custom-auth-form .back-btn:disabled{opacity:.6;cursor:not-allowed}.custom-auth-form input[type=text]#mfaCode{text-align:center;font-size:1.2rem;font-weight:600;letter-spacing:.2rem;font-family:Courier New,monospace}.password-requirements{background-color:#f8f9fa;border-left:3px solid #007bff;padding:12px 16px;margin:16px 0;border-radius:4px}.password-requirements p{margin:0 0 8px;font-weight:600;color:#333;font-size:14px}.password-requirements ul{margin:0;padding-left:20px}.password-requirements ul li{color:#666;font-size:13px;margin:4px 0}.dashboard{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.dashboard .dashboard-header{background:#ffffff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 2px #0000000d}.dashboard .dashboard-header .header-left .logo{display:flex;align-items:center;gap:1rem}.dashboard .dashboard-header .header-left .logo svg{color:#c41e3a}.dashboard .dashboard-header .header-left .logo h1{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.dashboard .dashboard-header .header-center{display:flex;justify-content:center}.dashboard .dashboard-header .header-center .tenant-select{display:flex;align-items:center;gap:.5rem}.dashboard .dashboard-header .header-center .tenant-select label{font-size:.75rem;color:#475569;font-weight:600;letter-spacing:.02em}.dashboard .dashboard-header .header-center .tenant-select .select-wrap{position:relative}.dashboard .dashboard-header .header-center .tenant-select .select-wrap select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.5rem 2rem .5rem 1rem;border:1.5px solid #e2e8f0;border-radius:.5rem;background:#ffffff;color:#1e293b;font-size:.875rem;font-weight:600;min-width:220px;line-height:1.2;transition:border-color .2s ease,box-shadow .2s ease}.dashboard .dashboard-header .header-center .tenant-select .select-wrap select:hover{border-color:#cbd5e1}.dashboard .dashboard-header .header-center .tenant-select .select-wrap select:focus{outline:none;border-color:#c41e3a;box-shadow:0 0 0 3px #c41e3a1f}.dashboard .dashboard-header .header-center .tenant-select .select-wrap .chevron{pointer-events:none;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:#64748b}.dashboard .dashboard-header .header-right{display:flex;align-items:center;gap:1.5rem}.dashboard .dashboard-header .header-right .user-info span{color:#475569;font-size:.875rem;font-weight:500}.dashboard .dashboard-header .header-right .sign-out-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f1f5f9;border:none;border-radius:.375rem;color:#334155;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard .dashboard-header .header-right .sign-out-btn:hover{background:#e2e8f0;color:#1e293b}.dashboard .dashboard-header .header-right .sign-out-btn svg{color:#64748b}.dashboard .dashboard-main{flex:1;padding:2rem}.dashboard .dashboard-main .content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.dashboard .dashboard-main .content-header .breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.dashboard .dashboard-main .content-header .breadcrumb .breadcrumb-link{background:none;border:none;color:#c41e3a;cursor:pointer;text-decoration:underline;font-size:.875rem}.dashboard .dashboard-main .content-header .breadcrumb .breadcrumb-link:hover{color:#e53e3e}.dashboard .dashboard-main .content-header .breadcrumb .breadcrumb-separator{color:#94a3b8}.dashboard .dashboard-main .content-header .breadcrumb .breadcrumb-current{color:#1e293b;font-weight:600}.dashboard .dashboard-main .content-header .content-actions .create-btn,.dashboard .dashboard-main .content-header .content-actions .upload-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dashboard .dashboard-main .content-header .content-actions .create-btn:hover,.dashboard .dashboard-main .content-header .content-actions .upload-btn:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.dashboard .dashboard-main .content-header .content-actions .create-btn:active,.dashboard .dashboard-main .content-header .content-actions .upload-btn:active{transform:translateY(0)}.dashboard .dashboard-main .content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.dashboard .dashboard-main .content-grid .folder-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;gap:1rem}.dashboard .dashboard-main .content-grid .folder-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-color:#c41e3a}.dashboard .dashboard-main .content-grid .folder-card:hover .folder-icon svg{color:#c41e3a}.dashboard .dashboard-main .content-grid .folder-card .folder-icon svg{color:#475569;transition:color .2s ease}.dashboard .dashboard-main .content-grid .folder-card .folder-info{flex:1}.dashboard .dashboard-main .content-grid .folder-card .folder-info h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.dashboard .dashboard-main .content-grid .folder-card .folder-info .folder-meta{display:flex;flex-direction:column;gap:.25rem}.dashboard .dashboard-main .content-grid .folder-card .folder-info .folder-meta span{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#64748b}.dashboard .dashboard-main .content-grid .folder-card .folder-info .folder-meta span svg{color:#94a3b8}.dashboard .dashboard-main .content-grid .folder-card .folder-menu{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:.25rem;opacity:0;transition:all .2s ease}.dashboard .dashboard-main .content-grid .folder-card .folder-menu:hover{background:#f1f5f9;color:#475569}.dashboard .dashboard-main .content-grid .folder-card:hover .folder-menu{opacity:1}.dashboard .dashboard-main .content-grid .file-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;display:flex;align-items:flex-start;gap:1.5rem;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.dashboard .dashboard-main .content-grid .file-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border-color:#cbd5e1}.dashboard .dashboard-main .content-grid .file-card .file-icon{flex-shrink:0;width:48px;height:48px;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);border-radius:.5rem;display:flex;align-items:center;justify-content:center}.dashboard .dashboard-main .content-grid .file-card .file-icon svg{color:#fff;width:24px;height:24px}.dashboard .dashboard-main .content-grid .file-card .file-info{flex:1;min-width:0}.dashboard .dashboard-main .content-grid .file-card .file-info h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem;word-break:break-word;line-height:1.4}.dashboard .dashboard-main .content-grid .file-card .file-info .file-meta{display:flex;flex-wrap:wrap;gap:1rem}.dashboard .dashboard-main .content-grid .file-card .file-info .file-meta span{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#64748b;background:#f8fafc;padding:.25rem .5rem;border-radius:.25rem}.dashboard .dashboard-main .content-grid .file-card .file-info .file-meta span svg{color:#94a3b8;width:12px;height:12px}.dashboard .dashboard-main .content-grid .file-card .file-actions{display:flex;flex-direction:column;gap:.5rem}.dashboard .dashboard-main .content-grid .file-card .file-actions button{padding:.5rem;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:.25rem;transition:all .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.dashboard .dashboard-main .content-grid .file-card .file-actions button:hover{background:#f1f5f9;color:#475569}.dashboard .dashboard-main .content-grid .file-card .file-actions button.download-btn:hover{background:#10b981;color:#fff}.dashboard .dashboard-main .content-grid .file-card .file-actions button svg{width:18px;height:18px}.dashboard .dashboard-main .content-grid .empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#64748b}.dashboard .dashboard-main .content-grid .empty-state svg{color:#cbd5e1;margin-bottom:1.5rem}.dashboard .dashboard-main .content-grid .empty-state h3{font-size:1.25rem;font-weight:600;color:#475569;margin:0 0 .5rem}.dashboard .dashboard-main .content-grid .empty-state p{font-size:1rem;margin:0}.dashboard .create-folder-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.dashboard .create-folder-modal .modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dashboard .create-folder-modal .modal-content{background:#ffffff;border-radius:.75rem;padding:2rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:400px;position:relative;z-index:2}.dashboard .create-folder-modal .modal-content h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.5rem}.dashboard .create-folder-modal .modal-content input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;margin-bottom:1.5rem;transition:all .2s ease}.dashboard .create-folder-modal .modal-content input:focus{outline:none;border-color:#c41e3a;box-shadow:0 0 0 3px #c41e3a1a}.dashboard .create-folder-modal .modal-content .modal-actions{display:flex;gap:1rem;justify-content:flex-end}.dashboard .create-folder-modal .modal-content .modal-actions button{padding:.5rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dashboard .create-folder-modal .modal-content .modal-actions button.cancel-btn{background:#f1f5f9;color:#334155}.dashboard .create-folder-modal .modal-content .modal-actions button.cancel-btn:hover{background:#e2e8f0}.dashboard .create-folder-modal .modal-content .modal-actions button.create-btn{background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);color:#fff}.dashboard .create-folder-modal .modal-content .modal-actions button.create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}@media (max-width: 768px){.dashboard .dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.dashboard .dashboard-header .header-center{order:3;margin:0;max-width:none}.dashboard .dashboard-header .header-right{order:2;align-self:flex-end}.dashboard .dashboard-main{padding:1rem}.dashboard .dashboard-main .content-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard .dashboard-main .content-grid{grid-template-columns:1fr}.dashboard .dashboard-main .content-grid .file-card .file-actions{flex-direction:row}}.file-upload-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.file-upload-modal .modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.file-upload-modal .modal-content{background:#ffffff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:700px;max-height:90vh;position:relative;z-index:2;display:flex;flex-direction:column;overflow:hidden}.file-upload-modal .modal-content .modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.file-upload-modal .modal-content .modal-header .modal-title{display:flex;align-items:center;gap:1rem}.file-upload-modal .modal-content .modal-header .modal-title svg{color:#c41e3a}.file-upload-modal .modal-content .modal-header .modal-title h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0;line-height:1.2}.file-upload-modal .modal-content .modal-header .modal-title p{font-size:.875rem;color:#475569;margin:0;line-height:1.2}.file-upload-modal .modal-content .modal-header .close-button{padding:.5rem;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:.375rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.file-upload-modal .modal-content .modal-header .close-button:hover:not(:disabled){background:#e2e8f0;color:#475569}.file-upload-modal .modal-content .modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.file-upload-modal .modal-content .modal-body{flex:1;padding:2rem;overflow-y:auto}.file-upload-modal .modal-content .modal-body .upload-zone{border:2px dashed #cbd5e1;border-radius:.75rem;padding:3rem;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:2rem}.file-upload-modal .modal-content .modal-body .upload-zone:hover{border-color:#c41e3a;background:rgba(196,30,58,.02)}.file-upload-modal .modal-content .modal-body .upload-zone.drag-over{border-color:#c41e3a;background:rgba(196,30,58,.05);transform:scale(1.02)}.file-upload-modal .modal-content .modal-body .upload-zone svg{color:#94a3b8;margin-bottom:1rem}.file-upload-modal .modal-content .modal-body .upload-zone h4{font-size:1.125rem;font-weight:600;color:#334155;margin:0 0 .5rem}.file-upload-modal .modal-content .modal-body .upload-zone p{font-size:1rem;color:#64748b;margin:0 0 1rem}.file-upload-modal .modal-content .modal-body .upload-zone small{font-size:.75rem;color:#94a3b8;line-height:1.4}.file-upload-modal .modal-content .modal-body .upload-list .list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.file-upload-modal .modal-content .modal-body .upload-list .list-header h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.file-upload-modal .modal-content .modal-body .upload-list .list-header .clear-button{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:none;border:1px solid #cbd5e1;border-radius:.375rem;color:#475569;font-size:.75rem;cursor:pointer;transition:all .2s ease}.file-upload-modal .modal-content .modal-body .upload-list .list-header .clear-button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.file-upload-modal .modal-content .modal-body .upload-list .list-header .clear-button:disabled{opacity:.5;cursor:not-allowed}.file-upload-modal .modal-content .modal-body .upload-list .file-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.25rem}.file-upload-modal .modal-content .modal-body .upload-list .file-list::-webkit-scrollbar{width:6px}.file-upload-modal .modal-content .modal-body .upload-list .file-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.file-upload-modal .modal-content .modal-body .upload-list .file-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.file-upload-modal .modal-content .modal-body .upload-list .file-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item{background:#ffffff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;position:relative;transition:all .2s ease}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item.pending{border-color:#cbd5e1}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item.uploading{border-color:#c41e3a;background:rgba(196,30,58,.02)}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item.completed{border-color:#10b981;background:rgba(16,185,129,.02)}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item.error{border-color:#ef4444;background:rgba(239,68,68,.02)}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-icon{width:40px;height:40px;background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);border-radius:.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-icon svg{color:#fff}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-details{flex:1;min-width:0}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-details .file-name{display:block;font-size:.875rem;font-weight:500;color:#1e293b;word-break:break-word;line-height:1.3}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-details .file-size{display:block;font-size:.75rem;color:#64748b;margin-top:2px}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.25rem}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .remove-button{padding:.25rem;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:.25rem;transition:all .2s ease}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .remove-button:hover:not(:disabled){background:#f1f5f9;color:#475569}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .remove-button:disabled{opacity:.5;cursor:not-allowed}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .upload-progress{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#c41e3a;font-weight:500}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .upload-progress .spinner{animation:spin 1s linear infinite}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .success-icon{color:#10b981}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-status .error-icon{color:#ef4444}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#e2e8f0;border-radius:0 0 .5rem .5rem;overflow:hidden}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#c41e3a 0%,#e53e3e 100%);transition:width .3s ease}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .error-message{margin-top:.5rem;padding:.25rem .5rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:.25rem;font-size:.75rem;color:#ef4444}.file-upload-modal .modal-content .modal-footer{display:flex;align-items:center;justify-content:space-between;padding:2rem;border-top:1px solid #e2e8f0;background:#f8fafc}.file-upload-modal .modal-content .modal-footer .upload-summary{font-size:.875rem;color:#475569}.file-upload-modal .modal-content .modal-footer .modal-actions{display:flex;gap:1rem}.file-upload-modal .modal-content .modal-footer .modal-actions button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem}.file-upload-modal .modal-content .modal-footer .modal-actions button:disabled{opacity:.6;cursor:not-allowed}.file-upload-modal .modal-content .modal-footer .modal-actions button .spinner{animation:spin 1s linear infinite}.file-upload-modal .modal-content .modal-footer .modal-actions button.cancel-button{background:#f1f5f9;color:#334155}.file-upload-modal .modal-content .modal-footer .modal-actions button.cancel-button:hover:not(:disabled){background:#e2e8f0}.file-upload-modal .modal-content .modal-footer .modal-actions button.upload-button{background:linear-gradient(135deg,#c41e3a 0%,#e53e3e 100%);color:#fff}.file-upload-modal .modal-content .modal-footer .modal-actions button.upload-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.file-upload-modal .modal-content .modal-footer .modal-actions button.upload-button:active:not(:disabled){transform:translateY(0)}@media (max-width: 768px){.file-upload-modal{padding:1rem}.file-upload-modal .modal-content{max-height:95vh}.file-upload-modal .modal-content .modal-header,.file-upload-modal .modal-content .modal-body,.file-upload-modal .modal-content .modal-footer{padding:1.5rem}.file-upload-modal .modal-content .modal-body .upload-zone{padding:2rem}.file-upload-modal .modal-content .modal-body .upload-zone h4{font-size:1rem}.file-upload-modal .modal-content .modal-body .upload-zone p{font-size:.875rem}.file-upload-modal .modal-content .modal-body .upload-list .file-list{max-height:200px}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-icon{width:32px;height:32px}.file-upload-modal .modal-content .modal-body .upload-list .file-list .file-item .file-info .file-icon svg{width:16px;height:16px}.file-upload-modal .modal-content .modal-footer{flex-direction:column;gap:1rem;align-items:stretch}.file-upload-modal .modal-content .modal-footer .upload-summary{text-align:center}.file-upload-modal .modal-content .modal-footer .modal-actions{justify-content:center}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:1000;min-width:400px;max-width:600px;animation:slideDown .3s ease-out}@media (max-width: 768px){.error-message{left:1rem;right:1rem;transform:none;min-width:auto;max-width:none}}.error-message__content{background:#ffffff;border-radius:.75rem;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-left:4px solid;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.error-message__content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.3}.error-message__icon{flex-shrink:0;width:40px;height:40px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;margin-top:2px}.error-message__text{flex:1;min-width:0}.error-message__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:#1e293b}.error-message__description{font-size:.875rem;margin:0;color:#475569;line-height:1.5}.error-message__actions{flex-shrink:0;display:flex;gap:.25rem;margin-top:2px}.error-message__retry,.error-message__dismiss{width:32px;height:32px;border:none;border-radius:.375rem;background:rgba(241,245,249,.8);color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.error-message__retry:hover,.error-message__dismiss:hover{background:#e2e8f0;color:#334155;transform:scale(1.05)}.error-message__retry:active,.error-message__dismiss:active{transform:scale(.95)}.error-message__retry:hover{color:#c41e3a;background:rgba(196,30,58,.1)}.error-message--error .error-message__content{border-left-color:#ff6b6b;color:#ff6b6b}.error-message--error .error-message__icon{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff}.error-message--warning .error-message__content{border-left-color:#ffa726;color:#ffa726}.error-message--warning .error-message__icon{background:linear-gradient(135deg,#ffa726,#ff9800);color:#fff}.error-message--network .error-message__content{border-left-color:#42a5f5;color:#42a5f5}.error-message--network .error-message__icon{background:linear-gradient(135deg,#42a5f5,#2196f3);color:#fff}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media (max-width: 768px){@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}}body{line-height:1.6;color:#1e293b;background:#f8fafc;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root,.app{height:100%}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#1e293b;background:#f8fafc;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit}a{color:#c41e3a;text-decoration:none}a:hover{color:#e53e3e;text-decoration:underline}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #c41e3a;outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:.25rem}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.dashboard-header,.content-actions,.file-actions,.folder-menu{display:none!important}}
