.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-box h1{font-size:1.8rem;color:#333;margin-bottom:.5rem;text-align:center}.login-box h2{font-size:1rem;color:#666;margin-bottom:2rem;text-align:center;font-weight:400}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.login-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:1.5rem;text-align:center}.login-footer p{color:#999;font-size:.85rem}.file-list{flex:1;overflow-y:auto;padding:.5rem}.empty-list{padding:3rem 2rem;text-align:center;color:#1e3a8a;font-size:1.1rem;font-weight:500}.file-item{display:flex;align-items:center;padding:1rem 1.2rem;margin-bottom:.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);gap:1rem}.file-item:hover{background:#fff3;transform:translate(8px) scale(1.02);box-shadow:0 8px 25px #00000026;border-color:#ffffff4d}.file-item.selected{background:linear-gradient(135deg,#2563eb4d,#3b82f64d);border-color:#fff6;box-shadow:0 8px 25px #2563eb4d}.file-item.folder{font-weight:600;background:#ffffff26}.file-item.folder:hover{background:#ffffff40}.file-icon{font-size:2rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.file-item:hover .file-icon{transform:scale(1.1) rotate(5deg)}.file-info{flex:1;min-width:0}.file-name{font-size:1rem;color:#1e3a8a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.1)}.file-meta{font-size:.85rem;color:#1e3a8a;margin-top:.4rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.separator{color:#1e3a8a66}.metadata-category{background:linear-gradient(135deg,#2563ebcc,#3b82f6cc);color:#fff;padding:.2rem .6rem;border-radius:8px;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #2563eb4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.metadata-tags{color:#1e3a8a;font-style:italic;font-weight:500}.file-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .3s ease}.file-item:hover .file-actions{opacity:1}.action-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);cursor:pointer;font-size:1.3rem;padding:.4rem;border-radius:10px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1e3a8a;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.action-btn:hover{background:#ffffff4d;transform:scale(1.1) rotate(5deg);box-shadow:0 4px 12px #0003}.action-btn.delete:hover{background:linear-gradient(135deg,#f44336cc,#e53935cc);border-color:#fff6;box-shadow:0 4px 15px #f4433666}.file-list::-webkit-scrollbar{width:8px}.file-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.file-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.file-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.file-preview{display:flex;flex-direction:column;height:100%;background:#ffffff0d}.preview-header{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.8rem 2rem;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center;border-radius:20px 20px 0 0}.preview-header h2{font-size:1.5rem;color:#1e3a8a;margin-bottom:.5rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.1)}.preview-meta{font-size:.95rem;color:#1e3a8a;font-weight:500}.btn-download{padding:.7rem 1.3rem;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;text-decoration:none;border-radius:12px;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:inline-block}.btn-download:hover{transform:translateY(-3px);box-shadow:0 8px 25px #2563eb66}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:auto}.preview-loading,.preview-error{display:flex;flex-direction:column;align-items:center;gap:1.5rem;color:#1e3a8a;font-weight:500;font-size:1.1rem}.preview-loading .spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #fff;border-radius:50%;animation:spin .8s cubic-bezier(.68,-.55,.265,1.55) infinite}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 12px 40px #0000004d;border:3px solid rgba(255,255,255,.2);transition:transform .3s ease}.preview-image:hover{transform:scale(1.02)}.preview-iframe{width:100%;height:100%;border:none;border-radius:16px;background:#fff;box-shadow:0 12px 40px #0000004d;border:3px solid rgba(255,255,255,.2)}.preview-video{max-width:100%;max-height:100%;border-radius:16px;box-shadow:0 12px 40px #0000004d;border:3px solid rgba(255,255,255,.2)}.preview-audio{width:100%;max-width:600px;border-radius:50px;box-shadow:0 8px 25px #0003}.preview-download{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 12px 40px #0003;border:1px solid rgba(255,255,255,.2)}.download-icon{font-size:5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.download-link{padding:1rem 2rem;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;text-decoration:none;border-radius:14px;font-weight:600;font-size:1.05rem;transition:all .3s ease;box-shadow:0 6px 20px #2563eb66}.download-link:hover{transform:translateY(-4px);box-shadow:0 10px 30px #2563eb80}.office-preview-container{width:100%;height:100%;display:flex;flex-direction:column;gap:1rem}.office-preview-container .preview-iframe{flex:1;min-height:600px}.viewer-info{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;font-size:.9rem;color:#1e3a8a;font-weight:500;border:1px solid rgba(255,255,255,.2)}.btn-secondary{padding:.6rem 1.2rem;background:#fff3;color:#1e3a8a;border:2px solid rgba(255,255,255,.3);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 6px 20px #2563eb33}.preview-content::-webkit-scrollbar{width:8px}.preview-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.preview-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.preview-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;width:90%;max-width:500px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.3);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-large{max-width:700px}.modal-header{padding:1.8rem 2rem;border-bottom:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#2563eb0d,#3b82f60d)}.modal-header h2{font-size:1.6rem;color:#333;font-weight:700;background:linear-gradient(135deg,#2563eb,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{background:#0000000d;border:none;font-size:1.8rem;color:#666;cursor:pointer;line-height:1;padding:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s ease}.modal-close:hover{background:#f443361a;color:#f44336;transform:rotate(90deg) scale(1.1)}.modal-body{padding:2rem}.modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:flex-end;gap:1rem;background:#00000005}.modal-footer button{padding:.8rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.modal-footer button:first-child{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.modal-footer button:first-child:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #2563eb66}.modal-footer button:first-child:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-footer button:last-child{background:#0000000d;color:#666;border:2px solid rgba(0,0,0,.1)}.modal-footer button:last-child:hover{background:#0000001a;transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.6rem;color:#333;font-weight:600;font-size:.95rem}.form-group input[type=text],.form-group input[type=password],.form-group input[type=file]{width:100%;padding:.9rem 1rem;border:2px solid rgba(37,99,235,.2);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fffc}.form-group input[type=text]:focus,.form-group input[type=password]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a;background:#fff}.form-group input:disabled,.disabled-input{background:#0000000d;cursor:not-allowed;color:#999;opacity:.6}.form-group small{display:block;margin-top:.4rem;color:#666;font-size:.85rem;font-weight:500}.error-message{background:linear-gradient(135deg,#f443361a,#e539351a);color:#d32f2f;padding:1rem;border-radius:12px;margin-top:1rem;font-size:.95rem;font-weight:500;border:1px solid rgba(244,67,54,.2)}.folder-browser{border:2px solid rgba(37,99,235,.2);border-radius:16px;overflow:hidden;background:#2563eb08}.folder-browser-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,#2563eb14,#3b82f614);border-bottom:1px solid rgba(37,99,235,.15)}.current-path{flex:1;font-size:.95rem;color:#2563eb;font-weight:600;font-family:Courier New,monospace;background:#fff;padding:.6rem 1rem;border-radius:8px;border:1px solid rgba(37,99,235,.2)}.btn-small{padding:.5rem 1rem;font-size:.85rem;background:#fffc;border:1px solid rgba(37,99,235,.3);border-radius:8px;color:#2563eb;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-small:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.folder-list{max-height:300px;overflow-y:auto;background:#fff}.folder-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;cursor:pointer;transition:all .3s ease;border-bottom:1px solid rgba(0,0,0,.05)}.folder-item:hover{background:linear-gradient(135deg,#2563eb14,#3b82f614);transform:translate(8px)}.folder-item:last-child{border-bottom:none}.folder-icon{font-size:1.8rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.folder-name{flex:1;font-size:1rem;color:#333;font-weight:500}.folder-loading,.folder-empty{padding:3rem 2rem;text-align:center;color:#999;font-size:1rem;font-weight:500}.modal::-webkit-scrollbar,.folder-list::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track,.folder-list::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.modal::-webkit-scrollbar-thumb,.folder-list::-webkit-scrollbar-thumb{background:#2563eb4d;border-radius:10px}.modal::-webkit-scrollbar-thumb:hover,.folder-list::-webkit-scrollbar-thumb:hover{background:#2563eb80}.file-manager{display:flex;flex-direction:column;height:100vh;padding:1.5rem;gap:1.5rem}.header{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.5rem 2rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.header:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-2px)}.header-left h1{font-size:1.8rem;color:#1e3a8a;margin-bottom:.5rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.1)}.version{font-size:.75rem;color:#1e3a8a;font-weight:500;margin-left:.5rem;background:#fff3;padding:.2rem .6rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.breadcrumb{display:flex;align-items:center;gap:.25rem;font-size:.95rem}.breadcrumb-item{background:#fff3;border:none;color:#1e3a8a;cursor:pointer;padding:.4rem .8rem;border-radius:10px;transition:all .2s ease;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.breadcrumb-item:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.breadcrumb-separator{color:#1e3a8a99;font-weight:600}.header-right{display:flex;align-items:center;gap:1rem}.user-info{color:#1e3a8a;font-size:.95rem;font-weight:500;background:#ffffff26;padding:.5rem 1rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-primary,.btn-secondary{padding:.6rem 1.2rem;border:none;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #2563eb66}.btn-secondary{background:#ffffff40;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.btn-secondary:hover{background:#ffffff59;transform:translateY(-3px);box-shadow:0 8px 25px #fff3}.content{display:flex;flex:1;overflow:hidden;gap:1.5rem}.sidebar{width:380px;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.sidebar:hover{box-shadow:0 12px 40px #00000026}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center;background:#ffffff0d}.sidebar-header h2{font-size:1.3rem;color:#1e3a8a;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.1)}.back-button{margin:1rem;padding:.6rem 1.2rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:600;color:#1e3a8a;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.loading{padding:2rem;text-align:center;color:#1e3a8a;font-weight:500}.main-content{flex:1;overflow:auto;background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.main-content:hover{box-shadow:0 12px 40px #00000026}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#1e3a8a;font-size:1.2rem;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.1)}.sidebar::-webkit-scrollbar,.main-content::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track,.main-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.sidebar::-webkit-scrollbar-thumb,.main-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.sidebar::-webkit-scrollbar-thumb:hover,.main-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.app{min-height:100vh}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.2);border-top:4px solid #fff;border-radius:50%;animation:spin .8s cubic-bezier(.68,-.55,.265,1.55) infinite;box-shadow:0 0 20px #ffffff4d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#fff;font-size:1.1rem;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-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,#1e3a8a,#3b82f6,#60a5fa);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.3),transparent 50%),radial-gradient(circle at 80% 80%,rgba(96,165,250,.3),transparent 50%),radial-gradient(circle at 40% 20%,rgba(37,99,235,.3),transparent 50%);pointer-events:none;z-index:0}#root{min-height:100vh;position:relative;z-index:1}
