*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app{height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;position:relative}.toast{position:fixed;top:18px;right:18px;z-index:1200;padding:10px 16px;border-radius:999px;color:#1d5d46;font-size:14px;font-weight:500;border:1px solid rgba(101,201,156,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 24px #1663491f;animation:toast-in .25s ease-out}.toast-success{background:linear-gradient(135deg,#ecfff8fa,#dafaeff5)}.toast-success:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:#4cbf93;color:#fff;font-size:12px;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header{background:#fff;padding:20px;box-shadow:0 2px 8px #0000001a;text-align:center}.header h1{font-size:28px;color:#333;margin-bottom:10px}.space-info{font-size:14px;color:#666;display:flex;align-items:center;justify-content:center;gap:10px}.space-bar{width:200px;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.space-bar>span{display:block;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s}.space-bar.warning>span{background:linear-gradient(90deg,#ff6b6b,#f06545)}.breadcrumb{background:#fff;padding:15px 20px;display:flex;gap:5px;align-items:center;flex-wrap:wrap;box-shadow:0 1px 4px #0000000d}.breadcrumb button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:5px 8px;border-radius:4px;transition:all .2s}.breadcrumb button:hover{background:#f0f0f0;color:#764ba2}.upload-area{padding:20px}.upload-box{background:#fff;border:2px dashed #667eea;border-radius:8px;padding:30px;text-align:center;transition:all .3s}.upload-box:hover{border-color:#764ba2;background:#f9f9ff}.drop-hint{font-size:16px;color:#667eea;margin-bottom:15px;font-weight:500}.button-group{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative}.upload-menu-button,.create-folder-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .2s}.upload-menu-button:hover,.create-folder-button:hover{transform:translateY(-2px)}.upload-menu-button:disabled,.create-folder-button:disabled{opacity:.6;cursor:not-allowed}.context-menu{position:absolute;min-width:180px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 10px 24px #0000001f;overflow:hidden;z-index:20;padding:6px}.context-menu button{display:block;width:100%;border:none;background:#fff;color:#333;padding:10px 12px;text-align:left;cursor:pointer;font-size:13px;border-radius:6px}.context-menu button:hover{background:#f5f7ff}.toast-error{background:linear-gradient(135deg,#ffeeeefa,#ffe2e2f5);color:#8a1f1f;border-color:#ff787859}.toast-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:#ff6b6b;color:#fff;font-size:12px;font-weight:700}.progress-bar{margin-top:15px;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;position:relative}.progress{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s}.progress-text{font-size:12px;color:#666;position:absolute;top:8px;right:10px}.file-list{flex:1;overflow-y:auto;padding:20px;background:#fffffff2;margin:20px;border-radius:8px;max-height:calc(100% - 220px)}.empty{text-align:center;color:#999;padding:60px 20px;font-size:14px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px;transition:all .2s}.file-item:hover{background:#f9f9f9;box-shadow:0 2px 8px #00000014}.file-item.folder-item{background:#f5f5ff;border-color:#e0d4ff}.file-item.folder-item .file-info{cursor:pointer}.file-item.folder-item .file-name{cursor:pointer;color:#667eea;font-weight:500}.file-item.folder-item .file-name:hover{color:#764ba2}.file-info{flex:1;display:flex;gap:20px;align-items:center;margin-right:20px}.file-name{font-weight:500;color:#333;word-break:break-all;flex:1}.file-size{color:#999;font-size:12px;min-width:70px;text-align:right}.file-date{color:#999;font-size:12px;min-width:170px;text-align:right}.file-actions{display:flex;gap:10px;white-space:nowrap}.btn-download,.btn-delete{background:#fff;border:1px solid #e0e0e0;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-download:hover{background:#e8f4f8;border-color:#667eea;color:#667eea}.btn-delete:hover{background:#ffe8e8;border-color:#ff6b6b;color:#ff6b6b}.loading{text-align:center;padding:40px;color:#fff;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:30px;box-shadow:0 4px 20px #0003;max-width:400px;width:90%}.modal h2{color:#333;margin-bottom:10px;font-size:18px}.modal p{color:#666;margin-bottom:20px;font-size:14px}.modal input{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;margin-bottom:20px}.modal input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-buttons{display:flex;gap:10px}.btn-confirm,.btn-cancel{flex:1;padding:10px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0}@media (max-width: 768px){.file-info{flex-direction:column;align-items:flex-start;gap:5px}.file-size,.file-date{text-align:left}.file-actions{width:100%;margin-top:8px}.file-item{flex-direction:column;align-items:flex-start}.breadcrumb{font-size:12px}.upload-box{padding:20px}.context-menu{left:50%;transform:translate(-50%)}}
